분류 전체보기
[스프링부트와 JPA 활용 1] Section7. 웹 계층 개발
홈 화면과 레이아웃 jpashop/src/main/java/jpabook/jpashop/controller/HomeController.java 생성 package jpabook.jpashop.controller; import lombok.extern.slf4j.Slf4j; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home(){ log.info..
[스프링부트와 JPA 활용 1] Section6. 주문 도메인 개발
주문, 주문상품 엔티티 개발 구현 기능 상품 주문 주문 내역 조회 주문 취소 순서 주문 엔티티, 주문 상품 엔티티 개발 주문 리포지토리 개발 주문 서비스 개발 주문 검색 기능 개발 주문 기능 테스트 Order.java 수정 package jpabook.jpashop.domain; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name="orders") @Getter @Setter public class Order { @Id @GeneratedVal..
[스프링부트와 JPA 활용 1] Section5 중 "상품 기능 테스트"
김영한 강사님의 "스프링부트와 JPA 활용1"을 듣다 보면 Section 5에서 "상품 기능 테스트"를 생략하신 것을 볼 수 있다. 이 테스트가 이전에 강의에서 다룬 테스트와 유사하여 생략하였다고 하셨는데 복습겸 궁금하여 테스트 코드를 직접 작성하여 보였다. MemberServiceTest.java를 참고하여 작성하였고 //given, //when, //then 으로 나누어 작성하니 도움이 많이 되었다. 테스트한 기능은 상품 등록, 상품 목록 조회, 상품 조회이다. 파일 위치는 jpashop/src/test/java/jpabook/jpashop/service/ItemServiceTest.java 으로 지정하였다. package jpabook.jpashop.service; import jpabook.jpa..
JPQL과 QueryDSL에 대해 끄적
Intro JPA는 객체 중심적으로 코드를 작성할 수 있게 해주는데 그렇게 되면 JPA만으로는 모든 쿼리를 커버할 수 없다. 따라서 JPA는 객체를 검색(조회,select)할 수 있는 다양한 query 방법을 지원한다. JPQL JPA Criteria QueryDSL Native SQL 등등.. 이 포스팅에서는 주로 사용되는 JPQL과 QueryDSL에 대해 다루고자 한다. JPQL의 개념 Java Persistence Query Language JPQL은 엔티티 객체를 조회하는 객체지향 쿼리이다. JPQL은 가장 중요한 객체지향 쿼리 언어이다. JPA는 JPQL을 기반으로 하는 다양한 쿼리 서비스를 지원한다. JPA Criteria, QueryDSL, Natice SQL 등.. JPQL의 특징 SQL과..
[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.7 socket programming with UDP and TCP
Chapter02. Application Layer Socket Programming Application과 Transport 사이에 있는 socket application process와 end-end-transport protocol 사이의 문 app 간의 통신이 가능하게 함 UDP unreliable datagram UDP에서 segment 생성 → IP로 보냄 Query 하는 애들은 씀 순서 변경은 안하지만 순서대로 도착 안할 수도 client와 server 사이에 미리 link 설정 X 데이터 보내기 전에 no handshaking 보내는 packet마다 도착지 주소가 적혀 있어야 함 (IP주소&Port번호) explicitly하게 = 서버만 data의 lost/receive 된 게 out of..
[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.6 video streaming and content distribution networks
Chapter02. Application Layer Video Streaming and CDNs: context video streaming 앞으로 play하는 동안 뒤를 download하여 바로바로 보자는 취지 CDN content가 user 가까이에 있을수록 delay가 적어서 좋다 여기저기 cluster을 만들어 저장 문제점 scale → distributed 방식 쓰자 heterogeneity → 사용자 환경이 달라서 같은 content를 주기 어려우니 service option이 필요 해결책 : distributed 환경, application-level infrastructure Multimedia : video video : 접지 이미지를 빠르게 지나가게 하여 움직인다고 인식 digital ..
[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.5 P2P applications
Chapter02. Application Layer Peer-to-peer architecture client가 server가 되기도 한다 server가 항상 켜져 있을 필요 없다 Host가 직접 소통하기도 한다 (server를 안 거친다) peer는 요구 받기도 요구 하기도 한다 → 다운로드/업로드 모두 한다 self-scalability : 잘 작동하고 있다고 알려주고, peer가 많아져도 문제 없다고 말할 수 있는 징표, 새로운 peer가 새로운 service capaciry를 가지고 옴 peer은 간헐적으로 연결되며 IP 주소를 자꾼다 Ex. P2P 파일 공유, 스트리밍, VoIP P2P file distribution : BitTorrent 상업용 cloesed protocol file dist..
[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.4 The Domain Name System
Cahpter02. Application Layer DNS : Domain Name Server 많은 DNS server들의 계층 구조로 구현된 분산된 DB application layer protocol : host가 통신하여 이름을 확인 DNS service 목록 hostname ↔ IP 주소 변환 host aliasing(별칭) : canonical(실제이름) 따로 존재 mail server aliasing load distribution : 서버가 많을 때 골고루 서버 이름 부여, 중복 웹 서버의 경우 여러 IP 주소가 하나의 정식 호스트 이름과 연관 → DNS가 이 IP 주소 집합을 가짐 centralize가 아닌 이유 single point of failure이 있을 수 있어서 → 서버가 1대..
[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.3 Email, SMTP, IMAP
Chapter02. Application Layer E-mail 가장 먼저 개발된 인터넷 application이다 3개의 주요 component를 가진다 user agent : 브라우저를 이용해 email을 작성/편집/송신/수신 mail server SMTP : simple mail transfer protocol : 서버끼리 주고 받기 위해 user agent = mail reader 작성, 편집, 읽기, 보내기 Ex. outlook, iphone mail client 서버에 저장된 메일을 보내거나 받음 mail server mailbox는 사용자의 수신(들어온) 메세지 유지/소유 송신(보낼) 메세지의 message queue 운영 email message를 보내기 위해 SMTP protocol은 ma..