🚀 혼자가 아닌, 함께 발전하는 분위기를 추구합니다.
나만 아는 지식이 아닌, 팀원 모두가 같이 발전하도록 스터디를 진행하거나
모르는 지식이 있다면 서로 토론하여 알아보는 것, 함께 성장하는것이 좋습니다.
불편하거나 반복적인 행위를 개선합니다.
반복적으로 진행하는 행위나, 일상생활에서 불편한 부분을 코드로 개선하여
낭비되는 시간을 효율적으로 분배할 수 있도록 개선합니다.
멈추지 않고 도전합니다.
새로나온 기술, 지식을 거리낌 없이 학습하고, 실무에 적용하여 발전합니다.
지금은 AWS DevOps Professional 을 준비하고 있습니다.

임태현
🤙 010-3729-0245
📨 [email protected] | [email protected]
🏫 경북소프트웨어고등학교 (2024년 1월 졸업)
🥈 전국 기능경기대회 2위 수상 (클라우드컴퓨팅 부문)
🏢 주식회사 리비바이오 근무 중
경력
🏢 주식회사 리비바이오
백엔드 개발자(널스에듀)
2023.10.23 ~ 재직중
프로젝트
💬 스르륵
https://github.com/sluurp-org
2024.09 ~ 2024.11 | 1인 개발
네이버 스마트스토어와 카카오톡을 연결하여
고객에게 메시지를 보내는 SaaS 자동화 플렛폼입니다.
배송 시작, 배송 완료, 리뷰 요청, 구매 확정 요청 등 다양한 알림톡을 발송하여, 판매자와 구매자를 연결하는 메시지를 발송합니다.
🧰 사용 기술
- 프론트엔드
- NextJS 14
- React-Query
- TypeScript
- 백엔드
- NestJS
- TypeScript
- Serverless
- 인프라
- Cloudwatch
- Elastic Beanstalk
- Event Bridge
- Lambda
- SQS
- RDS
- Nat Gateway
🧑🏻💼 기여한 부분
- 프론트엔드
- 스마트스토어 상품과 알림톡을 연결하기 위한 대시보드 제작
알림톡 연결, 상품 수집, 스마트스토어 등록을 관리하는 UI를 개발하였습니다.
- 채널톡(고객센터) 연결을 위한 커스텀 훅 (useChannelTalk)을 개발하여 채널톡 기능을 글로벌하게 사용하였습니다.
- Antd 디자인 프레임워크와 tailwindcss를 사용하여 프론트엔드 대시보드를 구현하였습니다.
- 백엔드
- 스마트스토어와 연결을 위하여 DB 테이블을 구성하였습니다.
- 알림톡 발송 솔루션과 서비스를 연결하여 고객이 알림톡을 발송할 수 있도록 설정하였습니다.
- 네이버 계정 로그인 및 세션 수집을 위해 Lambda 에 puppeteer 함수를 구현하고 네이버 로그인 후 쿠키를 반환하도록 serverless 함수를 생성하였습니다.
- 오래 걸리는 작업에 대해서 Event Driven Architecture를 구성하고 완료시 고객에게 별도로 알림을 보내도록 개발하였습니다.
- 1분마다 100개 이상의 스토어의 주문을 수집하기 위하여 SQS 를 생성하고 이벤트를 발송하여 Lambda에서 주문 수집, 반영하도록 처리하였습니다.
- 디지털 컨텐츠가 일정 시간 후 만료되도록 AWS S3 Presigned Url 을 사용하여 유료 자료 등 보호가 필요한 자료를 보호하였습니다.
- 카카오 알림톡을 발송하기 위하여 외부 메시지 발송 업체와 연결하여 고객이 서비스 내부에서 메시지를 발송할 수 있도록 API 를 연결하였습니다.
- 인프라
- API 요청시 사전에 설정해둔 IP 가 아닐경우 요청이 불가능한 네이버 스마트스토어의 특성을 해결하기 위하여 Private Subnet 을 구성, NAT-GW 를 연결하여 1개의 고정 아이피로 네이버 서비스에 요청하도록 Network 를 설계하였습니다.
- 3 tier architecture 와 동일하게 인프라를 설계하여 Public Subnet, Private Subnet, Service, DB 를 구성하였습니다.
- 보안을 위하여 RDS 와 application 은 Private Subnet 에 배포하고, 접근시에는 Public Subnet 에 배포한 Bastion Instance 를 통해 접근하도록 구성하였습니다.
- application은 Beanstalk 을 사용하여 배포하고 Instance role 을 사용하여 application 에 iam 권한을 전파하였습니다.
- Lambda 와 SQS, EventBridge 를 사용하여 1분 이내로 실행되는 배치 작업들을 처리하도록 설계하였습니다.
- CodePipeline, CodeBuild, CodeDeploy 를 사용하여 CI/CD 환경을 구축하고 지속적으로 배포가 가능하도록 파이프라인을 구축하였습니다.
☘️ 트러블 슈팅
문제 배경
스마트스토어에서 주문 수집을 하기 위해서는 정해진 기한마다 특정 엔드포인트를 조회하도록 개발되어 있었습니다. 한개의 서버에서 100개 이상의 스토어를 조회할 시 부하가 발생하여 api 접근이 안되는 문제가 있었습니다.
해결 방법
주문 수집 코드를 Serverless 함수로 분리하고 SQS에서 데이터를 수신하도록 변경하여 운영중인 서비스와 별개로 코드가 실행되도록 하고, 람다의 수평확장 기능을 통해 100개 이상의 스토어가 동시 처리되더라도 문제 없도록 변경하였습니다.
배운 점
람다와 SQS 를 사용하여 여러개의 작업을 배치로 처리하는 방법에 대해서 알게되었습니다.

서비스 홈 화면

상품 발송 설정 화면

카카오 알림톡 실수신 화면

디지털 컨텐츠 다운로드 화면
🧑⚕️ 널스에듀
https://nurse-edu.co.kr/
2024.03 ~ 진행중
간호사를 위한 강의, 도서 판매 플렛폼입니다
강의 재생, 도서 구매 및 배송 관리 백오피스와
이를 실행하는 인프라를 구성하였습니다.
🧰 사용 기술
🧑🏻💼 기여한 부분
☘️ 트러블 슈팅
문제 배경
AWS 에서 Auto Scaling을 사용하니 Public ip 가 유동적으로 바뀌어 고정된 아이피를 요구하는 외부 업체의 조건을 충족하지 못해 서비스를 이용하지 못하는 문제가 발생하였습니다.
해결 방법
Public subnet 과 Private subnet 을 분리하고 application을 Private subnet 에 배치하였습니다. 해당 Private Subnet에 고정 IP가 할당된 NAT-GW 를 부착하고 모든 네트워크가 NAT-GW 를 통하도록 Routing Table 을 구성하였습니다.
배운 점
단일 아이피에서 요청을 원하는 경우 Nat-GW 를 사용하여 요청이 가능하단 사실을 습득하였습니다.
🚘 Parking Space