Git 브랜치 전략을 활용하는 이유단순히 pull하고 commit하고 push&merge를 할 줄 안다고 해서 브랜치를 만들고 합치고 만들고 합치고 단순하게 작업하면 커밋 그래프가 복잡해져서 누가 언제 뭘 했는지 Tracking하기가 힘들기 때문에 그냥 작업하는 것과 별반 다를게 없음. 프로젝트가 커지고, 사람이 많아져도 branch를 나누는 것과 merge를 깔끔하게 하기 위한 전략들이 여럿 존재함.GitFlow / GitHub Flow / Trunk-based / Gitlab Flow 등등…이번 포스팅에서는 Git-Flow 브랜치 전략에 대해서 알아보고자 함.Git-FlowGit-Flow에는 5가지 종류의 브랜치가 존재함.항상 유지되는 메인 브랜치 : master(or main), develop일정 ..
Git Workflow 깃 레포지토리에 커밋을 하기까지는 총 3개의 영역이 존재 1. Working directory 내가 작업하고 있는 프로젝트 디렉토리 Untracked : Git 체크하지 못하는 파일들. Tracked : Git이 체크하고 있는 파일들. Unmodified : 수정되지 않은 파일. (원격 레포지토리의 파일과 같은 상태) modified : 원격 레포지토리의 파일과 다른 상태로 add 명령을 통해 staging area로 넘길 수 있는 상태 staged : "add" 명령어를 통해 staging area에 추가된 상태 2. Staging Area 커밋을 하기위해 “add” 명령어로 추가한 파일들이 모여있는 공간 3. Repository 커밋들이 모여있는 장소 Staging Area는 ..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! 위와 같은 사진 속 상황 속 URL 입력을 하게 되었을 때 이후를 묻는 면접질문은 Well Known! 이에 대한 답변으로 신입 개발자의 입장에서는 아래와 같은 답변을 하게 된다면 기본적인 대답은 OK. - 주소창에 www.naver.com라는 특정 주소를 입력후 Enter 땅! - 위 URL에 대한 IP번호를 수신 DNS Cache를 찾아보거나 hosts File을 찾아봐서 해당 정보가 없다면 ISP의 DNS 서버에 질의를 보냄. - 여기서 추가로 DNS서버에 질의를 보낼때도 분기가 나뉨. 공유기를 사용하는 경우 : 공유기가 DNS 포워딩 기능을 수행. 혹은 ISP Inter..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! HTTP 프로토콜 특징 www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 어플리케이션에서 사용되고 있음. 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능 Request / Response (요청/응답) 동작에 기반하여 서비스 제공 버전별 특징 HTTP 1.0의 특징 연결 수립, 동작, 연결 해제의 단순함이 특징 >> 하나의 URL은 하나의 TCP 연결 HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송. HTTP 1.0의 문제점 단순 동작 ( 연결 수립, 동작, 연결 해제) 이 반복되어 통신 부하 문제 발..
이번 포스팅에서는 DockerHub의 Mysql 이미지를 통해 컨테이너를 실행하는 법에 대해 설명. 컨테이너 생성에 앞서 도커 컨테이너를 만들기 위해선 커스텀 이미지 파일을 사용하여도 되지만 아래 사이트를 참조하여 이미 생성되있는 이미지를 활용하여 생성할 수 있음. https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. Create your account Si..
이번 포스팅에서는 스프링부트로 작성된 프로그램을 도커 이미지화 하는 과정에 대해 설명함. 스프링부트 이미지 생성을 위해선 Jar파일이 필요한데 생성하는 법을 모를 경우 아래 포스팅을 참조하면 됨. https://infinitecode.tistory.com/47 [SpringBoot] 스프링부트 프로젝트 Jar파일 생성 우선 스프링부트로 구현한 웹서버 프로그램을 도커 컨테이너화를 시키기 위해서 Jar파일을 생성해야함. 기술 스택 Gradle Project Editor : InteliJ Ultimate SpringBoot : 3.2.0 JDK : 17 1. 인텔리제이 우측 상단 infinitecode.tistory.com 사용 버전 Gradle Project OS : Window Editor : Inteli..
우선 스프링부트로 구현한 웹서버 프로그램을 도커 컨테이너화를 시키기 위해서 Jar파일을 생성해야함. 기술 스택 Gradle Project Editor : InteliJ Ultimate SpringBoot : 3.2.0 JDK : 17 1. 인텔리제이 우측 상단 코끼리 모양 Gradle 클릭 후 Tasks 클릭 2. Bulid 클릭 3. Clean 더블클릭 -> Clean의 경우 기존에 생성된 Jar와 관련된 Build 디렉토리 삭제하는 동작을 수행. 4. bootJar 더블클릭으로 Jar파일 생성 정말 간단하게 딸깍 몇번으로 Jar파일 생성 가능! 생성된 Jar파일은 아래와 같은 디렉토리에서 확인 가능함.
도커 이전에 VM이 존재했다. 13년에 출시한 도커를 사용하기 이전에는 무엇을 사용했을까? 가상머신(Virtual Machine)을 활용하여 서버 프로그램을 구축하였음. 대표적인 가상머신으로는 VMware가 있음. 그렇다면 VM은 또 뭔데? 우선 가상머신의 개념적 정의 하나의 물리적 시스템에서 각각 자체 운영 체제(OS)와 애플리케이션을 지닌 다수의 가상 머신을 만들 수 있게 해주는 것. ( 즉 물리적 컴퓨터와 동일한 기능을 제공하는 소프트웨어 컴퓨터) VM을 사용하는 이유는? VM을 사용하는 주요 이유는 서버 통합 때문 HTML 삽입 미리보기할 수 없는 소스 대부분의 운영 체제와 애플리케이션 배포는 HyperVisor에 배포되는 경우 소량의 가용 물리적 리소스만을 사용 서버를 가상화하면 각 물리 서버에..