채용공고 올리기

이동욱님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
이동욱
직업
Java 기반 웹 백엔드 개발자, 이동욱 입니다.
이메일
ben896@nate.com
간단 소개

빠르게 배우고 꾸준히 개선하는 JAVA 개발자입니다.

기술 스택

기술 스택

국비지원 부트캠프, Java, JavaScript, HTML/CSS, Spring, Spring Boot, MySQL, DBMS/RDBMS

경력

회사명

태진 아이티

직급 | 부서 | 근무 유형

사원 | .

근무 기간

2023.09. ~ 2024.10. (1년 2개월)

담당 업무

[파트 타임 아르바이트]

관공서 복사기 관리

중고 컴퓨터 수리/판매

회사명

한국맥도날드유한회사(A)

직급 | 부서 | 근무 유형

팀리더 | .

근무 기간

2024.04. ~ 2024.06. (3개월)

담당 업무

팀원 관리, 손님 응대, 매장 관리

회사명

한국맥도날드유한회사(A)

직급 | 부서 | 근무 유형

크루

근무 기간

2023.10. ~ 2024.03. (6개월)

담당 업무

손님 응대, 매장 관리

회사명

햇살밝은 협동조합

직급 | 부서 | 근무 유형

개인사업 | .

근무 기간

2019.06. ~ 2023.01. (3년 8개월)

담당 업무

[법인 직영 카페 운영]

장애인 일자리 마련

회사명

해군교육사령부

직급 | 부서 | 근무 유형

블루캠프지도관 | 인사행정처

근무 기간

2017.10. ~ 2019.04. (1년 7개월)

담당 업무

교육사 인사행정처 병(수병 약 20명) 관리

블루캠프(연 10회) 입소 병 관리

상담 프로그램 신설

- 외부 전문 상담사 탐색 및 초빙

교육사령부 내부 카페 인력 및 식자재 관리

회사명

웃는 아이 (의류 대여)

직급 | 부서 | 근무 유형

아르바이트 | .

근무 기간

2014.11. ~ 2015.02. (4개월)

담당 업무

[어린이집 / 유치원 행사 대행]

의류 대여

무대 설치

회사명

부산일보 (개금 보급소)

직급 | 부서 | 근무 유형

아르바이트 | .

근무 기간

2014.11. ~ 2015.02. (4개월)

담당 업무

[아르바이트]

새벽 신문 배달

프로젝트

프로젝트명

아나바다2 (경매 플랫폼 웹사이트)

소속/기관명

그린아트아카데미

프로젝트 기간

2025.03. ~ 2025.04.

프로젝트 내용

프로젝트명 : 아나바다2 (경매 플랫폼 웹사이트)

기간 : 25.03.14 ~ 25.04.21 (약 20일)

인원: 총 6명

[프로젝트 주소]

깃허브 https://github.com/000vin000/anabada2

 

프로젝트 목적 및 배경

기존 개인 간 중고 명품 거래 플랫폼에서 서비스 대상 범위를 확장함. 

브랜드 및 오프라인 영세 판매자 대상 기능을 추가, 새로운 고객층을 유입함. 

소규모 판매자와 브랜드 간 상품 거래가 가능한 유통 구조를 설계함.

이벤트성 마케팅 기능을 위한 브랜드 전용 경매 시스템 기획함. 

개인 브랜드가 자체 제품을 홍보하고 판매할 수 있도록 전용 섹션을 구성함.

도매 사입 구조의 한계를 해결하기 위한 거래 채널을 구축함. 

도매스틱 브랜드 제품 사입이 가능한 구조를 마련하여 플랫폼 내 거래 활성화 구조를 설계함.

 

JWT 기반 인증 방식 도입

- AccessToken, RefreshToken 구성 및 HttpOnly 쿠키를 통한 보안성 강화

- JWT 토큰에 저장된 사용자 식별 번호(userNo)로 DB에서 사용자 정보를 조회하여 통합 관리

- 적용 범위: 회원가입, 로그인, 소셜 로그인, 회원정보 수정, 비밀번호 변경, 회원탈퇴 등 전체 기능

 

JWT와 2차 PIN 인증의 중첩된 인증 충돌 문제

- 인증 방식이 중첩되며 403 오류 발생

- JWT에는 userType이 없어 잘못된 Repository로 사용자 조회

- userNo로 공통 조회 후 userType으로 분기 처리하여 문제 해결.

 

OAuth2 소셜 로그인(Google)

- Spring Security OAuth2와 JWT를 결합하여 구글 소셜 로그인 구현

- 최초 로그인 시 자동 회원가입 → AccessToken 발급 → 클라이언트 저장하는 구조로 처리

 

2차 비밀번호(PIN) 인증 기능 구현

- 주요 기능(회원정보 수정, 회원탈퇴 등)에 PIN 인증 추가

- 최초 등록 → 인증 → 수정 구조로 흐름 제어하여 보안성 강화

 

이메일 인증 개선

- 인증번호 발송 시 유효시간 제한 및 재요청 제한 로직 도입하여 보안성 강화

 

유효성 검사를 중복 코드 작성

- 회원가입, 정보수정, 비번변경 등에서 매번 사용되지만 중복된 코드로 작성

- 정적 HTML과 외부 JavaScript를 분리하고 모듈화하여 유지보수성 향상

- 기능별 JS 파일로 구분하여 코드 가독성 및 관리 용이성 확보

- 입력 필드별 해당 페이지에서만 필요한 유효성 검사가 동작하도록 이벤트 핸들러 분기 처리

- 기능별로 독립적인 이벤트 바인딩 구조를 구축하여 충돌 현상 해결

- 프론트엔드 구조 모듈화

 

유효성 검사 및 검증 기능 강화

- 전화번호를 분할 입력받아 서버단에서 병합하여 저장 처리

- 비밀번호의 정규식 기반 실시간 검증 및 중복 확인 버튼 구현

 

Git 커밋 민감정보 정리

- 개발 도중, API 키 등 보안 관련 민감 정보가 깃 커밋에 포함됨

- git filter-repo를 활용하여 커밋 이력에서 민감정보 전체 삭제

- 민감 정보는 별도의 보안 저장소를 활용하여 팀원간 공유

- Git 보안 관리 프로세스 경험

소셜 회원과 개인 회원 유효성 처리 혼동

- 개인/소셜 회원이 같은 테이블 구조를 공유하면서 로직 혼동 발생

- userType 컬럼을 추가하여, 역할 기반 분기 처리 로직을 도입하여 검증 절차 및 흐름을 명확히 하여 일원화

주소 데이터 처리 방식 문제

- DB에 "기본주소::상세주소" 형식으로 구분자를 활용한 비정규화 저장

- 자주 조회되는 정보이기 때문에, 빠르게 조회할 수 있는 비정규화 전략 선택

소셜 로그인 후 토큰 저장 문제

- OAuth2 소셜 로그인 후 토큰이 클라이언트에 제대로 저장되지 않아 인증 실패 발생

- 서버에서 리다이렉트 URL에 토큰을 포함하여 전달 후 프론트엔드에서 이를 파싱하여 localStorage에 저장하도록 수정

- 기존 로직과의 통일성을 위해 공통 키("Token")를 활용하여 일관성 유지함

▷ 느낀 점

- 실제 서비스를 구성하며 인증/인가, 유효성 검사, 보안 설계가 단순 기능을 넘어서 플랫폼의 기반임을 체감함.

- 브랜드, 소셜, 개인 등 다양한 회원 유형을 포괄하는 구조를 직접 설계하며 확장성과 유연한 아키텍처 설계 경험을 쌓음.

- 기능 구현을 넘어 예외 흐름, 에러 대응, 보안성 향상까지 고려하면서 실무와 같은 수준의 프로젝트 경험을 수행할 수 있었음.

- 이 과정에서 단순한 개발자 시각을 넘어서, 서비스 운영자와 사용자 입장을 고려한 개발 역량을 기를 수 있었음.

프로젝트명

아나바다 (경매 플랫폼 웹사이트)

소속/기관명

그린아트아카데미

프로젝트 기간

2025.02. ~ 2025.02.

프로젝트 내용

프로젝트명 : 아나바다 (경매 플랫폼 웹사이트)

기간 : 25.02.07 ~ 25.02.21 (약 10일)

인원: 총 6명

[프로젝트 주소]

깃허브 https://github.com/000vin000/anabada

프로젝트 목적 및 배경

코로나19 팬데믹 이후 명품 소비가 증가함에 따라, 중고 명품 시장도 빠르게 성장함. ‘잘 관리된 명품’에 대한 인식 확산과 함께, ‘세컨핸즈’라는 개념이 국내에 자리잡음.
 번개장터, 당근마켓 등 기존 중고 거래 플랫폼은 단순 거래 기능 중심으로, 사용자 체류시간 증가에는 한계가 존재함.

이에 친숙하고 접근하기 쉬운 플랫폼 경험을 위해, 한국 고유의 공유문화인 ‘아나바다(아껴 쓰고, 나눠 쓰고, 바꿔 쓰고, 다시 쓰자)’를 브랜드 콘셉트로 채택함.
또한, 흥미 유발 및 몰입도 향상을 위해 ‘경매 시스템’을 도입하여, 단순 거래를 넘어 경쟁 요소를 포함한 거래 구조를 기획함.

 

세션 기반 인증 방식 적용

- 사용자 상태를 서버에서 직접 제어하는 세션 기반 인증 구조 설계

- 보안성과 실시간 권한 제어가 용이하여 웹 기반 서비스에 적합

 

비밀번호 암호화 처리

- PasswordHasher 클래스 구현을 통해 PBKDF2 해시 알고리즘과 랜덤 Salt 적용

- 무차별 대입 공격 및 평문 유출 위험을 방지하기 위한 보안 구조 설계

> 비밀번호 암호화 기능 적용 이후, 테스트 환경에서 사용되던 평문 기반의 더미 데이터가 암호화 정책과 맞지 않아 충돌이 발생했습니다.

- 테스트 데이터를 암호화 포맷으로 재정비하고 테스트 시나리오를 재구성하여 문제 해결

 

SMTP 이메일 인증 구현

- 네이트온 SMTP 서버 연동을 통해 인증번호 메일 발송 기능 구현

- 회원가입,회원정보 과정 중 사용자 이메일 인증 플로우 구성

사용자 인증/인가 전반 기능 구현

- 로그인, 회원가입, 정보 수정, 회원탈퇴 기능 전체 구현 및 흐름 설계 수행

- 인증/인가 기능은 단순한 로그인 처리를 넘어, 서비스 전반을 지탱하는 핵심 구조임을 체감함.

사용자가 입력한 전화번호를 서식이 지정된 객체로 매핑하고, 유효성 검증 흐름이 필요함

- 문제점: 매핑 이전 폼 데이터의 값으로 미리 데이터 유효성을 검증하여 오류가 발생

- 해결: 검증 흐름을 재정비하여 문제 해결

- 해결방법: 서비스 로직 전반에 대한 로그 추적과 디버깅을 통해 원인을 분석하고 유효성 검사 위치를 조정함으로써 정상 작동을 유도

- 관점 지향적 프로그래밍에 대한 학습 계기가 되었음

단일 메서드에 다수 책임 집중로 인해 유지보수에 어려움 발생
- 기능 단위 분리와 흐름 명확화를 통해 구조적 개선을 경험

- 기술 구현뿐 아니라, 기능 분리와 책임 명확화를 통해 구조적 사고 역량을 향상시킬 수 있었음.

DB 구조 변경 시 반복적인 스키마 수정과 물리 테이블에 대한 직접 결합으로 인해 팀원 간 충돌이 발생

 -특정 목적에 맞는 데이터만을 조합한 추상화된 View를 활용하여 기능을 구현

- View 기반 설계를 통해 스키마 변경의 영향을 최소화하고, 구조적 협업의 안정성과 유지보수성을 확보함

- 기능의 완성도뿐만 아니라, 협업 안정성과 시스템 유지 가능성까지 고려하는 관점의 중요성을 배우게 됨.

포트폴리오

URL

link

아나바다 (경매 플랫폼 웹사이트)

깃허브
link

아나바다2 (경매 플랫폼 웹사이트)

깃허브

교육

소속/기관명

인제대학교

종류 | 전공

대학교(학사) | 의생명공하과

재학 기간 | 재학 상태

2015.03. ~ 2019.09. | 중퇴

소속/기관명

가야고등학교

종류 | 전공

고등학교 | 이과

재학 기간 | 재학 상태

2012.03. ~ 2015.02. | 졸업

자격증

자격증명

한국실용글쓰기

점수 | 발급기관

3급 | 한국국어능력평가협회

취득연월

2020.07.

자격증명

유도

점수 | 발급기관

1단 | 대한유도회

취득연월

2020.04.

자격증명

운전면허증

점수 | 발급기관

1종 보통 | 부산경찰청

취득연월

2015.02.

자기소개

자기소개

1. 지원 동기

지속된 공무원 시험 낙방으로 이 길이 제 길이 아니라는 생각이 강하게 들었습니다. "뭐라도 시작하자"는 마음으로 국비 지원 교육을 찾아보다, 문득 어릴 때부터 익숙했던 ‘코딩’을 떠올렸습니다. 초등학교 방과후 활동에서 했던 로봇 만들기, 프라모델과 과학상자 조립, 따라 하든 창작이든 ‘내 손으로 무언가를 만드는 과정’을 좋아했던 기억이 자연스럽게 연결됐습니다.

공시 생활 중에도 서버 관리자로 근무하던 지인의 이야기를 들으며 ‘나도 언젠가는 배워보고 싶다’는 마음이 있었고, 개발자로 일하는 형들이 디스코드에서 사이드 프로젝트를 하는 모습을 보며 “코딩을 알면 진짜 웬만한 건 다 만들 수 있구나”라는 생각을 확신으로 바꾸게 되었습니다.

막상 시작해보니 배우는 게 새로워서 좋지만, 버거운 부분도 있었습니다. 그럼에도 불구하고 ‘코딩은 내가 노력한 만큼 성장할 수 있는 분야’라는 것을 느끼며 꾸준히 버티고 있고, 지금은 좋은 개발자가 되기 위해 매일 열심히 공부하고 있습니다.

돌아보면, 무언가를 만들며 몰입했던 그때의 마음은 여전히 저를 움직이고 있습니다. 지금은 그 마음을 이어, 매일 코드를 짜고 프로젝트를 직접 만들어보며, 실전 속에서 문제를 해결해가는 과정을 통해 개발자로서의 기반을 다져가고 있습니다.


2. 경력 및 주요 활동사항

해군 블루캠프는 집단에 적응하지 못한 장병들이 일시적으로 머물며 회복을 돕는 곳입니다. 하사 진급 후 입소 수병들을 이해하기 위해 상담을 공부하게 되었고, '한국이고그램연고소'에서 상담 교육을 받으며 현직 상담사들과 교류할 기회도 많았습니다.
 그 과정에서 알게 된 상담사분들을 블루캠프 외부 강사 프로그램에 직접 연결해, 장병들이 더 다양한 상담 접근을 경험할 수 있도록 도왔습니다. 단순한 복무를 넘어, 실제로 장병들에게 도움이 될 수 있는 환경을 만들어보려 했던 점이 저에게는 꽤 의미 있었던 경험입니다.

전역 후 사업장을 직접 운영했을 때, 믿고 맡길 수 있는 좋은 직원을 찾는 법이 생각보다 어렵다고 느꼈습니다. 그래서 사업 정리 후 맥도날드에서 아르바이트를 하면서도 “적어도 내가 맡은 시간만큼은 책임지고 운영하자”는 마음으로 일했고, 그 결과 보통 1년 정도 걸리는 팀리더 승진을 4개월 만에 달성할 수 있었습니다. 유연한 대인관계 능력 덕분에 고객 응대에 강점을 보였고, 하사로 복무하며 장병들을 실질적으로 관리했던 경험, 그리고 상황을 빠르게 판단하는 감각이 업무 몰입도 면에서 높은 평가로 이어졌던 이유였습니다.

이렇게 사람들과 꾸준히 부딪히며 살아왔습니다. 유도, 주짓수, 복싱 등 격투 기반의 운동을 오래 해왔고, 최근에는 파워리프팅 체육관에서 꾸준히 훈련하며 자연스럽게 다양한 사람들과 마주하고 대화합니다. 운동은 단지 체력을 기르는 수단이 아니라, 저에게는 낯선 사람들과도 연결되는 창구이자, 스스로를 단련하는 방식이기도 합니다.

공동체 속에서 함께 호흡하고 자연스럽게 스며드는 커뮤니케이션 능력을 충분히 갖추고 있어 팀 프로젝트를 수행할 때도 동료들에게 많은 도움을 줄 수 있었고, 더 좋은 결과물을 만들어 낼 수 있었던 기반이 되었습니다.

3. 성격의 장점 및 단점

파워리프팅이라는 운동을 취미로 하고 있습니다. 흔히들 말하는 3대 600의 무거운 무게를 들기 위해선 항상 고정된 바와 원판에 맞추어 나의 자세를 맞춰야 합니다. 이는 마치 세상에 나를 조율해나가는 삶과도 닮아 있습니다. 그래서 부정적인 상황이나 생각이 들 때면 “보통의 일은 나에게 꼭 맞지 않는다”고 생각하며, 황소처럼 묵직하게 앞으로 나아가며 버텨냅니다.

사람을 상대하는 데 있어 감각이 있습니다. 2년 6개월간 블루캠프 관계자로 근무하며, 매년 10차례 이상 수많은 고민을 안고 온 장병들과 마주했습니다. 수백 명의 사람들을 가까이서 접하며, 누구나 각자의 결을 지닌다는 것을 몸으로 배웠고, 그 과정에서 분위기와 감정을 빠르게 읽는 감각이 자연스럽게 생겼습니다. 이 경험은 어떤 환경에서도 사람을 유연하고 진심 있게 대하는 데 큰 힘이 되고 있습니다.

황소처럼 묵묵히 나아가는 끈기와, 다양한 사람들과의 만남 속에서 길러진 감각은 제가 어떤 상황에서도 흔들리지 않고 유연하게 대응할 수 있는 힘이 되어줍니다.



4. 입사 후 포부

개발은 결국 코드만으로 국한되는게 아니라, 클라이언트에게 맞는 서비스를 이해하고 적절한 답을만드는 것이라 생각합니다. 다양한 업종의 서비스를 직간접적으로 경험해 보고, 장점을 취합해 나의 자산으로 만들고 싶습니다. 그리고 수많은 인간군상을 본 경험과 다양했던 활동을 통해 빠르게 실무에 적응할것입니다.

Sebastian Junger의 Tribe: On Homecoming and Belonging은 참전용사들이 전쟁 중에 경험한 강한 공동체적 유대감과, 귀환 후 오히려 느끼는 고립감을 통해, 인간이 서로를 돌보고 함께 성장할 수 있는 진정한 공동체를 본능적으로 갈망한다는 점을 보여줍니다. 저 역시 이 메시지에 깊이 공감하며, 앞으로 저와 함께할 팀원들에게 ‘직장’이 아닌 ‘공동체’라는 믿음을 줄 수 있는 개발자가 되고 싶습니다.

댓글