채용공고 올리기

신동현님을 응원해보세요!

INFCON 참여
지금 만족하고 있어요

미리보기

기본 정보

이름
신동현
직업
백엔드 개발자
간단 소개

사용자 중심의 기능 개발을 즐기는 백엔드 개발자, 신동현입니다 !!

기술 스택

기술 스택

Node.js, MySQL, PostgreSQL, AWS

프로젝트

프로젝트명

스케줄 헬퍼

소속/기관명

개인

프로젝트 기간

2023.09. ~ 2024.01.

프로젝트 내용

개요 :

1인 개발로 진행한 프로젝트로, 구글 로그인을 통한 안전한 인증부터 다양한 기능들을 통해 사용자의 편의를 증진시킨 서비스입니다.

사용자 중심의 고민과 니즈를 바탕으로 기획 및 개발을 수행하여, 효율적이고 실용적인 일정 관리 솔루션을 제공하고자 노력했습니다.

사용 언어 및 기술 :

Node.js, Express, MySQL, AWS(EC2, RDS, ALB, Lambda, CloudWatch), Docker

주요 기여 내용 :

  • 구글 로그인
    • Google OAuth 2.0 인증을 활용한 로그인 프로세스를 개발하여 사용자 인증을 안전하게 처리하였습니다.
  • 캘린더 구독 서비스
    • Google Calendar API를 활용하여 캘린더 웹훅 등록 및 삭제 기능을 구현하여 사용자의 일정을 효과적으로 관리할 수 있게 하였습니다.
    • Slack API를 통한 알림 기능을 통해 사용자에게 일정 등록, 변경, 삭제에 대한 실시간 알림 서비스를 제공했습니다.
  • 당일 일정 서비스
    • node-schedule을 활용하여 사용자가 설정한 시간에 당일 일정을 알려주는 서비스를 구현하였습니다.
  • 일정 시작 15분 전 알림
    • AWS Lambda와 CloudWatch를 활용하여 일정 시작 15분 전에 사용자에게 알림을 전송하는 기능을 추가하여 더욱 개인화된 서비스를 제공했습니다.
  • 서버 운영 및 아키텍처 구성
    • AWS 서비스를 활용하여 안정적이고 확장 가능한 서버 인프라를 구축하였습니다.
    • AWS EC2, RDS, ALB 등을 사용하여 효율적인 운영환경을 제공하였습니다.
    • 서버리스 아키텍처를 도입하여 서버 관리를 효율화하고 비용을 최적화하였습니다.

주요 이슈 및 해결 :

  • Lambda 사용 시 VPC 인터넷 연결
    • RDS와 같은 VPC를 사용하던 Lambda의 VPC를 새로 생성하여 서브넷을 나누었습니다.
      이를 통해 Lambda 함수가 실행되는 동안 인터넷 연결에 대한 관리할 수 있었습니다.
    • Public subnet으로 인터넷에 연결이 필요한 Google API, Slack API 등에 접근하도록 관리하였습니다.
    • Private subnet으로 RDS, S3에 접근하도록 관리하였습니다.
  • NAT gateway 비용
    • NAT 게이트웨이를 사용함으로써 발생하는 높은 비용 문제(15일 간 약 $ 20)가 발생하였습니다.
    • 이를 해결하기 위해, EC2 인스턴스를 사용하여 Iptables를 활용한 NAT 규칙을 설정하였습니다.
    • NAT 게이트웨이 대신에 NAT 인스턴스를 사용하게 되었고, 결과적으로 15일 기준 비용은 $ 20에서 $ 0으로 줄였습니다.
프로젝트명

알고봇

소속/기관명

인티그레이션(인턴십)

프로젝트 기간

2023.07. ~ 2023.08.

프로젝트 내용

개요 :

해당 기업의 MEMBERS 한의원들의 수가 급증함에 따라 개별적인 접촉이 어려워지는 문제를 해결하기 위해 AI를 활용한 한의원을 대상으로 한 비즈니스 컨설팅 서비스를 도입하였습니다.

사용 언어 및 기술 :

Node.js, Fastify, PostgreSQL, Prisma

주요 기여 내용 :

  • 피드백 질문 생성
    • 한의원 데이터를 활용하여 GPT 모델를 통해 10개의 분석 및 피드백 질문을 동적으로 생성하고 이를 DB에 저장 및 관리하였습니다.
  • 피드백 질문 조회
    • 한의원 사용자가 원하는 값을 입력하면 해당 값에 대한 피드백 질문을 조회할 수 있는 기능을 개발하였습니다.
    • 이전에 분석된 피드백 질문들을 효율적으로 관리할 수 있도록 구현하였습니다.
  • API 자동 문서화 (Swagger)
    • API 테스트에 대한 번거로움을 해결하기 위해 Swagger를 활용하여 API를 자동으로 문서화하였습니다.
    • 더불어 Swagger-UI를 도입하여 기능 테스트 중 쉽게 API에 접근하고 활용할 수 있도록 지원하였습니다

주요 이슈 및 해결 :

  • GPT 모델 사용 시 데이터 형식
    • Swagger를 통해 전달된 객체 형식의 값으로 사용한 경우에 생성된 분석과 피드백 질문이 동일하거나 똑같은 문장이 반복되는 문제점이 발생하였습니다.
    • 데이터 값을 CSV 형태로 수정하여 GPT 모델에 전달함으로써 이슈를 해결하였습니다.
프로젝트명

맛나는 만남

소속/기관명

Wecode | 부트캠프

프로젝트 기간

2023.07. ~ 2023.07.

프로젝트 내용

개요 :

"맛나는 만남"은 누구나 호스트, 게스트가 될 수 있는 AirBnb 웹사이트를 모델링하여 맛집 탐방을 취미로 즐기는 사용자들을 연결하고 소통할 수 있는 플랫폼으로 개발되었습니다.

사용 언어 및 기술 :

JavaScript, Node.js, MySQL, AWS(EC2, RDS, S3), Docker

주요 기여 내용 :

  • 카카오 로그인
    • 사용자의 편의성을 위해 간편하고 빠른 회원가입/로그인을 위해 카카오 로그인 API를 활용하여 소셜 로그인을 구현하였습니다.
    • 로그인 시 발급된 인가 코드를 사용하여 토큰을 발급하고, 유저의 정보를 안전하게 DB에 저장하였습니다.
  • 호스트 리뷰 조회
    • 호스트 ID를 파라미터로 받아 해당 호스트에 대한 리뷰를 조회하는 로직을 개발하였습니다.
    • 존재하지 않는 호스트 값이나 파라미터를 받지 못한 경우에 대한 에러 핸들링을 추가하여 안정성을 강화했습니다.
  • 리뷰 작성 알림
    • 예약 시간 1시간 뒤 결제가 완료된 방에 대해 리뷰 작성 부탁을 위한 알림을 보내는 기능을 개발하였습니다.
    • node-schedule을 활용하여 1시간 단위로 알림을 전송하는 로직을 실행하도록 구현하여 사용자에게 효과적인 알림을 제공했습니다.

주요 이슈 및 해결 :

  • 탄탄한 기획
    • 이전 프로젝트의 경험을 토대로 발생한 문제점을 보완하여 프로젝트 기획을 진행하였습니다.
    • 이로 인해 프로젝트를 효율적으로 완료할 수 있었고, 추가 기능 개발 및 코드 리팩토링에 시간을 활용할 수 있었습니다.
  • API 정리
    • 개발 중 프론트엔드와 백엔드 간의 소통이 감소하면서 발생한 수정 필요 부분을 개선하기 위해 API들을 포스트맨을 활용하여 문서화하였습니다.
    • 이를 통해 팀원 간에 API 사용을 더 편리하게 하고 수정이 필요한 부분을 효율적으로 공유할 수 있었습니다.
프로젝트명

꿀빵이&앙꼬

소속/기관명

Wecode | 부트캠프

프로젝트 기간

프로젝트 내용

개요 :

"꿀빵이&앙꼬"는 우아한 형제들의 “배민문방구”를 모델링하여 특이하고 재미난 물품들을 원하는 사용자들을 대상으로한 전자상거래 플랫폼으로 개발되었습니다.

사용 언어 및 기술 :

JavaScript, Node.js, MySQL, AWS(EC2, RDS), Docker

주요 기여 내용 :

  • 회원가입
    • 사용자의 비밀번호를 bcrypt를 활용하여 안전하게 암호화하고 DB에 저장했습니다.
    • 이메일 및 비밀번호에 대한 조건을 정규 표현식(RegEx)을 사용하여 설정했습니다.
  • 토큰 인증/인가
    • 사용자의 로그인 여부를 확인하기 위해 발급한 토큰을 활용하여 특정 기능에 대한 권한을 관리했습니다.
  • 장바구니 조회
    • 사용자가 로그인한 상태에서 토큰을 사용하여 해당 유저의 장바구니를 조회하도록 개발했습니다.
  • 포인트 차감 방식 결제
    • 장바구니 및 개별 품목에 대한 결제 시, 주문서를 생성하고 포인트를 차감하도록 구현했습니다.
    • 트랜잭션(QueryRunner)를 사용하여 결제의 안정성을 확보하고 에러 시 롤백이 되도록 처리했습니다.

주요 이슈 및 해결 :

  • 무한 로딩 이슈
    • 결제 API 실행 시 무한 로딩이 발생하는 문제를 겪었습니다.
    • 해당 이슈는 트랜잭션 release가 누락되어 무한로딩에 걸렸고, 추가함으로써 성공적으로 해결하여 예상대로 결과값이 반환되었습니다.

포트폴리오

첨부파일

첨부파일명

신동현_이력서.pdf

첨부파일명

신동현_포트폴리오.pdf

댓글