분류 전체보기

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 보조기억장치 - RAID

1. RAID(Redundant Array of Independent Disks)란 하드 디스크, SSD 같은 저장장치를 효율적으로 사용할 수 있는 방법 데이터의 안정성 또는 성능을 위해 여러 개의 물리 보조기억장치들을 하나의 논리 보조기억장치처럼 사용하는 기술 2. RAID의 레벨 RAID를 구성하는 기술 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, RAID 10, RAID 50 등이 있다. 1) RAID 0 데이터를 단순히 나누어서 저장하는 방식 하드 디스크를 번갈아 가면서 데이터를 저장한다. 저장되는 데이터가 하드 디스크의 개수만큼 나뉘어서 저장된다. 스트라이프(stripe) : 줄무늬처럼 분산되어 저장된 데이터를 뜻한다. 스프라이핑(strip..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 보조기억장치

보조기억장치 대표적인 보조기억장치에는 하드 디스트와 플래시 메모리가 있다. - 하드 디스크 : HDD, CD, 플로피 디스크 - 플래시 메모리 : SSD, USB, SD카드 1. 하드 디스크 자기적인 방식으로 데이터를 저장하는 보조기억장치 참고 : https://whitesnake1004.tistory.com/273 1) 하드 디스크의 구성 요소 a) 플래터 N극과 S극으로 덮여있는 원판, 데이터가 저장되는 곳이며 일반적으로 양면을 모두 사용한다. b) 스핀들 플래터를 회전시켜준다. c) 헤드 스핀들이 플래터를 회전 시킬 때, 플래터에 코팅된 자성체를 소거를 하여 플래터에 있는 데이터를 읽고 쓰는 역할 플래터는 양면을 사용하기 때문에 헤드는 플래터의 2배가 필요하다. 연속된 정보는 한 실린더에 기록된다...

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 메모리와 캐시 메모리

1. 메모리 주기억장치(Main Memory)는 크게 RAM과 ROM으로 나눌 수 있고 우리가 주로 메모리라고 하는 것은 RAM을 뜻한다. RAM을 중점적으로 알아보자. 1) RAM이라는 하드웨어는 무엇인가? RAM(Ramdom Access Memory) : 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치를 뜻하며, CPU가 연산을 하기 위해서 필요한 내용들이 저장된다. 그러면 ROM은 무엇인가? ROM(Read Only Memory) : 한 번 기록된 정보를 읽을 수만 있고 수정할 수 없는 기억장치를 뜻한다. 한번 기록한 정보는 전원 유무와 상관없이 기억되지만, 삭제나 수정이 불가능하다. 컴퓨터의 바이오스나 UEFI 같은 펌웨어를 저장하는 내장형 롬이나 게임기에 들어가는 게임 패키지를 담거나..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] CPU

1. CPU란 CPU(central processing unit) : 중앙 처리 장치 메모리에 저장된 명령어를 읽어 해석하고 실행하는 장치 2. CPU의 구성요소 ALU(Arithmetic Logic Unit) : 계산(연산)을 수행하는 장치 제어장치 : 제어 신호를 발생시키고, 명령어를 해석하는 장치 레지스터 : 임시 저장 장치 3. CPU의 작동 원리 1) ALU ALU의 Input 레지스터로부터 피연산자를 받는다. 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받는다. ➡️ 받은 피연산자와 제어 신호를 가지고 산술, 논리 연산 등 다양한 연산 작업을 수행한다. ALU의 Output 연산을 수행한 결과(문자, 숫자, 혹은 메모리 주소)를 레지스터에 임시로 저장한다. 플래그 레지스터에 플래그를 보낸..

Spring/Spring Framework

[Spring Framework] 의존관계 주입(Dependency Injection)

앞에서 간단하게 DI에 대해서 알아봤다. [Spring Framework] IOC와 DI IOC와 DI에 대해서 알아보기 전에 순수 자바코드를 먼저보자. public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository = new MemorymemberRepository(); @Override public void join(Member membe hyunbenny.tistory.com 여기서는 의존관계 주입 방법에 대해서 알아보자. 1. 생성자 주입 방법 생성자를 통해서 의존관계를 주입받는 방법 생성자가 호출되는 시점에 단 1번만 호출되는 것이 보장되는 방법이다. 변하지 않거나 필수적..

Java

[Java] JSON

JSON(JavaScript Object Notation)이란 데이터 오브젝트를 네트워크를 통해 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 표준 포맷이다. 출처 : https://ko.wikipedia.org/wiki/JSON JSON의 표기 방식 객체 { "속성명" : 속성값, "속성명" : 속성값, ... } 속성명 : 반드시 큰 따옴표로 감싸야 한다. 속성값으로는 문자열, 숫자, boolean, 객체{...}, 배열[...]을 사용 가능하다. 배열 [항목, 항목, 항목, ...] 항목으로는 문자열, 숫자, boolean, 객체{...}, 배열[...]을 사용 가능하다. 자바 프로젝트에서 JSON 사용하기 GitHub - stleary/JSON-java: A reference impleme..

Spring/Spring Framework

[Spring Framework] @ComponentScan

@ComponentScan이란 설정정보(AppConfig.class)가 없어도 @Component가 붙은 애들을 찾아서 자동으로 스프링 빈을 등록해주는 기능을 말한다. 설정정보 클래스에 @ComponentScan을 붙여준다. 그러면 애플리케이션 실행 시 @Component가 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. @Configuration @ComponentScan public class AutoAppConfig { } @Component public class MemoryMemberRepository implements MemberRepository { ... } @Component public class RateDiscountPolicy implements DiscountPolicy { ....

Spring/Spring Framework

[Spring Framework] 스프링 컨테이너와 싱글톤 컨테이너

먼저 싱글톤이란 무엇일까? 클래스의 인스턴스가 단 하나만 생성되도록 하는 디자인 패턴이다. [디자인패턴] 생성 패턴 - 싱글톤 패턴(Singleton Pattern) [디자인 패턴] 디자인 패턴(Design Pattern)이란 1. 디자인 패턴(Design Pattern)이란 설계에 자주 사용하는 패턴들을 정형화 하여 유형별로 정해두고 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 hyunbenny.tistory.com 갑자기 싱글톤 패턴은 왜..? 웹 어플리케이션은 클라이언트의 요청이 엄청나게 많은데 순수 DI컨테이너(AppConfig)는 요청이 올 때마다 객체를 새로 생성한다. 따라서 트래픽에 따라 메모리 낭비가 심하기 때문에 객체를 1개만 생성하고 공유하도록 설계하여 메모리 낭비를 방지하고자 한..

github.com/hyunbenny/study
'분류 전체보기' 카테고리의 글 목록 (4 Page)