본 게시글은 Ubuntu 22.04 LTS를 기준으로 작성하였습니다. 개요 Java를 EC2 인스턴스에 설치하는 방법은 패키지 매니저 사용, 직접 다운로드하여 설치 등 다양하다. 이 글에서는 그 중 직접 파일을 다운로드하여 설치하는 방법에 대해 다루었다. 설치 과정 설치 파일 확인 Oracle 사이트의 Java 설치페이지로 이동하여 자...
개요 Git Flow는 Git 프로젝트 관리에 널리 쓰이는 분기(branching) 모델이다. 이 모델은 Vincent Driessen이 자신의 블로그에서 처음 소개하였으며 master, develop, feature, release, hotfix라는 이름을 가진 다섯 개의 브랜치를 사용한다. 주요 개념 Git flow는 Git의 브랜치들을 ...
개요 AWS EC2의 t2.micro를 사용하면 인스턴스의 메인 메모리는 1GB가 된다. 부족한 메모리로 작업을 하며 인스턴스가 다운되는 등의 메모리 문제를 겪던 중 스왑 공간(swap space)을 통해 문제를 해결하였다. 스왑 공간 (swap space) 스왑 공간을 이해하기 위해서는 우선 가상 메모리에 대해 알아야 한다. 가상 메모리...
본 게시글은 Ubuntu 22.04 LTS를 기준으로 작성하였습니다. 개요 Jekyll 서버를 EC2에서 구동하기 위해서는 다음과 같은 과정을 거쳐야 한다. 포트 포워딩 패키지 설치 Jekyll 서버 구동 전체 과정 포트 포워딩 로컬에서 브라우저로 서버에 접속하기 위해서는 로컬의 ~/.ssh/config 파일의 Loca...
Zsh zsh 설치 for macOS (Homebrew 필요) Homebrew 설치 (기존에 설치되지 않은 경우) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"...
개요 git의 브랜치명 변경에는 로컬 브랜치명 변경 뿐 아니라 remote 저장소와 관련한 재설정이 필요하다. 변경 방법 이름이 old_name인 브랜치를 new_name 으로 변경한다고 하자. 로컬 브랜치 이름 변경 (다른 브랜치로 이동하여 진행해야 한다.) git branch -m old_name new_name ...
개요 네이글 알고리즘은 네트워크를 통해 전송되는 패킷의 수를 줄여 TCP/IP 네트워크의 효율성을 향상시키는 방법이다. 이 알고리즘은 존 네이글(John Nagle)이 정의한 것으로, 네이글이 Ford Aerospace에서 일하던 시기인 1984년에 RFC 896에 TCP/IP 인터네트워크 혼잡 제어라는 이름으로 소개되었다. 인터네트워크(in...
개요 CGI는 Common Gateway Interface의 약자로, Nginx와 같은 웹 서버가 프로그램을 동적으로 실행하고 동적 콘텐츠를 생성할 수 있도록 하는 표준 프로토콜이다. 주로 사용자의 요청을 처리하기 위해 사용된다. 실행되는 프로그램은 주로 스크립트 언어로 작성된다. 스크립트 언어(scripting lan...
개요 std::exception을 상속받아서 예외 클래스를 작성하는 경우 예외 문자열을 받기 위해 what() 함수를 다음과 같이 정의한다. const char* what() const throw(); 또한 예외를 발생시키기 위해서는 다음과 같이 exception 클래스의 객체를 생성하여 throw한다. throw MyException(); ...
메소드의 종류 GET HEAD PUT POST TRACE OPTIONS DELETE 메소드별 의미 GET 서버에서 데이터를 가져오기 위해 사용되는 메소드 요청을 보내면 서버가 응답 본문에 요청받은 데이터를 담아서 리턴한다. HEAD 개념 GET 메소드를 통해 특정 리소스를 요청...