프로그래밍 개념 정리

    Nginx + 도커로 로드밸런싱을 운영에 적용해보자

    Nginx + 도커로 로드밸런싱을 운영에 적용해보자

    Nginx와 도커로 실제 운영을 해보자 현재 저의 웹 사이트는 이렇게 구성되어있습니다 그리고보니 모양이 좀 그렇네요 사실 로드밸런서라는 것이 진정한 의미를 가지려면 두 대 이상의 서버 컴퓨터가 필요하지만 저의 경우는 학습 + 무중단 배포를 위해서 구성을 해보았습니다 사실 무중단 배포가 가장 큰 의미가 있는 것 같아요 한 쪽이 문제가 생기거나 중단이 되어도 서비스가 살아있다면 갑자기 연결이 중단되어 당황하는 유저가 없을 것입니다 두 개의 컨테이너를 생성 각 컨테이너는 마음에 드시는 포트 번호로 포트포워딩해서 생성해줍니다 예를 들어서 5000:80, 6000:80 이런식으로 만들어줍니다 Nginx 설정 우분투를 기준으로 설명을 하겠습니다 etc/nginx/sites-available 경로의 default 파..

    RESTful API란 무엇일까? feat. URI, URL, URN

    RESTful API란 무엇일까? feat. URI, URL, URN

    REST API Representational State Transfer의 약자로 소프트웨어 프로그램 아키텍쳐의 한 형식이다. 자원을 이름으로 구분하여 해당 자원의 정보를 주고받는 모든 것이다. REST는 기본적으로 웹의 근본과 HTTP 프로토콜을 그대로 사용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐이다. HTTP URI 를 통해 정보를 명시하고 HTTP Method (get, post, put, delete)를 통해 해당 자원에 대한 CRUD 오퍼레이션을 적용하는 것이다. URI 란? URI 는 네트워크 상 자원을 가리키는 일종의 고유 식별자(ID) 이다. URL, URN 은 URI 에 포함되는 개념이며 URL 은 자원의 위치, URN 은 자원의 이름 을 의미한다.

    디자인 패턴 - MVC1 과 MVC2 의 차이

    디자인 패턴 - MVC1 과 MVC2 의 차이

    Model : 백그라운드에서 동작, 사용자가 원하는 데이터나 정보를 제공 해준다 View : 사용자의 요청을 토대로 화면으로 출력한다 Controller : 사용자의 요청 처리. 전체적인 흐름을 제어한다 MVC 모델 1 특징 : Controller 와 View 가 합쳐져 있다 흔히 JSP가 View 와 Controller 의 역할을 모두 한다 JAVA 코드와 HTML, CSS가 섞여버려, 소스가 복잡해지고 유지보수가 힘들어질 수 있다 MVC 모델 2 특징 : Controller 와 View 가 분리 된 구조 JSP를 사용하는 경우, Servlet이 Controller 역할을 대신한다 MVC1의 단점을 보완하지만, 개발 시간이 오래 걸릴 수 있다

    DI란 무엇 인가에 대하여

    DI란? - Dependency Injection 의 준말 의존성 주입 객체간의 의존성을 스프링 컨테이너가 자동으로 연결해주는 것 개발자가 직접 객체를 생성하는 것이 아닌, 외부에서 생성하여 주입 시켜주는 방식 외부에서 두객체 간의 관계를 결정해주는 디자인 패턴 인터페이스를 사이에 둠으로서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고, 런타임 시에 관계를 동적으로 주입, 유연성을 확보하고 결합도를 낮출 수 있게 해준다 public class House { private Desk desk; } 상기 코드에서 House 클래스는 Desk 클래스를 의존한다 다만 이 상태에선 클래스끼리 강하게 결합되어 있다는 것이 문제가 되며, 객체가 아닌 클래스 끼리의 관계이기에, 우리가 추구하는 객체지향과는 거리가 있..