목록분류 전체보기 (405)
나의 잡다한 노트 및 메모
remote 브랜치 목록 업데이트:먼저 git fetch 명령어로 원격 저장소의 최신 브랜치 정보를 가져옵니다. git fetchremote 브랜치를 로컬 브랜치로 체크아웃:가져온 remote 브랜치를 기반으로 새 로컬 브랜치를 생성하고 전환합니다. 예를 들어, remote의 브랜치 이름이 feature-branch라면 다음과 같이 실행합니다. git checkout -b feature-branch origin/feature-branch 왜 로컬 브랜치를 생성해야 할까요?작업 공간 제공:로컬 브랜치는 여러분이 파일을 수정하고, 테스트하며, 커밋할 수 있는 개인 작업 공간을 제공합니다.추적 및 동기화:원격 브랜치와 로컬 브랜치를 연결(tracking)함으로써 변경 사항을 효율적으로 관리할 수 있습니다. 이..
멀티 스테이지 빌드에서는 --target 옵션을 사용하여 원하는 특정 스테이지만 빌드할 수 있습니다. # 빌드 스테이지FROM node:14 AS builderWORKDIR /appCOPY package*.json ./RUN npm installCOPY . .RUN npm run build# 실행 스테이지FROM nginx:alpine AS runtimeCOPY --from=builder /app/build /usr/share/nginx/html이런 도커파일이 있다고 하고 stage가 정의돼있을때,builder와 runtime 두 개의 스테이지가 있다. 만약 빌드 시점에 builder 스테이지만 실행하고 싶다면 docker build --target builder -t myapp-builder . 이 명..
ARG vs. ENVARG (Build-time Argument)빌드 시점에만 사용할 수 있는 변수입니다.도커 이미지를 빌드할 때, 빌드 명령어(docker build)에 --build-arg 옵션을 통해 값을 전달할 수 있습니다.빌드가 완료되면 해당 값은 최종 이미지에 남지 않습니다.주로 빌드 프로세스에서만 필요한 정보를 전달할 때 사용합니다.ENV (Environment Variable)런타임과 빌드 시점 모두에서 사용할 수 있는 변수입니다.최종 컨테이너 이미지에 포함되어, 컨테이너가 실행될 때도 환경 변수로 남습니다.주로 애플리케이션 실행 시 필요한 설정이나 경로, 옵션 등을 지정할 때 사용합니다.
도커(Docker) 이미지를 이용해 개발 환경(dev), QA(품질 테스트 환경), 운영 환경(prod) 등 여러 스테이지(Stage)를 분리하고, 각 환경마다 인증이나 설정이 달라질 수 있다는 점을 설명하고 있습니다. 그리고 이를 환경 변수(ENV) 관리를 통해 효율적으로 제어할 수 있다는 내용을 담고 있습니다.아래에서 좀 더 구체적으로 살펴보겠습니다.1. 스테이지(환경) 구분일반적으로 애플리케이션 개발 과정에서는 다음과 같은 환경을 분리합니다:Dev(개발 환경):개발자들이 코드를 작성하고, 로컬 또는 개발 서버에서 실행하는 환경배포 자동화나 CI/CD 파이프라인 등을 테스트해볼 수 있음QA(품질 보증 환경 / 테스트 환경):QA 팀이나 자동화 테스트가 실제 프로덕션 환경과 유사한 조건에서 테스트를 진..
가상화는 물리적인 장비(서버, 스토리지, 네트워크 등)를 논리적으로 분리하여 여러 개의 독립적인 환경(가상 머신, 가상 스토리지 등)을 만들어 내는 기술 1. 물리적 장비와 가상화물리적 장비:전통적으로 한 서버에는 하나의 운영체제와 애플리케이션만 실행했습니다. 이 경우 서버의 모든 자원이 한 가지 용도로만 사용되죠.가상화의 개념:하나의 물리 서버를 여러 개의 가상 머신(Virtual Machine) 으로 나눌 수 있습니다. 각 가상 머신은 독립적으로 운영체제와 애플리케이션을 실행할 수 있어, 물리 서버의 자원을 여러 용도로 동시에 활용할 수 있습니다. 2. 가상화의 장점자원 효율성:물리적 서버 한 대를 여러 가상 머신으로 분할하면, 자원을 보다 효율적으로 사용할 수 있습니다. 즉, 한 서버의 CPU, 메..
DMZ용 가상 스위치와 Trust용 가상 스위치는 가상화 환경에서 네트워크를 분리하고 보안을 강화하기 위해 사용하는 논리적 네트워크 장치입니다.DMZ용 가상 스위치:DMZ(Demilitarized Zone)는 외부(인터넷)와 내부 네트워크 사이에 위치한 중간 영역입니다. DMZ에 위치한 서버들은 외부 접속을 허용하지만, 내부 네트워크와는 격리되어 있어 보안 위협을 최소화할 수 있습니다. DMZ용 가상 스위치는 이러한 DMZ 영역에서의 트래픽을 관리하며, 외부 사용자와의 통신을 담당합니다.Trust용 가상 스위치:Trust(신뢰) 영역은 내부 네트워크, 즉 보안이 확보된 신뢰할 수 있는 환경을 의미합니다. Trust용 가상 스위치는 내부 시스템 간의 통신이나 데이터 교환을 위해 사용되며, DMZ와 달리 외..
IT 분야에서 QA(Quality Assurance)를 수행하기 위해서는 테스트 전략과 프로세스, 커뮤니케이션 능력, 도메인 지식, 그리고 다양한 툴 활용 능력 등이 필요합니다. 단순히 툴을 잘 다루는 것도 중요하지만, 품질 보증을 위한 체계적인 접근법과 조직 내 협업이 함께 이루어져야 보다 효과적입니다. 아래는 QA를 하기 위해 필요한 요소들을 정리한 내용입니다.1. QA 기본 지식 및 프로세스 이해소프트웨어 개발 생명주기(SDLC)에 대한 이해애자일(Agile), 워터폴(Waterfall), 스크럼(Scrum) 등 다양한 프로세스에서 QA의 역할을 이해해야 합니다.초기 기획 단계부터 QA가 참여(Shift-left)하여 요구사항 분석 및 결함 예방에 기여할 수 있어야 합니다.테스트 전략(Test St..