programming/GENERAL
![[EC2] Nginx를 이용한 React 배포](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEKWAn%2FbtrLkwezwBY%2Fk4cE2VnebhYKQwsdRDFHN1%2Fimg.jpg)
[EC2] Nginx를 이용한 React 배포
Pre-Project 도중 Vercel 같은 배포 툴을 사용해서 프론트단을 배포하려 했으나 도메인을 강제로 https로 변경시키는 바람에 다른 방식으로 배포를 할지, 스프링에 https를 적용할지 고민이 되었다. 처음에는 certbot을 통해서 https를 적용해보려 했으나 Vercel 같은 경우에는 배포를 자동으로 해주면서 도메인도 https로 생성을 해버리기 때문에 certbot에서 https를 적용할 수 없었다. (http도메인에 https를 적용하는 방식인 듯) 그리고 이 방식은 잘 이해가 되지 않았다. 그래서 React배포 시 자주 사용된다는 Nginx를 사용해서 React 프로젝트를 배포하기로 했다. 아쉽지만 이번에는 http로 진행하기로 정했다. 아래의 블로그가 큰 도움이 되었다. Nginx..

docker 개념
docker Application을 구동하는데 필요한 모든 것들을 docker Container안에 넣은 다음에 어떤 환경에서든 구애받지 않고 애플리케이션을 실행할 수 있도록 해 준다. 이렇게 컨테이너 형식으로 애플리케이션을 관리할 때 다음과 같은 이점들이 있다. 의존성 충돌 문제를 해결한다 개발 및 배포 환경의 일치화 수평적인 확장과 새로운 내용의 배포를 쉽게 해준다 ex) kubernetes의 orchestration tool 큰 흐름으로 보자면 dockerfile 생성 및 build >> 이미지를 만든다 >> 컨테이너를 만든다 >> 배포하고 >> 구동한다 docker의 구성요소 도커를 구성하기 위해서는 3가지의 요소가 필요하다. Dockerfile 애플리케이션을 구동하는데 필요한 정보들 [ 환경변수..

Git 입문
깃의 컨셉 자체는 의외로 직관적이라 이해하기 쉬웠다. 흔히 리포트 작성 같은걸 할 때 최종. pdf 이 진짜정말최종3.pdf 되는 경험으로 미루어 보아 같은 선상에 있다고 생각해도 무관했다. 특히 개발의 경우 물론 혼자할 때도 유용하지만 여럿이 협업을 진행할 때도 매우 유용한데 변화에 따른 버전을 나눠놓고 관리한다면 코드가 전부 날아간다던가 하는 불상사도 막을 수 있고 클라이언트의 버전을 낮춰야 할 때라던가, 누가 어느 코드를 변경했는지 등 많은 일들을 쉽게 해낼 수 있다. 간단하게 말하면 파일에 변화를 스냅샷 형식으로 남겨놓아 언제든지 버전을 왔다 갔다 할 수 있게 해 주는데, git 이 바로 이런 일을 해주는 Version Control System(버전 관리 시스템) 중 가장 많이 쓰인다. 그리고 ..

Git command 정리
clone 현재 디렉토리로 remote repo를 복사함 commit -m "코멘트" commit 생성 (변경 사항을 실제로 확정) local Repo에 버전 저장 add {file이름) file의 변경 사항을 staging area에 추가 status 현재 작업중인 파일의 상태 확인 push 로컬 저장소에 commit 된 모든 내용을 Remote Repo로 업로드 restore {file 이름} staging area에 있는 파일을 처음 받은 상태로 돌린다 (staging area에서 빠진다) reset reset HEAD^ {file이름} HEAD^ (최근1개전) / ^^(최근 2개전) 커밋을 취소하고 다시 workspace로 내린다. ^를 안붙이면 아무 변화 없음 HEAD가 현재이므로 checkou..

Git workflow process
헷갈렸던 원흉들 ** Remote Repo에서 변경사항이 있을 때 내 컴퓨터 (Local Repo)로 Pull로 가져올 수 있다. ** remote add 는 Remote Repo와 내 Local Repo를 서로 연결하는 것 ** 연결을 하고 pull 해야 실제 파일 받아옴 혼자할때 프로세스 #1 Fork로 다른 사람의 Remote Repo에서 내 Remote Repo로 코드를 옮긴다. #2 내 Remote Repo의 코드를 내 컴퓨터(Local Repo)로 Clone 해서 가져온다. #3 (뚝딱 작업 완료) #4 작업 파일을 git add 로 staging area에 저장 (여기서 Git 관리하에 들어간다) 그 외 untracked #5 Staging area에 있는 파일을 Commit 하여 Local..
IntelliJ Hotkeys - TBC
내가 쓰려고 만든 단축키 모음집 편의성 Alt + Enter 에러난 곳에 커서 대면 suggestion 나옴 F2 다음 Error, Warning, Suggestion 으로 건너뛰기 Shift Shift 일단 검색할때 Ctrl + E Recently opened file Ctrl + Shift + A Find all available options / shortcuts Ctrl + Space 기본 자동 완성 (Lookup menu) Ctrl + Shift + Space 추천 자동완성 코드 제안 Ctrl + Shift + Enter Complete current statement - (for 같은 statement 틀을 자동완성 해줌) Ctrl + Q Documentation 확인하고 싶을때 Ctrl + ..
의사코드(슈도코드 - Pseudo Code)
> 코드를 작성하기 전에 어떤식으로 어떻게 코드를 짤 건지 사람의 언어로 먼저 작성하는것 > 학교에서 에세이 쓸때 어떤식으로 전개할지 먼저 생각해 보는것과 비슷한 맥락같다. (본문 1 - 본문 2 - 본문3 - 결론 으로 큰 틀을 잡고, 키워드 넣고 스토리라인 만들기 ) Example: 고양이 밥그릇에 사료가 떨어져 사료를 채워 줘야한다. 1. 빈 밥그릇에 남은 사료 부스러기를 쓰레기통에 버린다. 2. 밥그릇을 설거지 하고 깨끗한 마른 헝겊으로 남은 물기를 잘 닦는다. 3. 깨끗하진 밥그릇을 원래 있던 위치로 가져가 틀에 맞춰 끼운다. 4. 사료통을 열고 한컵 가득 담아 빈 밥그릇에 부은다. 5. 빈 컵을 사료통에 넣고 사료통을 닫는다 예시 처럼 문제가 있으면 어떻게 할지 순서를 미리 생각하고 코딩을 하..