전체 글

https://github.com/Layton0-0
Computer Science/Network

OSI 7계층(OSI 7 Layer)? TCP/IP 4계층?

OSI(Open Standard Interconnection Model) 7계층이란? 국제표준화기구(ISO)가 1977년 정의한 국제 통신 표준 규약이다. 네트워크의 기본 구조를 7개 계층으로 나눠서 표준화한 통신 규약으로 현재 다른 모든 통신 규약의 기반이 된다. TCP/IP(Transmission Control Protocol/ Internet Protocol Model) 4계층이란? OSI 7계층의 네트워크에서 데이터를 전송하는 과정을 4개의 계층으로 단순화시켜 사용하는 모델이다. 인터넷 모델이라고도 한다. - 프로토콜: 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙, 표준이다. 1. 물리 계층 (Physical Layer) - 물리적으로 연결된 2대의 컴퓨터가 0과 1의 나열을 주고받을..

Computer Science/Design Pattern

팩토리 패턴

팩토리 패턴이란? - 객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만드는 클래스의 결정은 서브 클래스에서 내리는 패턴 - 객체를 생성하는 메소드를 추상클래스의 추상메소드로 미리 정의한다. // 객체를 생성할 추상 클래스 정의 public abstract class PizzaFactory { abstract Pizza createPizza(String name); } - 어떤 클래스가 만들어질 지는 CheesePizzaFactory가 정한다. public class CheesePizzaFactory extends PizzaFactory{ @Override Pizza createPizza(String name) { switch (name) { case "pickle": return new Chee..

Computer Science/컴퓨터 구조

패리티 비트와 해밍 코드

패리티(Parity) 비트란? - 전송 과정에서 1비트 오류를 검출하기 위한 검증 코드다. - 1바이트 구조에서 7비트 크기의 아스키 코드를 제외한 나머지 1비트다. - 짝수 패리티 방식: 데이터 전송 과정에서 1비트 오류가 발생하면 전체 비트에서 1의 개수가 홀수 개, 오류가 없으면 짝수 개 유지. 위의 그림에서 짝수 패리티는 멀쩡한 상태. 다른 비트에 잘못된 값으로 1이 빠지거나 추가되면 오류 발생을 잡아내는 용도. - 홀수 패리티 방식은 반대. - 송신 호스트와 수신 호스트는 짝수 패리티나 홀수 패리티 중 한가지 방식을 사용하되 동일하게 사용해야 한다. 예) 바코드 해밍 코드 - 패리티 비트를 보고 오류를 정정할 곳을 찾아 수정하는 자기 오류정정 코드 - 패리티 비트는 오류를 발견만 하고 수정하지는..

Computer Science/컴퓨터 구조

고정소수점과 부동소수점

각 방식 표현 방식 예 고정소수점: 1234.567 부동소수점: 1.234567 X 10^3 고정소수점 - 소수부의 자릿수를 미리 정해놓고 고정된 자릿수의 소수를 표현하는 것 - 제한된 자릿수로 인해 표현할 수 있는 범위가 작다는 단점 존재 부동소수점 - 수식을 이용해 매우 큰 실수까지 표현이 가능하다. - 대부분의 시스템에서 부동소수점 방식으로 실수를 표현. - 부동소수점 방식에서는 오차가 발생 -> 컴퓨터에서 실수 표현은 언제나 근사치

Computer Science/컴퓨터 구조

컴퓨터의 구성

컴퓨터의 구성 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어 - 중앙처리장치(CPU) - 입력장치 - 연산장치 - 제어장치 - 기억장치 - 보조기억장치 - 출력장치 -> 이들은 시스템 버스로 연결되어 있다. -> 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다. 소프트웨어 - 시스템 소프트웨어 -> 운영체제, 컴파일러 - 응용 소프트웨어 -> 프리미어프로, 포토샵 중앙 처리 장치 CPU (== 마이크로프로세서) - 인간의 두뇌에 해당하는 가장 중요한 부분으로 컴퓨터의 모든 장치를 제어하고 명령을 실행 - 주 기억 장치에서 프로그램 명령어와 데이터를 읽어와..

Spring/이론

빈 스코프(Bean Scope)란?

빈 스코프란? - 빈의 수명 범위(언제부터 언제까지 살아 존재하는가에 대한 범위) - 직독직해하면 빈의 범위라는 의미이다. - 싱글톤이 아닌 방법으로 빈을 구성해야 하는 경우 구분하기 위해 스프링에서 scope라는 키워드를 사용 빈 스코프의 종류 - 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다. - 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. - 웹 관련 스코프 - request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다. 단일 Bean 정의의 범위를 단일 HTTP 요청의 수명 주기로 지정 - session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코..

Spring/이론

컴포넌트 스캔

컴포넌트 스캔 - 스프링은 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다 - 컴포넌트 스캔을 사용하려면 @ComponentScan을 설정 정보에 붙여주면 된다. package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import static org.springframework.context.annotation.ComponentScan.*; @Configuration // @Componen..

Spring/이론

싱글톤 컨테이너(Spring)

웹 애플리케이션 - 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 만들어졌다. - 스프링 애플리케이션은 웹 애플리케이션이 대부분이지만 웹이 아닌 애플리케이션 개발도 가능하다. - 클라이언트가 요청을 할 때마다 DI컨테이너(AppConfig)는 새로운 인스턴스를 만들어서 반환한다. - 트래픽이 초당 100개면 초당 100개의 객체가 생성되고 소멸됨 -> 자원의 낭비 - 생성된 인스턴스를 공유하면 됨: 싱글톤 패턴 package hello.core.singleton; import hello.core.AppConfig; import hello.core.member.MemberService; import org.junit.jupiter.api.DisplayName; import org.junit.jupit..

레이튼
개발 공부 스케치북