채용공고 올리기

황승수님을 응원해보세요!

지금 만족하고 있어요
성실함
책임감
목표 지향적
학습 지향
전략적

미리보기

기본 정보

이름
황승수
직업
백엔드 개발자
간단 소개

"단 한 줄의 코드도 의미를 알고 작성하자" 안녕하세요! 신입 백엔드 개발자 황승수입니다. Spring Boot를 주력으로 개발하고 있으며 이 외에도 클라우드, 데이터베이스, 리눅스 시스템에 많은 관심이 있습니다. 단순 기능을 구현하는 것에 그치지 않고 더 안정적이고 효울적인 구조와 설계에 대해 지속적으로 고민을 이어갑니다. 감사합니다.

기술 스택

기술 스택

Java, Kotlin, Spring Boot, Spring Security, PostgreSQL, AWS, Redis, Linux, Spring Cloud, Docker, Jenkins, Kubernetes

경력

회사명

AhnLab

직급 | 부서 | 근무 유형

인턴 | EPI 개발팀

근무 기간

2023.12. ~ 2024.06. (7개월)

담당 업무

프로젝트

프로젝트명

DESH - 예비 창업주를 위한 상권 추천 서비스

소속/기관명

GDSC 삼육

프로젝트 기간

2023.06. ~ 진행 중

프로젝트 내용
<hr> <h3>프로젝트 소개</h3> <p>서울시 공공데이터포탈에서 제공하는 ‘우리마을상권’ 데이터를 이용한 상권 추천 애플리케이션으로, 사용자가 창업을 원하는 직종을 선택하면 그 직종의 성장률이 높은 지역을 추천해줍니다.</p> <h3>사용 기술</h3> <p><code>Jetpack Compose</code> <code>Retrofit2</code> <code>Coroutine</code> <code>RoomDB</code> <code>Hilt</code></p> <h3>관련 링크</h3> <ul> <li><a href="https://github.com/DESH-Project/desh">Github</a></li> </ul> <h3>역할 (Front-End)</h3> <ul> <li><p>UI 개발</p> <ul> <li>다양한 기기에서도 동일한 UI 보장</li> <li>KakaoMap과 BottomSheet를 활용한 지도 화면 개발</li> </ul> </li> <li><p>Architecture 구축 &amp; API 개발</p> <ul> <li>MVVM 패턴과 LiveData를 통한 단방향 데이터 흐름</li> <li>Hilt를 이용한 의존성 주입</li> <li>RoomDB를 통해 자주 변경되지 않는 정보를 로컬에 캐싱</li> <li>Retrofit2와 Coroutine을 활용한 <strong>비동기 네트워크 통신</strong></li> <li>OAuth2를 통한 소셜 로그인</li> </ul> </li> <li><p>팀장 역할 수행</p> <ul> <li>전체 코드 주기적으로 리팩터링</li> <li>git branch 전략을 세우고, 프론트엔드 코드 리뷰 회의 진행</li> <li>백앤드 개발자, 디자이너와 필요한 리소스에 대해 주기적으로 회의 진행</li> </ul> </li> </ul>
프로젝트명

Artfolio - AI 감정받고 예술품 경매하자!

소속/기관명

삼육대학교 SW 중심대학 경진대회

프로젝트 기간

2023.04. ~ 2023.08.

프로젝트 내용
<hr> <h3>프로젝트 소개</h3> <p>예술품을 AI에게 감정받고 실시간 경매에 등록할 수 있는 애플리케이션입니다.<br>AWS Rekognition과 ChatGPT를 통해 예술품을 감정하고, Clova API를 이용하여 음성을 합성합니다.<br>이를 통해 경매 참여자는 미술관의 도슨트에게 작품의 설명을 듣는 것처럼 작품에 대한 안내를 받을 수 있습니다.</p> <h3>사용 기술</h3> <p><code>Java</code> <code>Spring Boot</code> <code>Spring Security</code> <code>PostgreSQL</code> <code>Nginx</code> <code>AWS</code> <code>Docker</code> <code>Nginx</code> <code>Redis</code></p> <h3>관련 링크</h3> <ul> <li><a href="https://github.com/SW-Contest/app-server">Github</a></li> <li><a href="https://seungsuhwang-portfolio.s3.ap-northeast-2.amazonaws.com/KakaoTalk_20230912_213219303.mp4">시연영상</a></li> <li><a href="https://seungsuhwang-portfolio.s3.ap-northeast-2.amazonaws.com/artfolio_%EB%B0%9C%ED%91%9C%EC%9E%90%EB%A3%8C.pdf">발표자료</a></li> </ul> <h3>역할 (Back-end)</h3> <ul> <li><p>API 개발</p> <ul> <li>WebSocket을 통한 실시간 경매 입찰</li> <li>이미지 후처리 &amp; S3 업로드</li> <li>Spring Security와 JWT를 이용한 인증/인가</li> </ul> </li> <li><p>인프라 구축 &amp; 배포</p> <ul> <li>Docker와 EC2를 활용한 인프라 구축 및 배포</li> <li>Route 53과 가비아를 통해 도메인 네임 부여</li> </ul> </li> <li><p>DB 정규화 &amp; JPA 쿼리 최적화</p> <ul> <li>테이블의 논리적 관계를 고려하여 정규화/반정규화 진행</li> <li>접근 빈도가 높은 데이터를 Redis에 캐싱 (<strong>158ms → 38ms</strong>)</li> <li>지연 로딩과 JPQL의 Fetch Join 연산을 활용한 쿼리 최적화</li> </ul> </li> <li><p>외부 API 연동 </p> <ul> <li>외부 API 호출 결과 Redis 캐싱</li> <li>AWS Rekognition을 이용하여 이미지로부터 관련 키워드 추출</li> <li>OpenAI API와 Clova API를 이용하여 추출된 키워드로 이미지를 분석하고 음성 합성</li> </ul> </li> </ul>

포트폴리오

URL

link

Github

깃허브

교육

소속/기관명

삼육대학교

종류 | 전공

대학교(학사) | 컴퓨터공학과

재학 기간 | 재학 상태

2021.03. ~ 현재 | 재학 중

대외활동

활동명

동아리 활동

소속/기관명

삼육대학교 GDSC

연도

내용

2022.08 ~ 2023.06

활동 내용

기간동안 교내 개발 동아리 GDSC에서 활동하며 여러 세션을 수강하였습니다.

  • 알고리즘 세션
  • Spring Boot 세션
  • IT 기업과제 풀이 세션
활동명

2023 SW 중심대학 공동해커톤

소속/기관명

SW 중심대학

연도

내용

천안 아산 재능연수교육원에서 무박 3일간 진행된 해커톤에 백엔드 개발자로 참가하였습니다. 대회 과정에서 즉석으로 구성된 팀원들과의 의사소통을 통해 아이디어 구상부터 기획, 설계, 구현까지 초단기 스프린트 과정을 경험해볼 수 있었습니다.

활동명

2023 SW 중심대학 프로젝트 경진대회

소속/기관명

SW 중심대학

연도

내용

SW 중심대학에서 열린 프로젝트 경진대회에 참가하였습니다. 4월부터 8월까지 약 4개월가량 프로젝트를 진행하였고, 대회를 마친 후에는 교내 SW 페스티벌 축제에 참가해 개발한 앱을 홍보하고 부스 활동을 진행하였습니다.

외국어

외국어명

영어

점수

일상 회화 가능

자기소개

자기소개

"단 한 줄의 코드도 의미를 알고 작성하자"

안녕하세요! 신입 백엔드 개발자 황승수입니다.
Spring Boot를 주력으로 개발하고 있으며, 이 외에도 클라우드, 데이터베이스, 리눅스 시스템에 많은 관심이 있습니다.

서버 프로세스는 24시간 가동되고, 여러 클라이언트의 허브 역할을 담당하기 때문에 장애나 결함에 더욱 취약합니다. 그렇기에 백엔드 개발자는 이러한 서버의 특성에 맞춰 더더욱 꼼꼼하고 세심한, 그리고 근거있는 코딩을 해야합니다. 저는 단순 기능을 구현하는 것에 그치는 것이 아닌 더 안정적이고 효울적인 구조와 설계에 대해 고민하며, 기존의 문제점을 찾아내고 해결해나가는 과정을 좋아합니다.

일례로, 프로젝트 진행 중 초기 비효율적인 데이터베이스 설계로 인해 애플리케이션의 전체적인 구현에 어려움을 겪게 되었습니다. 이에 처음부터 다시 재설계 및 정규화를 진행하였고, 읽기 요청이 많은 테이블에 대해서는 추가적으로 Redis에 캐싱하여 응답 속도를 향상시켰습니다. 데이터베이스를 재설계한 이후로 애플리케이션의 구현 난이도가 전보다 쉬워짐을 체감함과 동시에 초기 설계의 중요성을 크게 느끼게 된 계기가 되었습니다.

또한, 테스트 과정 중 동시성 문제를 검출하였습니다. 이에 Spring Boot와 같은 멀티스레드 환경에서 관련 이슈가 발생하지 않도록 임계구역을 지정하는 방식으로 리팩터링을 진행하였고, 추가적으로 모놀리틱 아키텍쳐와 마이크로서비스 아키텍쳐 각각에서 동시성 문제를 해결하는 방법에 대해 스터디를 진행하였습니다. 임계구역 지정만으로 해결되는 상황과 데이터베이스 수준에서의 Lock을 고려해야 하는 상황 간 차이점을 비교하고 분석해보며 이는 결국 아키텍쳐 구성에 달린 것이었음을 이해할 수 있었습니다.

댓글