하나은행 2025년 상반기 신입행원 - 디지털/ICT 최종 합격 후기
·
회고록
2026년을 맞이하면서 작년에는 어떤 취준의 삶을 살아왔는지 회고하다가, 생각나서 이제서야 적어봅니다 ㅎㅎ지금은 은행이 아닌 이커머스 회사에서 백엔드 엔지니어로 근무 중이지만, 언젠가는 저와 같이 하나은행 신입 공채라는 길고도 힘든 여정을 걸을 누군가에게 도움이 되었으면 해서 글을 적습니다. 실은 저와 하나은행은 생각보다 질긴 인연이 있습니다.대학교를 졸업한 해인 2024년 상반기부터 2025년 상반기까지 총 3번 모두 1차 면접까지 갔었지만, 앞서 2번은 모두 1차에서 탈락이었습니다.그러나 3번째에서 운 좋게 그리고 감사하게도 최종까지 합격했었습니다.이번 글에서는 최종 합격했던 연도와 분기를 기준으로 작성했습니다. 서류당시 저의 스펙은 다음과 같습니다. 서류에 적은 스펙 컴퓨터 공학과 (서울 소재 대학..
Transactional Outbox Pattern으로 이벤트 발행 원자성 확보하기
·
Project - AlgoMarket
본 게시글은 개인 프로젝트[AlgoMarket]를 개발하며 작성한 기록입니다. GitHub - ymkim97/algo-market: 개인 프로젝트 - 알고리즘 온라인 저지 서비스개인 프로젝트 - 알고리즘 온라인 저지 서비스. Contribute to ymkim97/algo-market development by creating an account on GitHub.github.comAlgoMarket의 채점 과정온라인 저지 서비스인 AlgoMarket은 사용자, 문제, 제출 등을 관리하는 1. 문제 서버(Java, SpringBoot) 와 실제 사용자가 제출한 코드를 컴파일 후 실행하여 채점하는 2. 채점 서버(Python)로 설계했습니다.이렇게 MSA, Message Driven 형태를 띄우고 있는 설..
Online Judge 채점 서버의 제출 코드 실행 시간 측정하기
·
Project - AlgoMarket
본 게시글은 개인 프로젝트[AlgoMarket]를 개발하며 작성한 기록입니다. GitHub - ymkim97/algo-market: 개인 프로젝트 - 알고리즘 온라인 저지 서비스개인 프로젝트 - 알고리즘 온라인 저지 서비스. Contribute to ymkim97/algo-market development by creating an account on GitHub.github.com들어가며현재 AlgoMarket의 채점 서버는 Python으로 구축되어 있습니다.글을 작성하는 시점을 기준으로 채점할 수 있는 언어는 Java와 Python이 있습니다.외부 코드를 받고 그대로 돌리는 것은 위험하기에 샌드박스로 Docker를 사용하여 컴파일하고, 각 테스트 데이터(Local에 저장되어 있으며, 부재 시 S3에서..
Log4j2 아키텍처 분석하기 - 2
·
나의 생각
Configuration지난 글에서 봤던 모든 LoggerContext는 각각 활성화된 Configuration을 가지고 있습니다.모든 Appender, Layout, Filter, Logger의 설정을 모델링하며, StrSubstitutor 등의 참조를 포함하고 있습니다.Appender: 로그 출력 대상 (예: 파일, 콘솔, 원격 서버 등)Layout: 로그 메시지의 형식 정의Filter: 로그 출력 여부를 결정하는 조건Logger: 로그를 기록하는 주체StrSubstitutor: 변수 치환 기능을 제공하는 유틸리티 클래스 (예: ${env:HOME} 같은 표현을 실제 값으로 치환)Log4j Core의 Configuration은 일반적으로 애플리케이션 초기화 시에 수행됩니다.권장되는 방식은 1) 설정 ..
Log4j2 아키텍처 분석하기 - 1
·
나의 생각
들어가며본 글을 통해 제가 평소에 궁금했던 Log4j2에 대해서 직접 코드와 아키텍처를 분석해 보겠습니다.Log4j2는 2021년 11월에 Log4 Shell(취약점)로 인해 엄청난 문제가 발생했었는데, 당시의 저는 대학생이었고 사건에 대해서는 대략 들었지만 지식이 없어 더 깊게 알지 못했습니다. 지하철에서 옆 자리의 어느 개발자 분들이 이에 대해 이야기 나누는 것을 들었던 기억나네요.이번 기회를 통해 해당 사태의 주인공인 Log4j2에 대해서 더 깊이 알아볼 수 있으면 좋겠습니다.ModuleLog4j 프로젝트는 수많은 모듈로 이루어진 멀티 모듈 구조를 이루고 있습니다. 너무 많아 일부를 가져온 것이고, 아래에 몇 개의 모듈이 더 있습니다.그만큼 log4j는 다양한 환경에서 작동될 수 있도록 구현되어 있..
Log의 필요성과 주의점
·
나의 생각
들어가며백엔드 개발자(또는 개발자를 준비하는 사람)이라면 로그는 정말 중요하다는 말을 많이 듣게 됩니다.저 역시 초반에 귀가 닳도록 들었고, 그에 대한 중요성을 인지하고는 있었으나 몇 개의 프로젝트를 진행하다 보니 시간이 지나면서 비로소 직접 느끼기 시작했습니다.본 글을 통해 로그가 왜 중요한지 그리고 어떤 점에서 주의를 해야 할지 경험에서 느낀 저의 생각을 전달하려고 합니다. Log는 왜 필요하고 중요할까?애초에 왜 로깅이 필요한지에 대해서 얘기해보려고 합니다.일단 잠시 모든 것을 제쳐두고, 소제목처럼 원초적인 질문에 대해서 저의 한 문장의 대답은 이렇습니다.어떠한 시스템 즉 프로그램은 항상 예기치 못한 오류와 버그들로 가득 차 있고, 복잡한 코드 사이에서 버그가 발생했던 정확한 시간과 위치를 알아내고..
2년간의 취준의 삶, 그리고 현재
·
회고록
들어가며2023년 1월부터 2025 5월인 지금까지, 개발자로 거듭나기 위해 정신없이 달려오며 그동안 미루어왔던 나에 대한 회고를 해야겠다고 결심했다. 조금만 생각해 봐도 취준을 시작할 때보다 현재의 나는 많은 성장을 해왔음을 느낄 수 있다. 서류조차 뚫을 수 없었던 내가, 지금은 몇 개의 면접과 최종 결과를 기다리는 나름 경쟁력(?)이 있는 취준생이 되었다고 생각한다. 아직은 함께할 회사와 인연이 닿지 못했지만 앞으로 더더욱 성장하기 위해서는 그동안 내가 어떻게, 얼마나 성장했는지 회고하는 것이 필요한 것 같다. 2023년부터라면 취준의 기간이 2.5년 이라고도 볼 수 있겠지만, 내가 준비되었고 진심으로 회사에 문을 두드리기 시작한 것은 2024년이기 때문에 일단 1.5년이라고 생각하고 있다. 202..
[TnT] TSID 도입 - DB PK를 위한 ID 생성
·
Project - TnT
본 게시글은 IT 동아리 YAPP 25기에서 활동하면서 론칭한 앱 TnT를 개발하며 생각과 고민을 적은 게시글입니다. GitHub - YAPP-Github/TnT-Server: 🧨 Trainer & Trainee [YAPP 25th App-2 Team]🧨 Trainer & Trainee [YAPP 25th App-2 Team]. Contribute to YAPP-Github/TnT-Server development by creating an account on GitHub.github.com 들어가며TnT 서비스의 기초가 될 데이터베이스를 설계하면서 각 엔티티에 대한 PK를 어떻게 생성하면 좋을지 고민하게 되었습니다.이전까지는 DB에서 자동으로 생성해 주는 (MySQL의 Auto Increment) ..