전체 글 34

[GIT] GIT 전략 (1) - 일반 배포 프로세스

최근 회사 내에서 코드 관리 효율성을 높이기 위해 GIT 브랜치 전략을 새롭게 정립해보았다. 기존에는 브랜치 운영 방식이 명확하지 않아 협업이 비효율적이었고, 배포 과정에서도 혼선이 발생하는 경우가 있었다. 이를 해결하기 위해 새로운 Git 전략을 도입하고 정리한 내용을 공유해보려고 한다. 먼저, 1차로 일반적인 배포 프로세스를 정리하고, 이후 2차에서는 Hotfix 처리 방식을 다룰 예정이다. 또한, 이번 작업을 정리하며 Excalidraw라는 서비스로 브랜치 전략을 도식화했는데, 시각적으로 정리하기에 매우 유용한 도구였다. 추천할 만한 서비스인 것 같다.Git 브랜치 전략 개요기본 브랜치기본적으로 운영되는 브랜치는 개발(Dev) → 스테이징(Stage) → 운영(Live) 흐름을 따릅니다.dev 브랜..

(리눅스) vi 편집기에서 명령어를 통해 여러 줄 제거하기

vi 편집기에서 여러 줄을 제거해야 할 때가 있다. 아래의 명령어를 통해 여러 줄을 제거하면 된다. 1. 줄 수 표시 :set number 2. 명령어를 통해 줄을 지우는 범위를 지정. 예를 들어, 3번째 줄부터 7번째 줄까지를 지우려면 다음과 같이 입력한다. :3,7d - 처리 전 - 처리 후 * 만약 한 줄씩 제거하기를 원하면 ESC키를 누른 후, dd 를 눌러 한줄 씩 제거할 수도 있다.

Back-end/Server 2023.05.17

[Git] 깃 체리픽을 통해 실 서버 배포 후 충돌날 때 이력 맞추기.

※ 깃 체리픽을 통해, 테스트 브랜치 작업 도중에 실 서버 브랜치에 일부를 먼저 푸쉬할 수가 있다. (테스트 브랜치 작업 도중에, 실서버에 급히 배포해야 되는 건이 생겨 체리픽을 통해 배포했을 경우) 이때, 테스트 브랜치에 대한 작업을 끝내고 실서버에 배포하려고 하면 이력이 맞지 않아 Push를 할 수 없다. [ 처리 방법 ] ※ 테스트 브랜치 - main, 실서버 브랜치 - release 로 가정. 1. 로컬 저장소에서 release 브랜치로 checkout $ git checkout release 2. 원격 저장소의 release 브랜치와, 로컬 저장소의 release 브랜치의 이력을 맞추기 $ git pull origin release 3. 체리픽을 통해 추가한 commit사항 취소하기 $ git ..

Bastion Host 란

- Bastion Host란? Bastion Host는 외부에서 내부 네트워크에 접근할 수 있는 유일한 진입점으로 사용되는 보안 장치. Bastion Host는 일반적으로 방화벽과 함께 사용되며, 보안을 강화하고, 외부로부터의 공격을 막기 위해 사용된다. - Bastion Host 특징 1. 내부 네트워크에 접근할 수 있는 유일한 진입점: 외부에서 내부 네트워크에 접근하기 위해서는 Bastion Host를 거쳐야 함. 2. 보안성 강화: Bastion Host는 외부에서 내부 네트워크로의 접근을 제한하고, 방화벽 등 다른 보안 장치들과 함께 사용하여 보안성을 높인다. 3. 감사 추적: Bastion Host를 사용하면 외부에서의 접근이 로깅됩니다. 이를 통해 내부 네트워크에 대한 감사 추적이 가능 4. ..

Back-end/Cloud 2023.02.25

valet 환경 세팅 (mysql 설치)

* Valet을 통해 로컬 환경에서 서비스를 구동하려면 homestead와는 다르게 별도로 mysql과, redis를 설치해주어야 한다. 홈스테드의 경우 가상화된 공간마다, 설정해놓은 mysql, php, nginx, redis가 기본으로 설치되어 있다. * 다음은 Mac OS 기반의 homebrew 패키지 관리자를 이용한 방법이다. 1. mysql 설치 $ brew install mysql 2. mysql 구동 $ brew services start mysql 3. root 유저를 통해 mysql 접속 $ mysql -uroot * 처음 설치 시 root 계정에 패스워드는 설정되어있지 않음. 3-1. 패스워드 및 기본 정보를 설정해 주고 싶다면 아래의 명령어를 통해 설정해주면 된다. $ mysql_se..

(리눅스) ssh, sshd 차이 및 ROOT LOGIN REFUSE FROM ~ 에러 처리 방법

1. ssh와 sshd 차이 1-1. ssh : Secure Shell 의 약자로 원격지 시스템에 접근하여 암호화 된 메세지를 전송할 수 있는 시스템 1-2. sshd : SSH Daemon의 약자로 SSH 연결을 받아주기 위해 대기하는 프로세스 * Deamon : 백그라운드 상에서 요청을 기다리는 프로그램 즉, ssh는 나가는 요청 sshd는 들어오는 요청 이라고 생각하면 된다. 2. ROOT LOGIN REFUSE FROM ~~ Error 해결 방법. : 해당 시스템에 ROOT로 로그인 하려고 요청을 했을 때, 거절 된다는 메세지. => sshd 설정 부분을 변경해주어야 한다. [ 에러 화면 ] 경로 : /var/log/auth.log 2-1. sshd 설정 파일을 연다. # vi /etc/ssh/s..

Back-end/Server 2022.12.29

호이스팅이란? (var와 let의 차이)

1. 호이스팅이란? : javascript 에서 코드 실행 전 함수 선언이 스코프의 최상단으로 끌어 올려지는 현상. - 코드가 실행이 되기 전에 자바스크립트 엔진이 선언 해둔 변수를 모두 조사함 - 선언된 변수와 함수를 모두 기억해 둠 ※ 스코프 : 변수에 접근할 수 있는 범위 2. var를 통한 선언의 문제점. 2-1. 호이스팅 시 변수의 선언과 초기화 (undefined)를 동시에 함. [실행] console.log(a) var a = 1 console.log(a) [결과] undefined 1 [원인] : 호이스팅 시 변수의 선언과 초기화를 한 후, 추후 a라는 값이 나오면 값을 할당 함. [해결] : let 은 위와 같은 문제를 해결해준다. let도 호이스팅의 개념은 존재하지만 TDZ의 개념이 존..