Skip to content
View MinjuKang727's full-sized avatar

Block or report MinjuKang727

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
MinjuKang727/README.md

호기심 많은 개발자 강민주입니다! 🐶🐾

백엔드 개발자로 매일매일 성장하기 위해 오늘도 열심히 공부중입니다!


💁‍♀️ About Me

Introduction

  • 안녕하세요! 신입 백엔드 개발자 강민주입니다.
  • 로봇, 메이킹에 대한 관심을 시작으로 프로그래밍에 입문하여 지금은 개발에 푹 빠져 있습니다.
  • 개발 공부를 할 때, 다른 분들의 기술 블로그에서 도움을 얻은만큼 저도 나누는 개발자가 되고 싶어 기술 블로그를 운영하고 있습니다.
  • 1일 1코딩테스트 문제 풀이 및 TIL 작성을 생활화하며 꾸준히 공부하는 습관을 형성하고 있습니다.
  • 요리🫕, 운동🧗‍♀️, 정원 가꾸기🌱에 관심이 많습니다.

Contact & Channel


⛏️ Skills

Backend

  • Java
  • Spring Boot, Spring MVC, Spring Data JPA
  • JPA, QueryDSL

DevOps

  • S3, CloudFront
  • Oracle, MySQL, Redis

Frontend

  • HTML, CSS, JS

Tools & Collaboration

  • IntelliJ, VSCode, Jupyter Notebook
  • Git
  • Slack, Discord
  • Zep, Zoom

✍️ Presentation & Article

내일배움캠프 프로젝트 트러블 슈팅

  • 최종 프로젝트 - 개발자 커뮤니티 백엔드 개발 프로젝트 CodeChef
    • 프로젝트 기간 : 2024.10.22 ~ 2024.11.22 (1개월)
    • 첨부파일 업로드, 실시간 채팅 기능 구현 담당
    • S3, CloudFront, Redis, WebSocket, Redis Pub/Sub, RabbitMQ
    • 5분 기록 보드를 작성하며 기술적 의사 결정 과정, 기능 구현, 트러블 슈팅 등을 꼼꼼히 정리할 수 있었던 프로젝트 였습니다.
    • 메세지 브로커를 도입하였지만 각 메세지 브로커의 필요성과 도입 부분에서 시간 관계상 구체적인 성능 테스트를 해보지 못해 아쉬웠던 프로젝트였습니다.
      하지만 프로토콜부터 메세지 전송 방식, 메세지 브로커까지 공부해 볼 수 있었던 프로젝트였습니다.
  • [NBCAMP | Spring 6기] 주특기 플러스 주차 - Trello 프로젝트 : 내일lo KPT 회고
    • 프로젝트 기간 : 2024.10.14(월) ~ 2024.10.18(금)  (총 1주일)
    • 프로젝트 관리를 위한 협업 툴 개발 프로젝트
    • 총 5명 중, 팀장으로 리스트, 알림 기능 구현 담당
    • Github 협업 규칙으로 '코드 리뷰 코멘트를 꼭 남기기'를 정하여 협업하는 방법에 대해 많이 생각해 보게되었던 프로젝트
      • 코드 리뷰 최소 인원(2명)을 충족해야 merge를 하기로 규칙을 정하였는데 다들 담당 기능 구현이 바빠 팀장으로서 코드 리뷰 + 내 담당 기능 구현을 하며 거의 무조건적으로 코드 리뷰를 해야하는 상황이었습니다.
      • 한번에 너무 많은 코드를 커밋하는 경우, 코드 리뷰가 쉽지 않음을 깨달았고 기능을 잘게 쪼개어 자주 커밋할 수 있도록 해야겠다고 생각하였습니다.
      • 커밋 메세지를 구체적(구현 중 했던 고민, 코드 작성 이유, 잘 모르는 부분, 의논하고 싶은 부분, 기능 구현 설명)으로 작성해 주면 좋았을 것 같다고 생각하였습니다.
      • 팀원들의 코드를 읽으며 배울 수 있었던 프로젝트였습니다.
    • Java, MySQL 예약어 충돌, RestfulAPI 설계를 위한 기본 규칙, 유저 인증/인가, 카카오 로그인 기능 구현, Slack 알람 기능 구현 관련 트러블 슈팅
  • [내일배움캠프 - 주특기 플러스 주차 개인 과제] 트러블 슈팅
    • 프로젝트 기간 : 2024.10.11 ~ 2024.10.14
    • N + 1 문제 해결 방법, QueryDSL로 동적 코드 작성 방법의 여러가지 방법을 시도해 본 과제
    • Github의 커밋 메세지를 잘 정리해 놓은 덕분에 바쁜 일정 중에도 깔끔하게 회고할 수 있었던 과제
  • 아웃소싱 프로젝트
    • 프로젝트 기간 : 2024.09.19 ~ 2024.09.25 (1주일)
    • Spring Security를 이용한 인증/인가, 소셜 로그인(카카오 로그인) 기능 구현 담당
    • JWT토큰을 이용한 유저 인증에서 로그아웃 시, 블랙리스트 토큰으로 저장 및 로그인 시, JWT 토큰 인증 로직 구현
    • Scheduler를 통한 만료된 블랙리스트 토큰 삭제 기능 구현
  • 주특기 심화 과제 - 테스트 코드 작성하기
    • 프로젝트 기간 : 2024.09.06 ~ 2024.09.18(약 2주)
    • Clean Code, 유닛 테스트, AOP, 통합 테스트
    • 테스트 Coverage
      • Class : 69.6%
      • Method : 57.6%
      • Branch : 53.3%
      • Line : 64.1%
    • 테스트 코드 작성에 집중하며 통합 테스트까지 해 볼 수 있었던 과제
    • 커밋 메세지에 작성한 코드에 대한 설명 및 과제 수행 과정을 잘 정리하였습니다.
  • [내일배움캠프 - Spring 숙련주차 팀 프로젝트] 뉴스피드 프로젝트 KPT 회고
    • 프로젝트 기간 : 2024.09.02 ~ 2024.09.06
    • Spring Security를 이용한 인증/인가 기능 구현 담당
    • 기능 구현 과정의 트러블 슈팅이 잘 드러난 회고
    • JWT 토큰 로그아웃 처리 과정에서 JWT의 특징이 무상태(Stateless)라고 배웠는데 실제 코드 작성 시, Stateless하지 않아 코드를 어떻게 작성해야하나? 고민하였습니다.
      • 리프레시 토큰을 사용하거나 블랙리스트 토큰을 사용하는 방법을 대안으로 찾았습니다.
        • 리프레시 토큰을 이용한 로그아웃 처리는 아직 Redis를 사용하지 않았고 학습 시간이 충분하지 않을 것이라 판단하여 블랙리스트 토큰을 저장하는 방법을 사용하여 로그아웃 기능 구현하였습니다.
  • 수강생 관리 프로그램 개발 프로젝트
    • 프로젝트 기간 : 2024.08.07 ~ 2024.08.09 (3일)
    • 예외 처리, 중복 코드 메서드화, 입출력 관련 메서드 추가, 조회를 위한 변수 및 메서드 추가, 추가 요구 사항) 수강생의 과목별 평균 등급 조회 기능 구현 담당
    • 모두 MBTI I인 팀원들로 팀이 구성되어 프로젝트 초반 침묵 속에서 소통이 잘 되지 않았으나 팀원들과 소통하기 위해 노력하고 아이스브레이킹을 많이 하며 점차 소통의 문을 열어갔던 프로젝트
    • 5명의 팀원 중, 1명이 개인 사정으로 프로젝트 후반에 참여햐여 3일간 4명이 코드를 작성하기 위해 고군분투했던 프로젝트
    • 캠프 초반이었기 때문에 Java에 익숙치 않은 팀원이 있어 어떻게 소외감 없이 프로젝트에 참여할 수 있을 지 고민했던 프로젝트
      • 프로젝트에서 문서 작성도 아주 중요하다고 생각하기 때문에 코드를 읽어보고 기능 정리 및 과제 제출을 위한 문서 정리를 해 보는 것을 건의
      • 최대한 커밋 메세지를 구체적으로 남기려고 노력하였으나
        코드를 이해하지 못해 따로 설명해 달라는 팀원에게 필수 기능 구현에 바빠 친절히 설명해 주지 못해서 서운했다는 이야기를 들었습니다. 아직은 그 때 그 상황이라면 똑같이 행동할 것 같지만 개발자로 일하며 여러 상황을 겪으며 이런 상황에 노련하게 대처하는 방법을 배우고 싶습니다.
  • [NBCamp | 미니 프로젝트] 팀 소개 페이지 만들기
    • 프로젝트 기간 : 2024.07.15 ~ 2024.07.19
    • Firbase 데이터 저장 및 연동 담당
      • 페이지 로딩 시, 데이터를 가져와 동적으로 페이지를 랜더링 하도록 구현
    • JS로 Cheers 버튼 기능 구현
      • 버튼 클릭 시, cheers 횟수 증가 및 데이터 베이스 저장, toast 메세지 띄우기
      • 재클릭 시, cheers 횟수 감소 및 데이터 베이스 저장, toast 메세지 띄우기(유저 한명 당 한 번만 응원 가능하도록 기능 구현)

📄 Education

99클럽 코딩테스트 스터디 5기

자바 미들러
2025.01.13 ~ 2025.02.24

  • 1일 1 코딩테스트 문제 풀이 및 TIL 작성 스터디
  • 매주 월요일 8 ~ 10시 온라인 스터디
  • 자료구조 및 알고리즘 학습

내일배움캠프 Spring 6기

2024.07.15 ~ 2024.11.25

  • 내일배움캠프 백엔드 개발자 양성 교육 과정
  • Spring Framework 학습 및 프로젝트 기반 커리큘럼
  • 팀 프로젝트를 통한 협업 경험
  • 하10C(하루 10분 CS 스터디) 참여 : 발표 6회 참여 (유튜브 링크)
  • Today I Learned : 119회 작성
  • Algorithm Codekata : 124 문제 풀이
  • Spring Boot, JPA, QueryDSL, MySQL

99클럽 코딩테스트 스터디 2기

자바 비기너
2024.05.20 ~ 2024.06.29

  • 40일간 40문제 풀이, 40문제 인증
  • 온라인 스터디 24시간 참여

광주인공지능사관학교 AI모델링Track 사물지능 3기

2022.03 ~ 2022.12 (10개월)

  • Pre-Training 과정, 인공지능 교육과정, 인공지능 프로젝트 과정으로 구성하여 단계별로 수준 향상을 위해 핵심-실전 기술 및 직무를 학습
  • 기초 웹 개발(HTML, CSS, JS), python, 데이터 시각화(Numpy, Pandas), 크롤링, 머신러닝, 사물지능(아두이노, 라즈베리파이, C++)
  • [광주인공지능사관학교] AI모델링Track 사물지능 수강 후기

전북대학교 수학교육과

2012.03 ~ 2018.03


🎖️ Certificate

SQLD

데이터모델링에 대한 기본 지식을 바탕으로 SQL 작성, 성능 최적화 등 데이터베이스 개체 설계 및 구현 등에 대한 전문지식 및 실무적 수행 능력을 증명

  • 2024.06.21 취득




I'm uploading contents on Tistory (최근 일주일 간 게시글 + 0)

Popular repositories Loading

  1. Python Python Public

    Jupyter Notebook

  2. Web Web Public

    Jupyter Notebook

  3. Java Java Public

    Java

  4. IoT IoT Public

    Jupyter Notebook

  5. Project Project Public

    Jupyter Notebook

  6. MinjuKang727 MinjuKang727 Public

    Python