전체 글 137

Redis와 SMTP를 이용한 임시비밀번호 발급 기능

들어가며안녕하세요🙌:) 개발자 Bang99입니다.MOTIVE 프로젝트(ERP)에서 회원 도메인을 맡아 진행했으며, 진행한 이유와 어떻게 구현하였는지에 대해 설명드리겠습니다. 문제 정의MOTIVE 프로젝트(ERP)에서 회원 도메인을 담당하게 된 저는 로그인 화면에서 사용자가 비밀번호를 잊은 경우, 임시 비밀번호를 발급하는 기능이 필요하다는 요구사항이 있어 이를 구현하게 되었습니다. 이 과정에서 여러 기술적 선택지가 있었고, 각 기술의 장단점을 분석하여 최적의 방법을 결정하기 위한 고민이 필요했습니다. 선택 가능한 기술 분석기술장점단점Redis & SMTP- Redis는 빠르고 실시간 데이터 처리 가능- 이메일을 통한 안정적인 비밀번호 전달- Redis의 데이터 관리 필요- SMTP 이메일 서비스 설정 필..

TIL 2024.12.27

사용자 정의 예외 처리 및 서버 응답 구현

문제 정의웹 애플리케이션에서 다양한 응답과 예외 상황을 처리하는 과정에서, 프론트엔드에 불필요한 데이터가 포함되거나 일관되지 않은 형식으로 전달될 수 있는 문제가 있었습니다.  설계 목적이를 해결하기 위해, 모든 응답과 예외 상황을 체계적으로 관리하고 필요한 정보만을 추출하여 제공할 수 있는 공통 응답 객체와 전역 예외 처리 구조를 설계했습니다. 위와 같은 구조는 응답의 일관성을 유지하고, 유지보수성을 높이며, 예외 상황에서도 명확하고 간결한 데이터를 전달할 수 있도록 시스템의 안정성을 강화하는 데 중점을 두었습니다.  설계global└── common   ├── exception   │   ├── CommonException.java // 사용자 정의 예외 클래스   │   ├── ErrorCode...

TIL 2024.12.27

SHA-256 기반의 KISA 표준 암호화 알고리즘을 활용한 개인정보 보안 처리

1. 문제 정의개인정보를 다루는 시스템에서 보안은 가장 중요한 요소 중 하나로, 개인정보의 안전한 보호를 위해 다양한 암호화 기술이 사용되고 있습니다. 특히, KISA(한국인터넷진흥원)에서는 SHA-256을 표준 암호화 알고리즘으로 제안하며, 이를 활용한 데이터 보안을 권장하고 있습니다. 개인 식별 정보나 금융 정보 등을 안전하게 저장하고 전송하기 위해 신뢰할 수 있는 해시 알고리즘의 사용이 필요합니다. 2. SHA-256이란?SHA-256(Secure Hash Algorithm 256-bit)은 미국 국립표준기술연구소(NIST)가 개발한 해시 함수의 하나로, 데이터를 고유한 256비트 해시값으로 변환하는 암호화 알고리즘입니다. 이 알고리즘은 데이터 무결성을 검증하고, 기밀성을 유지하며, 인증을 제공하는..

TIL 2024.12.27

12월 3주차 회고록

한화 시스템 부트캠프를 수료하고 첫 주이다.이번주 나의 목표는 기본적인 이력서 및 자기소개서, 포트폴리오를 90%는 완성하고 이전 프로젝트 리팩토링 하는 것이였다.하지만, 학원을 다니기 전 나의 한량 백수 생활을 기대와는 다르게 뭐가 이렇게 일정이 빠듯한지 모르겠다. 연말이라 그런가? 아니면 내가 할 줄 아는게 생겨서 그럴까? 일정이 빠듯하지만 여유로운 나의 삶에 만족하면서 지내는 중이다.'포트폴리오' 라는 것이 형식이라는게 없고 정답이라는게 없다보니 정말 아무것도 못하고 여기저기 둘러보고 고민만하다 끝나는 하루도 있었다. 그래도 현재는 어찌저찌 열심히 써서 내용은 80%정도는 완성된 것 같다. 이제 이 내용을 어떤식으로 디자인 할지 정말 고민이 많다. 누가봐도 "우와~~" 할 정도로 만들고 싶다. 그래..

한화시스템 SW캠프 9기 12월 2주차 회고록

24.12.12(목) - 수료!기나긴 장정 6개월 교육 및 프로젝트가 끝이 났다.목요일 아침 수료하는 날이라 그런지 아침에 학원을 가는 버스 길이 심적으로 굉장히 복잡했다. 지옥같았던 6개월이 끝이 나서 기쁘기도 하지만, 부트캠프가 끝나고 나서의 내 삶이 한층 더 정신없고 바빠질 거 같다라는 직감이 와서 한숨나오는 기분 이 두개가 복합적으로 다가왔다. 그래서 그런지 그냥 하루종일 멍 때기게 되었던 것 같다. 오후에 모든 팀의 발표가 끝나고, 수료하는데 그때까지는 빨리 집이나 가고싶었다. 근데, 수료증을 선생님이 한명한명 나눠주시는데, 나한테는 나눠줄 때 '고생했어요' 라고 해주셨다. 아마 다른 사람들한테도 유사하게 말했을 거라고 생각한다. 근데, '고생했어요' 이 5글자가 별거 아니고 흔하게 듣는 단어인..

한화시스템 SW캠프 9기 12월 1주차 회고록

1. 주간 회고이제 길다면 길고 짧다면 짧은 6개월의 여정이 4일 남았다. 6개월이라는 기간동안 힘들었던 이야기의 마무리를 잘 짓기위해 노력하고 있다. 이제는 무엇을 더 열심히 해서 뭘 더 한다라기 보다는 갈무리를 잘하고 마지막날 웃는 얼굴로 인사를 하는 생각을 하고있다. 요즘은 부트캠프가 끝나가서 그런지, 이제 끝나고의 계획(연말)을 계속 생각하게 된다. '수료후 어떤 선택하는게 최선의 선택일까?'라는 질문에 아직 정답을 찾지는 않았지만, 이번주를 지나면서 뭔가 느껴지는거 같기도하고 아닌거 같기도하다. 다음주 수요일에 [IT 취업 준비 및 서류 작성법] 특강을 한다고 하는데 그걸 듣고 나면 내가 바로 취업을 준비하는게 맞을지, 아주 조금 더 준비를 하는 시간을 갖는게 맞을지 감이 올 것 같다. 이번주는..

한화시스템 SW캠프 9기 11월 회고록

11월 저번 프로젝트의 여파로 온몸이 무너지기 시작하여 휴가도 쓰고, 굉장히 열심히 하기보다는 장기적으로 코딩을 하기위해 '꾸준히'에 포커싱해서 몸갈아 넣는 것이 아닌 꾸준히 열심히했다. 마지막 프로젝트가 ERP 프로젝트라 그런지 굉장히 재밌다!! 이런 느낌은 없고, CRUD 상하차 열심히 하고, 프런트 그림그리는 공장일 하고, 별개 없다. 큰 생각을 꾸면 하는게 아닌 간단 노동작업을 하고있다. 하지만, 여유가 좀 생겨서 그런지 수료하고 나서의 일에 대해 조금씩 생각을 하게 된다. 아직 정해진건 없지만, 동아리 또는 취업을 준비하게 될거같다. 이번에 프로젝트 지겹게 하면서 느낀 여러가지 것들중 프로젝트는 그만하고, 위아래가 있는 곳에서 프로젝트를 해보고 싶어졌다. '평등' 이라는 단어는 아무리 생각해도 ..

한화시스템 SW캠프 9기 11월 4주차 회고록

1. Weekly I Learned[24.11.25]: 프런트 구현[24.11.26]: 프런트 구현[24.11.26]: 프런트 구현[24.11.27]: 멘토링[24.11.28]: 프런트 구현 2. 주간 회고이번주는 요일 감각도 없이 그냥 아침에 눈뜨면 프런트 구현하고 중간에 뭐있으면 그거하고 무념무상으로 열심히(?)도 모르겠다. 그냥 진짜 아무생각없이 프런트 그리기만 했다. 그래서 일요일인 오늘 거의 끝나간다:) 슬슬 길다면 길고 짧다면 짧은 한화시스템 부트캠프가 끝이 2주도 남지 않았다. 뭔가 끝나가서 지옥에서 벗어나는 기분이라 좋지만 그다음은(?) 이라는 생각에 잠긴다. 그래도 이번에 6개월을 보내면서 앞으로 개발을 더 하고싶다면 어떻게 공부하면 되는지에 대해 알게되어 좋았고, 다양한 경험을 해본 ..

한화시스템 SW캠프 9기 11월 3주차 회고록

1. Weekly I Learned[24.11.18]: 기본적인 CRUD[24.11.19]: 기본적인 CRUD[24.11.20]: 로그 찍기[24.11.21]: 백엔드 권한 설정[24.11.22]: 프런트 세팅 및 멘토링 2. 주간 회고 [월요일, 화요일] : 기본적인 도메인별 CRUD를 공장처럼 열심히 찍어냈다. 이번에 페이지네이션을 하면서 스프링에 Page 인스턴스를 이용해서 하는 기가막힌 방법을 같은 팀원의 코드들을 참고하다 알게되었다. 그냥 하루종일 기계처럼 일을 했다.[수요일] : 저번 데브옵스 프로젝트때부터 시스템관리자 페이지도 따로 만들어서 이것저것 관리를 하고싶었다. 그래서 저번에 로그를 찍어는 봤지만 활용하지 못해서 이번에 제대로 찍고 배포환경에서도 확인을 하였다. 이런저런 것들이 찍..

한화시스템 SW캠프 9기 11월 2주차 회고록

1. Weekly I Learned[24.11.11]: 공통컴포넌트 일단락[24.11.12]: 1차 산출물 Readme 세팅 및 시큐리티 패키지 설정[24.11.13]: 시큐리티[24.11.14]: 시큐리티[24.11.15]: 시큐리티 및 1차 산출물 제출 2. 주간 회고이번주는 우리팀 단체로 휴가를 쓰는 주였다. 그래서 화~목 휴가를 사용했다.[월요일] : 기획팀, UI/UX팀, CI/CD팀 각자가 맡은 파트가 슬슬 마무리가 되어가서, 휴가때 다른 것들보다 많은 소통이 필요없는 백엔드 파트를 진행하기위해 일단락 하고 CRUD 컨벤션을 맞추는 날이였다.[화요일] : 오늘은 아침부터 뷰좋은 곳에 가서 먼저 1차 산출물을 제출하기위해 ReadMe와 wiki 틀을 어느정도만 잡고, 시큐리티 코딩을 열심히 했..