전체 글 29

Spring Security Deprecated Configuration(Spring Boot 3.1.x, Spring Framework 6.1.x)

Spring Boot 3.1.x, Spring Framework 6.1.x Spring Security Deprecated Configuration Spring Boot 2.x 대 버전을 사용하다가, 이번에 Spring Boot 3.1 버전을 사용할 일이 생겼는데 변경 점이 있어 작성합니다. Deprecated된 메서드를 보고 띠용..!!!했지만?! 아래 사이트 를 보고 참고하여 해결한 내용을 작성합니다. https://docs.spring.io/spring-security/reference/whats-new.html What’s New in Spring Security 6.1 :: Spring Security Spring Security 6.1 provides a number of new feature..

Develop/Spring 2023.07.17

Mac OS M1 Eclipse Temurin OpenJDK 다운로드(Adoptopenjdk에서 Temurin 으로 변경)

저는 Adoptopenjdk의 11버전을 사용하고 있었는데, 더 Adoptopenjdk 저장소에서 상위 버전의 JDK를 설치하려고 하니 찾을 수가 없었습니다. Adoptopenjdk는 Deprecated 됨에 따라 2021년 8월에서 지원을 멈춰 더이상 업데이트 되지 않고 있습니다. 이클립스 재단에서 진행하고 있는 Eclipse Adoptium 를 통해 JDK 설치하려고 합니다. Eclipse Adoptium 공식 사이트 Home | Adoptium The Adoptium® Working Group The Adoptium Working Group promotes and supports high-quality runtimes and associated technology for use across the ..

Develop/Java 2023.07.14

Spring Framework 6.0, Spring Boot 3.0 Preview

Spring의 메이저 버전이 변경되면서 많은 것들이 달라졌는데, 어떤 것들이 변경되었는지 알아보려고 합니다. Spring Boot 3.x, Spring Framework 6.xSpring Boot 2.7.x 버전대의 유지보수 및 보안 업데이트는 2023년 11월에 종료됩니다. 어떤 것들이 변할까요?추가 종속성Kotlin 1.7+Lombok 1.18.22+(JDK 17 Support)Gradle 7.3+ JDK17+, JakartaEE9+ Java EE API → Jakarta EE 9+ 로 이동 Servlet, JPA 등 일부 namespace javax. → jarkarta로 변경 Hibernate ORM 5.6.x 버전부터 hibernate-core-jakarta 사용 javax.persistence..

Develop/Spring 2023.07.13

Project Loom’s Virtual Thread(가상 스레드)

운영체제 기반의 전통적인 JAVA Thread 단점하나의 JAVA Thread는 하나의 운영체제 스레드, 1:1 매핑Thread Pool에 설정한 만큼의 Thread가 Pool에 담겨 하나의 Thread는 하나의 요청을 처리하는 방식Thread 생성 및 전환시 발생하는 컨텍스트 스위칭 비용이 크고 성능적 이슈가 존재CPU 코어당 여러 스레드를 제공하더라도 대부분 서비스의 응답을 기다리는 시간이 길기 때문에 큰 의미가 없었음 Reactive Programming위 같은 문제들의 극복을 위해 Async - Non Blocking 방식의 Reactor, RxJava와 같은 프레임워크가 많이 도입되어왔다. 이런 프레임워크에서 제공하는 Reactive Programming은 러닝커브가 존재하고 기존의 동기 프로그..

Develop/Java 2023.07.13

IntelliJ Code Style 적용하기, Code Style 파일 쉽게 만들기(Code Convention)

실제로 프로젝트를 진행하다가 팀원들과 함께 일을 하다보면 각자의 코드 스타일이 다다르기 때문에 가독성이 떨어지는 경우들이 많이 있습니다! 보통 코드 컨벤션, 스타일을 정의하고 업무를 하기는 하지만 일일이 그걸 기억하고 맞추기란 쉽지 않죠. 그럴때에 코드 스타일을 설정하면 원하는 포맷을 유지할 수 있도록 도와주는데, 이를 설정하는 방법을 소개합니다! 코드 컨벤션(Code Convention)? 코드 컨벤션이란 가독성이 좋고 관리하기 쉬운 코드를 작성하기 위한 코딩을 위한 규약, 룰입니다. 예를 들면 ”우리 팀은 들여쓰기는 4칸, 클래스명은 대문자로 시작하고 변수명은 카멜 케이스를 사용하고, 상수는 대문자를 사용하자“라는 일종의 코드 룰을 말합니다. 1. 준비 사항 - CodeStyle 파일 (필수 아님!)..

Develop/IntelliJ 2023.07.05

[프로그래머스] (SQL) 재구매가 일어난 상품과 회원 리스트 구하기

프로그래머스 SQL 고득점 Kit LV3. 재구매가 일어난 상품과 회원 리스트 구하기 문제 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. 풀이언어 MYSQL SELECT REBUY.USER_ID , REBUY.PRODUCT_ID FROM ( SELECT USER_ID , PRODUCT_ID , COUNT(USER_ID) AS USER_BUY_CNT FROM ONLINE_SALE WHERE 1=1 GROUP BY USER_ID , PRODUCT_ID ) REBUY WHERE 1..

Develop/Programmers 2023.01.20

[프로그래머스] (SQL) 카테고리 별 도서 판매량 집계하기

프로그래머스 SQL 고득점 Kit LV3. 카테고리 별 도서 판매량 집계하기 문제 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요. 풀이언어 MYSQL SELECT B.CATEGORY , SUM(SALES) AS TOTAL_SALES FROM BOOK B , BOOK_SALES BS WHERE B.BOOK_ID = BS.BOOK_ID AND BS.SALES_DATE BETWEEN '2022-01-01' AND '2022-01-31' GROUP BY B.CATEGORY ORDER BY B.CATEGORY ASC 풀이 - 카테고리별 판매량을 구하는..

Develop/Programmers 2023.01.20

Mac OS M1 JAVA 설치법(Open JDK) Adoptopenjdk

Mac OS Homebrew 설치 Mac OS Homebrew 설치(Mac OS용 패키지 관리자) Mac OS 에서 Java 설치하기 전에 homebrew를 선행 설치 합니다. 1. homebrew 설치 homebrew는 Mac OS에서 각종 패키지를 설치할 수 있도록 도와주는 패키지 관리 애플리케이션입니다. https://brew.sh/index_ko Homebrew eroul-ri.tistory.com Mac OS에서 Java를 설치하기 전에 위에 Homebrew가 선행 설치가 필요합니다. Optional. Cask 패키지 설치 - cask가 설치되어있다면 넘어가셔도 되고, cask가 설치되어있지 않다면 터미널에서 아래의 명령어를 통해 설치해주세요. brew install cask 저는 Adoptop..

Develop/Java 2023.01.17

Mac OS Homebrew 설치(Mac OS용 패키지 관리자)

Mac OS 에서 Java 설치하기 전에 homebrew를 선행 설치 합니다. 1. homebrew 설치 homebrew는 Mac OS에서 각종 패키지를 설치할 수 있도록 도와주는 패키지 관리 애플리케이션입니다. https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 터미널을 실행한 후 아래의 스크립트를 입력합니다. 패스워드를 입력하라는 안내가 보여지면 패스워드를 입력한 후 Enter! /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" homebrew 설치가 완료 되었다면, h..

Develop/기타 2023.01.17

[프로그래머스] (SQL) 오프라인/온라인 판매 데이터 통합하기

프로그래머스 SQL 고득점 Kit LV4. 오프라인/온라인 판매 데이터 통합하기 문제 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. 풀이언어 MYSQL WITH SALES_DATA AS ( SELECT SALES_DATE , PRODUCT_ID , USER_ID , SALES_AMOUNT FROM ONLINE_..

Develop/Programmers 2022.12.10