본문 바로가기

Java4

자바 버전에 대해 알아보자 (Java8 / Java11 / Java17) 회사에서 주로 사용한 자바 버전은 8이다. 기존의 코드를 유지보수 할 일이 많고, 보편적이라 현재 사용 비율이 가장 큰 버전이 8이라고 한다. 그러나 서비스기업이나 새로 프로젝트를 시작할땐 17버전을 많이 사용하는 추세인 것 같다. Java 8 (1.8 이라고도 함) 오라클이 java를 인수한 후 첫번째 LTS 출시버전 32비트를 지원하는 마지막 버전 유료/무료 버전이 나뉨 ( Oracle JDK/ Open JDK ) Java 11 8버전에서 분리되던 Open JDK와 Oracle JDK 통합 람다 지역변수 var 키워드 사용 가능 Java 17 스프링 부트 3.0 부터 자바 17 이상을 지원한다. - 참고 - https://cheerup313.tistory.com/86 [JAVA] 자바 버전에 대하여 .. 2024. 2. 7.
Connection Pool 이해하기 1. JDBC Driver 자바로 웹사이트를 만들때, 데이터를 다루기 위해 DB와 자바를 연결해야 한다. 자바 어플리케이션과 DBMS(DataBase Management System)는 서로 다른 시스템이기 때문에, 중간에 어댑터를 사용해서 상호 연결하여 사용한다. 이때, 자바 프로그램의 요청을 DBMS가 이해할 수 있도록 ( 클라이언트 사이드 어댑터 역할 ) 각 DB는 JDBC 드라이버를 제공한다. 2. 데이터베이스 커넥션 풀 (DBCP) DB 커넥션 DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단 DB Connection은 Database Driver와 Database 연결 정보를 담은 URL이 필요함 사용자가 요청할때마다 커넥션 객체가 생기면 서버에 과부하가 걸린다. 이를 방지.. 2023. 12. 14.
[Java] Spring MVC와 레이어드 아키텍처에 대한 정리 1. MVC 패턴 Model - View - Controller 소프트웨어 개발에는 디자인 패턴이라는 개념이 있다. 필요한 기능에 대한 코드를 무턱대고 만드는것이 아니라, 일정한 형식이나 패턴에 맞게 코드를 만들어서 기능을 구현해야 한다. 이를 '관심사의 분리'라고 한다. 관심사가 분리되면 각 기능별 수정이 필요할때, 전체 코드를 고칠 필요 없이 해당 관심사에 관련된 코드만 수정하면 된다. 웹 사이트 개발을 백엔드(서버) / 프론트엔드(클라이언트)로 나누면, 백엔드 개발자가 Java의 Spring / Spring boot 프레임워크를 사용할때 주로 MVC 패턴을 활용한다. 모델 (Model) - 데이터 담당 계층 뷰 (View) - 사용자가 보는 인터페이스(UI) 담당 계층. - 모델이 처리한 데이터를 .. 2023. 12. 6.
[Java] JWT로 자동 로그인 기능을 위한 API 구현하기 * JWT란? JWT = JSON Web Token JWT는 웹 애플리케이션 간에 정보를 안전하게 전송하기 위한 표준 방식 중 하나로, 토큰 기반의 인증 시스템에서 보편적으로 사용된다고 한다. egov환경에서 백엔드 개발 중 API 구현 요구사항을 통해 처음 알게되었다. 내용은 페이지 안에서 버튼을 클릭하면 링크를 통해 다른 사이트로 넘어가야하는데, 이때 넘어간 사이트에서도 같은 사용자 정보로 자동 로그인이 되도록 구현하는 것이다. 1. 서버 : 사용자ID, 비밀번호를 JWT로 base64로 인코딩한 값을 return하는 API 구현 2. 클라이언트 : 해당 API를 호출하여 응답결과의 JWT토큰 값을 decoding 해서 자동 로그인 기능을 구현 * 구현 과정 1. Maven 종속성 추가 pom.xml.. 2023. 11. 17.