DevOps 41

[git] git commit message 한글 깨짐 현상 해결

git commit message에서 한글을 인식하지 못하고 다음과 같이 요상한 문자가 생기는 경우가 있습니다. 해결책은 다음과 같습니다. 해당 프로젝트 내 .git (Shift + Command + .) 폴더 접근 config 파일에 다음을 추가합니다. [i18n] commitEncoding = utf-8 logOutputEncoding = utf-8 or 명령어로 처리할 시 git config --global i18n.commitEncoding utf-8 git config --global i18n.logOutputEncoding utf-8 다음과 같이 로그 출력과 커밋 메세지 출력을 global하게 utf-8로 설정해주시면, 이상한 특수문자가 보이지 않고 한글이 깨지지 않게 됩니다. https://..

DevOps/Git 2024.02.27

[git] git tag 기능에 대해 알아보자

tag가 뭔지에 대해 간략하게 설명드리겠습니다. tag 프로젝트에서 중요한 시점들을 기록해 두는 방법 주로 release(새로운 버전 출시)를 위해 사용되는 키워드입니다 tag를 만드는 시점이 어떤 version을 release하는 시점입니다 tag의 종류 lightweight tag: commit id만을 보존하는 태그 annotated tag: tag를 만든 사람의 이름, 이메일, 날짜, 메세지 등을 저장 주요 명령어 git tag: tag 리스트를 보여줌 git tag -l ‘v1.4.2.*’: ‘v.1.4.2’로 시작하는 태그들의 리스트를 반환 git tag v1.1: 현재의 HEAD 태그를 v1.1로 저장 git tag v1.2 9fceb02: 커밋 아이디 9fceb02를 v1.2 태그로 지정 ..

DevOps/Git 2024.02.14

[AWS] AWS RDS 설정 및 생성한 DB를 Mysql에서 접속하기

이번 캡스톤디자인 프로젝트에서 개발 환경(dev)의 RDB와 운영 환경(prod)의 RDB를 분리하기 위해 RDS를 도입했습니다. RDS가 무엇인지 간단하게 설명드리겠습니다. AWS RDS (Relational Database Service) 아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 또는 아마존 RDS(Amazon RDS)는 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스입니다. 애플리케이션 내에서 관계형 데이터베이스의 설정, 운영, 스케일링을 단순케 하도록 설계된 클라우드 내에서 동작하는 웹 서비스 데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업하거나 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들은 자동으로 관리..

DevOps/AWS 2023.11.26

[Git] 프로그램 버전 관리와 코드 공유 및 협업을 위한 Git & Github에 대해 알아보자

개발자라면 반드시 Git과 Github에 대해 숙지하고 있어야 합니다. 회사에서 협업을 할 때에도 각자의 Branch(개발 환경)에서 각자의 업무를 담당하게 되는데요, 이제 Git과 Github에 대해 확실하게 숙지하고 가볍게 정리하는 시간을 가져보려고 합니다. Git은 VCS 종류의 프로그램들 중 하나로서 프로그램 버전 관리를 위한 도구입니다. 버전 관리라고 하면 프로젝트의 시간과 차원을 관리하는 것입니다. 시간과 차원에 대한 이슈에 대해 설명드리겠습니다. 시간과 관련된 이슈 개발자들이 프로그래밍을 해서 소프트웨어를 만들 때 첫 결과물로 마무리되지 않습니다. 새 기능을 넣고 오류를 수정하고 성능을 개선하면서 계속해서 새로운 버전이 나오게 됩니다. 그런데, 이러한 것들을 진행하다 보면 했던 작업을 취소해..

DevOps/Git 2023.10.22

[Nginx] Nginx에 대해서

nginx? 가벼움과 높은 성능을 목표로 하는 웹 서버 소프트웨어 이벤트 중심 아키텍처로 10000개 이상의 동시 연결을 처리할 수 있기 때문에, 백엔드 서버에 부하를 분산시키는 Reverse Proxy로도 사용되는 동시에 대부분에 사이트에서 더 나은 성능을 위해 보안 및 캐싱 제공 정적 데이터를 제공(html, image ..) Nginx의 주요 기능 : Proxy Server Proxy Server란? 대신 처리하는 서버 클라이언트와 서버 간의 중계 서버로 통신을 대리 수행하는 서버 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있습니다 일반적으로 말하는 Proxy라 하면, Forward Proxy를 의미합니다.(nginx는 Reverse Proxy Server의 역할 담당) 이 둘은 비슷한 기능을..

DevOps/Nginx 2023.09.26

[Docker] Dockerfile을 이용해 SpringApplication 빌드 및 실행

Dockerfile을 이용해서 image를 생성하고, SpringWebApplication을 실행해보려고 합니다. dependency는 Spring Web만 추가하면 끝입니다. 우선 여기서 build를 진행해 줘야 jar파일이 생깁니다. 이후 cd build/libs로 이동하면, 다음과 같이 jar파일이 있음을 확인하실 수 있습니다. 추가적으로 도커로 실행하기 위해 openjdk 11 images을 다운로드 받아야 합니다. (docker pull openjdk:11-jre-slim) .jar파일이 있는 곳에 Dockerfile을 작성해야 합니다. FROM : [images name]:[tag name] ARG: build 시점에만 사용되는 변수 COPY: JAR_FILE의 변수를 app.jar로 복사 E..

DevOps/Docker 2023.09.14

[Docker] Docker-Compose를 사용하여 Springboot와 ELK stack 연동

ELK에 대해 간단하게 설명드리고 springboot와 elk stack을 연동해서 springboot 애플리케이션의 log를 수집하고, 검색 및 시각화하는 과정에 대해서 보여드리겠습니다. ELK Stack Logstash 다양한 소스(DB)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ES에게 전달 ElasticSearch Logstash로부터 받은 데이터를 검색 및 집계하여 필요한 관심 있는 정보 획득 Kibana Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링 우선 elk stack을 연동하기 위해 elk 관련 image를 다운로드 받아야 합니다. (호환성을 위해 elk 버전 일치 시켰습니다) docker pull elasticsearch:8.3.3 docker p..

DevOps/Docker 2023.09.04

[Docker] Docker-Compose를 사용하여 Springboot, Mysql 연동

Docker-Compose.yml에 Springboot, Mysql 설정파일을 추가하여 2개의 컨테이너를 구성한 애플리케이션을 실행시켜 보려고 합니다. 우선적으로 백엔드 서버, DB 서버를 연동하는 것이 목표기 때문에 간단한 프로젝트를 가지고 왔습니다. 한 가지 주의사항은 포트 충돌을 방지하기 위해 Mysql DB 서비스를 꺼놔야 합니다. Terminal: netstat -ano | findstr 3306 (3306 포트를 사용하는 프로그램 확인) 3306 포트를 사용하고 있는 프로그램이 있다면 중지시켜야 합니다. 상품을 조회하는 로직 하나를 만들어 두었고, 다음과 같이 더미데이터를 넣어두었습니다. 이제 application.yml부터 docker-compose.yml 까지 차근차근 설명드리겠습니다. 애..

DevOps/Docker 2023.08.31

[Docker] Docker, Docker-Compose, Dockerfile

일반적으로 Docker는 단일 컨테이너 기반의 응용 프로그램을 실행하고 관리하는 도구입니다. 여러 개의 컨테이너로 구성된 복잡한 애플리케이션을 동시에 실행할 때는 Docker-compose를 이용하게 됩니다. 우선, Docker에서 애플리케이션이 구동되는 과정에 대해 상세하게 설명드리겠습니다. Docker는 컨테이너를 만들고 배포하고 구동하기 위한 기술입니다. 이제 컨테이너가 어떻게 만들어지는지 알아보기 전에 Linux OS에서 Docker를 사용하는 방법 2가지에 대해 간단히 설명드리겠습니다. VirtualBox, VMware 같은 VM위에 Linux OS를 설치하고 Docker 실행 Docker Desktop처럼 Docker를 실행하는데 필요한 Linux OS를 포함하는 패키지 설치 Container..

DevOps/Docker 2023.08.31