Computer Science 8

Entity Factory

Entity란?스키마에 대한 조건, 정의가 들어간다. (타입 등) 그러니까 엔티티는 스키마에 대한 정의이다. 스프링부트의 구조 중 DTO라고 해서 데이터를 전달하는 객체인데자바에서의 변수 선언이라고 이해하면 쉽다. DTO에서 선언된 데이터들을 가지고 데이터베이스레 전달할지 말지를 결정한다. 그래서 Controller를 통해서 DTO가 값이 들어오면그대로 데이터베이스로 가는게 아니라,Comtroller는 Entity를 소개시켜 주고Entoty는 그 형태에 맞춰 SQL문으로 바꿔준다. SQL로 바꿔주는건 JDBC의 역할이다.  엔티티 팩토리가 생성이 됬다? JPA를 하겠다.    Entity엔티티(Entity)는 데이터베이스 테이블과 매핑되는 클래스엔티티 클래스는 테이블의 구조와 데이터를 정의한다.예를 들어..

ORM, JPA, Hibernate, MyBatis

ORM이란? 객체 관계 매핑(Object-Relational Mapping) 이라고Java와 같은 객체지향 언어에서의 객체와 RDB의 테이블을 자동으로 매핑하는 방법이다.   예를 들어 스프링부트에 있는 '{ 객체 }'  와 관계형 데이터베이스 사이에 ORM이 역할을 맡는다. 데이터베이스를 프로그래밍 언어의 객체 관점으로 바라볼 수 있어서객체 지향 프로그래밍 언어를 이용해 프로그램을 개발하기 편리하다. SQL문을 사용하지 않아도 객체 지향 코드를 작성할 수 있고, 코드의 가독성을 높여 개발자 편의성을 증대시킨다. 하지만 복잡한 프로젝트를 수행할 때에는 ORM으로만으로 서비스를 구현하기 어려울 수 있다.복잡한 쿼리를 ORM으로만으로 구성하기에는 한계가 있다. 대표적인 ORM 프레임워크로는자바의 하이버네이트..

[OSI 7계층]네트워크 계층

네트워크에는 다양한 기기 간의 통신을 위해 약속되어진 구조가 있다.컴퓨터 네트워크를 한번이라도 찾아봤던 사람들은OSI 7계층이라는 것이 익숙할 것이다.이와 더불어 실제 인터넷 통신에 사용되는 TCP/IP 4계층도 있다. 이 개념을 이해하면 데이터의 송수신 과정을 이해하는 것에 도움이 된다. OSI 7계층(Open System Interconnection Reference Model 7 Layers)국제 표준화 기구(ISO, International Organization for Standardization)에서 네트워크 통신이 이루어지는 과정을 7단계로 나눈 네트워크 표준 모델이다. 이 모델에서 데이터의 송수신 과정은 데이터를 송신할때는 높은 계층에서 낮은 계층으로,데이터를 수신할 때는 낮은 계층에서 높..

데이터베이스

서버와 클라이언트인터넷 서비스는 보통 서버와 클라이언트가 관계를 맺는다.    클라이언트는 서버로 요청하는 프로그램 모두를 말한다.예를 들면 우리가 많이 사용하는 웹 브라우저가 있다.웹 브라우저로 우리는 검색을 한다.이 행위를 '서버에 요청한다' 고 표현한다. 이제 서버는 클라이언트의 요청을 받았고, 이 요청을 처리해야한다.클라이언트가 데이터를 요청했을 수도 있고, 단순히 서버 내에서 처리를 해달라는 것일 수도 있다. 위에서 예시를 든 웹 브라우저로 우리는 검색을 했다면서버는 이 요청을 새로운 화면으로 가기 위한 데이터를 달라는 요청이다. 그렇다면 이 데이터들은 가져오는 역할을 서버가 한다면,이 데이터들은 어디서 가져올까?  데이터베이스데이터베이스는 데이터를 한 군데에 모아놓고여러 사람이 사용할 목적으로..

웹사이트 접속 과정

전 게시글에서 웹사이트의 구조를 알아보았다.이제 과정은 다음과 같다. 먼저, 사용자는 흔히 Chrome, Firefox, Safari 등을 가리키는웹 브라우저를 연다.  웹 브라우저가 하는 역할은 다음과 같다.HTML 렌더링CSS 처리JavaScript 실행 웹 페이지 간의 이동, 북마크 저장, 검색 등을 지원한다. 이제 사용자는 웹 브라우저에서 검색창 혹은 주소 표시줄에검색하고자 하는 웹사이트의 도메인 주소를 입력한다. www.example.com 웹 브라우저는 사용자가 입력한 도메인 주소를 DNS(Domain Name System) 서버에 요청하여 해당 도메인 주소에 대응하는 IP 주소를 찾는다. DNS는 도메인 이름을 IP 주소로 변환하여 웹 사이트에 접속할 수 있도록 해준다.이 과정에서는 DNS ..

웹사이트 구조

우리는 네이버, 구글 등의 웹사이트에 접속할 때 도메인 주소라는 것을 검색하여 접속한다.도메인 주소는 인터넷에서 웹사이트를 찾기 위해 사용되는 사람이 읽기 쉬운 주소이다.도메인 주소는 사람이 이해할 수 있는 형식으로 작성되어 있어서, naver.comgoogle.com 과 같이 기억하기 쉬운 이름으로 되어 있다. 실제로 인터넷을 통해 통신할 때는이 도메인 주소가 해당 웹사이트의 IP 주소로 변환되어 서버와 통신이 이루어진다! 흔히 URL(Uniform Resource Locator) 이라고 쓰기도 하는데 이거는 도메인에 경로도 포함되어 있는 주소이다. https://www.naver.com/프로토콜/도메인/경로 웹사이트 구조1. 사용자 요청 사용자는 웹 브라우저나 모바일 앱을 통해 네이버를 접속하기 위해..

패킷 교환 방식과 IP address

패킷 교환 방식이란?컴퓨터 네트워크에는 이메일이나 파일과 같은 데이터를 패킷(packet)이라는 작은 단위로 분할한 후 주고 받는다.이런 패킷은 어디로 가야하는지 그 목적지라는 정보(address)를 가지고 있다.  데이터를 패킷 단위로 작게 잘라 네트워크에 흘려 보내는 개념이다.그러면 패킷은 부여된 어드레스 정보를 확인하면서 전달한다.  IP 어드레스인터넷에는 수많은 컴퓨터가 연결되어 있어서 수신지 컴퓨터를 찾아내기가 어렵다. 이를 위한 고유 식별자가 필요한데 이때 사용되는 고유식별자가 IP 어드레스이다. 흔히 우편번호나 전화번호로 비유되는데, 수신지의 정보를 표현하기 위해서는 일반적인 집주소와는 달리 위치에 상관없이 네트워크 단위로 할당이 된다. 그래서 IP 어드레스를 보면 컴퓨터가 어느 지역에 있는..

컴퓨터 네트워크

컴퓨터 네트워크는 연결 방식이나 연결되는 컴퓨터들의 규모에 따라 다음과 같이 몇 가지 유형으로 구분할 수 있다. 가정이나 사무실에서 사용하는 건 LAN(Local Area Network)회사 건물 밖처럼 먼 거리에 위치된 컴퓨터와 연결된 것은 WAN(Wide Area Network) 1. LAN (Local Area Network)LAN은 일반적으로 가정이나 사무실 같은 근거리에서 사용되는 네트워크. LAN은 한정된 지리적 영역 내에 있는 컴퓨터들을 연결하여 데이터와 자원을 공유할 수 있게 한다. 예를 들어, 가정 내의 데스크탑, 노트북, 프린터 등이 LAN을 통해 서로 연결되어 파일 공유, 인터넷 접속 등을 할 수 있다. 2. WAN (Wide Area Network)WAN은 LAN보다 광범위한 지역을..