본문 바로가기

Java

(16)
Spring Webflux 간단하게 알아보기 Webflux 란? WebFlux는 스프링 5에서 소개된 리액티브 프로그래밍을 지원하는 모듈입니다. 리액티브 프로그래밍은 비동기 및 이벤트 기반 애플리케이션을 개발하기 위한 패러다임으로, 주로 높은 확장성과 성능을 위해 사용됩니다. Spring Webflux는 Single-Thread와 Non-Blocking 방식을 사용합니다. 주요특징 webflux 의 주요 특징중 하나는 리액티브 프로그래밍입니다. WebFlux는 리액티브 프로그래밍 모델을 채택하고 있습니다. 이 모델은 비동기적이며 이벤트 기반으로 동작하여 높은 확장성과 성능을 제공합니다. 기존의 Blocking 형식의 리퀘스트는 서버에 리퀘스트가 전송될 때 마다, 서블릿 스레드가 생성되고, 워커(worker) 스레드에 작업을 위임한다. 워커 스레드가..
[Java] SHA-256 암호화 & Salt ( 적용예시 ) SHA-256 이란? SHA-256은 SHA(Secure Hash Algorithm) 단방향 알고리즘의 한 종류로, 해시 값을 이용한 암호화 방식 중 하나이다. 256비트로 구성되며 64자리 문자열을 반환한다. 여기서 단방향 알고리즘이란 암호화는 가능하지만 복호화는 불가능한 것을 의미하고, 사용자의 비밀번호와 같은 보안상 문제가 발생할 수 있는 경우에 사용하면 좋다. ( 암호화는 단방향 뿐만아니라 양방향도 있다. 양방향은 암호화와 복호화가 가능하다. ) SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 출력한다. 일반적으로 입력값이 조금만 변동하여도 출력값이 완전히 달라지기 때문에 출력값을 토대로 입력값을 유추하는 것은 거의 불가능하다. 아주 작은 확률로 입력값이 다름..
[Java] ArrayList 정렬 / Collections, List, 사용자정의 Collections 로 정렬하기 // list 선언 List intList = Arrays.asList(5,2,5,9,0,5,4,2,1); Collections.sort(intList); // 오름차순 결과 > 0,1,2,2,4,5,5,5,9 Collections.sort(intList, Collections.reverseOrder()); // 내림차순 결과 > 9,5,5,5,4,2,2,1,0 Collecntions.reversOrder() 에 파라미터 값을 넘기면 다양한 옵션으로 정렬할 수 있습니다. List 로 정렬하기 List 정렬은 Java 8 버전이상에서 가능합니다. // List 선언 List list = new ArrayList(Arrays.asList("C", "A", "B", "a"))..
[java] :: 더블콜론의 의미 :: 더블콜론 의미 java8 버전에서 등장한 ::(더블콜론)은 1 . 람다 표현식이 단 하나의 메서드만을 호출하는 경우 2. 람다 표현식이 단순히 객체를 생성하고 반환하는 경우 불필요한 매개변수를 제거하여 간단하게 표현할 수 있도록 도와주는 역할을 합니다. 문법 클래스이름::메소드이름 참조변수이름::메소드이름 Object::new 예시 1 . 메서드를 참조하는 경우 public void doubleColon(){ List list = Arrays.asList("first", "second", "third", "forth"); list.forEach(item -> System.out.println(item)); // 기본 람다식 System.out.println("----------"); list.for..
[java] java버전 변경 ( java 8 -> java 17) spring boot 3.x 이상부터는 java 17버전 이상을 지원한다고 적혀있었다. 새로운 기술도 체험할겸 기존에 사용중인 java 8버전으로 java 17버전으로 변경해보려고한다. 오라클 홈페이지에서 다운받는건 매우매우매우 복잡하므로 google에 java 17다운 이라고 검색하면 오라클 사이트 하나가 나온다. https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html 저는 이 친구를 선택하였습니다. 이후 해당 링크를 선택하신 후 다운로드를 진행해 주세요. 설치 위치 기억하세여~ 보통 java 폴더 아래에 설치됩니다. 설치 끝!! 설치가 끝났으니 환경변수 설정을 해야겠죠?? 윈도우 왼쪽 아래 검색창에 환경 변수 치시면 바..
[Java] 환경변수 설정 환경변수 설정 이유 간단하게 말해서 java파일이 어느경로에 있던 상관없이 컴파일 하고 실행시키려고 환경변수 path에 경로를 지정해 주는것이다. 하단 검색창에 내 PC 입력후 [마우스 오른쪽 - 속성] 클릭 고급 시스템 설정 클릭 환경 변수 클릭 새로만들기를 클릭하고 새 시스템 변수 창이 등장! 아래와 같이 3가지 과정을 거친다. 1 변수 이름(N) JAVA_HOME 변수 값(V) JDK 파일 경로 2 변수 이름(N) CLASSPATH 변수 값(V) %JAVA_HOME%₩lib 3 시스템 변수(S) 클릭 ▶ 편집 새로 만들기 ▶ %JAVA_HOME%₩bin 입력 ▶ 확인 이후 cmd 창을 켜서 javac - version 또는 java -version 을 입력하여 등록이 됬는지 확인
[Java] 오라클 연동 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 // Connection 객체를 null로 초기화하도록 작성합니다. Connection conn = null; try{ // 데이터 베이스 이름을 포함한 URL, 사용자 계정, 비밀번호를 작성합니다. String url = "jdbc:oracle:thin:@localhost:1521:xe"; String user = "jspbook"; // 아이디 String password = "java"; // 비밀번호 // 데이터베이스와 연동하기 위해 JDBC를 로딩하도록 Class.forName() 메소드를 작성합니다. Class.forName("oracle.jdbc.driver.Oracle..
블로그시작 보호되어 있는 글입니다.