기꺼이 나아가는 개발자, 남궁혁입니다.

email:

songbyhyeok@gmail.com

phone:

010-5013-9542

github:

blog:

portfolio:

id-photo

  • 배우고 실행하며 전 과정을 통해 가치를 만드는 개발자입니다.

    골똘히 실용적인 무언가를 만들어보고 싶어 프로그래밍을 시작했습니다. 첫 프로그래밍 때는 게임을 만들고 싶었습니다. 그래서 C/C++를 사용해서 엔터 더 건전 게임을 개발하였습니다. 저는 A ~ Z까지의 프로세스를 만드는 과정에서 성취감을 느낍니다.

  • 당연하게 여겨지는 것들에 의문을 던지고, 그 원리를 깊이 들여다봅니다.

    Spring Security 구조와 흐름, 배열은 포인터인가?

    자료들이 보여주듯, 저는 사물의 원리를 깊이 탐구하고, 그 내면에 숨겨진 핵심을 발견하기 위해 지속적으로 노력합니다.

  • 꾸준함과 도전으로 가치를 쌓아갑니다.

    ‘오늘도 기꺼이 받아들이고 주어진 일에 최선을 다하자’는 신념으로, 실패를 밑거름 삼아 스터디와 사이드 프로젝트를 통해 꾸준히 성장하고 있습니다.

    기술 스택

    Backend

    Spring(Boot, Security) JPA MySQL8 AWS(EC2, RDS) Docker GithubActions Redis Nginx

    Frontend

    HTML5 CSS3 SpringThymeleaf Bootstrap

    Language

    Java17 C++

    프로젝트

    안정적인 배포와 인증 보안 체계를 갖춘 인프라 구축 2025.03 ~ 2025.05

    CI/CD 자동화, 무중단 배포, 인증·인가 시스템 구축을 목표로 진행한 프로젝트로, GitHub Actions와 Nginx를 활용해 배포를 자동화하고, JWT 기반 인증·인가 시스템을 구현해 보안을 강화했습니다.

  • 프로젝트 구분: 개인 사이드 프로젝트

  • 프로젝트 일지 링크: 프로젝트 일지

    Spring(Boot, Security, JPA)

    CI/CD(GitHub Actions, AWS(EC2, RDS), Ubuntu, Docker, Redis, Nginx)

    MySQL 8.0

    RESTful API

    Postman

  • 하나의 서버에서 배포 중 웹 프로세스 재시작으로 인해 발생하는 서비스 중단 문제를 해결하기 위해, 서버 내 Nginx를 활용한 Blue-Green 배포 전략과 로드 밸런싱 기술을 도입하여 무중단 배포 환경을 구축
  • Refresh Token Rotation으로 인한 토큰 재사용 및 세션 탈취 문제를 방지하기 위해, 재사용된 토큰을 Redis에 저장하는 Blacklist 보안 기능을 도입
  • 보안 및 성능 개선 목적으로 RDS 인스턴스를 Private IP로 전환한 후 발생한 접근 오류를 해결하기 위해, EC2를 중계점으로 SSH 터널과 로컬 포트 포워딩을 구성해 Private Subnet의 RDS에 연결

    클라우드 기반의 그룹웨어 시스템 2023.11 ~ 2023.12

    그룹웨어 도입으로 학원 시스템 관리 어려움을 해결하고, 효율적 업무 처리와 생산성을 목표로 프로젝트를 추진했습니다. 이를 통해 원활한 의사소통과 체계적인 정보 관리가 가능합니다.

  • 프로젝트 구분: 5인, 팀원

    JPA(DataJPA, Criteria)

    RESTFul

    Deploy(AWS(EC2, S3, RDS), Docker, Ubuntu)

    MySQL

    React

  • 답글/대댓글 기능 구현 시, 계층형 쿼리의 성능 저하를 고려해 부하를 최소화할 수 있는 다진 트리 기반 DFS 방식으로 처리
  • DFS 재귀 방식의 정렬 문제를 해결하기 위해, 자식을 역순으로 스택에 삽입해 먼저 처리하는 방식으로 등록일 역순의 댓글 배치를 구현
  • 부서별 사번을 자동으로 생성하기 위해, 부서 코드와 일련번호 조합 방식의 자체 알고리즘을 설계하고 이를 시스템에 구현
  • 복잡한 검색 조건과 정렬 요구사항을 유연하게 처리하고자, Spring Data JPA와 Criteria API 기반의 동적 쿼리 로직을 모듈화
  • 전역 상태 관리를 효율적으로 구성하고 비동기 API 호출을 체계적으로 처리하기 위해, React에 Redux와 Thunk를 적용
  • 서비스의 안정성과 확장성을 확보하기 위해, AWS의 EC2, S3, RDS와 Docker, Ubuntu 기반의 환경을 구축하여 웹 애플리케이션을 배포

    교육

    방송 통신 대학교 (졸업) 2022.07 ~ 2025.02

  • 3학년 편입, 컴퓨터 과학 3.4 / 4.5
  • 하이미디어 아카데미 2023.07 ~ 2023.12

  • SpringBoot Mvc Model & MyBatis & RestAPI & React
  • 자격증

    정보처리기사 2024.12.11

    SQLD 2024.09.06

    학습

    CS 기상 스터디 2025.01 ~ 2025.04

  • 매주 2~3회, 학습한 내용을 노트에 정리하고 배정된 파트너와 공유한 후, 질의응답 시간을 갖습니다.
  • 그림으로 배우는 HTTP & Network Basic 스터디 2025.02.05 ~ 2025.03.13

  • 이 스터디는 웹과 인터넷 데이터 통신의 기초를 학습하기 위해 개설하였습니다.
  • 주 4일 동안 4명이 함께 서적을 읽고, 각자 준비한 내용을 발표와 토의하는 방식으로 진행됩니다.
  • github link
  • 회고