본문 바로가기

전체 글 (15)

JDK JRE JVM
CIDR란? CIDR는 간단히 말하면 IP주소를 할당하기 위한 방법입니다. 이전엔 Network Class 방식으로 IP를 할당했었는데 효율적이지 못해 CIDR 방식을 사용하게 되었습니다. CIDR를 설명하기에 앞서 IP주소와 Network Class를 간단히 살펴보겠습니다. IP IP 주소는 네트워크 환경에서 장치 간 통신하기 위해 사용하는 주소입니다. 2가지 부분으로 나누어져 있습니다 Network Address : 네트워크에서 장치간 통신을 위해 부여된 주소 Host Address : 하나의 네트워크 주소안에서 유일하고 내부에서만 접근 가능하다 하나의 네트워크 안에 IP들은 Network Address는 같아야 하고 Host Address는 달라야 통신이 가능합니다 종류 Public IP : 전세계 유일한 고유..
AWS 주요 서비스 정리 (1) AWS 서비스는 전용 자격증이 있을 정도로 굉장히 다양하고 복잡합니다. 이를 모두 다 알 필요는 없겠지만 어떤 서비스를 사용하고자 할 때 관련된 다른 서비스들을 설정해야 하는 경우가 많습니다. 예를 들어, 가장 흔하게 쓰는 EC2를 생성할 때 EBS, AMI, Security Group, 서브넷 등등을 설정해야 합니다. '클라우드'라는 개념도 낯선데 거기에 이런 온갖 낯선 단어들 때문에 더더욱 AWS가 어렵게 느껴졌습니다. 그래서 이번 글을 통해 가장 많이 사용되는 기본적인 서비스 위주로 정리해보려 합니다. 대부분의 정보는 https://www.youtube.com/c/AAAWS 영상을 베이스로 하고 추가적인 설명을 덧붙였습니다. AWS 강의실은 굉장히 이해하기 쉽게 알려주셔서 추천 하는 채널입니다. 😀..
Jenkins - GitHub webhook 연동 Jenkins란? CI/CD 서비스를 제공하는 툴 CI/CD란? 개발자가 사용자에게 개발한 내용을 보여주기 위해 다음과 같은 과정을 거친다 컴파일 : 프로그래밍 언어를 기계어로 번역한다 빌드 : 컴파일된 파일을 실행 가능한 상태로 만든다 배포 : 서 devsh247.tistory.com Jenkins - GitHub 연동 1. Jenkins 웹 콘솔에 접속해 Jenkins 관리 - 시스템 설정에 들어간다 2. 어떤 계정의 GitHub서버 api를 연동할 것인지 설정하기 위해 하단에 GitHub - GitHub Servers - Add GitHub Server를 선택한다 3. Add를 선택한다 4. Credentials을 추가하기 위해 정보를 입력하고 Add 버튼을 선택한다 Kind: Secret text..
CI/CD란? 개발자가 사용자에게 개발한 내용을 보여주기 위해 다음과 같은 과정을 거친다 컴파일 : 프로그래밍 언어를 기계어로 번역한다 빌드 : 컴파일된 파일을 실행 가능한 상태로 만든다 배포 : 서버에 올린다 보통 하나의 애플리케이션은 여러 개발자들이 개발하게 된다. 이 때, 매번 개발자가 코드 수정 → 컴파일 → 빌드 → 테스트 → 배포 과정을 거친다면 많은 시간이 소요될 것이다. 이러한 과정을 자동화한다면 개발자는 더욱 효율적으로 개발할 수 있게 된다 CI/CD CI/CD는 애플리케이션 개발~배포 단계를 자동화해서 서비스를 짧은 주기로 배포할 수 있는 방법이다. CI/CD 파이프 라인 새로운 배포를 위해 수행해야 할 일련의 단계 애플리케이션 개발의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제..
Server Push : polling, Long polling, Server-Sent Events, web socket polling (= Ajax Polling) 클라이언트가 주기적으로 서버에 데이터를 요청하고 응답받는 방식 주기가 짧으면 서버에 부담이 되고, 길면 실시간성이 떨어진다 실시간으로 주는건 불가능하다 보낼 데이터가 없어도 계속해서 응답을 줘야하므로 서버 리소스를 낭비하게 된다 (HTTP 오버헤드 발생) Long polling 서버에 요청을 보내고 서버 이벤트가 발생할 때까지 연결을 유지하고, 이벤트가 발생하면 클라이언트는 응답을 받고 연결을 끊는다. 그리고 또 다른 이벤트를 받기 위해 다시 HTTP 요청을 보낸다 클라이언트에서 서버에 요청을 보내고 응답이 올때까지 or time out이 될때까지 무한정 기다린다. 커넥션이 끊기면 클라에서 서버로 다시 연결을 요청한다. 항상 연결이 유지 되어 있고, 실시간 통..
Docker-Compose란? 일반적으로 하나의 애플리케이션은 여러개의 서비스로 구성되어 있습니다. 이를 도커로 관리하기 위해서 서비스마다 run 명령어를 사용할수도 있지만 docker-comose.yaml 파일을 사용한다면 여러 컨테이너를 하나의 파일에서 쉽게 관리할 수 있습니다 예시 및 간단한 설명 version: '3' # 버전에 따라 지원하는 도커 엔진 버전이 달라지는데 일반적으로 3을 사용한다 services: # 실행할 컨테이너들 정의 nginx: # 컨테이너(서비스) 이름 image: nginx:latest # 이미지 정보 [저장소이름]/[이미지이름]:[태그] ports: # host-container 간 포트를 연결 [host포트]:[container포트] - "60080:80" volumes: # .는 현재 디렉토리를..
Docker란? 도커란? 컨테이너 기반의 가상화 플랫폼 컨테이너 : 호스트OS 격리된 공간에서 프로세스가 동작 가상화 : 하나의 물리적 리소스 위에서 여러 OS를 동시에 실행할 수 있도록 함 리눅스 컨테이너에 여러 기능을 추가해 애플리케이션을 컨테이너로 좀 더 쉽게 사용할 수 있게 만들어진 Go언어 오픈소스 Docker Engine : 컨테이너를 생성하고 관리하는 주체 (도커의 주 프로젝트) 관련 프로젝트 (도커 엔진을 효율적으로 사용하기 위한 것) Docker Compse, Private Registry, Docker Hub, Docker for Desktop, .... 가상 머신과 도커 컨테이너 기존의 가상화 기술 호스트 OS에서 여러 운영체제(가상머신)를 생성해 사용 Guest OS : 하이퍼바이저에 의해 생성되고..