안녕하세요! 저는 다양한 분야에서 프로젝트를 진행하며, 매번 새로운 기술과 도전을 즐기는 개발자입니다. 이곳에는 제가 지금까지 작업했던 여러 프로젝트들이 모여 있습니다. 각 프로젝트는 저마다의 독특한 목적과 해결하고자 했던 문제들이 담겨있습니다.
앞으로도 계속해서 발전하고, 새로운 기술을 탐구하는 과정에서 만들어진 결과물을 이곳에 공유할 예정입니다.
프로젝트 | 설명 |
---|---|
Ahwhew | Next.js + Spring Boot를 이용한 신세 한탄 AI 그림 일기 서비스 |
열줌쉬어 | React.js, Node.js(Express), TypeScript를 활용한 웹 풀스택 프로젝트 |
송편지 | Node.js + Express를 이용한 온라인 롤링페이퍼 사이트 |
WEDUG | Elasticsearch와 Kibana를 활용한 강력한 검색 및 시각화 기능으로 최신 트렌드와 정보를 제공하는 덕후들을 위한 특별한 여행 플랫폼입니다. |
![]() |
![]() |
---|---|
🔗 GitHub Repository | 🔗 GitHub Repository |
![]() |
![]() |
🔗 GitHub Repository | 🔗 GitHub Repository |
GitHub의 Pin 기능은 최대 6개까지만 지원하지만, 이외의 프로젝트들도 아래에서 확인하실 수 있습니다.
1. [ELK] MySQL과 ELK 스택을 이용한 타이타닉 데이터 분석
- 레포지토리 바로가기: [https://github.com/B1ABOA/titanic_elk]
- 기술 스택: MySQL, Elasticsearch, Logstash, Kibana, Python
- 설명: 타이타닉 데이터셋을 분석하여 생존자 예측 모델을 구축하고, ELK 스택을 활용한 데이터 시각화 대시보드를 구현했습니다.
- 주요 기능:
- 데이터 전처리 및 MySQL 데이터베이스 연동
- Logstash를 통한 데이터 파이프라인 구축
- Kibana를 사용한 실시간 데이터 시각화
2. ubuntu-password-policy Public
- 레포지토리 바로가기: [https://github.com/HongMinYeong/ubuntu-password-policy]
- 기술 스택: Linux, PAM (Pluggable Authentication Modules), Bash
- 설명: 비밀번호 강도와 품질을 보장하기 위한
pam_pwquality
모듈의 설정입니다. Ubuntu 시스템에서 보안 강화를 목적으로 비밀번호 정책을 설정 및 관리합니다. - 주요 기능:
- 비밀번호 복잡성 규칙 설정
- 비밀번호 재사용 방지
- 사용자 비밀번호 변경 정책 관리
3. Crontab 작업 예약
- 레포지토리 바로가기: [https://github.com/HongMinYeong/LinuxMater]
- 기술 스택: Linux, Crontab, Bash
- 설명: 현대 사회에서 컴퓨터와 기술은 일상 속에서 많은 사람들에게 중요한 역할을 하고 있습니다. 특히 업무 환경이나 집중이 필요한 상황에서는 작업을 마무리하거나 중간중간 휴식과 리프레시가 필요합니다. 이러한 흐름에서, 사람들의 주의를 환기시키고 마감 시간을 알리는 자동화된 시스템을 만들어 보자는 아이디어에서 이번 프로젝트가 시작되었습니다.
- 주요 기능:
- 정기적인 작업 스케줄링 및 알림 시스템 구축
4. 시스템 부하 모니터링 및 스트레스 테스트
- 레포지토리 바로가기: [https://github.com/HongMinYeong/UnderStanding_Average_Load]
- 기술 스택: Linux, Stress, sysstat, Bash
- 설명: 이 프로젝트는 리눅스 시스템의 부하를 모니터링하고 스트레스 테스트를 수행하는 방법을 다룹니다. 평균 부하, CPU 사용률, I/O 대기 시간 등을 이해하고 분석함으로써 시스템 성능을 최적화하는 데 중점을 두었습니다.
- 주요 기능:
- 평균 부하 및 시스템 성능 지표 실시간 모니터링
- 스트레스 테스트를 통한 시스템 부하 시뮬레이션
- 성능 데이터 수집 및 분석 도구 활용
5. Trivy 보안 점검: GitHub Actions & feedparser를 활용한 최신 블로그 게시글 수집 자동화 시스템 구축
- 레포지토리 바로가기: [https://github.com/HongMinYeong/Docker/tree/main/container_vulnerability]
- 기술 스택: Linux, Trivy, Docker, Bash, Python, GitHub Actions, feedparser
- 설명: 이 프로젝트는 두 가지 주요 기능을 포함합니다.
- Trivy를 사용하여 Docker 이미지와 파일 시스템의 보안 취약점을 점검하는 방법을 다룹니다. -> CI/CD 파이프라인에 통합하여 자동으로 보안 점검을 수행하고 취약점을 사전에 발견하는 것을 목표로 합니다.
- GitHub Actions와 feedparser를 활용하여 다양한 블로그의 최신 게시글을 자동으로 수집하는 시스템을 구축합니다. -> 이를 통해 블로그 콘텐츠를 쉽게 추적하고 관리할 수 있습니다.
- 주요 기능:
- Docker 이미지의 취약점 스캔 및 보고
- CI/CD 환경에 통합하여 자동화된 보안 점검 수행
- 취약점 발견 시 알림 및 보고서 생성
- RSS 피드를 통해 블로그 게시글 자동 수집
- GitHub Actions를 이용한 정기적인 데이터 업데이트
- 수집된 게시글을 데이터베이스 또는 파일에 저장
6. MySQL 데이터 백업 및 가져오기 & Docker MySQL 볼륨 마운트하기
- 레포지토리 바로가기: [https://github.com/HongMinYeong/Docker/tree/main/mysqlDump]
- 기술 스택: Linux, Docker, MySQL, Docker-compose
- 설명: 이 프로젝트는 MySQL 데이터베이스의 백업 및 복원을 위한 간단한 시스템을 구축합니다. Docker를 활용하여 MySQL 컨테이너의 데이터 관리를 용이하게 하고, 볼륨 마운트를 통해 데이터의 지속성을 확보합니다.
- 주요 기능:
- MySQL 데이터베이스의 백업 및 복원 자동화
- Docker 볼륨을 사용하여 데이터의 지속성 보장
- Bash 스크립트를 통해 간편한 데이터 관리
- 컨테이너의 상태를 모니터링하고 백업 주기 설정
- 데이터베이스 복원 시 기존 데이터와의 충돌 방지 기능
7. Spring 애플리케이션 클러스터 구성하기
- 레포지토리 바로가기: [https://github.com/HongMinYeong/Docker/tree/main/minikube]
- 기술 스택: Kubernetes, Minikube, Docker, Spring Boot
- 설명: 이 프로젝트는 Spring Boot 애플리케이션을 Kubernetes 클러스터에서 실행하기 위한 설정 및 배포 과정을 다룹니다. Minikube를 사용하여 로컬에서 Kubernetes 클러스터를 구성하고, Docker 이미지를 배포하여 애플리케이션의 가용성을 높입니다.
- 주요 기능:
- Spring Boot 애플리케이션을 Docker 이미지로 패키징
- Minikube에서 Kubernetes 클러스터 구성 및 관리
- Deployment 및 Service 리소스를 사용하여 애플리케이션 배포
- 외부에서 접근 가능한 NodePort 서비스 설정
- Kubernetes 대시보드를 통한 클러스터 모니터링 및 관리
- 부하 분산 및 고가용성을 위한 Pod 복제 및 관리
8. 테스트 및 운영 서버의 자동 배포 아키텍처 구축
- 레포지토리 바로가기: [https://github.com/HongMinYeong/Docker/tree/main/jenkins]
- 기술 스택: Docker, Jenkins, Spring Boot, SSH, inotify-tools
- 설명: 이 프로젝트는 테스트 서버에서 운영 서버로 Spring Boot 애플리케이션을 자동으로 배포하는 아키텍처를 구축합니다. Jenkins를 사용하여 CI/CD 파이프라인을 설정하고, inotify-tools를 활용하여 파일 변경 시 자동으로 배포가 이루어지도록 구성했습니다.
- 주요 기능:
- Jenkins를 통한 CI/CD 파이프라인 설정
- SSH 키를 이용한 비밀번호 없는 원격 서버 접근
- inotify-tools를 통한 JAR 파일 변경 감지
- 운영 서버에서의 Spring Boot 애플리케이션 자동 재시작
- ngrok을 통한 외부 접근 설정
9. Jenkins 기반 CI/CD 파이프라인 구축 및 S3 자동 배포
- 레포지토리 바로가기: [https://github.com/MSD-CI-CD-pipeline/AWS-CI-CD-Pipeline]
- 기술 스택: Jenkins, AWS S3, AWS EC2, Spring Boot, SSH, AWS CLI
- 설명: 이 프로젝트는 Jenkins 기반의 CI/CD 파이프라인을 구축하고, AWS S3 및 EC2를 사용하여 Spring Boot 애플리케이션을 자동으로 배포하는 아키텍처를 설계합니다. Jenkins는 코드 변경 시 자동으로 빌드하고, 빌드된 JAR 파일을 S3에 업로드한 후, EC2 인스턴스에서 이를 가져와 배포합니다. IAM 권한을 부여하여 S3에 접근할 수 있도록 설정했습니다.
- 주요 기능:
- Jenkins를 통한 CI/CD 파이프라인 설정
- Spring Boot 애플리케이션 빌드 및 S3로 JAR 파일 업로드
- EC2 인스턴스에서 S3에 있는 JAR 파일 다운로드 및 실행
- SSH 키를 이용한 비밀번호 없는 EC2 원격 서버 접근
- IAM 역할을 통해 EC2 인스턴스의 S3 접근 권한 부여
- AWS CLI를 이용한 S3 및 EC2 명령어 실행
- 이메일: [email protected]
- 블로그: https://0boss.tistory.com/