본문 바로가기

공부141

람다식 (Lambda Expression) 1. 람다식 - 메서드(함수)를 간단한 '식(expression)' 으로 표현하는 방법 / 이름이 없는 함수(익명 함수) int max(int a, int b) { return a > b ? a : b; } int max(int a, int b) -> { return a > b ? a : b; } (a, b) -> a > b ? a : b 2. 작성시 주의사항 2-1. 매개변수가 하나인 경우 : 괄호() 생략가능(타입이 없을 때만) - (a) -> a*a a -> a*a - (int a) -> a*a (생략 불가능) 2-2. return문이면 괄호{} 생략불가 (그냥 return 생략하자) - (int a, int b) -> { return a > b ? a : b } 2022. 3. 1.
Querydsl Querydsl 설정 build.gradle plugins{ //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } dependencies { //querydsl 추가 implementation 'com.querydsl:querydsl-jpa' } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClassp.. 2021. 10. 4.
스프링 데이터 JPA 스프링 데이터 JPA @JpaRepository (interface) H2 Database 처음 기본설정 h2.jar 실행 JDBC URL : jdbc:h2:~/datajpa → datajpa.mv.db 파일이 생성됨 로그아웃 JDBC URL : jdbc:h2:tcp://localhost/~/datajpa 쿼리의 파라미터 로그 남기기 라이브러리 추가 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7' 주의 T findOne(ID) → Optional findById(ID) 로 변경 제네릭 타입 T : 엔티티 ID : 엔티티의 식별자 타입 S : 엔티티와 그 자식 타입 주요 메서드 save(S) delete(T) findByI.. 2021. 10. 2.
JPA + JPQL 도메인 모델. 예제 용어 이해 방향 : 단방향, 양방향 다중성 : 1:1, 1:N, N:1, N:M 사용 : 외래키 있는 곳이 연관관계 주인 다대일(N:1) 일대일(1:1) : UNIQUE 사용 사용X 일대다(1:N) : UPDATE SQL 추가실행, 외래키가 다른 테이블에 존재 다대다(N:M) : N:1, 1:N 으로 변경하여 사용 연관관계의 주인 : 객체 양방향 관계는 관리필요 외래키가 있는 곳이 주인 주인에 값을 입력하기 + 객체상태를 고려해 양쪽에 값을 설정 상속관계 매핑 관계형 DB는 상속관계 X 슈퍼타입, 서브타입 관계라는 모델링 기법이 객체 상속과 유사 주요 어노테이션 @Inheritance(strategy = InheritanceType.XXX) JOINED : 조인 SINGLE_TABLE.. 2021. 9. 24.
HTTP 기본 지식 1. 인터넷 네트워크 IP 프로토콜 대상 서버가 꺼져있어도 보냄. → TCP/UDP 로 해결 TCP/UDP TCP 연결지향 : TCP 3 way handshake 데이터 전달 보증 순서 보장 신뢰 UDP IP 그대로 기능기 거의 같음 → IP + PORT + 체크섬 정도 순서 보장X 데이터 보장X 한번에 둘 이상 연결? A B(2개 어플리케이션) 포트로 구분 : 80, 8080, 21000 등... DNS 전화번호 부 도메인 명 → IP로 변경 URI URL + URN URL : Resource Locator URN : Resource Name URL ? 이후 key=value &로 추가 가능 2. HTTP 메서드 1. HTTP 프로토콜 HTTP1, HTTP2 : TCP 기반 HTTP3 : UDP 기반... 2021. 9. 17.
스프링 공부 0 설치 java 11 intelliJ start.spring.io 스프링 기반 프로젝트를 만들어주는 사이트 Project(필요한 라이브러리 툴) Maven Project : 과거 많이 사용 Gradle Project : 요즘 많이 사용 Language Java Spring Boot : 해당버전 Project Metadata Group : 기업 도메인 명 Artifact : 프로젝트 명 Dependencies spring web thymeleaf : html 만들어주는 템플릿 엔진 빌드방법(배포) cmd - 해당폴더위치 gradlew.bat build build/libs 폴더 생성됨 (cd build/libs) java -jar hello-spring-0.0.1-SNAPSHOT.jar 스프링 웹 개발 기초 .. 2021. 9. 5.