190311-190324 2주간 회고

2주간 토이 프로젝트인 파이썬 실시간 채팅서버 작업을 했고, 알고리즘을 풀었다.
3/16일엔 코무에서 주최한 프론트엔드와는 무관합니다만, 을 다녀왔었다.
사내에선 jenkins를 서비스중인 라이브 프로젝트에 적용해 특정 브랜치에 push or merge request accept 이벤트가 발생하면 빌드 후 배포 및 slack 알림이 가능하게 되었고, sentry도 붙여봤다.

파이썬 실시간 채팅 프로젝트는 설계를 잘 못해서 유저 간 채팅 기능을 추가하려하자 구조적으로 문제가 있어서 전부 다시 뜯어고쳤다.
다행히 잘 해결되었고, 이제 asyncio-redis를 보며 적용할 생각인데 그냥 처음부터 redis를 쓸걸 하는 후회가 된다..

알고리즘은 프로그래머스의 (2017년)KAKAO BLIND RECRUITMENT를 풀고 있다.
그 중

이 문제는 정규식을 잘 만들어야되는 문제였는데 과거의 나라면 못 했을 것이다.
하지만 이젠 어느정도는(?) 정규식을 짤 수 있어서 기뻤다.

프론트엔드와는 무관합니다만, 세미나는 정말 좋았다. 특히 ES10 변경점을 설명한 세션과 vue의 Virtual DOM에 대한 세션이 좋았다.
이러이러한 변경점이 있습니다 하고 끝나지 않을까 조금 걱정했었는데, 그런 걱정이 무색하게 어느정도 깊이있고 좋은 내용이었다.
observer pattern이나 generator 에 대한 이해가 있으면 더 즐겁게 들을 수 있었다.
필기를 하면서 들었으면 좋았을텐데 아쉽게도 필기를 하지 못했다.
다음에 또 참석하게 된다면 그땐 필기를 하며 들을 생각이다.

세미나를 다녀온 뒤 알고리즘을 풀다 flatten을 할 일이 있었다. 세미나에서 들었던 es10의 변경점 중 하나인 flatten 은 쉽게말해 배열을 펴는 건데, 그 중 flat(Infinity)는 다중 배열도 1차원 배열로 펼 수 있다.

1
2
3
const array = ['a', ['b', ['c', 'd'], 'e' ]
array.flat(); // ['a', 'b', Array(2), 'e']
array.flat(Infinity); // ['a','b','c','d','e']

파이썬에 flat(Infinity)같은 건 없없지만 itertools를 활용하니 비슷하게 해결할 수 있었다! 참고 링크

2주간 했던 것

다음주 목표

총평

이번주는 나름대로 그간 성장해왔음을 알 수 있었던 주 였던 것 같다! 예를들면 알고리즘을 풀며 느꼈고, 세미나를 듣는데 전보다 이해를 할 수 있을때 느꼈고, 도큐먼트와 라이브러리를 까보며 문제를 해결했을 때 느꼈고, 묵혀뒀던 블로그 관련 이슈들을 하나씩 고쳐가며 느꼈다.

과거에 할 수 없을거라 느꼈던 것을 해결하거나 할 수 있게 되었을때의 순간이 있는데 그게 내가 개발을 좋아하는 큰 이유중 하나라는 생각이 들었다.