wecode 기업협업 2주차 회고

Gaeun·2023년 2월 26일
0

wecode 회고

목록 보기
11/12

벌써 반이나 지난 기업협업! 이번 주에도 많이 배웠다! 잊지 않기 위해, 또 나중에 다시 보며 공부하기 위해 오늘도 회고를 써내려가본다.

What have I learned?

  • CRON (node-cron) && MySQL event scheduler
    • 정기적으로 무언가를 실행하여야 할 때, CRON 혹은 MySQL event scheduler를 사용하면 된다는 것을 배웠다.
  • 테이블 간의 sync
    • 동일 특성을 가지는 데이터 간의 오차가 없어야 한다. 항상 테이블 간 sync를 생각하기!
  • needs에 따라 데이터 타입을 바꾸기! (노션에 적은 것 그대로 가져오기)
    • 테이블 내에 images는 [”http…png”, “…jpg”, “…jepg”] 처럼 배열로, 타임 테이블 같은 경우엔 [{title: ..., body: ,,,}, {title: ..., body: ...}] 처럼 배열 안의 객체로 저장되어 있었다. 이는 search를 할 필요가 없기 때문, 데이터를 집어 놓고 불러오기만 하면 되기 때문이라고 하셨다.
    • 일일이 여러 컬럼, 혹은 테이블로 만든다면 null값이 너무 많이 차지할 것 같아 이런 식으로 모델링하셨다고 했다.
  • 자바스크립트에서 타임존 다루기 (https://meetup.nhncloud.com/posts/130)
    • 최신 브라우저에서는 두 결과가 동일할 것이므로, 브라우저 버전별로 다르게 해석되는 문제를 막기 위해서는 타임존 데이터가 없는 경우 문자열의 마지막에 항상 Z를 추가해 주어야 한다.
  • 어떤 언어를 사용할 때에는 항상 대규모 처리를 생각할 것!
    • 어떤 언어가 쉽다, 개발하기 편하다를 생각하는 것보다 서비스가 커질 때 유지 보수가 쉬울지, 대규모를 처리할 수 있을지 고민해보아야한다는 CTO님의 말씀을 들었다. 지금까지는 내가 node.js에 익숙하니까, python은 쉽다니까. 라는 생각으로 언어를 고르려고 하고 있었지만, 프로덕트에 맞추어, 서비스를 생각하며 언어를 골라야겠단 생각을 갖게 되었다.
  • 동시성 제어
    • 동시에 실행되는 여러 개의 트랜잭션이 작업을 성공적으로 마칠 수 있도록 트랜잭션의 실행 순서를 제어하는 기법
  • Batch Processing
    • 데이터를 실시간으로 작업하는 것이 아닌 일괄적으로 모아서 처리하는 것. 예를 들면 은행 정산 작업 등

What went well?

이번주에 뭘 배웠는지 적어내려가보니 꽤 많은 것들을 배운 것 같다. CTO님께서 넌지시 던져준 힌트들이었는데 이에 대해 찾아보고 고민하다보니 이 중 몇 가지는 그래도 많이 이해하고 얻어낸 것 같다!

What didn't go well?


하루에도 수십번씩 "이게 왜 돼?" 혹은 "이게 왜 안 돼?"를 외치고 있다. 내가 스파게티 코드를 짜서인지, 아니면 discord.js의 한계인지 모르겠으나... 자꾸 이를 해결하기 위해 보내는 시간들이 늘어날 수록 답답하지만 결국엔 해결해낼 때마다 기분은 좋다.

What could be done better?

모르는 게 있을 때 CTO님께 힌트 요청하기! 이번 주에도 하루종일 고민하던 것들을 CTO님께 여쭤본 순간 바로 명확해졌던 것들이 있다. 지금 나는 모르는 것이 많은 게 당연하기 때문에 부끄러워하지 않고 꼭 여쭤봐서 실제 현업에선 어떤 사고방식으로 코드를 짜는지, 기획을 하는지 조금씩 더 알아가야겠다.

profile
🌱 새싹 개발자의 고군분투 코딩 일기

0개의 댓글