미리보기
기본 정보
말하고 글쓰는 개발자 주한별 입니다. 더 나은 개발을 위해 함께 고민하고 의견을 공유하는 것을 좋아합니다. 글과 말, 그리고 코드로 소통하며 성장하고 있습니다. 요구사항의 만족, 성능 뿐만 아니라 누구나 쉽게 읽고 생각을 나눌 수 있는 코드를 작성하는 것이 목표입니다. 주력 언어는 Java이며 Spring 프레임워크를 기반으로 한 Java 생태계에 관심이 많습니다.
기술 스택
경력
(주)디에스멘토링
전임 연구원 • 보안솔루션 개발 팀
서버 접근제어 시스템 (SAC) 개발 및 유지보수
서버 접근제어의 사용자 인터페이스인 Web Console의 개발 및 유지보수
Spring 2.x version 구조의 레거시프로젝트를 Spring 6(Spring boot) 로 마이그레이션
SAC의 보안인증(CC)을 위한 프로젝트에서 시스템 검증 기능 개발 및 웹 취약점 개선
Web Console의 UI 개선 담당.
SAC의 전자 결재, 결재 템플릿 기능 개발
KDB 자산운용 보안 시스템 사업에서 타사의 솔루션과 연동을 위한 API 설계 및 개발
패스워드 관리 시스템(PMS) 담당 개발 및 유지보수
PMS 의 패스워드 대장 실시간 백업 기능 개발
패스워드 사용 기간 만료 설정 기능 개발
PMS UI 전환 프로젝트 PL (신입사원 OJT의 팀장)
신뢰 기반 인증 시스템 (TBG) 개발
KISA 과제 사업으로 신뢰 기반 인증 시스템에서 사용자 관리 모듈의 개발을 맡음
사용자, 단말 정보를 요청에 따라 TBG내 타 모듈에 전달하는 Rest API의 설계 및 개발을 담당
통합 결재 모듈(가칭) 개발
솔루션 전체에서 API 통신을 통해 연동될 수 있는 전자 결재 모듈 설계 및 개발
API Key를 이용한 SSO 구현
(4년 | 정규직)
프로젝트
디에스멘토링
패스워드 관리 시스템(PMS) 고도화
PMS v3.0.0 개발
서버 패스워드를 검증, 변경, 인가된 사용자에게 발급해주는 보안 솔루션
서버 패스워드에 변경이 있을 때마다 실시간으로 외부 입력 장치(USB)에 백업해주는 기능 개발.
패스워드 사용 권한 기간이 만료 시 batch 프로그램을 이용해 자동으로 패스워드 사용 권한을 회수하고, log를 기록 출력하는 기능 개발
기술 스택 :
java
PMS UI 개선
신입 사원 OJT로 진행된 프로젝트로 PL을 맡아 일정관리 및 업무 분장, 기술 문서 작성 등을 담당함.
선행되어 진행된 SAC UI 작업을 기반으로 작업하였으며, SAC와 일관된 UI 디자인을 적용함.
기술 스택 :
css
javaScript
디에스멘토링
신뢰기반 인증 시스템(TBG)
TBG 사용자 인터페이스 웹 개발
블록 체인을 통해 인증 받은 단말, 사용자만 영상 회의 또는 수업에 참가할 수 있는 서비스인 TBG에서 사용자 인터페이스인 웹을 담당
사용자와 단말을 등록, 수정, 삭제 하는 기능을 맡아 구현
Rest API를 설계 및 구현해 MSA로 구성된 시스템에서 다른 시스템과 연동할 수 있도록 구성함. RestAPI를 통해 타 서비스에서 요청 시 사용자와 단말의 CURD를 비롯해 인증/인가 절차를 수행하고, 발급된 블록체인의 로그를 JSON 형태로 전송함.
기술 스택 :
Spring
Java
Gradle
Hibernate
Spring Data JPA
디에스멘토링
KDB 자산운용 보안 시스템 구축 사업
KDB 자산운용 SAC 커스터마이징 담당
타사 보안 솔루션 제품과 통신을 위한 Rest API 설계 및 개발. API를 통해 대상 장비, 대상 사용자에 대한 CRUD를 수행하는 기능과 해당 서버에 접근할 권한을 부여, 회수하는 기능을 제공함. API Key를 사용해 인증된 호출에만 API가 호출되도록 설계
기술 스택 :
Java
Post Man
디에스멘토링
서버접근제어(SAC) 고도화
SAC UI 개선
디자이너와 협업을 통해 자체 CSS, HTML을 이용한 UI 개선 작업을 진행
JQuery 버전 변경으로 레거시 소스의 일부 동작들이 작동하지 않는 사이드 이펙트 발생. 원인을 찾아 소스코드 수정
기술 스택 :
css
html
javaScript
jQuery
SAC Spring 버전 최신화
Spring 2.x 버전인 기존 레거시 소스코드를 최신화하는 프로젝트. Spring 6으로의 전환과 Spring boot의 도입
iBatis로 작동되던 RDBMS와의 매핑을 MyBatis로 전환.
빌드 프로그램으로 Gradle 도입. 의존성 관리의 자동화
JDK 버전을 1.8에서 Open JDK 17로 변경. 이로 인한 일부 라이브러리 대체 작업 진행.
계층형 Controller을 직관적인 방식으로 변경. 어노테이션을 이용한 Spring MVC 패턴의 적용으로 소스코드의 가독성 증가
기술 스택 :
Spring
Spring Boot
Mybatis
Gradle
SAC CC 보안 인증
CC 보안 인증 요구사항인 시스템 검증 기능을 SAC에 도입.
각 설치 파일의 무결성을 검증하는 기능으로, 시스템 설치 시 구성 파일을 모두를 Hash 로 저장하고 검증 시 Hash의 비교를 통해 무결성을 검증하는 기능을 설계 및 구현
메모리 덤프 시 발생하는 프론트엔드에서의 패스워드 평문 노출 문제 개선.
사용자가 입력한 값을 ASCII 코드로 치환, key로 랜덤한 수를 발생시켜 ASCII 코드를 연산 한 후 base64 인코딩으로 암호화. 해당 key 값을 백엔드에 전달해 복호화.
기술 스택 :
Spring
JavaScript
Java
포트폴리오
URL
교육
경기대학교
대학교(학사) | 문예창작학
2011.03. ~ 2017.02.
졸업
한국방송통신대학교
대학교(학사) | 컴퓨터과학
2024.03. ~ 현재
재학 중