일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MongoDB
- 영속성 컨텍스트
- 동적계획법
- JPA
- 자바의 정석
- 스프링부트
- Spring Boot
- 레디스
- 스프링 부트
- sqld
- spring security
- github
- 깃허브
- 실행 컨텍스트
- Redis
- 게시판
- 스프링 시큐리티
- 분할정복
- document database
- 정처기
- VMware
- 캐시
- SQL
- 다이나믹프로그래밍
- 호이스팅
- 이벤트루프
- NoSQL
- 정보처리기사
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- in-memory
- Today
- Total
목록Web (27)
FreeHand

사용자 수에 따른 규모 확장성 단일 서버서버 하나에서 모든 작업을 처리하는 구조이다. 사용자는 도메인 이름을 통해 웹사이트에 접속한다.DNS에서 도메인 이름에 해당하는 IP 주소를 주고 이 IP 주소로 HTTP 요청을 보내면 서버는 HTML 페이지 또는 JSON 형태의 데이터를 응답으로 반환한다. 데이터베이스어떤 데이터베이스를 사용할 것인지를 결정하는 것도 중요하다. 일반적으로 관계형 데이터베이스를 사용하지만 특정 상황에서 비관계형 데이터베이스를 고려할 수 있다. ex)- 아주 낮은 응답 Latency가 요구되는 경우- 비정형 데이터를 다루는 경우- 대량의 데이터를 다루는 경우 수직적 규모 확장 vs 수평적 규모 확장수직적 규모 확장(Scale up)은 서버를 더 고사양으로 만드는 것이다. 더 좋은..

시작하며언제인지 기억은 잘 안 나지만 JPA를 사용하여 엔티티를 작성하는데 DB 테이블의 컬럼을 그대로 가져와 작성한 것을 보았다. 물론 그렇게도 할 수는 있지만 내가 강의를 통해 배운 것과는 달랐기에 나름대로 설명을 했었는데, 그 내용을 정리해볼까 한다. 그리고 더 나아가 JPA의 여러 연관관계도 다룬다. JPA를 처음 배울 때만 하는 실수이니 JPA를 이미 좀 아는 사람은 볼 필요 없다. 객체지향스럽게JPA는 DB 테이블과 자바의 객체를 매핑하는 ORM이다. 다음과 같은 DB 테이블이 있다고 해보자. 그럼 위 테이블을 자바 객체(엔티티)로 표현하려면 어떻게 해야할까@Entitypublic class Player { @Id @Column(name = "ID") private Long ..

시작하며자바 백엔드 개발자 공고를 찾아보면 대부분 공통적으로 원하는 기술 스택이 있습니다. RDB, NoSQL, Docker, MSA, AWS 등 요구하는 기술 중 가장 기본은 아무래도 Spring Boot + JPA 조합인 것 같습니다. DB에 접근해서 데이터를 다루는 작업은 모든 서비스에서 필수인만큼 JPA를 사용하는 회사라면 당연히 JPA에 대한 이해도가 중요할 것 같습니다. 그래서 이번에는 JPA의 기본 동작 원리인 영속성 컨텍스트에 대해서 정리해보려고 합니다. 영속성 컨텍스트JPA에는 마치 스프링 컨테이너와 같이 눈에 보이지 않는 논리적 개념인 영속성 컨텍스트가 존재합니다. EntityManager를 통해 Entity를 영속성 컨텍스트에서 관리함으로써 Entity를 영속화하기 위함입니다. En..

이전글 서블릿 MVC 이전글 Servlet과 JSP 애플리케이션 요구사항 회원 정보 이름(username) 나이(age) 기능 요구사항 회원 저장 회원 조회 회원 도메인 @Getter @Setter @NoArgsConstructor public class Member { private Long id; private String us pressky99.tistory.com 이번에는 request 객체에 데이터를 저장했던 이전과 달리 Model을 직접 만들어 사용한다. ModelView public class ModelView { private String viewName; private Map model = new HashMap(); public ModelView(String viewName) { this..

- 관련 용어 정리 Definition of an origin 프로토콜, 포트, 호스트가 같으면 두 URL은 같은 origin을 갖는다. The following table gives examples of origin comparisons with the URS http://store.company.com/dir/page.html URL Outcome Reason http://store.company.com/dir2/other.html Same origin Only the path differs http://store.company.com/dir/inner/another.html Same origin Only the path differs https://store.company.com/page.html ..

ReactSPA 방식으로 UI를 구현할 수 있도록 지원하는 자바스크립트 라이브러리. 데이터의 변화에 따라 UI를 실시간으로 업데이트 할 때 전체 페이지를 렌더링하지 않고 업데이트가 발생하는 부분만 렌더링을 할 수 있다. Virtual DOM 리액트는 실제 DOM이 아닌 가상의 DOM을 활용하여 이전 상태를 메모리에 보관해두었다가 새롭게 변경될 부분과 비교하여 부분적으로 업데이트 할 수 있다. DOM이란 HTML의 element들을 트리 구조로 나타낸 것으로, DOM 트리에는 각 element에 상응하는 Node가 있다. DOM API를 사용하면 각 Node에 접근하여 조작할 수 있다. Javascript DOMDOM(Document Object Model, 문서 객체 모델): 웹 브라우저가 HTML 파일..
스프링(서버)에서 응답 데이터를 만드는 방법 - 정적 리소스 정적인 HTML, CSS, Javascript를 제공할 때 정적 리소스를 사용한다. - 뷰 템플릿 사용 동적인 HTML을 제공할 때 뷰 템플릿을 사용한다. - HTTP 메시지 사용 HTTP API를 제공하는 경우 HTTP 메시지 바디에 JSON 등의 형식으로 데이터를 보낸다. 정적 리소스 src/main/resources/static 경로에 파일을 넣어두면 정적 리소스로 제공한다. 뷰 템플릿 src/main/resources/templates 경로를 기본 뷰 템플릿 경로로 사용한다. HTTP 메시지 바디에 직접 입력(HTTP API) @Slf4j @Controller //@RestController public class ResponseBody..
텍스트 조회 @Slf4j @Controller public class RequestBodyStringController { @PostMapping("/request-body-string-v1") public void requestBodyString(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messageBody={}", messageBod..

클라이언트에서 서버로 요청 데이터를 전달하는 방법은 주로 3가지이다. GET - 쿼리 파라미터 ?name=Jin&age=25 메시지 바디 없이 URL의 쿼리 파라미터에 데이터를 포함해서 전달한다. 검색, 필터, 페이징 등에서 많이 사용하는 방식이다. POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파라미터 형식으로 데이터를 전달한다. 회원 가입, 상품 주문 등에서 사용한다. HTTP message body 메시지 바디에 직접 데이터를 담아서 전달한다. 데이터 형식은 JSON, XML, TEXT 등. 주로 JSON 형식을 사용한다. GET 쿼리 파라미터, POST HTML Form @Slf4j @Controller pu..
다양한 파라미터로 HTTP 헤더 정보를 조회할 수 있다. @Slf4j @RestController public class RequestHeaderController { @RequestMapping("/headers") public String headers(HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod, Locale locale, @RequestHeader MultiValueMap headerMap, @RequestHeader("host") String host, @CookieValue(value = "myCookie", required = false) String cookie) { log.info("requ..