미리보기
기본 정보
# 열린 마음으로 팀원들의 다양한 의견을 존중하고, 명확한 목표를 향해 협력과 소통으로 함께 성장해 나가고 싶은 김민석입니다. --- - 어떤 개발자가 되고 싶은가? -> https://alstjr706.tistory.com/347 - 깊이 학습 한다는 것은? -> https://alstjr706.tistory.com/348 - 나란 사람은? -> https://alstjr706.tistory.com/367
기술 스택
Spring Boot, Java, JPA, querydsl, MySQL, aws-ec2, aws-rds
경력
삼성SDI(주)
사원 | TF팀
2020.01. ~ 2020.12. (1년)
리튬이온 2차 전지 단가 절감을 위한 연구 및 개발
ESS(에너지 저장 장치) 품질 관리(QA) 업무 수행
매주 안전 사고 예방 관련 PPT 브리핑 진행
타사와의 협업 및 커뮤니케이션 관리
프로젝트
dev-link-central (레이어드 기반 커뮤니티 서비스 구현)
개인
2023.12. ~ 2024.04.
개요
개발자들을 위한 커뮤니티 플랫폼으로, 사용자들이 다양한 개발 지식을 공유하고 네트워크를 구축할 수 있도록 돕는 웹 애플리케이션입니다. 이 플랫폼은 개발자들이 질문과 답변을 주고받고, 최신 기술 동향을 공유하는 커뮤니티 플랫폼 입니다.
문제 정의, 문제 해결, 결과
1) 비밀번호 검증 및 데이터 무결성 유지
문제 정의:
사용자가 비밀번호를 잘못 입력하거나 데이터의 일관성을 유지하는 데 어려움이 있었습니다. 비밀번호 보안이 취약하고, 데이터 무결성을 보장하기 위한 추가적인 조치가 필요했습니다.
문제 해결:
Spring Security와 비밀번호 해싱을 적용하여 보안을 강화하고, 데이터의 일관성을 유지했습니다. 비밀번호 찾기 및 재설정 기능을 추가해 사용자가 비밀번호를 안전하게 관리할 수 있도록 했습니다.
결과:
Spring Security와 비밀번호 해싱 적용으로 비밀번호 안전성이 크게 향상되었으며, 데이터베이스의 민감 정보가 안전하게 보호되었습니다. 비밀번호 찾기 및 재설정 기능을 통해 데이터 무결성과 일관성이 유지되었고, 시스템 보안이 강화되었습니다.
2) JWT 로그인 및 Spring Security 인증 문제
문제 정의:
JWT 도입 후, API 요청 시 인증이 제대로 이루어지지 않아 사용자가 로그인이 유지되지 않거나 접근이 차단되는 문제가 발생했습니다. 특히, Spring Security와의 통합에서 일관성이 부족하여 시스템 보안이 약화되었습니다.
문제 해결:
JWT 토큰의 발급 및 검증 로직을 수정하고, Spring Security 설정을 재구성하여 API 호출 시 토큰 검증이 정확하게 이루어지도록 개선했습니다. 사용자 권한과 역할 기반으로 접근 제어를 강화하여 보안을 높였습니다.
결과:
JWT 토큰 검증과 Spring Security 설정을 개선하여 API 인증이 안정화되고, 사용자 세션 관리와 권한 기반 접근 제어가 강화되었습니다. 이를 통해 민감한 API에 대한 무단 접근이 방지되었습니다. 결과적으로, 인증 실패율이 감소하고 시스템의 신뢰성과 보안이 크게 향상되었습니다.
3) 조회수와 좋아요 기능의 동시성 문제
문제 정의:
여러 사용자가 동시에 좋아요를 클릭하거나 조회수를 올릴 때, 데이터베이스에서 조회수와 좋아요 수의 불일치나 중복 기록과 같은 무결성 문제가 발생했습니다. 이로 인해 데이터의 정확성이 떨어졌습니다.
문제 해결:
조회수와 좋아요 수 업데이트를 비동기적으로 처리하여 동시에 여러 요청이 발생하더라도 데이터의 일관성을 유지하도록 했습니다. 또한, MySQL의 트랜잭션과 격리 수준을 활용하여 동시성 문제를 해결하고, 데이터 충돌이 발생하지 않도록 했습니다. 이를 통해 각 요청이 안전하게 처리되고, 중복 기록이나 데이터 손실을 방지했습니다.
결과:
데이터 일관성이 확립되어 사용자가 조회수와 좋아요 기능을 안정적으로 사용할 수 있게 되었습니다. 시스템의 처리 성능이 향상되어 동시 다발적인 요청에도 안정적으로 대응할 수 있게 되었으며, 더 많은 사용자를 수용할 수 있는 기반이 마련되었습니다. 또한, 이러한 개선을 통해 데이터 무결성을 보장하면서도 시스템 확장성을 확보할 수 있었습니다.
추가적인 Technical Issue 확인.
링크
포트폴리오
교육
F-Lab
사설 교육 | BackEnd(Java)
2023.10. ~ 2024.07. | 졸업
대외활동
[기능경기대회] 메카트로닉스 기능부
한국산업인력공단
3년간 기능부에서 꾸준히 기술을 연마하며, 전국기능경기대회 출전을 목표로 삼았습니다. 처음에는 또래 친구들보다 뒤처졌지만, 긍정적인 마인드와 성실한 연습으로 학교 평가전에서 1등을 차지할 수 있었습니다. 특히, 매일 늦은 시간까지 남아 연습하고, 주말에도 학교에 나와 실력을 갈고닦았습니다. 이후, 더 높은 목표를 설정하고 선배들을 능가하기 위해 노력했으며, 타 학교와의 평가전을 통해 다양한 실전 경험을 쌓았습니다. 이 과정에서 복잡한 문제를 분석하고 해결하는 능력, 지속적인 학습을 통해 새로운 기술을 습득하는 능력, 그리고 효율적인 시간 관리와 집중력이 크게 향상되었습니다. 그 결과, 지방기능경기대회에서 입상하였고, 전국기능경기대회에도 출전할 수 있었습니다. 이 경험을 통해 필수적인 문제 해결 능력, 끈기, 그리고 지속적인 기술 개선의 중요성을 깨달을 수 있었습니다.
[대학교] 학회장
대학교
#학회장 경험을 통한 커뮤니케이션 및 리더십 발휘
대학 시절 학회장으로 활동하며, 학술 활동을 조직하고 팀원 간의 원활한 소통을 촉진했습니다. 특히, 반도체 기술을 주제로 한 학술 대회 준비 과정에서 기술적 난관과 의견 충돌을 해결한 경험이 있습니다. 이 과정에서 팀원들의 다양한 의견을 경청하고, 각자의 전문성을 존중하며 최적의 해결 방안을 도출했습니다. 이러한 경험을 통해 커뮤니케이션 능력과 협업 능력, 그리고 복잡한 문제를 체계적으로 해결하는 능력을 크게 향상시켰습니다. 또한, 프로젝트 목표를 재확인하고 팀을 이끄는 과정에서 리더십을 발휘하여 프로젝트를 성공적으로 완료했습니다. 그 결과, 우리 팀은 학술 대회와 벡스코 전시회에서 수상하는 성과를 거두었으며, 이 경험은 향후 프로젝트 관리와 기술적 리더십에 중요한 기반이 되었습니다.
자격증
생산자동화기능사
Pass | 한국산업인력공단
2015.05.
전자기기기능사
Pass | 한국산업인력공단
2015.04.
자기소개
삼성SDI
에서의 경험을 통해 개발의 매력을 발견하고, 프로그래밍을 통해 문제를 해결하고 아이디어를 현실로 바꾸는 과정에 깊이 빠져들었습니다. 현재는 Java와 SpringFramework를 활용해 서비스를 설계, 개발, 운영하며, 지속적으로 시스템의 개선점을 탐색하고 있습니다. 단순히 고객의 요구사항을 반영하는 것에 그치지 않고, 지속적인 개선을 통해 더 나은 서비스를 제공하기 위해 노력하고 있습니다.
팀원들과의 소통을 중요하게 생각하며, 문제를 숨기지 않고 함께 해결하는 과정
을 즐깁니다. 이러한 과정에서 얻은 중요한 정보들을 문서화하여 팀 내에서 공유함으로써, 팀의 발전에 기여하고 있습니다. 대학 시절 학회장
을 역임하며 쌓은 리더십 경험은 팀 내 갈등을 효과적으로 조율하고, 긍정적인 팀워크
를 이끌어내는 데 큰 도움이 되었습니다.
지식 공유에 대한 열정을 가지고 있으며, 자바 스터디 그룹을 조직해 동료들과 지식을 나누고, GitHub를 통해 받은 피드백을 바탕으로 코드 품질을 지속적으로 개선해왔습니다. 특히, 제 GitHub TIL
(링크: Today I Learned) 레포지토리에 매일의 학습과 개발 경험을 성실히 기록하며, 지식을 체계화하고 공유하는 데 힘쓰고 있습니다. 이 활동을 통해 커뮤니케이션 능력을 향상시키고, 다양한 개발 방식을 이해하게 되었으며, 앞으로도 지식 공유를 통해 개인과 커뮤니티의 성장을 도모할 것입니다.
선택의 기로에서 최선의 길을 찾아내는 것은 개발자의 몫이라는 신념을 가지고, 매일 더 나은 코드를 작성하고, 더 나은 시스템을 구축하기 위해 성실히 노력하고 있습니다.