[Spring Data JPA] JPA Entity 클래스에 기본 생성자가 필요한 이유
·
Spring Data JPA
JPA 기본 생성자가 필요한 이유@PersistenceContextprivate EntityManager entityManager;public User getUser(Long userId) { User user = entityManager.find(User.class, userId); return user; // JPA가 내부적으로 기본 생성자를 호출하여 객체를 생성하고, 리플렉션을 통해 필드 값을 설정}해당 과정을 살펴 보면 entityManager.find 즉, 조회 과정에서 User.class 타입을 인자로 받고 있다.이 User.class 이 클래스 정보로 내부에 애너테이션이나 필드 생성자 등의 정보를 리플렉션을 통해 얻을 수 있게 된다.그러면 이 정보를 가지고 DB에 데이터를 조회할..
[HTTP] 웹 탄생 배경
·
HTTP
웹 탄생 배경HTTP(HyperText Transfer Protocol)는 "Tim Berners-Lee" 라는 인물이 만들었다.팀 버너스 리는 CERN(유럽입자물리연구소)에서 일을 하면서, 당시 너무 많은 과학자들이 모여있던 연구소에는 엄청난 양의 논문과 지식이 쌓여있었고 사람들은 원하는 정보를 찾기 위해서는 당시에 논문을 책으로 찾아보거나 물리적으로 엄청난 시간이 들여서 정보를 찾는 과정이 필요했었다. 이러한 과정에 대한 불편함 때문에 팀 버너스 리는 컴퓨터를 활용해 소프트웨어를 개발하게 되었고 해당 소프트웨어가 웹의 시작이 되었다. 1989년팀 버너스 리는 CERN(유럽입자물리연구소)에서 일을 하면서, 정보 관리 시스템이라는 아이디어를 제시하게 되었고 해당 아이디어는 문서들이 서로 연결되어 정보를 ..
[HTTP] HTTP란?
·
HTTP
HTTPHTTP는 HyperText Transfer Protocol의 약자이다. HyperText- HyperText 하이퍼링크와 같은 참조를 걸어 다른 문서로 이동을 하게 도와주는 텍스트를 의미한다.Transfer- "옮기다" 라는 뜻을 가지고 있음.Protocol- "규약" 이라는 뜻을 가지고 있음. 즉, HyperText를 옮기게 도와주는 규약을 의미한다.쉽게 말해, 웹에서 클라이언트와 서버간의 HyperText 기능이 들어가있는 문서들을 요청과 응답을 통해 제공을 해주는 방법을 규약을 해놓고 해당 규약 틀안에서 제공을 해주는 것을 의미한다. Protocol(규약)의 존재 이유HTTP와 같이 통신 프로토콜이 없다면, 클라이언트와 서버간 너무 다양한 통신 방법이 만들어질 수 있기 때문에 하나의 방법으..
[HTTP] WebSocket
·
HTTP
WebSocketIETF(국제 인터넷 표준화 기구)- HTTP 프로토콜의 최신화 및 업데이트 작업은 IETF(Internet Engineering Task Force)**가 주도하고 있다.- IETF 산하 HTTP Working Group은 HTTP의 개선과 표준화를 담당하며, 이를 통해 새로운 버전과 관련 기술들이 정의되고 배포되며, 웹 브라우저는 이러한 HTTP 표준을 기반으로 동작하며, 새로운 표준에 맞춰 업데이트가 되게 된다. 이러한, IETF에서 실시간 통신의 필요성을 느껴 WebSocket 프로토콜을 만들었고, HTTP 프로토콜 기반으로 연결을 설정 하고, 이후에 WebSocket 프로토콜로 전환되어 실시간 양방향 통신을 가능하게 해준다. HTTP -> WebSocket 전환 과정1. HTTP..
[JavaScript] 자바스크립트 탄생 배경
·
JavaScript
자바스크립트는 스크립트 언어이다.클라이언트 브라우저에서 동작하는 언어이다. 집집마다 컴퓨터가 없던 시절 -> 어떻게 하면 컴퓨터를 일반인들도 쉽게 사용할까?1993년 모자이크 웹 브라우저가 탄생한다.모자이크 웹 브라우저를 만들어낸 개발팀을 이끌던 Marc Andreeessen은 대학 졸업과 동시에 Netscape 회사 설립모자이크를 만든 경험을 토대로 좀 더 UI요소가 더해진 Netscape Navigator 브라우저를 만듬하지만, 아직까지는 정적인 웹 사이트 였음. Marc Andreeessen는 동적인 웹사이트를 만들고자함.Scripting 언어를 개발하게 됨.Brendan Eich라는 사람과 Netscape가 합동해서 Mocha라는 스크립트 언어를 만들게 됨- 추후 LiveScript로 이름이 바뀜..
앞으로 공부할 것
·
카테고리 없음
보호되어 있는 글입니다.
[알고리즘 문제] 백준(1145번) - 적어도 대부분의 배수
·
카테고리 없음
[문제] 문제다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. 출력첫째 줄에 적어도 대부분의 배수를 출력한다. 예제 입출력예제 입력예제 출력30 42 70 35 902101 2 3 4 5430 45 23 26 5611703 14 15 92 65195  [문제 해설]일단 다섯개의 자연수를 받기 위한 입력 객체를 만들면 되고, 입력 값 5개의 각각의 배수에 대한 값 중 3개 이상의 값이 같은 경우 또는 가장 작은 경우에 대한 값을 구하는 문제..
[Data Structure] 자료구조란?
·
Data Structure
자료구조란?- 자료는 데이터를 의미하고 자료구조는 데이터의 구조를 의미한다.- 효율적인 데이터 저장과 탐색을 위해 설계된 추상적인 개념이다.- 데이터를 다루기 위해서는 알고리즘이 필요하고, 이를 효율적으로 처리하기 위해 자료구조를 활용한다.- 쉽게 말해, 자료구조는 데이터를 효율적으로 관리할 수 있는 형태를 제공하고, 알고리즘은 그 데이터를 빠르게 처리하기 위해 설계된 방식이라고 이해하면 된다. 핵심 요약자료구조는 추상적인 개념이며, 해당 개념을 활용해서 만들어지는건 결국 알고리즘이다. 자료구조는 크게 두 가지로 나눌 수 있다. 1. 선형 자료구조배열 (Array): 고정된 크기의 연속된 메모리 공간에 데이터를 저장하는 자료구조로, 인덱스를 통해 빠르게 접근할 수 있습니다.연결 리스트 (Linked Li..
[Web-Rendering] CSR & SSR 이란?
·
Web Infrastructure
SSRServer Side Rendering 서버에서 HTML을 만들어서 주는 방식을 의미한다.서버에서 매 요청마다 특정 요청에 맞는 HTML을 만들어서 반환해주는 방식이다.특징으로는 특정 HTML을 보내줌으로써, 매 요청마다 새로고침 되어 렌더링이 된다는 특징이 있다.  CSRClient Side Rendering 클라이언트가 서버에 요청을 보내면 index.html과 javascript 전체를 보내주게 되고, 클라이언트 브라우저 내부에서 javascript에 기재된 html 코드를 읽어와 동적으로 클라이언트가 직접 화면에 렌더링을 하는 방식을 의미한다.특징으로는 매 요청마다 클라이언트 내부에 있는 html을 동적으로 렌더링하기 때문에 새로고침 없이도 렌더링이 된다. 결론SSR은 서버에서 HTML을 보..
[Spring Framework] (4) - IoC 컨테이너 동작 원리
·
Spring Framework
(1) IoC 컨테이너의 역할개발자가 정의한 객체들을 Bean으로 IoC 컨테이너에 보관을 해두고, 스프링을 통해 자동으로 의존성 주입을 할 때 Bean을 객체로 만들어 의존성을 주입을 해주는 역할을 한다.( 해당 부분은 스프링 서버가 뜰 때 즉, 초기화 시점에 객체에 대한 의존성 주입이 이뤄진다. )코드적으로 org.springframework.context.ApplicationContext는 Spring IoC 컨테이너를 나타낸다. 핵심객체의 생성과 생명주기를 관리해주는 핵심 컴포넌트이다. (2) IoC 컨테이너의 Bean(객체) 관리 과정IoC컨테이너가 Bean을 관리하는 과정은 크게 7가지가 존재 ( 또한, 빈 생명주기 과정으로도 볼 수 있다. ) ( 해당 과정은 초기화 시점인 스프링 서버가 초기..