미리보기
- 직업
- Backend Engineer
- 이름
- 고병룡
- 간단소개
- 새로운 경험을 좋아하는 백엔드 엔지니어 hodako(고병룡)입니다.
자기소개
- 자기소개
- 테스트 코드를 중점적으로 가독성이 높고 리팩토링 비용이 높지 않은 코드를 지향합니다.
- 코드 리뷰를 통해서 변경점에 대해서 토론하고 더 나은 방법을 찾고자 노력합니다.
- 새로 도입해야하는 기술이 있는 상황에는 먼저 부딪혀 보고 팀원들에게 공유하고자 합니다.
- 팀의 고민은 저 개인의 고민이라 생각하고 함께 해결하고자 합니다.
- 문제를 다양한 시각에서 보는 것을 즐기고 그 해결 과정에서 많은 의견들을 내고 들으며 성장합니다.
경력
- 회사명
- 니어브레인주식회사
- 직책 • 부서
- 연구원 • 기업부설연구소
- 근무 기간 (근무 형태)
- 2024.04. - 재직 중
- (7개월 | 정규직)
- 담당 업무
- SaaS 플랫폼 백엔드 서버 개발 및 유지 보수
- AWS EC2, S3, CloudWatch 등 다양한 클라우드 서비스를 활용한 전반적인 서버 배포 및 모니터링 관리
기술 스택
- 기술 스택
- Java
- Spring Boot
- MySQL
- Spring Security
- JPA
- JUnit
프로젝트
- 프로젝트명
- KernelSquare : 지속 가능한 성장을 위한 커뮤니티
- 소속/기관명
- Kernel360
- 프로젝트 기간
- 2023.12. - 진행 중
- (11개월)
- 프로젝트 설명
- 커널 스퀘어는 지속 가능한 성장을 위한 개발자 커뮤니티로 질문과 답변 및 멘토와의 실시간 커피챗을 통해서 성장하고 회원의 성취감을 돋구기 위해 경험치를 통한 혜택을 제공하는 서비스입니다.
- 포트폴리오
- 프로젝트 전체 Entity 개발 및 ERD 설계
- 전반적인 개발 컨벤션 작성 및 문서화
- 각 Layer (Controller, Service, Repository, Domain)에 대한 팀 내 컨벤션 수립 후 문서화
- 회원, 인증, 공지, 예약, 답변 봇 API 개발 - 약 50개의 단위 및 통합 테스트 코드 작성을 통한 검증
- API 개발 시 테스트 작성을 도울 수 있도록 테스트 예시를 만들어서 팀 내에서 활용
- Spring Rest Docs 도입
- 유효성 검증
- Validation과 프로젝트에 필요한 커스텀 어노테이션들을 적용하여 유효성 검증 (비속어 필터링, Enum Type을 위한 validator)
- 프로젝트 구조 개선
- 기존의 싱글 모듈로 시작했던 프로젝트를 요구사항에 맞추어 멀티 모듈로 변경, 중복되는 코드를 줄이고 각 모듈에 책임을 할당
- 서비스 계층 코드를 개선하여 코드 가독성을 높이고, 추상화를 통해서 유연한 구조로 변경
- Open AI Chat API를 활용한 자동 답변 기능 개발
- 서비스 활성화 장려 및 사용자 편의를 위해 답변 봇 개발.
- 질문의 이미지 유무를 고려하여 각 질문에 맞는 모델을 사용하도록 분기처리를 통한 API 호출 비용 절감
- Backend
- JDK 21
- Spring Boot 3.2
- Spring Cloud OpenFeign
- Spring Data JPA, QueryDSL
- Spring Security / JWT / OAuth 2.0 Client
- WebSocket
- Test
- JUnit 5 / Mockito / Spring Rest Docs
- DB
- MySQL, MongoDB
- Message Broker
- Kafka
- Cache
- Redis
- CI, CD
- Github Actions
- Monitoring
- Prometheus, Grafana
- Infra
- AWS S3, RDS, EC2, ELB, Docker
기여 내용
기술 스택
- 프로젝트명
- Anabada : 지역기반 물물교환 플랫폼
- 소속/기관명
- Kernel360
- 프로젝트 기간
- 2023.10. - 2023.11.
- (2개월)
- 프로젝트 설명
- 아나바다는 사용자의 접속 위치를 기반으로 근처에서 가능한 물물 교환 서비스를 제공하는 플랫폼입니다.
- 프로젝트 팀장으로 기획, 설계, 전체 프로젝트 일정 관리를 맡아서 진행했습니다.
- 포트폴리오
- FeignClient, Kakao Map API, Geolocation API를 이용하여 사용자 현재 위치 정보 기능 구현
- 로그인 때마다 정보를 받아오던 위치를 Geolocation API options을 통해서 정확도를 낮추고 유지 시간을 늘려서 사용자 경험 개선
- OAuth2 Client를 통한 카카오 소셜 로그인 기능 구현
- Swagger를 사용한 모든 API에 대한 문서화
- 회원 API 개발 및 약 30개의 단위 및 통합 테스트 코드 작성을 통한 검증
- Whimsical을 활용한 프로젝트 화면 초안 설계
- AWS EC2, Route 53, ELB를 통한 프로젝트 수동 배포
- Backend
- Java 17
- Spring Boot 2.7
- Spring Data JPA / QueryDSL
- Spring Security / JWT / OAuth 2.0 Client
- Spring Cloud OpenFeign
- Test
- JUnit 5 / Mockito
- Frontend
- HTML / CSS
- Javascript / Jquery / Chart.js
- DB
- MySQL
- Cache
- Redis
프로젝트 기여 내용
기술 스택
포트폴리오
외국어
교육
- 소속/기관
- 고려대학교
- 종류 | 전공명/전공계열
- 대학교(학사) | 바이오시스템의과학부
- 재학 기간 (재학 상태)
- 2016.03. - 2022.02. (졸업)
대외활동
- 활동명
- Kernel 360
- 소속/기관
- Kernel 360
- 활동 연도
- 2023
- 활동 상세 설명
- 자바와 스프링 부트 기반의 백엔드 부트캠프
- 자기 주도적 학습과 서비스 설계 및 운영을 통한 개발 경험
- 활동명
- fixture-monkey 번역 기여
- 소속/기관
- 활동 연도
- 2024
- 활동 상세 설명
fixture-monkey는 네이버에서 발표한 오픈소스 기반의 테스트 객체 생성을 도와주는 라이브러리입니다.
공식 문서의 Cheat sheet - FAQ 번역에 기여했습니다. PR