Study52 01.클라이언트 - 서버구조 클라이언트 - 서버 구조 요청(Request) → 브라우저인 클라이언트에 의해 전송되는 메시지 응답(Response) → 서버에서 응답으로 클라이언트에게 전송되는 메시지 TCP/IP 패킷 통신 방식의 인터넷 프로토콜인 IP(인터넷 프로토콜) + 전송 조절 프로토콜인 TCP(전송 제어 프로토콜) IP → 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP → IP 위에서 동작하는 프로토콜, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에 묶어서 TCP/IP라고 부르기도 한다. Study/HTTP 2024. 3. 5. SOILD원칙?? SOLID원칙이란? 로버트 마틴이 정리한 객체 지향 설게의 5가지 원칙을 의미 S(SRP; Single Responssibility Principle) 단일 책임의 원칙 하나의 객체는 하나의 책임만 갖어야 한다. 응집도 : 모듈 내보의 기능적인 응집도 ex) 카메라라는 기능 안에 카메라의 모든 기능이 모여있어야(응집되어야) 한다. 결합도 : 모듈 간의 상호 결합 정도 하나의 객체는 하나의 기능만 하도록 설계하여 다른 기능들과의 상호관계가 없이 만들어야 한다. ex) 시스템에 변화가 생겼을시 결합도가 높으면 다른 기능을 수정 할 때 고려해야 할 사항이 많아진다. 응집도는 높게, 결합도는 낮게 설계해야 한다. O(OCP; Open Closed Principle) 개방 폐쇄 원칙 확장에 대해서는 개방적, 변경.. Study/팁 2024. 1. 13. Docker Compose 커맨드 사용방법 Docker Compose 커맨드 사용법 Docker Compose는 여러 개의 컨테이너(container)로 구성된 애플리케이션을 관리하기 위한 간단한 오케스트레이션(Orchestration) 도구입니다. 이번 포스팅에서는 Compose 애플리케이션을 터미널에서 제어하기 위해 사용되는 Docker Compose 커맨드에서 대해서 알아보겠습니다. -f 옵션 Docker Compose는 기본적으로 커맨드가 실행하는 디렉토리에 있는 docker-compose.yml또는 docker-compose.yaml를 설정 파일로 사용합니다. 다른 이름이나 경로의 파일을 Docker Compose 설정 파일로 사용하고 싶다면 -f 옵션으로 명시를 해줍니다. $ docker-compose -f docker-compose-.. Study/Docker 2023. 11. 15. MSS(Maximum Sagment Size) vs MTU(Maximum Transmission Unit) MSS(Maximum Sagment Size) 이론상 Sagment의 최대 크기는 68Kb TCP 기반의 정보로, TCP데이터 길이만을 의미 MSS는 TCP의 전송단위인 Sagment의 최대 사이즈를 결정하게 된다. MSS는 TCP 연결을 위한 3-way handshake 과정 중에 결정 된다. TCP연결을 위한 초기 Sagment를 전송 시에 옵션 값에 MSS를 같이 보내 이를 결정한다. MTU(Maximum Transmission Unit) IP기반의 정보로 IP헤더, TCP헤더, TCP데이터를 모두 포함하는 길이 네트워크의 하드웨어에서 설정한 데이터 전송 제한의 최대 크기이다. 즉, 매체에 따라 값이 다르다. MSS와 MTU의 관계 MSS는 MTU에 의해 값이 결정되게 되는데, 통상 MTU는 MSS.. Study/Network 2023. 10. 14. OpenStack의 DashBoard 구성 Project Compute 개요 전체적인 인스턴스들의 간단한 사용량을 모니터링 할 수 있는 페이지인스턴스 인스턴스를 생성하고 관리하기 위한 페이지이미지 부팅을 할 수 있는 인스턴스를 만들 때 필요한 이미지 파일을 업로드 및 관리하기 위한 페이지키페어 ssh를 이용해 원격 접속 할 때 키기반 인증을 구성할 수 있도록 제공하는 키를 관리하는 페이지 Volume 볼륨 볼륨을 만들거나 작업할 때 사용하는 페이지스냅샷 그 볼륨에 대해 스냅샷을 생성했을때 관리, 상태를 저장하여 저장된 상태를 이용해 또 다른 불륨을 생성할 때 Network 네트워크 토폴로지 네트워크 구성을 그림으로 표현하는 페이지 네트워크, 라우터, 인스턴스를 연결 구성하는것을 보여줌네트워크보안그룹 라우터 firewall-cmd 처럼 인스턴스의.. Study/OpenStack 2023. 10. 14. OpenStack이란?? OpenStack 클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기 위해 사용하는 오픈 소스 소프트웨어 프로젝트의 집합 Compute Pool(CPU, RAM...) + Storage Pool(HDD, SSD...) + Network Pool 등을 모니터링하고 관리하는 운영체제 사용화된 클라우드 시스템을 사용하는 경우와 비교시, 시스템 사용에 대한 비용이 들지 않아 이점이 있다. 치명적인 단점은... 구축이 어렵다는 것. OpenStack의 구성요소 Horizon(Dashboard) 웹 관리 포털 사용자가 오픈스택의 구성요소들을 간편하게 사용할 수 있도록 지원해주는 UI서비스Nova (Compute) VM 인스턴스 관리 가상머신을 관리 AWS의 EC2, GCP의 Compute Engti.. Study/OpenStack 2023. 10. 9. 클라우드 컴퓨팅이란?? 클라우드 컴퓨팅 개념 중앙 집중화된 데이터센터에서 서비스를 받고, 소프트웨어 프로그램들도 인터넷 망을 통해 자유롭게 빌려쓰는 것. IT자원을 구매하거나 소유할 필요 없이, 필요한 만큼 사용료를 지불하고 쓰는 개념 필요성 사용자 편의성 서비스 연계썽 자원의 공동활용 경제성 실제 자원 활용률 : 5% ~ 20% 특정 시점에서만 활용률이 급격히 증가하게 되는데, 이 때 필요한만큼만 증량하여 사용할 수 있음 ex. 발렌타인데이(초콜릿쇼핑몰), 월드컵(스트리밍사이트) 등 제공 유형에 따른 분류 IaaS(InfraStructure as a Service) : 인프라 제공 서비스 프로세싱 파워, 서버, 네트워크, 가상화 및 OS와 같은 기본적인 컴퓨팅 자원을 제공하는 클라우드 서비스 PaaS(Platform as a.. Study/OpenStack 2023. 10. 9. MIME-Type / Content-Type MIME(Multipurpose Internet Mail Extensions)이란?MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되었다.현재는 웹을 통해서 여러형태의 파일 전달하는데 쓰이고 있다. MIME 사용 이유MIME을 사용하기전에는 UUEncode에는 치명적인 단점이 있는데 이를 보강하기 위해 등장하게 되었다.예전에는 텍스트파일을 주고받는데 ASCII로 공통된 표준에 따르기만하면 문제가 없었다. 하지만 네트워크를 통해 ASCII 파일이 아닌 바이너리 파일을 보내는 경우가 생기게 되었다.바이너리파일→ 음악파일, 무비파일, 워드파일 등등ASCII만으로는 전송이 불가능하여 이러한 바이너리 파일들을 기존의 시스템에서 문제 없이 전달하기 위해 텍스트파.. Study/WAS만들기 2023. 6. 18. Thread / Runnable / Thread Pool Thread어떤 프로그램 내에서 실행되는 흐름의 단위특히 프로세스 내에서 실행되는 흐름의 단위 Runnable쓰레드의 run( ) 메서드만 가지고 있는 인터페이스다중 상속이 되지 않는 문제를 해결하기 위해 생긴 인터페이스사용시 Runnable객체를 생성후 해당 객체를 Thread로 생성하여 사용한다.Runnable runnable1 = new MyServer(); Runnable runnable2 = new MyServer(); Thread thread1 = new Thread(runnable1); Thread thread2 = new Thread(runnable2); thread1.start(); thread2.start();Thread Pool쓰레드를 미리 원하는 갯수 만큼 생성해 두는 것Execut.. Study/WAS만들기 2023. 6. 11. Thread / Runnable Thread쓰레드를 사용하려는 클래스에 Thread를 상속받아 사용한다.각 쓰레드는 각각의 Stack을 가지고 있다.각각의 Stack을 가지고 있기 때문에 개별로 로직처리가 가능해 동시에 작업이 가능하다.run( )쓰레드를 상속받으면 반드시 재정의해 주어야 하는 메서드쓰레드 작업을 할 로직을 작성해준다.public class MyThread extends Thread { @Override public void run(){ ... } } start( )Thread를 상속받은 클래스의 run( ) 메서드를 실행 시켜주는 메서드public class TestThread { MyThread myThread = new MyThread(); myThread.start(); }Runnable쓰레드를 상속받게 되면 다.. Study/WAS만들기 2023. 6. 11. Reflection ReflectionClass 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법컴파일 과정에서 import한 파일을 의존하여 가져가지 않고, 런타임과정에서 해당 class의 소스를 읽는 방법현재 Class가 해당 Class를 의존하지 않고 사용할 때 해당 Class의 정보를 가져오는 방식의존→ 해당 Class가 없으면 동작하지 않음→ import를 해주어야 온전히 컴파일 되는 것(?) 사용방법"class".class //로 가져오기 "인스턴스".getClass() //로 가져오기 Class.forName("클래스명") //으로 가져오기 예시public static Class getInstance(String url){ String propertiesPath = "path"; Proerties prop.. Study/WAS만들기 2023. 6. 6. Socket과 ServerSocket 동기 통신시 사용(Java I/O는 Blocking을 하기 때문) Socket 프로세스간 통신을 담당한다. Socket 객체안에 Inputstream과 OutputStream이 있어 이를 통해 통신(입출력)한다. setSoTimeout(”millisecond”) 밀리초 단위로 일정 시간 동안 입력이 없으면 소켓을 닫아주는 메서드 예외처리를 해주어 서버가 다운되지 않게 처리해주어야 한다. ServerSocket 포트와 연결(bind)하여 입력을 기다렸다가 입력이 들어오면 Socket을 생성해 데이터를 주고 받을 수 있게 해주는 객체 하나의 포트에 하나의 ServerSocket만 연결 할 수 있으나 프로토콜이 다르면 같은 포트를 공유 할 수 있다. 서버소켓 생성 서버 소캣을 생성하여 포트를 정해 요청을 받아.. Study/WAS만들기 2023. 5. 31. 이전 1 2 3 4 5 다음 💲 추천 글 728x90 반응형