nestjs 썸네일nestjs

2025-02-19

목차

  1. class-validator 다국어 메시지 처리
  2. 쿠폰 expression 처리 및 성능 개선
  3. Pod 읽는 법과 CocoaPods 유래
  4. 10x 프로그래머 개념과 현실
  5. AWS RDS vs Supabase, Postgresql 선택
  6. 넥사크로와 웹스퀘어 등 레거시 UI 툴 이야기
  7. 취업 시장과 개발자 성장, 야근 문화
  8. 개발 커뮤니티와 정보 공유
  9. 업무와 기술 선택에 관한 고찰
  10. 기타 소소한 문화 및 잡담

1. class-validator 다국어 메시지 처리

  • class-validator는 TypeScript에서 유효성 검사를 도와주는 라이브러리임.
  • 한글 메시지 지원을 위해 class-validator-multi-lang npm 패키지가 제안됨.
  • 여러 언어로 에러 메시지를 관리하고 싶을 때 유용.
  • 초보자 팁: 유효성 검사 메시지를 한글로 보여주는 것은 사용자 경험 향상에 중요하며, 커스터마이징 가능함.

2. 쿠폰 expression 처리 및 성능 개선

  • 복잡한 쿠폰 조건식(expression)을 잘못 작성해, 문제 해결에 몇 달 소요.
  • 토큰 기반 파싱이 어려워 간단한 부분만 파싱하는 방식을 도입했더니 처리 속도가 2배 이상 빨라짐.
  • 의견: 초기에는 B 방식을 권장했으나, 현실적으로 A 방식을 강행 후 문제 발생, 결국 제안된 방법으로 수습.
  • 실무에서 성능 개선을 위해 기존 방식을 유지하면서도 부분적인 대체 방법 고민 필요.

Expression 파싱 설명

  • Expression은 '표현식'을 의미하며, 코드나 문자열 안에 변수, 연산자 등을 조합해 특정 조건을 나타냄.
  • 복잡한 조건을 표현하기 위해 쿠폰 시스템에서 자주 루프 및 조건식을 활용.
  • 토큰 파싱은 문자열을 의미 단위로 쪼개서 해석하는 작업인데, 복잡하면 오류 발생 가능성 높음.

3. Pod 읽는 법과 CocoaPods 유래

  • Pod(복수: Pods)의 한국어 발음은 '파드', '팟', '팟츠' 등 다양하게 불림.
  • CocoaPods는 iOS 개발에서 의존성 관리를 위한 툴.
  • 유래: 'Cocoa'는 Apple의 UI 프레임워크명, Java에서 영감을 받아 '코코아를 담는 병'이라는 뜻에서 이름 붙음.
  • 영어 발음은 '팟'에 가깝지만 한국에서는 다양하게 불림.

4. 10x 프로그래머 개념과 현실

  • 10x 개발자는 비즈니스 성과 차원에서 매우 생산적인 개발자를 뜻함.
  • 현실은 본인 경력에서 '1x'라도 제대로 하는 것이 우선.
  • 10배 더 잘하는 것처럼 보이지만, 팀 협업, 적절한 기술 선택도 중요.
  • 참고 링크 제공됨 (https://velog.io/@eddy_song/10X-engineer)

5. AWS RDS vs Supabase, Postgresql 선택

  • PostgreSQL을 사용할 때 AWS RDS와 Supabase 중 고민 중.
  • AWS RDS는 안정성과 확장성이 뛰어남.
  • Supabase는 오픈소스 기반 Firebase 대안으로, 실시간 데이터베이스 및 쉬운 관리 장점.
  • 프로젝트 특성과 팀 경험에 맞춰 선택 권장.

6. 넥사크로, 웹스퀘어 등 레거시 UI 툴 이야기

  • 넥사크로는 자바스크립트 프레임워크로 SI(시스템 통합) 현장에서 많이 쓰임.
  • 다만 개발 생산성이나 유지보수가 어렵다는 평판이 심함.
  • 웹스퀘어 역시 별로 평판이 좋지 못한 레거시 툴.
  • 공공기관이나 큰 기업에서 국산 소프트웨어 선호 경향으로 아직 사용 빈도 높음.
  • 장기간 유지 관리 및 로비, 계약 이슈도 반영된 상황.

7. 취업 시장, 개발자 성장, 야근 문화

  • 야근 빈도: 주 2회, 3~4시간 정도는 일반적인 편.
  • 많은 경력자도 포괄임금제로 야근 수당 어려운 경우 많음.
  • 칼퇴하는 팀도 있지만, 바쁜 팀은 9시 퇴근 어려움.
  • 초반 6개월은 고통스럽지만 폭풍 성장 시기라고 봄.
  • 현실은 성장 없으면 힘들고, 사직 생각도 많음.
  • 야근과 워라밸 균형은 개인 선택과 조직 문화 영향 큼.

8. 개발 커뮤니티와 정보 공유

9. 업무와 기술 선택에 관한 고찰

  • 기술 선택은 팀 상황과 프로젝트 목표에 따라 달라져야 함.
  • 예를 들어 단순 브랜드 웹사이트는 '아임웹' 같은 툴로도 충분할 수 있음.
  • 단순히 UI 구현 능력 부족을 기술로 숨기면 좋은 평가는 어려움.
  • 기술과 업무에 대해 객관적 판단이 필요.

10. 기타 소소한 문화 및 잡담

  • Bing.com AI 이미지 생성기로 귀여운 수달 짤 생성.
  • 해산물 ‘돌멍게’와 소주 이야기로 잠시 휴식.
  • 개발자별 다양한 발음 논쟁 및 한국인 개발자의 영어 발음 고민.

면접팁⚡

  • 기술 면접에서 class-validator 같은 라이브러리 활용 경험 또는 데이터 정제 자동화 경험 언급하면 실무 감각 어필 가능.
  • 토큰 기반 파싱 문제 및 성능 개선 사례는 문제 해결 능력 과시 포인트.
  • 10x 엔지니어 개념에 대한 자신의 현실적인 생각과 팀워크 중요성 인식 피력 추천.
  • 기술 스택 선택 이유에 대해 명확히 설명할 준비 필요.

링크🔗

#TypeScript#NestJS#Database#Performance#10xEngineer#Frontend#LegacyTools#WorkCulture#TechCommunity#Automation