분류 전체보기 141

스프링 데이터 JPA - (1)

출처 : 실전! 스프링 데이터 JPA 섹션 1. 프로젝트 환경설정 @Setter를 넣기 보다는 package study.datajpa.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String username; protected Member() { } public Member(String username) { this..

Spring/JPA 2022.12.19

[잡담] 너무 끔찍한 코딩 테스트...

너무너무 끔찍한 코딩 테스트... 누가 코테 요즘에 토익화 되어가고 있다고 했는데 공감 간다. (요즘 토익 안 보고 다들 스피킹 테스트 보지. 나도 토익 준비한다고 깔짝댔다가 끔찍해서 때려치고 오픽함. 실제로 토익 점수 어학으로 인정 안 하는 기업들도 있고.) 이거 한다고 코딩 실력 늘지도 않을 뿐더러 이거 준비한다고 시간 투자하기도 싫다... 누군가는 코딩 실력 는다고 하겠지만, 적어도 나한테는 아님ㅠㅠ 난 코테 실력이 안 올라도 너무 안 올라서 오히려 자신감 꺾이고 작아져버린다. 하지만 다들 코테 보니 억지로 하는 중.. 그마저도 요즘 못하고? 안하고? 있음. 안 하는 거겠지..?ㅋㅠㅠ 암튼 코테 너무 하기 싫다. 끔찍하다.

잡담 2022.12.19

LeetHub 빨간체크 연동 에러 이슈

최근에 LeetCode의 문제를 풀면 자동으로 GitHub에 push를 해주는 LeetHub를 연동해 봤다. 근데 자동 커밋이 안 되는 것이었다. 빨간 체크가 계속 뜸... 아 캡쳐를 해놨어야 했나. 안 했는데. 이 글도 안 쓰려다가 혹시라도 나와 같은 에러를 마주한 사람이 한 명이라도 볼까 싶어서... 뒤늦게 글을 써보는 것이다. 암튼 원래는 초록 체크가 떠야 하는데, 빨간 체크가 떠서 구글링 해봤더니 제대로 push가 되지 않을 때 생기는 오류인 것 같았다. 엄청난 구글링을 했는데 원하는 결과가 나오지 않았다. 새 md 파일을 먼저 푸시 하고 해봐라... 그런 것들도 해봤지만 여전히 안 되더라. 그렇게 연동하지 말아야겠다 생각하고 그만하려 했는데, 우연히 방문한 블로그에서 나온 방법대로 하니 연동이 ..

에러 2022.12.19

JPA 활용 2 - API 개발과 성능 최적화

출처 : 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 섹션 1. API 개발 기본 1 - 1. 회원 등록 API @Controller + @ResponseBody == @ RestController (스프링 MVC 강의에 나옴) @RequestBody : JSON으로 온 Body를 Member에 그대로 매핑해서 쫙 넣어준다. 즉, JSON data를 Member로 쫙 바로 바꿔준다. (MVC에 관련된 내용) 🚨 API를 만들 때는 엔티티를 파라미터로 받지 말아라 & 엔티티를 외부에 노출해서도 안 됨. 즉, API는 항상 요청이 들어오거나 나가는 건 전부 다 엔티티를 사용하지 않고, DTO(객체)를 사용해서 등록이랑 응답을 받는 걸 권장함. // 예시 코드 : Member 엔티티 대신..

Spring/JPA 2022.12.19

HTTP 헤더

강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 HTTP 헤더1 - 일반 헤더 0. HTTP 헤더 용도 HTTP 전송에 필요한 모든 부가정보 1. 표현 Content-Type: 표현 데이터의 형식 (HTML, JSON 등등...) Content-Encoding: 표현 데이터의 압축 방식 Content-Language: 표현 데이터의 자연 언어 (한국어, 영어 등등...) Content-Length: 표현 데이터의 길이 표현 헤더는 전송, 응답 둘다 사용 1 - 1. Content-Type 미디어 타입, 문자 인코딩 예) • text/html; charset=utf-8 • application/json • image/png 2. 쿠키 Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) Cook..

Spring/HTTP 2022.12.19

HTTP 상태코드

강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 1. 상태 코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 2. 2xx (Successful) - 성공 클라이언트의 요청을 성공적으로 처리 200 OK : 요청 성공 201 Created : 요청 성공해서 새로운 리소스가 생성됨 202 Accepted : 요청이 접수되었으나 ..

Spring/HTTP 2022.12.19

HTTP 메서드 활용

강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 1. 클라이언트에서 서버로 데이터 전송 1 - 1. 데이터 전달 방식 크게 2가지 쿼리 파라미터를 통한 데이터 전송 • GET • 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 • POST, PUT, PATCH • 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 1 - 2. 4가지 상황 정적 데이터 조회 • 이미지, 정적 텍스트 문서 동적 데이터 조회 • 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 • 회원 가입, 상품 주문, 데이터 변경 HTTP API를 통한 데이터 전송 • 회원 가입, 상품 주문, 데이터 변경 • 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax) 2. 정적 데이터 조회..

Spring/HTTP 2022.12.19

HTTP 웹 기본 지식, 메서드

강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 0. URL query scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com:443/search?q=hello&hl=ko key=value 형태 ?로 시작, &로 추가 가능 ?keyA=valueA&keyB=valueB query parameter, query string(숫자를 넣어도 문자로 넘어감) 등으로 불림, 웹서버에 제공하는 파라미터, 문자 형태 1. HTTP HyperText Transfer Protocol 모든 것이 HTTP HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태..

Spring/HTTP 2022.12.19

JPA 강의 8 - 객체지향 쿼리 언어 2, JPA N + 1 문제 (중급 문법)

출처 : 자바 ORM 표준 JPA 프로그래밍 - 기본편 섹션 11. 객체지향 쿼리 언어2 - 중급 문법 1. JPQL - 경로 표현식 1 - 1. JPQL - 경로 표현식 .(점)을 찍어 객체 그래프를 탐색하는 것 1 - 2. 경로 표현식 용어 정리 상태 필드(state field): 단순히 값을 저장하기 위한 필드 (ex: m.username) 연관 필드(association field): 연관관계를 위한 필드 • 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex: m.team) • 컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션(ex: m.orders) 1 - 3. 경로 표현식 특징 상태 필드(state field): 경로 탐색의 끝,..

Spring/JPA 2022.12.19

JPA 강의 7 - 객체지향 쿼리 언어 1 (기본 문법)

출처 : 자바 ORM 표준 JPA 프로그래밍 - 기본편 섹션 10. 객체지향 쿼리 언어1 - 기본 문법 💡 flush가 동작하는 때 : commit, query (DB에 반영. em.persist()만 하면 DB 반영 안 됨 0. 객체지향 쿼리 언어(JPQL) 소개 JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공 SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 지원 JPQL은 엔티티 객체를 대상으로 쿼리 SQL은 데이터베이스 테이블을 대상으로 쿼리 테이블이 아닌 객체를 대상으로 검색하는 객체 지향 쿼리 SQL을 추상화해서 특정 데이터베이스 SQL에 의존X JPQL을 한마디로 정의하면 객체 지향 SQL MyBatis의 장점 : 동적 쿼..

Spring/JPA 2022.12.19