본문 바로가기

Study/웹기초

(18)
WS vs WAS Web Server 1. Web Server란 ? 웹 브라우저(클라이언트)로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 프로그램. * 정적 컨텐츠 - 요청 인자값에 상관없이 달라지지 않는 컨텐츠 (HTML, CSS, Image) - 어느 사용자의 요청이든 항상 동일한 컨텐츠 2. Web Server의 기능 - 클라이언트로부터 HTTP 요청을 받을 수 있다. - 그 요청이 정적컨텐츠 요청일 경우 정적 컨텐츠를 제공할 수 있다. - 동적컨텐츠 요청일 경우 WAS로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달한다. Web Application Sever 1. Web Application Sever 란? * Web Server + Web Container * 웹 어플리케이션과 서버 환경을 만들어 동..
SSR vs CSR 브라우저 렌더링 (Browser Rendering) 브라우저 렌더링이란 브라우저가 서버로부터 요청해 받은 내용(HTML, CSS, JavaScript)을 받아와 이를 읽고, 파싱해서 실행한 결과물로 화면에 그려내는 과정입니다. 이러한 브라우저 렌더링은 크게 클라이언트 사이드 렌더링과 서버 사이드 렌더링으로 나뉘어집니다. SSR (Server Side Rendering) SSR 은 클라이언트(브라우저)가 서버에 데이터를 요청하여 서버에서 처리하는 방식. 클라이언트에서 요청이 들어올 때마다 매번 서버에서 새로운 화면을 만들어 제공한다. (서버가 화면을 그리는 주체가된다.) Step 1. 서버에서 렌더 될 준비를 끝마친 상태로 HTML 응답을 브라우저(클라이언트)에 보냅니다. Step 2. 브라우저는 바로 페..
overflow/underflow 1. 비트와 바이트 비트 컴퓨터는 모든 데이터를 0 또는 1만으로 표현합니다. 0 또는 1만 표현할 수 있는 하나의 메모리 조각을 비트(bit)라고 합니다. 바이트 1바이트는 8개의 비트로 구성돼 있습니다. 1비트마다 2가지 값을 표현할 수 있기 때문에 1바이트는 총 256(2^8) 개의 값을 표현할 수 있습니다. LSB(Least Significant Bit) - 최하위 비트 일단 LSB의 위치는 가장 값이 작은 비트인 2^0에 위치하고 있는 것을 알 수 있습니다. 이 LSB의 값을 이용하여 해당 데이터 형에 들어있는 실제 숫자가 짝수인지 홀수인지 손쉽게 알아낼 수 있습니다. MSB(Most Significant Bit) - 최상위 비트 MSB를 살펴보면 MSB 위치가 부호자리를 나타내고 있는 것을 알..
macOS 터미널에서 내 IP 주소 확인하기 내부(사설) IP 주소 확인(ipconfig, ifconfig) ipconfig getifaddr en0 ifconfig | grep inet 외부(공인) IP 주소 확인 curl ifconfig.me 참조 https://iidaroo.tistory.com/entry/Mac-%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%EC%84%9C-IP-%EC%A3%BC%EC%86%8C-%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
응집도 vs 결합도 응집도 vs 결합도 일반적으로 좋은 설계란 높은 응집도와 낮은 결합도를 갖는 모듈로 구성된 설계를 의미합니다. OPP에서는 응집도는 높히고 결합도는 낮춰야 한다는 말을 많이 하게 됩니다. 그렇다면 응집도는 무엇이고 결합도는 무엇일까요? 응집도(Cohesion)란? 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다. 응집도가 낮은 클래스의 문제점 이해하기 힘들고 따로 재사용하기 힘들며 유지보수하기 힘들고 다른 클래스의 변화에 민감하게 된다. 결합도(Coupling) 란? 어떤 모듈이 다른 모듈에 의존하는 정보를 측정하는 것이다 즉, 두 모듈간의 상호 의존하는 정도 또는 두 모듈 사이의 연관관계를 이야기 한다. 독립적인 모듈이 되기 위해서는 결합..
객체 지향의 3가지 특징 - 캡슐화, 상속, 다형성 캡슐화(Encapsulation) 캡슐화는 일반적으로 연관된 목적을 가지고 있는 변수와 함수별로 클래스로 묶는 작업을 말합니다. 캡슐화는 외부의 잘못된 접근으로 값이 변하는 것을 막기 위해 클래스 내의 변수나 함수를 감추거나 드러내는 은닉성을 지니고 있습니다. 캡슐화의 대표적인 기능은 요구사항이 새롭게 추가되거나 바뀌어도 변경이 전파되지 않도록 막을 수 있다는 것입니다. 캡슐화란 외부에서 알 필요가 없는 부분을 감춤으로써 대상을 단순화하는 추상화의 한 종류입니다. 캡슐화가 중요한 이유는 불안정한 부분(구현)과 안정적인 부분(퍼블릭 인터페이스)을 분리하여 변경의 영향을 통제할 수 있기 때문입니다. 캡슐화를 통해 변경 가능성이 높은 부분을 객체 내부로 추상화하면 변경을 최소화할 수 있습니다. 상속(Inher..
SOLID 객체지향 설계 5원칙 - SOLID SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Listov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존 역전 원칙 단일 책임 원칙 (Single Responsiblity Principle) 함수나 클래스, 리액트의 컴포넌트 등은 한 가지 일만 수행해야 합니다. 하나의 클래스가 너무 많은 일을 하는 것은 좋은 코드가 아닙니다. 각각을 분리해서 각 파일의 양을 줄이고 재사용할 수 있도록 분..
캡슐화(encapsulation) 캡슐화 객체의 속성(data fields)과 행위(methods)를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉한다. 이점 재활용이 가능하며, 코드의 중복을 피할 수 있다. 데이터를 처리하는 동작 방식을 외부에 숨길 수 있다. 요구사항이 새롭게 추가되거나 바뀌어도 변경이 전파되지 않도록 막을 수 있다. Tell, Don't Ask 객체 내부의 데이터를 꺼내와서 처리하는게 아닌, 객체에게 처리할 행위를 요청하라는 행위이다. 이러한 행위를 우리는 "객체에 메세지를 보낸다" 라고 말한다.