저번 주 회고에 이어서 Python으로 몇 가지 알고리즘 문제를 풀었다.
또한, 사내 프로젝트에 Jenkins를 붙였다.
약 2일이 걸렸고, 그 과정에서 발생했던 삽질들을 모아 Jenkins 삽질기를 작성하고 있다.
Python 비동기 웹 프레임워크인 Sanic으로 실시간 채팅 웹 애플리케이션을 만들고 있다.
그간 써온 웹 프레임워크는 커뮤니티가 커서 웬만한 오류는 검색하면 다 나왔었는데
Sanic은 자료가 적고 인지도도 낮아서 고생하고 있다.
그래도 async를 자유자재로 쓸 수 있다는 건 굉장히 매력적이다.
회사에서 어떤 python script를 async로 고쳤다! 기존엔 작업 완료까지 18분 정도 걸렸는데, 이젠 1분이면 작업이 완료된다.
그간 async이론만 공부했었는데, 이번에 실제로 해보고 나니 굉장히 충격적이었다!
(그리고 어려웠다)
async는 어려운 만큼 매력적인 것 같다.
Intelli J의 springboot starter로 Kotlin + Springboot 프로젝트를 시작해봤다.
Kotlin에 Java를 섞어 쓸 수 있다고 듣기만 했지 실제로 자바 파일을 섞어보진 않았었는데,
이번에 섞어볼 수 있어서 Springboot + Kotlin + Java로 만들어봤다.
역시 100% 호환이 되었다! 왜 많은 서비스가 Java에서 Kotlin으로 바꾸고 있는지 조금이나마 알 것 같았다.
앞으로 좀 더 알아볼 생각이다.
2주간 했던 것
- Python 으로 알고리즘 문제 몇 개
- Sanic web chatting project
- Jenkins
- Springboot + Jenkins
- blog 가독성 업데이트
다음주 목표
- Python Study
- Sanic web chatting project
- Jenkins 학습 간간히
총평
무려 Jenkins를 개발 팀장님의 배려로 사내 프로젝트에 붙일 수 있었는데, 라이브 서비스에 붙여보긴 처음이라 실수도 많이 하고 삽질도 많이 했었다. 그래도 완성하고 나니 정말 뿌듯했다.
최근 여러가지 기술 블로그를 보고 가독성의 중요성을 깨닫게 되어 몇 개월간 미뤄뒀던 블로그의 카테고리 분류 및 가독성 향상 작업을 했다.
아직 마음에 안드는 부분이 조금 있어서 차차 고쳐야 될 것 같다.
Python 기존 스크립트를 비동기로 바꾸기도 했는데, semaphore를 걸지 않고 request를 날리다가 차단당하는 등의 일이 있었지만. 구글링과 주변 개발자분의 도움으로 제대로 완성할 수 있었다.
그 과정에서 알던 것도 있었고 새롭게 배운 것도 있었다. 다음엔 꼭 내 힘으로 완성해보고 싶다.
우연히 패스트 캠퍼스에서 올렸던 몇 가지 동영상을 보게 되었는데, 그 영상들을 보고 많은 생각을 하게 됐다.
영상 링크1, 링크2
최근들어 내가 한가지 기술에 집중하는게 아닌, 넓고 얕게 이것저것 배우고 있다는 생각을 하고 있었다.
그래서, 지금 진행중인 Python web framework인 Sanic으로 실시간 채팅 웹 토이 프로젝트를 조금 오래 걸리더라도 제대로 해서 내 것으로 만들 수 있도록 해야겠다..!