분류 전체보기
-
[모두의 네트워크] 3장 물리 계층: 데이터를 전기 신호로 변환하기CS/모두의 네트워크 2023. 7. 27. 00:38
OSI 모델과 TCP/IP 모델의 비교 09 물리 계층의 역할과 랜 카드의 구조 - 물리 계층은 컴퓨터와 네트워크 장비를 연결하고 데이터를 전기 신호로 변환하는 계층이다. - 네트워크를 통해 데이터를 주고받을 때는 랜 카드를 이용하여 비트열을 전기 신호로 변환해야 한다. 10 케이블의 종류와 구조 - 전송 매체란 데이터가 흐르는 물리적인 선로로 크게 유선과 무선으로 나눌 수 있다. - 유선에는 트위스트 페어 케이블, 광케이블 등이 있고, 무선에는 라디오파, 마이크로파, 적외선 등이 있다. - 트위스트 페어 케이블(=랜 케이블)의 종류에는 UTP(Unshielded Twisted Pair) 케이블(실드x)과 STP(Shielded Twisted Pair) 케이블(실드o)이 있다. - 랜 케이블의 종류에는 ..
-
[혼공컴운] 02 데이터CS/컴퓨터 구조와 운영체제 2023. 7. 26. 23:13
02-1 0과 1로 숫자를 표현하는 방법 정보단위 - 0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 한다. - n비트는 2의 n제곱 가지의 정보를 표현할 수 있다. 1byte 8bit 1kB 1000byte 1MB 1000kB 1GB 1000MB 1TB 1000GB - 참고로 1024byte = 1KiB(Kibibyte)이다. - 워드(word)란 CPU가 한 번에 처리할 수 있는 데이터 크기를 의미하고 현대 컴퓨터의 워드 크기는 대부분 32비트 또는 64비트이다. 이진법 - 이진수를 나타낼 때에는 끝에 아래첨자로 (2)를 붙이거나 이진수 앞에 0b를 붙인다. 예) 1000(2), 0b1000 - 이진수로 음수를 표현하는 방법 중 가장 널리 사용되는 방법은 2의 보수를 구해 이 값을 음수로..
-
[모두의 네트워크] 2장 네트워크의 기본 규칙CS/모두의 네트워크 2023. 7. 25. 17:48
06 네트워크의 규칙 - 통신을 위한 규칙을 프로토콜이라고 한다. 07 OSI 모델과 TCP/IP 모델 - OSI 모델은 네트워크 기술의 기본이 되는 모델이자 표준 규격이다. - OSI 모델은 데이터의 송수신 과정을 7개의 계층으로 나누어서 설명한다. - 각 계층에는 다양한 프로토콜이 있다. OSI 모델의 7계층 계층 이름 설명 7계층 응용 계층 이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공한다. 6계층 표현 계층 문자 코드, 압축, 암호화 등의 데이터를 변환한다. 5계층 세션 계층 세션 체결, 통신 방식을 결정한다. 4계층 전송 계층 신뢰할 수 있는 통신을 구현한다. 3계층 네트워크 계층 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정한다. 2계층 데이터 링..
-
[혼공컴운] 01 컴퓨터 구조 시작하기CS/컴퓨터 구조와 운영체제 2023. 7. 25. 16:07
01-1 컴퓨터 구조를 알아야 하는 이유 - 컴퓨터 구조를 이해하면 문제해결 능력이 향상된다. - 성능/용량/비용을 고려하여 개발할 수 있다. 01-2 컴퓨터 구조의 큰 그림 - 컴퓨터 구조는 크게 컴퓨터가 이해하는 정보(데이터, 명령어)와 컴퓨터의 네 가지 핵심 부품(CPU, 메모리, 보조기억장치, 입출력장치)으로 나눌 수 있다. - CPU, 메모리, 보조기억장치, 입출력장치는 시스템 버스와 연결되어 있어서 서로 정보를 주고 받을 수 있다. 메모리 - 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 - 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념 사용 CPU - 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품 - 산술논리연산장치(ALU), 레지스터, 제어장치 등으..
-
[Spring] 컴포넌트 스캔인프런 - 스프링/핵심 원리 2023. 7. 20. 17:59
- 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. - 등록해야 할 스프링 빈이 많아지면 반복해야 하는 코드의 양도 많아지고 누락하는 문제 등이 발생할 수 있다. - 이 때 컴포넌트 스캔과 의존관계 자동 주입 기능을 사용할 수 있다. 컴포넌트 스캔 예제 코드 - basePackages를 이용하여 컴포넌트 스캔의 시작 지점을 설정할 수 있다.(모든 자바 클래스를 다 컴포넌트 스캔하면 시간이 오래 걸리기 때문) - 시작 위치를 여러 개 지정할수도 있으며 지정하지 않는다면 @ComponentScan이 붙은 설정 정보 클래스의 패키지가 시작 위치가 된다. - 권장되는 방법으로는 프로젝트 시작 루트에 설정 정보 클래스를 위치시키는 ..
-
[Spring] @Configuration과 싱글톤인프런 - 스프링/핵심 원리 2023. 7. 20. 10:51
예제 코드 - 해당 코드에서 스프링 빈을 등록할 때 memberRepository() 메서드는 총 세 번 호출이 될 것 같지만 실제로는 한 번만 호출이 된다. - 그 이유는 @Configuration 애너테이션을 통해 바이트코드를 조작하기 때문이다. 출력 결과 - AppConfig 스프링 빈을 조회해서 클래스 정보를 출력해보면 클래스 명에 xxxCGLIB가 붙어있음을 확인할 수 있다. - 이것은 내가 만든 클래스가 아니라 스프링이 CGLIB라는 바이트코드 조작 라이브러리를 사용해서 AppConfig 클래스를 상속받은 임의의 다른 클래스를 만들고, 그 클래스를 스프링 빈으로 등록한 것이다. - 그 임의의 다른 클래스가 바로 싱글톤이 보장되도록 해준다. 따라서 @Configuration을 적용하지 않고 @B..
-
[Spring] 싱글톤 방식의 주의점인프런 - 스프링/핵심 원리 2023. 7. 19. 17:22
- 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지하게 설계하면 안된다. - 무상태(stateless)로 설계하는 방법 특정 클라이언트에 의존적인 필드가 있으면 안된다. 특정 클라이언트가 값을 변경할 수 있는 필드가 있으면 안된다. 가급적 읽기만 가능해야 한다. 필드 대신에 자바에서 공유되지 않는 지역변수, 파라미터, ThreadLocal 등을 사용해야 한다. 예제 코드 상태를 유지하는 코드 - 아래 코드와 같이 고객 A와 B가 각각 순서대로 10000원, 20000원 주문을 하였다면 A의 price를 조회할 때에 20000원으로 조회되는 문제가 발생할 수 있다. 무상태로 변경한 코드 - 공유하는 필드를 없애고 리턴타입을 int로 변경하였다. 출처: 인프런 김영한..
-
[Spring] assertj의 isSameAs와 isEqualTo의 차이인프런 - 스프링/핵심 원리 2023. 7. 19. 16:26
예제 코드 - isSameAs는 참조를 비교하고 isEqualTo는 값을 비교한다.(객체의 경우 isEqualTo도 참조를 비교함) - isSameAs는 == 와 같고 isEqualTo는 Object의 Equals 메서드와 같다고 생각하면 된다. 출처: 인프런 김영한님의 스프링 핵심 원리 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com