목차
- class-validator 다국어 메시지 처리
- 쿠폰 expression 처리 및 성능 개선
- Pod 읽는 법과 CocoaPods 유래
- 10x 프로그래머 개념과 현실
- AWS RDS vs Supabase, Postgresql 선택
- 넥사크로와 웹스퀘어 등 레거시 UI 툴 이야기
- 취업 시장과 개발자 성장, 야근 문화
- 개발 커뮤니티와 정보 공유
- 업무와 기술 선택에 관한 고찰
- 기타 소소한 문화 및 잡담
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. 개발 커뮤니티와 정보 공유
- NestJS 카톡 오픈채팅방과 같은 커뮤니티 존재.
- 여러 개발자들이 각종 도구, 현황, 팁을 공유하며 도움 받음.
- 디자인 강의 추천(https://www.inflearn.com/course/디자인-스타일-파운데이션) 등 교육 자료 공유.
9. 업무와 기술 선택에 관한 고찰
- 기술 선택은 팀 상황과 프로젝트 목표에 따라 달라져야 함.
- 예를 들어 단순 브랜드 웹사이트는 '아임웹' 같은 툴로도 충분할 수 있음.
- 단순히 UI 구현 능력 부족을 기술로 숨기면 좋은 평가는 어려움.
- 기술과 업무에 대해 객관적 판단이 필요.
10. 기타 소소한 문화 및 잡담
- Bing.com AI 이미지 생성기로 귀여운 수달 짤 생성.
- 해산물 ‘돌멍게’와 소주 이야기로 잠시 휴식.
- 개발자별 다양한 발음 논쟁 및 한국인 개발자의 영어 발음 고민.
면접팁⚡
- 기술 면접에서 class-validator 같은 라이브러리 활용 경험 또는 데이터 정제 자동화 경험 언급하면 실무 감각 어필 가능.
- 토큰 기반 파싱 문제 및 성능 개선 사례는 문제 해결 능력 과시 포인트.
- 10x 엔지니어 개념에 대한 자신의 현실적인 생각과 팀워크 중요성 인식 피력 추천.
- 기술 스택 선택 이유에 대해 명확히 설명할 준비 필요.
링크🔗
- class-validator-multi-lang: https://www.npmjs.com/package/class-validator-multi-lang
- 10x engineer 설명: https://velog.io/@eddy_song/10X-engineer
- Pod 번역 참고: https://www.google.com/search?q=pod+%EB%B2%88%EC%97%AD
- 디자인 강의 (인프런): https://www.inflearn.com/course/%EB%94%94%EC%9E%90%EC%9D%B8-%EC%8A%A4%ED%83%80%EC%9D%BC-%ED%8C%8C%EC%9A%B4%EB%8D%B0%EC%9D%B4%EC%85%98
#TypeScript#NestJS#Database#Performance#10xEngineer#Frontend#LegacyTools#WorkCulture#TechCommunity#Automation