분류 전체보기 477

추상클래스의 객체 생성 (추상클래스 인스턴스) - 추상클래스를 사용하는 이유

👏🏻 요약 더보기 객체생성을 하지 않아도 된다는 의도를 명확히 하기위해서 + 의도치않은 메모리 낭비를 막기위해 김영한님 강의를 보는 도중 상수 정보만을 가진 클래스를 만들었는데, 이 클래스가 상수 정보만을 담고있기때문에 객체생성을 막기위해 abstract class 로 선언을 하는 것을 보고 조금 의아해서 글을 남겨보고자 합니다. 김영한님 왈) 상수를 모아서 쓴거기 때문에 객체를 생성하면 안되겠죠? 그래서 abstract 로 객체 생성을 막아놓았습니다. //상수 데이터만 담은 class - 객체 생성하지 않기위해 추상클래스로 public abstract class ConnectionConst { public static final String URL = "jdbc:h2:tcp://localhost/~/t..

Java/Java 문법 2022.09.19

[Java] 스트림에서 오토박싱 (박싱, 언방식)이 일어나는 이유

스트림 병렬처리를 진행할 때, paraller Stream 이 순차적인 iterate(반복자) 보다 성능이 느리게 나오는 경우가 있습니다. ❓ 스트림 병렬처리의 성능이 낮게나오는 이유 중 하나로, 기본형(원시 타입) 특화되지 않은 스트림을 초러할 때 수반되는 오토박싱, 언방식 등의 오버헤드를 수반하기 때문이다. 라는 이유가 언급되었고, 그렇다면 스트림에서 왜 오토박싱이 일어나는지 잊어먹지 않기위해 정리합니다. 📗 요약 : 제네릭 때문에 자바 Stream 에서 내부적으로 오토박싱이(auto boxing) 일어나는 이유 📌 modern java in action 103 쪽을 보면 이유 1 👏🏻 함수형 인터페이스들에 제네릭 파라미터가 쓰여져있고, Java 에서 generice 은 참조형만 사용할 수 있다고 합..

Java/Java 문법 2022.09.16

JPA DTO PROJECTION - 클래스 기반, 인터페이스 기반

jpa 로 데이터를 불러올때, dto 혹은 엔티티말고 다른 무엇인가로 데이터를 담는방법 = 프로젝션 하고싶은 것 queryDsl 을 사용하지 않고 간단하게 jpa 만을 사용해서 dto를 담고싶었습니다. interface 기반의 dto 프로젝션이 가능하다는 것을 알고 있지만 재사용성을위해 dto class 그대로 사용하고싶었습니다. 문제 하지만 컬럼명이 맞지않아서 오류가 났고 이를 해결...해야함 인터페이스 기반이 아닌 클래스 기반 프로젝션을 할 때 에러가 남 no converter found capable of converting from type [org.springframework.data.jpa.repository.query.abstractjpaquery$tupleconverter$tupleback..

Spring/Spring Boot 2022.09.15

[Spring DB 1편] (1) Jdbc의 이해

인프런 김영한 - 스프링 DB 1 강의를 듣고 정리한 글 입니다. jdbc 의 등장배경과 사용방법, jdbc 연결방법에 대해서 다룹니다. 목차 jdbc 란 jdbc의 역사? JDBC 와 최신 데이터 접근 기술 데이터베이스 JDBC 커넥션 JDBC DriverManager 이해 JDBC 를 사용한 간단한 CRUD 1. jdbc 란 JDBC(Java Database Connectivity) 는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API 입니다. 2. jdbc 등장이유 어플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관합니다. 클라이언트가 서버(어플리케이션)에 요청을 보내면, 데이터를 저장하거나 조회하는 것을 아래처럼 데이터베이스를 사용하여 처리합니다. 커넥션 연결: 주로 TC..

[모던자바인액션] chapter 5. Stream 사용 가이드 - 스트림 활용

" Modern Java In Action - 모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드 " 독서 스터디 후, 책 내용을 정리한 글입니다. 1) Chapter 1. 자바 8, 9, 10, 11 : 무슨일이 일어나고 있는가? 2) Chapter 2. 동작 파라미터화 코드 전달하기 3) Chapter 3. 람다 표현식 4) Chapter 4. Stream 5) Chapter 5. Stream 활용 6) Chapter 6. Stream으로 데이터 수집하기 7) Chapter 7. Stream 병렬 데이터처리와 성능 Chapter 5 에서는 스트림 활용 가이드를 제공합니다. 그냥 스트링 어떻게 잘 쓰는지에 대한 예시들? 을 제공해줍니다 1. 필터링 스트림에서 요소를 선택하는 필터링을 ..

[모던자바인액션] chapter 4. Stream 이란 - 자바 스트림 가이드

" Modern Java In Action - 모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드 " 독서 스터디 후, 책 내용을 정리한 글입니다. 1) Chapter 1. 자바 8, 9, 10, 11 : 무슨일이 일어나고 있는가? 2) Chapter 2. 동작 파라미터화 코드 전달하기 3) Chapter 3. 람다 표현식 4) Chapter 4. Stream 5) Chapter 5. Stream 활용 6) Chapter 6. Stream으로 데이터 수집하기 7) Chapter 7. Stream 병렬 데이터처리와 성능 Chapter4 에서는 java8 이후 생긴 Stream API 에 대해서 설명합니다. Stream 사용하는 방법 Stream 파이프라인을 구성하는 방법 Stream 활용..

[Spring] java private 메소드 테스트 코드 작성하기

Junit 을 사용해서 유닛테스트를 작성할 때, private 접근제어자로 선언된 메서드가 반환하는 값을 테스트 하고 싶었습니다 ex) Private Method public test { private String getString(final String name, final int age) { return name + age; } } 여러 방법이 있었지만, 저는 간단하게 Spring Framework에서는지원해주는 ReflectionTestUtils를 사용해주었습니다 @Test @DisplayName("private 메소드 접근하기") void fillDate_continuity() { //given String name = "test"; int age = 5; //when final String re..

[Spring] Spring JWT 인코딩, 디코딩 하기 - Java Json 파싱

같이 보면 좋을 연결된 포스팅들 ✔️ Spring Jwt Refresh Token - 인증 인가의 흐름 ✔️ [Spring] jwt란 - jwt 내부구조, 동작과정, 스프링에서 파싱하기 👉 [Spring] Spring JWT 인코딩, 디코딩 하기 - Java Json 파싱 이번에 포스팅할 내용은 spring 에서 jwt 를 만들고, 외부에서 받아온 jwt 를 해석하는 방법과 jwt 해석한 byte 정보를 json 으로 파싱해서 jwt payload 에서 원하는 정보를 추출하는 방법 입니다. 📗 Spring JWT 만들기 Token 을 만드는 방법까지는 아니고, 간단하게 Test를 위해 Spring 에서 JWT 만드는 방법입니다. 저는 jjwt 라이브러리를 사용했고, jjwt는 JWT 토큰 생성 및 JWT..

Spring/Spring Boot 2022.08.23

[모던자바인액션] chapter 3. 람다 표현식이란 - 람다 문법, 구조, 함수형 인터페이스, 형식 추론

" Modern Java In Action - 모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드 " 독서 스터디 후, 책 내용을 정리한 글입니다. 1) Chapter 1. 자바 8, 9, 10, 11 : 무슨일이 일어나고 있는가? 2) Chapter 2. 동작 파라미터화 코드 전달하기 3) Chapter 3. 람다 표현식 4) Chapter 4. Stream 5) Chapter 5. Stream 활용 6) Chapter 6. Stream으로 데이터 수집하기 7) Chapter 7. Stream 병렬 데이터처리와 성능 chapter3 에서는 람다표현식에 대해 이야기합니다. 람다 문법, 람다의 구성, 람다 사용방법, 함수형 인터페이스, 형식 추론, 메소드 참조 등등,, 👏🏻람다의 구성과 ..

[Spring] jwt란 - jwt 내부구조, 동작과정, 스프링에서 파싱하기

같이 보면 좋을 연결된 포스팅들 ✔️ Spring Jwt Refresh Token - 인증 인가의 흐름 👉 [Spring] jwt란 - jwt 내부구조, 동작과정, 스프링에서 파싱하기 ✔️ [Spring] Spring JWT 인코딩, 디코딩 하기 - Java Json 파싱 이전 포스팅에서 인증과 인가의 흐름, 인증하는 방법들에 대해 공부를 해보았고 이번에는 실질적으로 자주 사용하고 사용되는 JWT 토큰에 대해서 조금 더 자세하게 공부해 보고자 합니다. JWT란 👏🏻 JWT는 Json Web Token의 약자로, 단어 그대로 Json 기반의 Web Token입니다. 발급된 토큰값을 Json 객체로 변환시켜 client에게 전송해주는 것을 말합니다. JWT는 JWS(Json Web Signature) 와 J..

Spring/Spring Boot 2022.08.18