글
22편
prisma-class-generator 제작 및 배포기
Prisma 스키마에서 클래스를 생성하는 라이브러리를 만들어 npm에 올리고, Prisma 공식 문서에 PR이 머지되기까지.
SWC를 통한 더 빠른 typescript 빌드 도입
tsc 빌드 8초가 거슬려 esbuild와 swc를 검토해 0.5초까지 줄였고, class-validator 이슈로 한 번 접었다가 workaround로 넘긴 기록.
NodeJS에서의 ORM 선택 (2) : Prisma
TypeORM의 한계로 Prisma2로 전면 교체하며 확인한 장점과 한계, 그리고 팀을 설득하고 일정을 확보한 과정.
NodeJS에서의 ORM 선택 (1) : TypeORM
PHP에서 NodeJS로 넘어오며 Sequelize, Knex, MikroORM, TypeORM을 비교하고 TypeORM을 고른 이유.
퇴사 3개월 후, 회고
퇴사하고 3개월 동안 무엇을 했는지 주 단위로 남긴 회고. 기술 스택 선택부터 실제로 쓴 시간까지.
Vuejs 기반 static page AWS CloudFront + S3로 배포
Vue.js 정적 페이지를 S3에 올리고 CloudFront를 붙이기까지, 버킷명과 도메인 설정에서 걸린 지점들.
just1s AWS Elastic Container Service 기반 배포 아키텍처 정리
토이 프로젝트를 Docker 컨테이너로 만들어 AWS ECS에 올리고, ALB와 NLB를 2단으로 엮어 도메인을 붙인 기록.
NestJS 기반 웹 서버 serverless로 배포
NestJS 서버를 Lambda에 올리며 겪은 tsconfig-paths, webpack 번들링, layer 최적화, 그리고 enterprise 오인식 삽질.
serverless를 활용하여 간단한 크롤링 서비스 AWS Lambda에 배포
puppeteer로 유튜브 음악 정보를 긁는 서버를 만들어 Lambda에 올리기까지. IAM deny 정책에 막혀 헤맨 이야기도.
sequelize-typescript-migration 라이브러리 npm 배포
Sequelize에 마이그레이션 파일 생성기가 없어 직접 만들고, npm에 처음 배포해본 기록.
PHP는 안녕. typescript로의 언어 전환
PHP의 생태계와 언어 자체의 한계에 부딪혀 NodeJS와 TypeScript로 플랫폼을 옮기기로 한 이유.
레드데이즈 상품 리스트 파서 구현
제각각인 40여 종의 엑셀 양식을 파싱하려 파서를 세 번 갈아엎고, 조합식 설계에 도달하기까지.
레드데이즈 상품 코드 관리
id 없이 넘어오는 명품 상품 리스트에서 유일성을 추론하고, 쌓인 중복 상품을 걷어내는 프로세스를 만든 과정.
Flutter meetup 참석 후기
2019년 9월 Flutter 밋업 참석 기록. 네이버 지식iN 앱의 Flutter 도입기와 Q&A를 정리했다.
크로스 플랫폼 앱 프레임워크 : Ionic, Flutter
Ionic으로 하이브리드 앱을 만들며 부딪힌 Cordova 플러그인 문제와, 결국 Flutter로 옮기기까지.
"IaC - 코드로 인프라 관리하기" 후기
『IaC - 코드로 인프라 관리하기』를 읽고 정리한 정의와 등장 배경, 그리고 IaC가 갖춰야 할 조건.
redis mining worm
로컬 접근이 번거로워 실서버 redis의 protected-mode를 끈 채 주말을 넘겼다가 채굴 웜에 감염된 이야기.
"SQL 안티패턴" 내용 요약
『SQL 안티패턴』의 항목들을 추리고, 실제 프로젝트에 비춰 어디까지 지키고 있는지 함께 적었다.
"해커와 화가" 내용 요약
폴 그레이엄 『해커와 화가』에서 남길 만한 대목을 추려 정리했다.
"리팩토링: 루비 에디션" 후기
『리팩토링: 루비 에디션』 후기. 경험으로 체득해온 것들을 패턴의 이름으로 다시 보게 된 이야기.
실시간 스포츠 중계 플랫폼 개발을 통한 트래픽 급증 경험
스포츠 중계 플랫폼에 하루 10만 명이 몰렸을 때 서버가 어디서 무너졌고, 그 뒤 무엇을 고쳤는지.
단위테스트 도입 - TDD, 단위 테스트, fixture
데이터베이스 탓에 깨지는 테스트의 멱등성을 스키마 덤프와 yml fixture로 풀고, Fixture Editor까지 만든 과정.