- 안정적이고 신뢰성 있는 서비스를 제작하면서 동시에 도전적인 정신을 바탕으로 어제보다 오늘의 코드가 나아지길 바라는 개발자입니다.
- 백엔드 엔지니어의 업무에 가장 흥미를 가지고 있으며 주로 프로젝트에서 해당 파트를 맡아 시스템을 개발해 왔습니다.
- 주로 개발을 담당하지는 않지만 프론트엔드와 머신러닝 영역에도 재미를 느끼고 있어 꾸준하게 관심을 가지고 있습니다.
상명대학교(Sangmyung univ. Seoul)
- 휴먼지능정보공학과(Human centered AI, 주전공)
- 컴퓨터과학과 (Computer Science, 부전공)
지금까지의 프로젝트 과정 중 사용경험이 있는 도구들입니다.
Backend | ||
---|---|---|
Database | ||
DevOps & Tools | ||
Cloud | ||
Frontend | ||
Data Science |
백엔드 프레임워크를 선택할 때 저는 두 개의 후보군을 우선적으로 고려합니다. 상황 및 요구사항에 따라 유연하게 프레임워크를 결정합니다.
• Spring (Java) : 복잡한 비즈니스 로직을 구현해야 하거나 대규모 시스템을 구축할 때 주로 사용합니다. 최근에는 Spring 진영에서 지원하는 강력한 모듈들에 대한 관심이 높아져 Spring Cloud나 Webflux도 개발에 적용해보려고 시도하고 있습니다.
• Express (Node.js) : 빠른 개발이 필요한 경우, 혹은 비교적 가벼운 시스템을 구축할 때 주로 사용합니다. JS의 불안정성을 극복하기 위해서 Typescript도 함께 사용합니다. 명확히 구조화된 프레임워크인 NestJS를 공부하였으며 실제 프로젝트에 도입해보려 하고 있습니다.
• 이 외에도 필요 시 ASP.NET, Django 등 타 프레임워크를 사용하여 프로젝트에 참여한 적이 있습니다.
프로젝트의 핵심 로직에 따라서 다양한 유형의 데이터베이스를 채택합니다.
• RDBMS : 가장 많이 사용하며 정형화된 모델링과 복잡한 연관 질의가 필요할 때 가장 적절합니다.
• NoSQL : 유연하게 데이터를 모델링 해야 하는 경우 사용합니다.
• In-memory DB : 캐싱, 사용자 세션 관리, 락 처리 등 임시적인 저장이지만 빠른 데이터 접근 속도가 필요한 경우 사용합니다.
• Elasticsearch : 검색 엔진으로서의 활용합니다. ELK는 데이터 분석에도 유용하다고 들어 해당 기능도 공부해보고 싶습니다.
• 메시지 브로커 : 분산 시스템에서의 데이터 동기화나 이벤트 큐의 사용 목적으로 Kafka나 RabbitMQ 등을 프로젝트에 적용해 보았습니다.
• 클라우드 : 운영 및 배포 환경 구축에 필요한 강력한 도구들을 제공하는 클라우드 플랫폼의 다양한 모듈들에 관심이 있습니다.
• 컨테이너 기술 : 개발 환경을 구축하거나 배포를 할 때 Docker 컨테이너 기술은 필수적으로 사용하는 편입니다.
• REST와 GraphQL : 주로 RESTful한 API를 개발하는 편이지만 클라이언트가 원하는 데이터를 질의해서 가져가는 GraphQL의 동향에도 주목하고 있습니다.
• 프론트엔드 : Angular 혹은 바닐라 JS를 사용해서 개발합니다. 프론트엔드 개발자분들만큼의 기술은 모르지만 관리자 페이지의 구축이나 개발한 API와의 연동을 테스트하기 위한 프로토타입 등을 제작할 수 있습니다.
• 데이터 사이언스 : 제 주전공은 기계학습과 데이터분석 등의 데이터과학을 중심적으로 다루는 컴퓨터공학입니다. 인공지능 시대에서 데이터 과학자들과 함께 일하기 위해서 학과 공부도 충실히 하고 있습니다. 특히 분산환경에서의 데이터 분석 도구인 Apache spark에 관련한 내용들은 매우 흥미로웠습니다.
요즘 흥미를 가지고 집중해서 공부하거나, 개발에 적용시켜보려고 하는 부분들입니다.
특히 안정적인 서비스와 좋은 퍼포먼스를 보이기 위한 마이크로서비스와 같은 분산 시스템 아키텍쳐와, 클라우드 기술에 관심을 가지고 있습니다.
제가 작업하는 내용과 관련하여 개발 블로그를 운영하고 있습니다. 백엔드 개발에서 필요한 CRUD, 인증과 인가, 파일 처리, API 문서 작성, 클라우드 배포와 컨테이너 기술, 테스트, 시스템 아키텍쳐와 관련된 내용을 주로 작성합니다.
백엔드 개발 뿐 아니라 네트워크, 운영체제, 아키텍쳐 등의 컴퓨터과학 & 머신러닝과 데이터분석과 같은 Data Science 분야의 글도 틈틈이 작성하고 있습니다. 많이 방문해주시면 좋겠습니다.
기간 | 구분 | 중심 스택 | 소속 | 프로젝트명 | 설명 | 상세 |
---|---|---|---|---|---|---|
2024-06-24~ 2024-06-28 |
개인 | 대학생 해커톤 이벤트 | TRUSTICKET |
|
상세 보기 | |
2024-03~ 진행중 |
팀 | 졸업 프로젝트 | DIDACTO |
|
상세 보기 | |
2023-06~ 2023-11 |
팀 | SK Lookie | WISEFEE |
|
상세 보기 | |
2023-06 | 개인 | Paas-ta 경진대회 | Online-Brainstorming |
|
상세 보기 |
2020년 11월부터 2022년 12월까지 산업기능요원 사원으로 사용자 요구사항에 특화된 키오스크를 개발하는 일을 하였습니다.
다양한 도메인에서 사용되는 키오스크의 API 개발 및 유지보수, 서버 관리, 관리자 페이지 개발을 주로 맡았으며 필요에 따라서 컨텐츠 개발 및 보안 점검, CS 대응등을 담당하였습니다.
다음 내용은 가장 개발 과정이 기억에 남는 프로젝트들을 회고하면서 작성한 내용들입니다.
기간 | 구분 | 중심 스택 | 소속 | 프로젝트명 | 설명 | 저장소 |
---|---|---|---|---|---|---|
2020-10 | 개인 | - | MatchUp! |
|
링크 | |
2020-07 | 팀 | 코리아 IT 아카데미 | Greeting! |
|
링크 | |
2020-06 | 팀 | 코리아 IT 아카데미 | EDU Explorer |
|
링크 |
기간 | 구분 | 제목 | 내용 | 저장소 |
---|---|---|---|---|
2024년 | 토이 프로젝트 | 1:1 화상 스트리밍 | 졸업 프로젝트에 대비, WebRTC 기술과 Electron을 사용하여 실시간 영상 스트리밍 구현 | 링크 |
2023년 | 팀 프로젝트 | 인천광역시 도로의 시간별 상대적인 위험지표 분석 | 데이터 분석 프로세스에 따라 수집부터 시각화까지 진행. 수업 프로젝트 점수 최고점 기록 | 링크 |
2021년 | 토이 프로젝트 | MeloSongBot | 음악 트렌드를 따라가기 어려울 때 최신곡을 노티스해주는 슬랙 봇 | 링크 |
2020년 | 토이 프로젝트 | MSGamble | 회사 동료들과의 간식내기를 위한 점수관리 웹 | 링크 |
2020년 | 토이 프로젝트 | PathMaker | AWT와 외판원 순회 알고리즘을 사용한 여행계획 스케줄링 시스템 | 링크 |
기간 | 구분 | 제목 | 내용 | 저장소 |
---|---|---|---|---|
2024년 | 학교 공부 | 딥러닝 | 학교에서 배운 내용을 기반으로 CNN, RNN, Transformer, 생성형 모델 등을 만들고 특정 문제에 적용해보기 | 링크 |
2024년 | 개인 공부 | PS / 알고리즘 | 코딩 테스트에 대비하여 꾸준하게 문제풀이하기. (늘어나는 문제 수와 올라가는 티어는 나의 원동력) | 링크 |
2023년 | 학교 공부 | 빅데이터 | 분산형 빅데이터 분석 프레임워크인 Apache spark로 데이터 분석하기 | 링크 |
2023년 | 스터디 | MSA | Spring Cloud와 Kafka를 이용한 마이크로서비스에 관해 인터넷 강의를 듣고 그룹 스터디 | 링크 |
2023년 | 학교 공부 | 디자인 패턴 | Java 디자인 패턴을 공부하고 객체지향의 핵심 목적 배우기 | 링크 |
2023년 | 스터디 | Spring Boot | 동아리 내 Spring 공부 : 김영한님의 스프링 | 링크 |
2022년 | 개인 공부 | NestJS : 마켓 백엔드 개발과 배포 | 인터넷 강의 : NestJS와 GraphQL로 쇼핑몰 API를 만들고 Google Cloud에 Kubernetes로 배포, CI/CD 적용기 |
링크 링크 |
2021년 | 개인 공부 | 게시판과 채팅 (Node.js + Angular) |
인증과 인가, CRUD 게시판, 채팅을 구현한 프론트엔드와 백엔드 공부를 위한 토이 프로젝트 | 링크 |
2020년 | 개인 공부 | Android | Java 기반 안드로이드 스튜디오 공부 | 링크 |
2020년 | 개인 공부 | 웹 개발 | 가장 처음 웹 개발 공부를 하면서 만든 저장소. 레거시 Spring, Node.js, JSP, HTML, CSS, Javascript, SQL 등을 공부하고 Markdown으로 파트별 공부 내용 정리 | Markdown |
2020년 | 개인 공부 | Java | 자바 프로그래밍 학습 | 링크 |