1월은 이것저것 코딩하면서 보냈다. 스스로 공부하고 내용 정리하는 것보다 코딩을 통해 하나하나 쌓아가는 게 제일 보람참을 느낀다. 구현하기 위해 자료를 조사하고 조사한 대로 구현되는 상황이 꽤나 재밌었지만 너무 열심히 해서 그랬는지 머리가 과부하돼서 그런지 정보가 머릿속으로 더 이상 들어오지 않는 현상도 겪었다.
문제는 머릿속에 정보가 더 이상 들어오지 않는 날들이 꽤나 지속된다는 점이다. 어쩌다가 “브레인 포그”라는 단어를 들었는데 “설마 내가?”라는 심정이다. 영양제의 힘을 빌려 이를 잘 극복해 봐야겠다.
크롤링이라고 부르는 영역을 다룰 때는 이제 단순히 Requests나 BeautifulSoup 그리고 Selenium를 이용하는 것보다 훨씬 고차원적인 느낌이 든다. 예를 들어 Android App에서 발생하는 http 요청이라던가 WebSocket에 연결하여 정보를 가져온다던가, 시스템을 분석해 Cookie나 Session 정보를 수정해서 데이터를 가져온다던가 하는 방식이다.
예전에 Android App에서 발생하는 Http 요청을 분석하기 위해 MitmProxy를 다시 사용할 일이 있어서 다시 정리를 해봤는데 내가 예전에 이런 걸 했었다고? 하는 생각에 깜짝 놀라기도 한다. 관련 내용을 정리해 두긴 했는데 아직 풀어야 할 문제가 남아서 뭔가 덜 끝난 상태로 남겨진 느낌이다.
ECS는 예전에 어떻게 사용하는구나 정도만 조사하고 따로 써먹지 않았는데 이번 기회에 스케쥴링 작업이 있어 사용하게 됐다. 도커 컨테이너를 이용할 때는 Django나 Flask와 연계했기 때문에 컨테이너 실행 시 Python Script를 한 번만 실행하고 종료되는 컨테이너를 어떻게 ECS에 올리는 거지 싶었다.
이에 관련 썰은 이 링크에 관련 정보를 올려놨다.
다우 오피스와 슬랙을 연동한 사내 Notify 시스템을 개발 중이다. 처음엔 batch로 작성했는데 외부로터 입력을 받을 일이 생길 것 같아 flask를 씌워서 EndPoint를 제공하는 형태로 개선 중이다.
App Runner를 처음 사용할 때만 해도 배포 시간이 5~ 10분 정도 걸려서 이걸 언제 써먹지 라는 하는 느낌이었는데 이것저것 생각 안 하고 간단하게 올려서 테스트할 정도라면 정말 최적의 선택이지 않나 싶은 느낌이다
문제는 다우오피스와 Slack을 연동하는 데 있어서 App Runner에 배포된 시스템이 다우 오피스에 접근하지 못하는 현상이 있었다. 처음에는 VPC 설정에 관해 삽질하고 있었는데 다우 오피스 로그인 요청 로그를 찍어보니 해외 IP 차단에 관련된 메시지를 확인했다. 다우 오피스에 해외 IP 차단 옵션을 비활성화하고 다시 실행하니 제대로 돌아갔다.
기존에 Project Root 디렉터리부터 구성해 나가던 방식에서 src라는 디렉터리를 생성하고 그 안에다가 코드를 집어넣는 src layout 방식으로도 코딩해 봤다. Root 디렉터리에서 볼 때 나름 뭔가 갖춰져 있네라는 생각이 들긴 하는데 진정한 src layout은 setup.py 까지 적용해줘야 하지 않나 싶다.
Project를 사용할 때 Swagger나 기타 다른 참고 정보들을 Project에 포함돼서 작성하곤 했는데 이를 어떻게 분리해 낼까를 고민하게 됐다. 전통적인 방식으로 한글이나 워드를 사용하는 건 Github Repository에서 멀리 떨어져 있다는 느낌이 들었는데 마침 Repository내에 존재하는 Wiki 항목을 사용해서 작성해 보는 연습을 하고 있는 중이다.
예전에도 Wiki를 사용하긴 했지만 git clone으로 그때그때 다운로드하여서 고치고 파일 그대로 업로드하고 하던 불편한 방식에서 git을 다루는 것과 같이 push & pull을 이용하니 편리하게 사용할 수 있어 앞으로도 Project 관련된 정보들은 Wiki를 통해 작성해 보는 게 나을 듯싶다.
대외 활동을 해보고 싶다는 생각에 이런저런 모임을 알아봤는데 글 쓰는 또라이가 세상을 바꾼다라는 모임이 있다는 걸 알게 됐다. 책 읽고 Notion에 정리하고 생각을 정리해 나갈 시간이 부족했는데 글또의 비전을 보니 부족한 부분들을 채워나갈 수 있지 않을까 싶어 지원하게 됐다.
나름 글을 꾸준히 작성해 왔기 때문에 2주에 한 번씩 글을 제출하는데 무리가 있을 것 같진 않는다. 글또 활동을 통해 조금 더 정제하고 잘 다듬어진 글을 쓰도록 의식하는 노력을 해보고 싶을 뿐이다.
개인적인 목표가 있다면 글 또 콘에서 한 번 발표해 보는 것인데 하게 된다면 어떤 주제로 발표해 볼지도 생각해 둬야겠다.
mermaid라는 포맷이 있는데 각종 다이어그램 작성하기에 심플하다. Project를 이루는 코드를 풍부하게 표현하기 위해서는 이 작성 방법도 익혀놔야 도움이 될 듯싶다.
“프로그래머의 뇌”, “도메인 주도 설계 핵심”이라는 책을 사놓고 아직 다 읽지 못했다.
“도메인 주도 설계 핵심”은 거의 다 읽어가는데 용어가 어려워서 한 3~4번은 봐야 “도메인 주도 설계”를 이루는 용어를 파악할 수 있지 않을까 싶다.
“프로그래머의 뇌”은 사놓고 30~40p 분량밖에 읽지 못했다. 출퇴근길 읽어야지라는 의욕으로 샀는데 거의 멍해있는 상태로 출퇴근하다 보니 의욕이 많이 꺾였나 싶다.
django model에 관한 자료를 찾다 보니 ‘=’를 기준으로 위아래 변수들이 정렬되어 있는 형태를 목격하곤 했다. PyCharm을 통해 코드를 reformat 하는 것도 좋긴 한데 도대체 이걸 어떻게 했지라는 궁금증에 계속 조사해 보는 중이다. 그나마 비슷한 정보들을 찾을 수 있었는데 기회가 되면 찾은 정보와 고민했던 사실들만 모아서 포스팅해 보는 정도로 계획을 가져야겠다.