반응형

tutorial 54

스타트업 삶의 터전, 패스트파이브 4개월 이용 후기 (신논현 1호점)

다시 한 번 1년 만에 쓰는 생존 신고이다. 2021년 여름부터 새로이 스타트업에 조인하여 다시금 개발자의 삶을 살고 있다. 조인을 고민하던 당시, 오퍼레터에 적혀있던 나의 출근지가 바로 패스트파이브 신논현 1호점이었고, 어느새 합류한지 4-5개월이 되어 치열하게 (+열불나게) 일하면서 조금이나마 쌓인 패스트파이브에 대한 정보를 정리해보고자 한다. 이전에도 공유 오피스 (WeWork) 를 사용했던 경험이 있는데, 그 때의 경험과도 비교할 점이 있으면 써보겠다. 왜 공유 오피스를 선택했는가? (내가 패스트파이브를 선택한 책임자는 아니지만, 그동안 동료 분들과 친해지며 얻는 정보들을 토대로 적당히 설명해본다. 나의 편의성을 위해 내가 결정한 것 마냥 쓰는 점 양해 바란다.) 우리 회사는 IT프로덕트 조직을 ..

In Real Life 2021.12.27

Check Expert + VBA로 종목별 Intra 데이터 누적쌓기

정말 오랜만에 쓰는 글은 나의 생존 신고 겸, 아이패드를 갖기 위한 몸부림이다. 코스콤의 Check Expert+ 단말기와 엑셀 프리미엄이 데이터는 엄청나게 많다. 종목의 실시간 데이터부터 과거 일별 데이터, 거기에 Intra 데이터까지. Intra 데이터는 쉽게 말해 과거의 기간 데이터이다. Intra 10분 데이터면 10분 간격으로 원하는 데이터 항목의 통계치 (시/고/저/종가, 체결량, 거래대금 등)를 쭉 볼 수 있는 것이다. 이 Intra 데이터가 개인적인 생각으로는 엑셀 프리미엄이 주는 가치 중 가장 큰 비중을 차지하고 있지 않을까 생각해본다. 기본 정보나 실시간 시세와 같은 것들은 굳이 엑셀 프리미엄을 사지 않더라도 DDE나 RTD를 통해서 어느 정도 커버가 되니깐. 무튼 오늘은 엑셀 프리미엄..

Programming 2020.12.17

Beej's Guide to Network Programming 요약, Part 2. Slightly Advanced Techniques

마지막 한 섹션이지만, 그 내용도 어려워지고 번역하기도 어려워져서 Part 2로 따로 쓰게 되었다. 역시나 미사여구는 쳐 내고 핵심 내용 중심으로 옮겼으니, 원문도 꼭 읽어보시기 바란다. 7. Slightly Advanced Tenchniques 7.1. Blocking "Block"은 "sleep"을 기술적으로 멋지게 하는 말이다. listener를 실행할 때 보면 알 수도 있을텐데, recvfrom()을 실행했을 때 들어오는 데이터가 없다면 recvfrom()은 거기서 데이터가 올 때 까지 "block"하고 있다 (잠깐 자고 있다)는 것이다. 많은 함수들이 block 한다. accept()이나 모든 recv() 함수들이 그렇다. Block이 가능한 이유는? 그렇게 할 수 있도록 kernel의 허락을 ..

Programming 2019.09.14

Beej's Guide to Network Programming 요약, Part 1

최근에 (1년 전에?) 제일 정리하고 싶었던 글인데, 실제로 network programming이 절실할 때가 와서야 하게 되었다 (흑흑). 원문은 Network programming에 대해 모르는 개발자에게 딱 좋은 튜토리얼이라고 생각한다. 여러 미사여구와 필자의 썰은 가지쳐내고 핵심적인 내용만 정리해본다 (Part 2 대기 중). 2. What is a Socket? Socket은 standard Unix file descriptor를 통해서 다른 프로그램과 소통하는 통로이다. 이 file descriptor는 socket() system routine을 호출해서 얻는다. 그리고 send()와 recv() socket call을 이용해 통신할 수 있다. 다른 file descriptor처럼 read(..

Programming 2019.07.28

GNU/Linux Crypto :: 05 :: Passwords

5. Passwords 추측하기 쉬운 비밀번호를 사용한다든지, 똑같은 비밀번호를 여러 계정에 사용하면 하나의 계정만 뚫려도 여러 계정에 여파가 미치기 때문에 꽤나 심각한 보안 문제라는 것이 알려지고 있다. 만약 해커가 당신의 비밀번호의 hash를 알아냈다면, 당신은 그 hash 값을 통해 본래 비밀번호로 되돌리기가 매우 어렵기를 원한다. 혹여라도 본래 비밀번호로 되돌려졌다면, 그 비밀번호는 다른 계정에도 쓰이지 않아서 다른 곳에 여파가 미치지 말아야 한다. 이러한 인식 덕분에 비밀번호 관리자가 등장하게 되었다. 비밀번호 관리자는 비밀번호를 안전하게 생성 및 저장하고 불러올 수 있으며, 마스터 비밀번호나 passphrase를 통해서 암호화시키는 도구이다. KeePass와 같이 local에 저장하는 프로그램..

GNU-Linux 2019.06.22

GNU/Linux Crypto :: 04 :: Agents

4. Agents 지난 글을 통해 GnuPG와 SSH를 모두 안전하게 설정했다면 이제 우리는 메세지를 암호화, 복호화, 서명하고 이를 증명할 수 있다. 그리고 비밀번호를 노출시킬 일도 없으며 brute-force 공격을 당할 가능성이 현실적으로 0에 가깝게 원격 서버에 인증할 수 있다. 다 좋은데, 여전히 이 연결 고리에서 한 가지 약점이 아직 남아있다 - 바로 우리의 passphrase이다.자주 원격 서버에서 작업을 한다면, 대부분의 작업마다 passphrase를 입력하는 것은 꽤나 귀찮은 일이다. 그래서 passphrase 입력을 자동화한다거나, 아예 당신의 private key를 암호화되지 않은 상태로 두어서 passphrase를 쓰지 않고 싶은 생각이 들 수도 있다. 후자의 경우에, 보안에 많은 ..

GNU-Linux 2019.06.09

GNU/Linux Crypto :: 03 :: SSH Keys

3. SSH Keys 원문 링크 OpenSSH 서버에 접속하기 위해 인증하는 흔한 방법으로 당신의 remote machine의 shell 비밀번호를 입력해서 접속하는 것이 있다. tom@local:~$ ssh remote The authenticity of host 'remote (192.168.0.64)' can't be established. RSA key fingerprint is d1:35:45:a6:d1:b2:e4:08:f8:67:b1:19:fe:04:ca:1c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'remote,192.168.0.64' (RSA) to the list of kn..

GNU-Linux 2019.03.02

GNU/Linux Crypto :: 02 :: GnuPG 사용법

GnuPG의 기본적인 사용법을 살펴보고 이를 기반으로 SSH, Mutt 등 개발자의 일상 생활에서 생각하는 보안에 대해서 짚어볼 수 있는 좋은 시리즈입니다. 원문 번역에 충실했으며, 제가 사용하는 GPG 버전과 원문에 있는 콘솔 출력 내용이 다르기 때문에, 제가 사용하는 버전에 맞추어 다시 쓴 것임을 알립니다. 본래 콘솔 내용은 당연히 원문에서 볼 수 있습니다. 2. GnuPG 사용법 원문 링크이전 글에서 private key와 public key를 생성하고 저장했으니, 이제 인터넷과 같이 신뢰할 수 없는 곳에 파일을 배포하기 위한 서명(sign), 증명(verify), 암호화(encrypt), 암호 해독(decrypt)를 하기 위한 GnuPG의 몇 기능들을 사용해보자. 텍스트 파일이나 메세지에 서명하기..

GNU-Linux 2019.01.20

GNU/Linux Crypto :: 01 :: GnuPG Keys

GnuPG의 기본적인 사용법을 살펴보고 이를 기반으로 SSH, Mutt 등 개발자의 일상 생활에 걸쳐 있는 보안에 대해서 짚어볼 수 있는 좋은 시리즈입니다. 원문 번역에 충실했으며, 제가 사용하는 GPG 버전과 원문에 있는 콘솔 출력 내용이 다르기 때문에, 제가 사용하는 버전에 맞추어 다시 쓴 것임을 알립니다. 본래 콘솔 내용은 당연히 원문에서 볼 수 있습니다. 1. GnuPG Keys 원문 링크 Keypair 생성하기 첫 걸음으로 4096-bit의 RSA keypair를 생성해볼 건데, 이는 보통 기준보다 훨씬 높은 암호화 수준이다. 여기서는 Debian 개발자들이 추천하는 몇몇 방식을 따라갈 것이다.본인이 개인적인 용도로 쓰는 최신 데스크탑 컴퓨터를 사용해야 엔트로피를 수월하게 생성할 수 있다. 물론..

GNU-Linux 2019.01.13

쪼잔한 Rust 9. 오류 다루기

Chapter 9. 오류 다루기 Rust가 안전한 언어가 되기 위한 노력은 오류 다루는 데까지 닿아있다. 오류도 소프트웨어의 일부라고 할 수 있는 만큼, Rust는 뭔가 잘못된 상황을 다루는 많은 기능을 탑재하고 있다. 많은 경우에 Rust는 오류가 날 수 있는 가능성을 사용자가 알고 있기를 요구하고, 오류 상황에서의 대처법이 마련되어있어야 컴파일이 가능하다. 이러한 깐깐함은 당신의 코드가 프로덕션에 배포된 후에 오류가 발생하는 것을 보기 전에 오류들을 발견하고 처리하도록 강제하기 때문에 당신의 프로그램을 더욱 강건하게 해주는 것이다! Rust는 오류를 크게 두 가지로 분류하는데, 회복 가능한(recoverable) 오류와 회복 불가능한(unrecoverable) 오류가 그 두 가지이다. 파일을 못 찾는..

Programming/Rust 2018.11.17