전체보기101 [Web] Web과 WAS의 차이 Web인터넷 상에서 정보를 공유하고 상호작용하기 위한 환경이다.HTML, CSS, JavaScript 등을 기반으로 클라이언트와 서버 간에 데이터를 주고 받으며 동작한다. 정적 콘텐츠 제공HTML, 이미지, CSS등 정적인 리소스를 제공한다.HTTP 프로토콜 사용클라이언트와 서버 간 통신은 HTTP를 통해 이루어진다.Web 서버는 클라이언트로부터 HTTP 요청을 받아 정적 리소스를 반환하는 역할을 한다.ex : Apache WAS동적인 웹 애플리케이션을 실행하고 클라이언트 요청에 대한 비즈니스 로직을 처리하는 서버다.웹서버는 정적인 콘텐츠를 제공하는데 비해 WAS는 데이터베이스와 상호작용 하거나, 복잡한 비즈니스 로직을 실행하여 동적인 컨텐츠를 생성한다. 특징서블릿, JSP, Spring 등의 실행 환경.. 2024. 11. 27. [Web] REST API REST API란 REST를 기반으로 만들어진 API를 의미한다. REST(Representational State Transfer) API는 웹 서비스 통신을 위한 아키텍처 스타일 중 하나로, 웹 애플리케이션 간의 상호 작용에 사용되는 표준화된 방식이다. 특정한 규칙과 형식을 토대로 HTTP 프로토콜을 활용해 자원을 주고 받는 방식을 의미한다. 서비스에서 다루는 데이터나 기능을 리소스(자원)으로 표현한다. ex /users, /products와 같은 형태의 고유한 URL(엔드포인트)로 접근할 수 있다. URI = 리소스 식별자, URL = 리소스 식별자 + 경로API는 경로만 보고도 어떤 자원에 접근하는지 직관적으로 알 수 있다. 표준화된 응답 형식REST API는 응답을 주로 JSON 또는 XML .. 2024. 11. 27. [Web] HTTP Status Code 클라이언트가 요청을 보냈을 때 서버가 클라이언트에게 응답의 상태를 숫자로 알려주는 코드다. 주로 3자리 숫자로 이루어지며, 각 숫자는 요청 처리 결과에 대한 상태를 나타낸다. 이를통해 요청의 성공이나 추가 작업 필요성을 파악할 수 있다. ㅇ 5가지 주요 클래스1xx : Informational (정보)정보 전달을 의미하며 요청을 게속 진행해도 된다는 응답이다.100 Continue : 클라이언트가 요청을 게속해도됨.101 Switching Protocols : 서버가 프로토콜 전환을 수락2xx : Success (성공)요청이 성공적으로 처리되었음을 나타낸다.200 Ok : 요청이 성공적으로 처리됨201 Created : 요청이 성공적으로 처리되었고, 새로운 리소스가 생성됨202 Accepted : 요청이.. 2024. 11. 27. [Web] HTTP Request Method HTTP 요청 메서드는 클라이언트가 서버와 통신하기 위해 사용하는 메서드로, 각각의 메서드는 특정한 작업을 요청하기 위해 사용한다. ㅇ 종류GET서버에서 데이터를 요청할 때 사용한다.데이터나 리소스를 가져올 때 사용URL에 데이터를 쿼리 스트링 형태로 포함(ex : /abc?a=1&b=2)서버의 상태나 데이터를 변경하지 않음응답이 캐싱될 수 있음POST서버에 데이터를 생성하거나 제출할 때 사용한다.본문(Body)에 데이터를 담아 요청서버의 상태나 데이터를 변경할 가능성이 있음같은 요청을 반복하면 데이터가 중복생성될 수 있음PUT서버의 데이터를 완전히 업데이트(덮어쓰기)할 때 사용한다.리소스가 없으면 새로 생성하기도 함요청 본문(Body)에 전체 데이터를 포함데이터 수정 가능동일한 요청을 여러 번 보내도.. 2024. 11. 27. [Design Pattern]팩토리 메서드 패턴 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다. 즉 클래스의 인스턴스를 만드는 일을 서브클래스에 맡기는 것 ㅇ 개념상위 클래스에서 객체 생성의 인터페이스 정의상위 클래스는 객체를 생성하는 팩토리 메서드를 선언하지만, 구체적인 구현은 제공하지 않는다.객체 생성 로직의 캡슐화클라이언트는 객체 생성 방식을 알 필요 없이 팩토리 메서드를 호출해 객체를 생성한다.객체 생성 로직이 변경되어도 클라이언트의 코드에 영향을 받지 않는다.개방 폐쇄 원칙 준수새로운 객체 유형을 추가할 때 기존 클래스를 수정하지 않고 새로운 하위 클래스를 추가하여 확장할 수 있다. ㅇ 장단점장점개방-폐쇄 원칙 준수새로운 객체 타입을 추가하려면 기존 코드를 수정하지 않고 하위 클래스를 .. 2024. 11. 26. [Design Pattern] 템플릿 메서드 패턴 템플릿 메서드 패턴은 알고리즘의 골격을 정의한다. 이 패턴을 사용하면 알고리즘의 일부 단계를 서브 클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 특정 단계를 서브클래스에서 재정의할 수도 있다. 말 그대로 알고리즘의 템플릿(틀)을 만든다. 여러 단계 중 하나 이상의 단계가 추상 메서드로 정의되어 서브 클래스에서 구현된다.서브클래스가 일부분의 구현을 처리하게 하면서도 알고리즘의 구조는 바뀌지 않는다. ㅇ 구현 코드상위클래스 하위클래스1 하위클래스2 클라이언트 출력 ㅇ 장단점장점코드 재사용성알고리즘의 공통된 구조는 상위 클래스에서 정의하므로, 코드 중복을 줄이고 재사용성을 높인다.확장성하위 클래스가 특정 단계만 구현하거나 재정의하면 되므로, 새로운 동작을 추가하기 쉽다.알고리즘의 구조 .. 2024. 11. 26. [Design Pattern] 싱글톤(Singleton) 패턴 싱글톤 패턴은 간단하게 말하면 객체의 인스턴스를 한개만 생성되게 하는 패턴이다.생성자를 여러 번 호출하더라도 인스턴스가 하나만 존재하도록 보장한다. 즉 아래와 같은 상황에서 사용한다.프로그램 내에서 하나의 객체만 존재해야 한다.프로그램 내에서 여러 부분에서 해당 객체를 공유하여 사용해해야 한다.ㅇ 싱글톤 패턴의 장단점 장점유일한 인스턴스애플리케이션 전역에 단 하나의 인스턴스만 존재하도록 보장한다.객체의 일관된 상태를 유지하고, 전역에서 접근 가능하여 공유 자원의 관리를 편하게 한다.메모리 절약생성자를 여러 번 호출하여도 새로운 인스턴스를 생성하지 않아 메모리 점유 및 해제에 대한 비용을 줄인다.지연 초기화필요할 때만 객체를 생성하여 초기화 비용을 줄일 수 있다. 애플리케이션 시작 시 불필요한 자원 소모를.. 2024. 11. 26. MSA(Microservices Architecture) 마이크로서비스 아키텍처는 애플리케이션을 작고 독립적인 서비스들로 분리하여 개발하고 배포하는 소프트웨어 아키텍처 스타일이다. 각 서비스는 특정 비즈니스 기능을 수행하며, 다른 서비스와 독립적으로 개발, 배포, 확장될 수 있다. 단일 애플리케이션을 여러 작은 단위로 쪼갠 형태로, 이러한 작은 서비스들은 서로 통신하면서 전체 애플리케이션을 구성한다. 전통적인 단일체 구조(모놀리틱 아키텍처)와 대조되는 방식이다. ㅇ 특징독립적인 서비스애플리케이션이 여러 독립 서비스로 나누어진다. 각각의 서비스는 특정 비즈니스 도메인에 대한 기능을 수행하며 다른 서비스와 독립적으로 운영될 수 있다.작은 단위의 개발과 배포각 서비스는 별도의 코드 베이스를 가지고 있어, 독립적인 개발, 빌드, 배포가 가능하다. 이를 통해 특정 서비.. 2024. 10. 23. Third Party IT 분야에서 써드 파티란 원래 시스템이나 플랫폼을 개발한 회사가 아닌 외부의 개발자나 회사가 제공하는 소프트웨어, 서비스, 하드웨어 또는 솔루션을 의미한다.(외부생산자) 원래 시스템에 추가적인 기능을 더하거나 그 시스템과 상호작용할 수 있게 해주는 중요한 역할을 한다. 써드 파티 소프트웨어운영체제나 주요 소프트웨어 플랫폼 위에서 실행되는 외부 회사가 만든 응용 프로그램을 의미한다.브라우저 플러그인크롬이나 파이어폭스에서 사용되는 광고차단 플러그인모바일 애플리케이션IOS 또는 안드로이느 기기에 설치되는 다양한 앱 써드 파티 라이브러리 및 API개발자가 자신의 애플리케이션에 기능을 추가하기 위해 사용하는 외부 모듈라이브러리개발자가 재사용할 수 있도록 패키징된 코드 모음java에서 흔히 사용하는 hiberna.. 2024. 10. 23. 이전 1 2 3 4 5 6 7 ··· 12 다음