개발중 (617) 썸네일형 리스트형 [Querydsl 에러] java.lang.NoClassDefFoundError: com/google/common/collect/Multimap 기존 querydsl 라이브러리는 다음과 같다. querydsl-jpa 라이브러리에 com/google/common/collect/Multimap 가 존재한다. com.querydsl querydsl-jpa 4.1.3 com.querydsl querydsl-sql 4.1.4 com.querydsl querydsl-apt 4.3.1 Core 를 추가시켜 주자. com.querydsl querydsl-core 4.3.1 JWT 인증과 Session 인증의 차이 JWT JWT는 JSON Web Token의 약자로써 세션에 사용자 데이터를 저장하는 전통적인 쿠키 세션 방식과 다르게 json 객체에 사용자 정보의 일부를 담는다. 기존 쿠키 세션 동작 방식과 문제점 쿠키 세션 방식을 사용하는 이유를 이해하기 위해선 HTTP 프로토콜의 특성을 이해할 필요가 있다. Stateless HTTP 프로토콜은 클라이언트와 서버의 통신이 끝나자마자 상태 정보를 잊어버린다. 예를 들어 USER1이 방금 전까지 서버와 통신을 했더라도 연결이 끊기자마자 USER1이 누구인지 까먹어버리고 다시 클라이언트의 정보를 요구하는 것이다. 페이지를 이동할때마다 내가 누구인지 확인하는 로그인 창이 뜨면 매우 귀찮을 것이다. 이를 해결하기 위해서 세션과 쿠키라는 기술을 사용한다. 로그인 과정 세션은.. [SpringBoot] SpringBoot Retrofit Retrofit 이 뭐야 ? OKHttp 라이브러리를 기반으로 http 통신을 할 수 있게 도와주는 자바 라이브러리이다. 보통 안드로이드 또는 스프링 웹 어플리케이션 서버에서 외부 서버와 API 통신을 하기 위해 사용합니다. JAVA에서 HTTP 통신을 하기위한 대표적인 라이브러리가 HttpUrlConnection 이다. HttpUrlConnection의 단점 - 코드가 길어지며 가독성이 떨어진다. - Json 으로 받은 객체를 일일이 Convert 해야한다. HttpUrlConnection의 장점 - 가독성이 높아진다. - Json 으로 받은 객체를 일일이 Convert 해야한다. import java.util.List; import retrofit2.Call; import retrofit2.http... JPA ( Java Persistence API ) Transaction 🧐 트랜잭션이란 ? DB 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들 🧐 JPA 트랜잭션 격리수준 트랜잭션이 보장해야하는 ACID 중 격리성과 관련된 내용인데 격리성을 완벽히 보장하려면 동시성 처리 성능이 매우 나빠진다. 이런 문제로 인해 ANSI 표준은 트랜잭션의 격리 수준을 4단계로 나누어 정의했다. Atomicity; 원자성 트랜잭션 내의 작업들은 모두 성공 또는 모두 실패한다. Consistency; 일관성 모든 트랜잭션은 일관성 있는 DB 상태를 유지한다. (ex: DB의 무결성 제약 조건 항상 만족) Isolation; 격리성 동시에 실행되는 트랜잭션들은 서로 영향을 미치지 않는다. (ex: 동시에 같은 데이터 수정 X) D.. JPA ( Java Persistence API ) JPA ( Java Persistence API ) ▶ 개념 • 자바 진영에서 ORM( Object - Relational Mapping ) 기술 표준으로 사용되는 인터페이스 모음 • 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크 • JPA 를 구현한 대표적인 오픈소스로는 Hibernate가 있다. JPA 구현체 ※ ORM( Object - Relational Mapping ) • 객체와 관계형 데이터베이스의 데이터를 자동으로 Mapping( 연결 ) 해주는 것을 의미한다. • 객체지향 프로그래밍 - 클래스 사용 / 관계형 데이터베이스 - 테이블 사용 객체 모델과 관계형 모델간의 존재하는 불일치를 ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치 해결한다. ▶ JPA 동작.. [Spring] framework 와 Spring 에 대해서 알아보기 스프링 이름도 힘든 개발을 했던 겨울이 가고 개발하기 좋은 봄이왔다는 것을 의미한다. 프레임워크와 스프링부트 애플리케이션을 만들 때 프레임워크 없이 개발하는 것은 어렵고 고된일이다. 프레임 워크는 용도에 맞는 일반적인 기능들을 보편적인 방식으로 제공한다. 예를 들어 웹 애플리케이션은 HTTP 프로토콜을 사용하여 사용자 요청에 따른 적절한 응답을 한다. 그래서 웹 애플리케이션 프레임 워크는 HTTP 프로토콜 기반의 요청(request)과 응답(response) 울 처리할 수 있도록 특정 객체나 클래스등을 제공한다. 개발자는 프레임워크에서 제공하는 기능을 사용하면 보다 편리하고 쉽게 애플리케이션을 개발할 수 있으며, 이는 곧 개발자의 개발자의 생산성향상으로 이어진다. 프레임워크를 선택하는 방법도 다양하다. .. [Spring] 단일책임원칙을 지키고 있나요 객체지향의 주요 5가지 원칙(SOLID) SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) 의존 역전 원칙 객체지향 5원칙은 왜 필요한가? 올바른 객체지향 설계를 위해 수립한 원칙들이며 통틀어 객체지향 5원칙(SOLID)이라고 불립니다. 이는 필수로 적용하지는 않지만 적어도 이 원칙을 준수할수록 올바르게 설계된 객체지향이라 할 수 있습니다. 프로그래머가 시간이 지나도 유.. [Spring] JPA Specification 를 이용해 검색 API 개발하기 ✍ 일단, 저는 JPA 에 대해 매우 큰 관심이 있습니다. 하지만 우리 회사에서는 사용하지 않기에, JPA 에 대해 공부를 해보려고 합니다 ! Spring Jpa Progect Ex ✍ GitHub - soobinJung/Jpa_Defalut: Spring Jpa Specification Test Spring Jpa Specification Test. Contribute to soobinJung/Jpa_Defalut development by creating an account on GitHub. github.com 아래와 같은 결과 값을 반환하는 간단한 API 를 구상해보았습니다. 더보기 http://localhost:8080/api/user [ { "id": 1, "userName": null, "pas.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 78 다음