소개
안녕하세요, 개발자 김백규입니다.
문제를 주도적으로 해결하고자 합니다.
여러 차례 팀 프로젝트에서 리더를 맡아 주어진 요구사항에 대해 문제를 해결하고, 프로젝트를 성공적으로 완료한 경험이 있습니다. 문제 상황을 해결하기 위해 근본적인 원인을 파악하고, 다양한 시도를 통해 문제에 대한 해결책을 찾아내기 위해 노력합니다.
팀이 더 나은 결과를 만들 수 있도록 노력합니다.
팀원과의 소통을 통해 서로의 의견을 존중하고, 의견을 수렴하여 더 나은 결과를 만들기 위해 최선을 다합니다. 팀에서 제가 기여할 수 있는 부분을 찾아내고, 팀원들과 협업하여 더 나은 결과를 만들어나가고자 합니다.
모두가 성장할 수 있도록 노력합니다.
혼자가 아닌 함께 성장했을 때 더 큰 성취감을 느껴, 스터디나 개발 블로그를 통해 꾸준히 지식을 공유하고 있습니다. 개발 과정에서 코드 리뷰를 통해 코드를 피드백하고, 좋은 코드를 작성할 수 있도록 노력합니다.
프로젝트
Hana V - Variety, View, Value 당신의 소비 생활을 더 스마트하게
디지털하나路 3기 팀 프로젝트 1차에서 진행한 프로젝트로, 비슷한 관점을 가진 사람들의 소비 성향과 나의 소비 성향을 비교하고 효율적인 소비 생활을 위한 금융 방향을 제시하는 관심사 소비 분석 플랫폼입니다.
👩🏻💻 기여한 부분
ㄴ JPA Pagination과 Specification을 통해 검색 조건에 따라 쿼리를 동적으로 생성되도록 하였습니다.
🖥️ 활용한 기술
🚨 트러블슈팅
대학생을 위한 금융 생활 동반자, 더영하나
디지털하나路 3기 팀 프로젝트 2차에서 진행한 프로젝트로, 기존 하나원큐 영하나 서비스를 확장해 대학에서 일어나는 금융 활동을 관리할 수 있는 스마트캠퍼스 서비스입니다.
👩🏻💻 기여한 부분
ㄴ JWT와 Spring Security으로 권한을 관리하였습니다. 또한 세션을 Redis에 저장하여 서버 부하를 줄였습니다.
ㄴ Spring Scheduler로 1분마다 이벤트 상태를 변경하고, 사용자가 이벤트의 작업을 접근할 수 있도록 하였습니다.
ㄴ 선착 이벤트에서 발생할 수 있는 동시성 문제를 해결하기 위해 Redis 분산 락을 구현하였습니다.
ㄴ Firebase로 사용자에게 알림을 전송하도록 하였습니다.
🖥️ 활용한 기술
🚨 트러블슈팅
기술 스택
Backend
- Java의 JVM 구조와 동작 원리에 대해 이해하고, Garbage Collection에 기반해 메모리 효율적인 코드를 작성하려 합니다.
- SOLID 원칙에 기반하여 클래스를 객체지향적으로 설계하고, 다양한 디자인 패턴을 적용해 유지보수성, 확장성을 고려한 코드를 작성하고자 노력하고 있습니다.
- SpringBoot를 활용하여 RESTful API를 설계하고, JPA 등을 활용하여 데이터베이스와 효율적으로 통신할 수 있습니다.
- 멀티모듈 구조로 계층화된 프로젝트를 구성하여 각 모듈을 독립적으로 테스트하고, 이를 조합한 여러 서버들을 구축하여 보다 효율적인 서버 구성을 할 수 있습니다.
- SpringBoot에 Redis를 연동해 세션, 캐싱으로 서버 부하를 줄이고, 분산 락을 통해 동시성 문제를 해결한 경험이 있습니다.
- MySQL 등 RDBMS를 활용하여 데이터베이스를 설계하고, 적절한 인덱싱 처리, 쿼리 튜닝, 반정규화 등을 통해 데이터베이스 성능을 최적화한 경험이 있습니다.
- 로깅을 통해 서버 상태를 모니터링하고, Prometheus, Grafana를 통해 서버 부하에 대응한 경험이 있습니다.
Frontend
- Frontend를 이해해야 웹 어플리케이션의 전반적인 흐름을 잡을 수 있어, 더 나은 Backend 개발을 할 수 있다고 생각합니다.
- JavaScript 이벤트 루프와 콜 스택에 대해 이해하고, Promise, async·await를 활용하여 비동기 처리를 구현할 수 있습니다.
- DOM과 브라우저 API를 통해 웹 페이지의 내부 요소를 동적으로 제어하여, 사용자 친화적인 UI/UX를 구현하고자 노력합니다.
- React에서 재사용 로직을 분리하기 위해 커스텀 훅을 활용하고, Redux를 활용하여 상태 관리를 효율적으로 할 수 있습니다.
DevOps
- Docker를 통해 서비스를 컨테이너화하고, Github Actions으로 CI/CD 파이프라인을 구축할 수 있습니다.
- AWS EC2, RDS, S3 등 여러 서비스를 통해 어플리케이션을 구현한 경험이 있습니다.
- HTTPS를 적용해 보안을 고려하고, Nginx를 활용하여 로드 밸런싱을 구현할 수 있습니다.
etc.
- Git을 통해 버전을 체계적으로 관리하여, 코드의 변경 이력을 추적하고자 노력합니다.
- Git 브랜치 전략에 기반해 브랜치를 관리하고, 코드 리뷰를 통해 이슈를 빠르게 해결하기 위해 최선을 다합니다.
- Github Issue, Plane 등의 이슈 트래킹 툴을 활용하여 프로젝트의 전반적인 진행 상황을 관리해본 경험이 있습니다.
- Figma를 활용하여 UI/UX 디자인을 구현하고, 이를 프로토타입 제작에 활용해 사용자 피드백을 받아 개선한 경험이 있습니다.
- Notion을 프로젝트 관리 툴으로 활용하여 프로젝트 일정을 조율하고, 프로젝트 자료를 체계적으로 관리한 경험이 있습니다.
활동
🏕️ 하나은행 디지털하나路 3기
우수 수료 (2024.01 ~ 2024.07)
6개월간 FrontEnd, BackEnd, 프로젝트 개발로 세분화된 웹 개발 교육을 받으며, 디지털 금융 서비스에 대한 이해와 경험을 쌓았습니다. JavaScript, TypeScript, React를 활용한 프론트엔드 개발과 SpringBoot, MySQL을 활용한 백엔드 개발 등 실무적인 웹 개발 교육을 통해, 실제 프로젝트에서 요구되는 구체적인 기술과 경험을 접했습니다. 또한 2차례 팀 프로젝트에서 팀장을 맡아 기획, 개발, 배포의 개발 프로세스를 진행해 협업 및 의사소통 능력을 키울 수 있었습니다.
학력
🏫 홍익대학교 컴퓨터공학과
졸업유예 (2018.03 ~ 2025.02)
4년간 대학교에서 컴퓨터공학을 전공하면서 웹 개발에 대한 기본적인 이해와 경험을 쌓았습니다. C, C++, Java 등 다양한 프로그래밍 언어들의 문법을 익혔으며, 자료구조, 알고리즘, 네트워크, 운영체제, 소프트웨어공학 등과 같은 전공 과목들을 통해 컴퓨터과학에 대한 기초적인 지식을 습득하였습니다.
자격증
📄 SQLD
취득 (2024.04)
SQLD 자격증 취득을 통해 DB 설계 및 구축 능력을 갖추고, DB 관리 및 데이터 분석 능력을 향상시킬 수 있었습니다.
📄 OPIC
IM1 (2023.08)
OPIC 자격증 취득을 통해 영어 회화 능력을 향상시킬 수 있었고, 국제적인 업무 환경에서의 의사소통 능력을 갖출 수 있었습니다.
기타
👥 홍익대학교 교내동아리 민화반
회장 (2022.03~2024.02)
🪖 대한민국 공군
병장 만기 전역 (2019.02~2020.12)
👥 홍익대학교 컴퓨터공학과 과학생회
복지부원 (2018.03~2019.02)