728x90

분류 전체보기 360

[컴퓨터 밑바닥의 비밀] 6장. 입출력

이 글은 「컴퓨터 밑바닥의 비밀」 책의 내용을 정리한 것입니다.저작권 문제시 비공개하겠습니다.  입출력을 구현하는 원리와 프로그래머로서 어떻게 하면 더 효율적으로 프로그램이 입출력을 처리하도록 할 것인가…  6.1 CPU는 어떻게 입출력 작업을 처리할까? *장치 레지스터(device register)CPU에서 메모리에서 읽은 데이터를 임시로 저장하거나 CPU에서 계산한 중간 결과를 저장하는 레지스터가 있는 것 처럼 장치에도 자체적인 레지스터인 장치 레지스터(device register)가 있다. 1) 데이터를 저장하는 레지스터ex) 사용자가 키보드의 키를 누르면 그 정보는 이 레지스터에 저장된다.2) 제어 정보와 상태정보를 저장하는 레지스터: 이런 레지스터를 읽고 쓰는 작업을 이용해서 장치를 제어하거나 ..

[혼자 공부하는 네트워크] 1~2장. 컴퓨터 네트워크 시작하기. 물리 계층과 데이터 링크 계층.

이 글은 「혼자 공부하는 네트워크」 책 내용을 정리한 내용입니다.저작권 문제시 삭제하겠습니다.  1. 컴퓨터 네트워크란?여러 개의 장치가 마치 그물처럼 서로 연결되어 정보를 주고받을 수 있는 통신망. 네트워크의 네트워크 = 인터넷여러 장치들이 네트워크를 통해 서로 연결되면 주변 장치뿐만 아니라 네트워크와 연결된 지구 반대편의 장치와도 정보를 주고받을 수 있다. 이 기술이 바로 인터넷.  2. 네트워크의 구성요소노드, 간선, 메세지 1) 노드: 정보를 주고받을 수 있는 장치. ex) 서버, 클라이언트, 네트워크 장비 등.2) 간선: 정보를 주고받을 수 있는 유무선의 통신 매체(유선/무선)3) 메세지: 통신 매체로 연결된 노드가 주고받는 정보. ex) 웹 페이지, 파일, 메일 등 [노드의 예]*호스트: 네트..

[컴퓨터 밑바닥의 비밀] 5장. 캐시(Cache)

5. 작은 것으로 큰 성과 이루기, 캐시 5.1 캐시, 어디에나 존재하는 것. [캐시의 탄생 배경] 시스템의 성능은 상대적으로 느린 쪽에 맞추어 제한된다.CPU의 속도 >>>>> 메모리의 속도. 메모리는 CPU의 1/100 수준에 해당한다. CPU와 메모리의 속도차로 인해 CPU가 메모리를 직접 읽고 쓰지 않도록 ‘캐시’가 개발되었다.캐시에 최근에 메모리에서 얻은 데이터가 저장되며 CPU가 메모리에서 명령어와 데이터를 꺼내야 할 때 무조건 먼저 캐시에서 해당 내용을 찾는다.[캐시의 물리적 형태]  x86과 같은 최신 CPU와 메모리 사이에는 실제로 3단계의 캐시가 추가되어 있다. L1 캐시, L2 캐시, L3 캐시. L1 > L2 >> L3 순으로 속도가 빠르다.각 계층의 크기는 다음 계층의 크기보다 작..

모든 개발자를 위한 HTTP 웹 기본 지식

인프런 강의 중, 김영한님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 을 정리한 내용입니다.저작권 이슈가 있을 시 바로 삭제하겠습니다.*인터넷 프로토콜(IP, Internet Protocol) ㅁ -------------------------------------> ㅁ 복잡한 인터넷 망에서 'Hello World' 라는 메세지를 보내고 싶다.최소한의 규칙이 필요하다. 이 규칙이 IP 이다.즉, IP 를 통해서 통신한다. 내 IP 주소 ----> 친구 IP 주소 - 지정한 IP 에 데이터 전달- 패킷(Packet)이라는 통신 단위로 데이터 전달 1) 비연결성: 패킷을 받을 대상이 없거나 상대편 서버가 서비스 불능 상태여도 상대 상태를 모르고 그냥 패킷을 전송한다.2) 비신뢰성: 중간에 패킷이 사라지거..

[Back-End][스프링 부트 3 자바 벡엔드 개발 입문] Part2. 뷰 템플릿과 MVC 패턴

스프링 부트 3 자바 벡엔드 개발 입문 책을 정리한 내용입니다.저작권 등의 이슈로 문제가 될 시 비공개 처리하겠습니다. * 뷰 템플릿이란?: 웹 페이지(view)를 하나의 틀(Template)로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여주는 기술. * MVC 패턴: Model, View, Controller로 역할을 나눠서 개발하는 기법.

[Back-End][스프링 부트 3 자바 벡엔드 개발 입문] Part1. Spring Boot

스프링 부트 3 자바 벡엔드 개발 입문 책을 정리한 내용입니다.저작권 등의 이슈로 문제가 될시 비공개 처리하겠습니다. 1. Spring initializr 로 프로젝트 생성하기https://start.spring.io 에 접속하고 Project, Language, Spring Boot version, Project Metadata, Dependencies 를 위와 같이 셋팅해주자. *Dependencies1) H2 Database: 자료를 저장하기 위한 데이터베이스2) Mustache: 화면을 만들기 위해 필요한 도구3) Spring Data JPA: 데이터베이스를 좀 더 편리하게 다룰 수 있게 해 주는 도구. 파일을 다운받아보면 위와 같은 형태로 파일들이 만들어져 있다. InteliJ로 위 프로젝트를 ..

[컴퓨터 밑바닥의 비밀] 4장. CPU

4. 트랜지스터에서 CPU로, 이보다 더 중요한 것은 없다.4.1 이 작은 장난감을 CPU라 부른다. CPU 의 발전은 트랜지스터에서 왔다.단지 한쪽에 전류를 흘리면 나머지 단자 두 개에 전류가 흐르게 할 수도 있고 흐리지 못하게 할 수도 있다. 즉, 트랜지스터로 논리곱, 논리합, 논리부정을 나타낼 수 있다. 1) 논리곱: 스위치 두 개가 동시에 켜질 때만 전류가 흐르고 등이 켜진다.2) 논리합: 두 스위치 중 하나라도 켜져 있으면 전류가 흐를 수 있으며 등이 켜진다.3) 논리부정: 스위치를 닫으면 전류가 흘러 등이 켜지지만, 스위치를 열면 전류가 흐르지 않고 등이 꺼진다. 논리합, 논리곱, 논리부정게이트로 CPU의 가장 중요한 능력인 ‘연산’을 설계할 수 있다. CPU는 0, 1의 2진법만 알고 있다...

[Back-end] 스프링 입문 :: AOP

*AOP(Aspect Oriented Programming): 공통 관심 사항(cross-cutting concern)과 핵심 관심 사항(core concern)을 분리하는 것. 모든 메소드의 호출 시간을 측정하고 싶을 때회원 가입 시간, 회원 조회 시간을 측정하고 싶을 때1. 회원 가입, 회원 조회 시간 측정하기(일일이)import com.yoonsung.firstproject.domain.Member;import com.yoonsung.firstproject.repository.MemberRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;i..

[Back-end] 스프링 입문 :: 스프링 DB 접근 기술

*JPA: Java Persistence API.          자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API.          Jdbc > JPA로 진화하며 쿼리 없이 객체를 DB에 저장할 수 있게 됨. *JPA 장점: 기존의 반복 코드는 물론이고 기본적인 SQL 도 JPA 가 직접 만들어서 실행해준다.                  SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다.                  개발 생산성 높이기 !  교육용으로 좋은 가벼운 DB를 설치해 보자. 1. H2 Database Engine 설치https://www.h2database.com/html/main.html H2 Database Engin..

728x90