미리보기
기본 정보
1인분 이상 하는, 사람과의 관계와 신뢰를 중요시 하는 개발자 입니다.
기술 스택
Java, Spring Boot, Docker, Node.js, Linux, AWS, Jenkins, GitHub, github-actions, JPA, querydsl, MySQL, Redis
경력
사막여우엔터테인먼트
파트장 | S_LAB
2023.11. ~ 2024.06. (8개월)
백엔드 부분 전체 담당하였습니다. / 6월 20일 폐업으로 인한 퇴사
아이씨티컴플라이언스
Manager | 개발팀
2023.03. ~ 2023.10. (8개월)
백엔드 담당하였습니다. / 경영악화(개발팀 운영자금)로 인한 퇴사
플랫브레드
대리 | 개발 1팀
백엔드 / 프론트엔드 담당하였습니다. / 회사 사옥 이전으로 인한 퇴사
바램인터렉티브
대리 | 웹 개발
2020.06. ~ 2022.09. (2년 4개월)
백엔드 / 프론트엔드 담당하였습니다. / 주력언어 변경으로 인한 퇴사
프로젝트
성남시 청소년지원센터 꿈드림 자립플랫폼 일하루 리뉴얼
사막여우엔터테인먼트
2023.11. ~ 2024.06.
1. STOMP 프로토콜 / Redis Pub&Sub 이용한 Unity 단과의 소켓통신
2. Elasticsearch 통한 인기 검색어 저장 및 출력
3. Redis 에 방문자 임시 저장 및 스프링 쿼츠로 일괄 DB Insert 처리
4. AOP 적용으로 회원탈퇴 여부체크 및 Quartz 매일 자정 회원탈퇴 체크 및 일괄 처리
5. JPA, QueryDSL 사용
6. JWT 토큰 사용
7. 스프링 시큐리티 커스텀 필터 사용으로 Request 시 마다 토큰 재발급
8. 리프래시 토큰 재발급
9. 기타 비즈니스 로직 작성
10. Mysql, SpringBoot, Redis, Jenkins, Elasticsearch 도커 컴포즈 파일 작성 및 도커 파일 작성
11. React(프론트)단 CI/CD
12. SpringFramework(백엔드)단 CI/CD
KCLASS 솔루션 개발 ( KC 인증 인터넷 신청 )
아이씨티컴플라이언스
2023.05. ~ 2023.06.
1. KC 인증 신청 DB, 결제 DB 구축
2. KC 인증 신청 API (스프링 부트, JPA, QueryDSL)
3. 이메일 발송
LooKC 솔루션 개발 ( 기기별 KC 인증항목 검색 )
아이씨티컴플라이언스
2023.05. ~ 2023.06.
1. 결제 프로세스의 DB 구축 (MariaDB)
2. 결제관리 관련 API 작성(스프링 부트, JPA, QueryDSL)
사내업무프로그램(Node.js) Java 마이그레이션
아이씨티컴플라이언스
2023.03. ~ 2023.05.
1. 50개 가량 Node.js API 를 JAVA API 로 마이그레이션 ( 스프링 부트, JPA, QueryDSL)
2. 60개 가량의 Node.js 의 TypeORM 엔티티를 자바 엔티티로 이식
3. 이메일 발송
KT바로광고
플랫브레드
2022.09. ~ 2023.02.
1. 회원 가입
2. 로그인
3. 아이디 찾기
4. 휴대폰 번호 인증
5. 광고 영상 업로드
6. 각종 게시판
( 스프링 부트, Vue.js, Mybatis , Mysql 사용 했습니다.)
에이씨엘 중고거래 웹사이트 제작
바램인터렉티브
2021.12. ~ 2022.03.
1. 데이터베이스 설계
2. 휴대폰 본인인증 API 연동
3. 이니시스 결제 API 연동
4. 쇼핑몰 기능
5. 회원 중고기기 판매 신청
6. 게시판
7. 카카오톡 로그인
8. 네이버 로그인
9. 지점조회(DB에 입력된 키오스크 지점을 검색하면 카카오 지도 이용 출력)
10. 관리자 페이지(회원관리, 상품관리 등)
12. 백엔드(각종 API 연동 및 DB, 쇼핑몰 구축)
13. 퍼블리싱
14. 도메인 및 SSL 적용
( 라라벨 프레임워크, 자바스크립트 사용 했습니다. )
부유식 해상풍력터빈 원격 모니터링 안드로이드 App 개발
바램인터렉티브
2021.08. ~ 2022.05.
1. 데이터 서버와 TCP 통신 후 데이터 그래프로 출력
2. 로그인 / 회원가입
3. JWT 인증
2. 프록시 서버로 NGINX 사용
3. Express 프레임워크 (Node.js) 사용
4. JWT 토큰 사용
( 익스프레스 프레임워크, 리액트 네이티브, Nginx, Mysql 사용 되었습니다.)
경남신문 신문사 홈페이지 리뉴얼
바램인터렉티브
2020.09. ~ 2022.08.
1. 업로드 자동화
1-1. 신문사에서 기사정보가 있는 JSON 파일, 이미지 파일 특정 폴더에 업로드
1-2. inotify 가 데몬으로 돌면서 새로운 JSON 파일 감지 시 이벤트 실행
1-3. JSON 파일과 업로드 된 기사 이미지를 기사 본문에 삽입 및 이미지 리사이징
1-4 기사 내용을 데이터베이스에 INSERT
1-5. 업로드 완료된 JSON 파일 및 이미지 파일 이동
2. 데이터베이스 인덱스 튜닝
2-1. 로우 데이터가 70만건 이상 이어서 우선 인덱스 파편화를 수정
2-2. SQL마다 불필요한 서브쿼리, OR 등의 부하를 가져오는 쿼리들을 최대한 제외
2-3. SQL 마다 최대한 인덱스를 타도록 하여 쿼리 시간을 단축
2-4. 가장 많이 단축 된 응답 시간은 다음과 같습니다.
기존 34554.78 ms -≫ 0.8 ms
포트폴리오
자격증
정보처리기사
기사 | 한국산업인력공단
2019.11.
1종보통운전면허
1종보통 | 경찰청(운전면허시험관리단)
2014.01.
자기소개
직무역량
1) 자바(JPA) -≫ 가장 공부에 투자한 시간이 많은 언어 이며, 다른 기술스택 대비 공부를 많이 했고 계속 하고 있습니다.
Mybatis는 6개월 가량 사용 했으며 JPA는 실무사용 전 6개월 가량 선생학습 후 실무에서 JPA는 1년 3개월 이상 사용했습니다.
2) Docker ->> 도커 컴포즈 파일 작성 및 도커 파일 작성 가능 합니다.
3) Jenkins ->> 깃 푸시 -> 빌드 -> 배포(도커환경) 가능 합니다.
4) Redis ->> Redis Pub/Sub 및 임시 데이터 저장 용도로 사용 해봤고, 캐싱 용도로도 사용 가능 합니다.
5) Elasticsearch ->> 엘라스틱 서치에 데이터 저장 및 검색 용도로 사용 해 봤지만 능숙 하지는 못합니다.
6) Node.js(Express) -≫ 실무에서 진행 한 프로젝트가 하나 있고 자바로 마이그레이션 경험도 있습니다.
7) Linux ->> 4년가량 사용 했으며 무난하게 사용 가능 합니다.
기타 리눅스 및 네트워크 역량
- 포트 포워딩이 필요한( 통신사 공유기 - 사제 공유기 - 서버 PC) 리눅스 홈 서버 구축 경험이 있습니다.
- 기본적인 IPtables 방화벽 세팅 가능합니다. 필요 포트만 열고 디도스 공격 방어까지는 실 서버에 적용해 보았습니다.
- 비록 적은 횟수지만 회사 소유의 서버( IDC에 위탁 )가 간헐적 장애, 해킹을 당해 보기도 해서 기본적인 로그 분석 경험이 있습니다.
- 회사 내 서버 구매 업무를 담당했던 적이 있습니다. 3회 정도의 서버 사양, OS 선택 및 백업 정책 부분 등의 선택 및 세팅을 담당했습니다.
깃허브 및 협업툴 역량
슬랙, 노션, 피그마 사용 했으며
깃 서브모듈, Issue, Branch, PullRequest, GitHub Actions 등등
모두 실무에서 사용해 보았거나 현재 사용 하고 있습니다.
성향
* 항상 최신 트랜드를 추구 하고 새로운 SKILL 을 늘리는 걸 선호 합니다.
* 무한 경쟁 사회에서 노력은 당연하다 생각하고 있고 지금까지 그랬고 앞으로도 변함이 없을 겁니다.
* 기술적 문제를 해결하기 위해 끊임없이 학습하고, 이를 실무에 빠르게 적용 합니다.
* 항상 보다 더 나은 코드를 작성 하는 걸 고민 하면서 업무에 임하고 있습니다.
* 평일 하루의 대부분의 시간을 회사에서 보내게 됩니다. 항상 즐거운 회사 생활이 되려고 노력 합니다.
* 노력에 따라 개인의 가치는 올라간다 생각 합니다.
* 새로운 기술, 새로운 툴에 대한 거부감이 없고 항상 학습하려 합니다.
년차별 학습한 부분 정리 및 이직사유
국비지원학원(0년차):
2019년 국비지원 학원을 다녔으며 7개월 동안 진행 하였습니다.
커리큘럼이 JAVA(Model1) + 정보처리 산업기사 취득 과정이었으나, 다른 사람보다 더욱 더 빨리, 많이 배우고 익혀야 한다고 생각했고 학원 커리큘럼을 진행 하면서 실무에서는 프레임워크를 쓴다고 들어 조금이라도 실무에서 더욱 빠른 적응을 위해 7개월 동안 모든 시간을 SpringFramework(JAVA) 를 학습 하였고, 정보처리기사는 학원 기간 중 개인적으로 취득 하였습니다.
1년차:
(주)바램인터렉티브에 입사하여 처음으로 실무 프로젝트를 진행하며 웹의 전체적인 플로우를 익혔으며, XSS, CSRF, SQL Injection 등의 가장 기본적인 보안을 신경 쓰며 코딩을 해야 하는 것과, 단방향 암호화 및 Sort 의 중요성 및 랜덤 Sort의 중요성, 리눅스, SQL, 기본 백엔드 언어 PHP(Modern PHP, LaravelFramework), RestAPI, DB, 자바스크립트 활용 등을 익혔습니다.
2년차:
2년차가 되면서 70만건 정도의 데이터를 다뤄 볼 일이 생겨서 DB 인덱스의 중요성을 알게 되었고, ReactNative, Node.js(Express) 등의 다른 언어를 실무에서 접했으며, 이때부터 주 언어를 JAVA로 가져가기 위해 JAVA공부에 전념하게 되었습니다.
3년차:
3년차 중반에 현 회사에선 더 이상의 발전이 어렵다 생각되어 (주)바램인터렉티브 대표님께 면담을 드리니
서울로 올라가서 더 큰 꿈을 펼쳐 보라고 추천해 주셔셔
서울로 향하며 JAVA 백엔드 개발자 지원 공고에 지원해 면접을 본 후
(주)플랫브레드로 이직을 하게 되었습니다.
이직 후 JAVA(Mybatis), Vue3 를 접하게 되었습니다.
이 당시에 백엔드에 전념하고 싶어 JAVA 백엔드 개발자로 면접을 본 후 입사를 한거였으나
예상과는 다르게 백엔드 &프론트엔드 모두 담당하는 포지션 이었습니다.
그러던 중 회사 사옥 매각 및 송파구로의 이사 또한 통보받게 되어
백엔드를 전담 할 수 있는 (주)아이씨티컴플라이언스로 이직하게 되었습니다.
4년차:
(주)아이씨티컴플라이언스에 백엔드 전담 개발자로 이직 후 JPA(JAVA), TypeORM(Node.js)을 처음 접하게 되었습니다. JPA같은 경우 인프런을 통해서 6개월 가량 틈틈이 미리 공부 하여 실무에 바로 사용할 수 있었고 현재까지 크리티컬한 이슈를 발생 시키지 않고 사용 중입니다.
하지만 입사 후 수익 창출을 위한 B2C 서비스 2개를 개발 하였으나, 수익이 발생하지 않아 개발팀 운용 자금이 몇개월 남지 않게 되었고
개발팀을 유지하기 위해 크몽 외주로 개발 업무 방향을 바꾼다고 통보를 받아 저와는 가는 길이 다르다 생각 해
(주)사막여우엔터테인먼트로 이직을 하게 되었습니다.
5년차:
(주) 사막여우엔터테인먼트에서는 백엔드를 모두 혼자 담당하고 처음부터 쌓아 올려야 했습니다.
그러던 중 (주)사막여우엔터테인먼트 대표님 께서 올해 들어 스타트업 투자가 감소하여 운영이 어려워져
폐업 수순을 밟아야 한다고 하셧고, 6월 20일자로 폐업을 하게 되면서
6월 20일 퇴사를 하게 되었습니다.
현재는 전반적인 백엔드 스킬을 더욱 더 갈고 닦고 있으며 함께 할 곳을 찾고 있습니다.
강점
첫 회사인 ㈜바램인터렉티브 에서 하이브리드 앱 개발 요구가 있었습니다.
그러나 여건상 불가능 하다면 웹뷰로 안드로이드앱을 제작하라는 지시를 받았습
니다. 그럼에도 불구하고, 저는 개인적으로 1개월 동안 리액트네이티브를 선행학
습 후, 프로젝트 진행 중에도 밤낮없이 학습하여 하이브리드 앱으로 요구사항을
충족 시킬 수 있었습니다. 처음의 고객의 요구사항은 하이브리드 앱이었기 때문
에 고객의 만족도와 제 자신의 만족도 모두 높일수 있었습니다.
㈜사막여우엔터테인먼트에서 빌드 및 배포의 비효율성을 개선하기 위해 Jenkins
를 도입했습니다.
비록 누구도 요구하지 않았고, Jenkins에 대한 경험이 부족했지만, 개인적인 학습
과 리소스 투자를 통해 신속하게 시스템을 구축하고, 프론트와 백엔드 코드의 지
속적인 통합 및 배포의 편리성을 획득할 수 있었습니다.
이를 통해 팀의 생산성을 향상시킬수 있었습니다.
외 외에도 다양한 기술 스택을 도입하며 서비스의 품질을 높여나갔습니다.
Elasticsearch, Redis, Docker, Socket 등 새로운 스택들을 먼저 제안하고 협의하여
적용함으로써 시스템의 효율성과 안정성을 높였습니다.
저의 강점은 기술적 문제를 해결하기 위해 끊임없이 학습하고, 이를 실무에 빠르
게 적용하는 능력, 다른 파트와의 원활한 의사소통 입니다.