개요
엔지니어 프로필
프로필
| 이름 | 정범수 |
| 이메일 | inithink@gmail.com |
| 전화번호 | 010-8680-4027 |
| 생년월일 | 1987-07-21 |
| 지역 | 경기도 부천시 |
간단 소개
컴퓨터 분야에 관심이 있어 중학생 때 프로그래밍을 시작했습니다.
여러 프로젝트를 진행하면서, 유지보수를 잘하기 위한 고민을 지속적으로 해왔습니다.
컴퓨터에 관심도 많고 초기 스타트업에서 많이 일해서 임베디드, 홈페이지, 앱, 서버, 인프라, 관측성 등 넓은 분야를 다룰 줄 압니다.
기술
경험
직장, 프리랜서
- Java / HTML / Javascript / Typescript / CSS / C++ / Shell Script
- PlatformIO (임베디드 시스템 펌웨어 제작)
- Next.js (Next Auth, Prisma, Tailwind CSS)
- Nest.js (TypeORM, Passport, Swagger, OpenTelemetry)
- Material UI / React Admin
- Android Studio
- Docker / Docker Compose
- Kubernetes (GKE, EKS)
- Grafana
- Sentry / Newrelic
- Firebase
- Commander.js (명령어 도구 제작)
- Spring Boot
- Web / JPA / Security / OAuth2
- Vaadin, Hilla
- OpenTelemetry
- 포트원 (결제, 본인인증)
- React Native (Expo)
- Puppeteer (웹 크롤링)
개인 프로젝트
- Kotlin / Python
- Serverless Framework (코드로 AWS 인프라 관리)
- Amazon SES (이메일 전송)
- 개인 서버 (Ubuntu 서버 가정에서 운영)
- Kubernetes (microk8s)
- (현재 사이트) 자기소개 서버
- Grafana LGTM Stack
- Private Github Runner
- Private Docker Registry
- n8n / Windmill (워크플로우 자동화 - 로코드)
- Supabase
- oclif
아키텍처
소프트웨어는 만드는 시간보다 유지보수하는 시간이 더 많습니다.
수정하기 쉽게 만들기 위한 관심을 가지고 있습니다.
- DDD (Domain Driven Design)
- TDD (Test Driven Development)
- Architecture
- Clean Code
- Hexagonal Architecture
- Command Query Responsibility Segregation
- Design Patterns
인프라
소프트웨어를 개발하고 실제 서비스를 하려면 배포하고 관리하는 것이 필요합니다.
도구를 잘 이해해서 자동화하지 않으면, 배포하는 시간이 길어지고 그만큼 일할 시간이 줄어듭니다.
- DNS
- Nginx
- Certbot
- CI/CD (Continuous Integration / Continuous Deployment)
- Github Actions
- Kubernetes / Docker compose
- Firebase
- Linux Server (Ubuntu)
- GCP (Storage, GKE, Cloud Run, Cloud Task, Cloud SQL)
- Postgres, MySQL, MongoDB
관측성
서비스를 운영하면서 다양한 문제들을 접하게 됩니다.
문제가 발생한 것을 알아차리고, 해결하기 위해서는 어떤 일이 왜 일어나는지 알아야 합니다.
- OpenTelemetry
- Metrics
- Logging
- Tracing
- Sentry / NewRelic
- Grafana
- Alert
- Visualization
분석
비즈니스적인 판단을 하려면 고객의 니즈가 중요합니다.
분석 도구를 이용하면 고객이 어떤 행동을 하는지 파악하여 비즈니스 판단을 도울 수 있습니다.
- Google Analytics
- Hotjar
로코드 / 노코드
개발자는 개발만 하지 않고 다양한 업무를 처리하게 됩니다.
그러나 모든 것을 직접 만든다면 시간이 많이 소요됩니다.
단순하고 반복적인 업무는 로코드 / 노코드 도구를 이용하여 자동화할 수 있습니다.
- n8n
- windmill