목록Java (32)
Dailelog

1. 리플렉션이란?단어 자체는 반사, 반영이라는 의미를 가지고 있습니다. java에서는 아래의 의미를 가지고 있습니다.Runtime 시에 이미 로드된 클래스 내에서 다른 클래스를 동적으로 로드하여 생성자, 필드, 메소드 등 access 할 수 있는 기능입니다.C 같은 compile 언어들은 필드명, 메소드명 등의 정보를 주소값으로 만 알 수 있습니다. 그런데 java는 프로그램을 실행하면서 필드명, 메소드 명 등을 직접 알아 낼 수 있는 기능이 reflection입니다.2. 사전 지식정적 바인딩 vs 동적 바인딩바인딩이란 프로그램에 사용된 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위를 의미합니다.정적 바인딩실행 이전에 값이 확정되고 컴파일 타임에 호출될 함수가 결정되는 것으로, 함수는 기본적으로 ..
이번 주차 미션에 추가된 요구 사항 Java Enum을 적용한다. 여기서 Enum 타입을 저는 잘 사용하지 않았습니다. 기존에 상수를 사용할 때 자체 클래스를 구현하는 경우 또는 인터페이스 상수를 활용하곤 했습니다. 알고있던 내용 말고 새롭게 알게된 내용 위주로 다시한번 새롭게 공부해서 정리 했습니다.Enum기본적인 열거 타입 선언public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}기존에 내가 공부했던 Enum 타입은 ‘열거 상수’ 의 형태로 그저 상수로 사용해왔습니다. Week today = Week.MONDAY;public enum Rank { FIRST(6,fal..

현재 기능을 크게 로그인,게시글,댓글 3가지가 존재합니다. 1. 로그인 기능 사용자 정보를 이용해 인증된 사용자만 기능을 사용할 수 있도록 하기위한 로그인 기능 , 로그인 완료 시 DB에 JWT를 이용한 세션 정보를 저장하고 확인하는 절차를 수행하도록 개발 했습니다. 현재는 로그인 기능만을 제공하고 있습니다. 추후 회원가입과 아이디,비번 찾기 비밀번호 변경기능을 추가할 예정입니다. 아래에 2가지 기능 말고 추가 기능 개발시 로그인 기능이 필요하다고 생각했습니다.2. 게시글 기능Dailelog 는 블로그 라는 정체성의 기본인 글작성 기능입니다. 제목과 내용을 입력받아 메인화면에 게시글 목록을 페이징하여 보여지 한다. 블로그 게시글은 메인 admin 계정만 가능하게 개발된 상태입니다. CRUD 가 모..

서론 💡 Controller에서 인가처리하는 부분을 공부하면서 @Secured(),@PreAuthorize, @PostAuthorize 3개의 어노테이션을 이용해서 인가처리를 해주면 되다는 것을 알고 이번에 @PreAuthorize에 대해서 집중해서 이야기 해볼 생각이다.@PreAuthorize @PreAuthorize("hasRole('ROLE_ADMIN')&&hasPermission(#postId,'POST','DELETE')") @DeleteMapping("/posts/{postId}") public void delete(@PathVariable(name = "postId") Long postId) { PostResponse response = postService.ge..

후배가 나에게 자바를 어디까지 공부해야하는지를 나에게 물어보게 되었고 그것을 설명하던 중 나도 정확하게 용어와 내용이 잘 정리되지 않아 과거 정리해준 김태균 교수님 전공수업 내용과 구선생님(구글) 찾아 이 글로 정리하게 되었다. 먼저 내용은 아래와 같다표준 에디션의 자바 플랫폼 (Java SE)엔터프라이즈 에디션의 자바 플랫폼 (Java EE)Java MEJava SE(Standard Edition)가장 기본적인 자바 플랫폼을 의미한다. 흔히 자바 언어라고하는 대부분의 패키지가 포함된 에디션이라고 생각하도 좋다Java SE의 API는 자바 프로그래밍 언어의 핵심기능들을 제공기본적인 문법기초적인 class네트워킹보안데이터베이스 처리그래픽 사용자 인터페이스 개발XML파싱가상머신, 개발도구, 배포기술, 부가 ..

이야기의 시작은 동아리실에서 함께하는 동기가 나에게 정보처리기사 필기 기출 문제를 보여주게 되면서 시작되었다. 문제는 23년도 3회차 20번 문제인데 내가 가지고 있는 시나공 기출문제집과는 다른 코드의 문제였다. 그 코드는 다음과 같다. //자바로 작성된 아래 코드의 실행 결과를 쓰시오. class Parent { int x = 100; Parent() { this(500); } Parent(int x) { this.x = x; } int getX() { return x; } } class Child extends Parent { int x = 4000; Child() { this(5000); } Child(int x) { this.x = x; } } public class Main { public st..

김영한님의 실전! 스프링 부트와 JPA 활용 2 - API 개발과 성능 최적화 편을 공부하는 과정중 나의 생각을 정리하는 목적을 가지고 있다. xToOne(ManyToOne,OneToOne)관계에서 성능 최적화 @GetMapping("/api/v1/members") public List membersV1(){ return memberService.findMembers(); } 위 코드에 경우 엔티티가 직접 노출되게 된다. 하지만 협업에서는 엔티티를 직접 노출하면 안되다. 그리고 array를 넘겨주기 때문 확장성이 떨어진다. 별도의 DTO나 Request,Response객체를 만들어 엔티티를 숨기고 내가 원한 스펙 엔티티의 정보를 담아 보낼 수 있게 만들어 주어야 한다. ..

이 글에서는 제가 JAVA 응용프로그램에 DB를 연결하는 과정에 대해서 이야기 해볼생각이다. 본 글의 저자는 아직 배우고 있는 단계이기 때문에 문제가 있거나 더욱 좋은 방식이 존재한다면 댓글로 이야기 해주시면 공부에 더욱 도움이 될 것이라 기대된다. 본 글을 보기 이전에 전의 글들을 보는 것을 추천한다. 2023.07.22 - [포트폴리오] - JAVA SWING GUI (With JDBC) 로그인 예제 프로그램 -2.JDBC 연결 JAVA SWING GUI (With JDBC) 로그인 예제 프로그램 -2.JDBC 연결 전에 글 이후로 JDBC연결에 대해서 이야기 할 것이다. 1.로그인 기능을 보지 않았다면 보고 것을 추천한다. 로그인 기능을 설명하기 전에 JDBC연결하는 것을 먼저 이야기했어야 하는 것..

전에 글 이후로 JDBC연결에 대해서 이야기 할 것이다. 1.로그인 기능을 보지 않았다면 보고 것을 추천한다. 로그인 기능을 설명하기 전에 JDBC연결하는 것을 먼저 이야기했어야 하는 것이 아닌가 라는 생각을 해서 2편으로 JDBC를 이야기를 하기로 했다. 2023.07.19 - [포트폴리오] - JAVA SWING GUI (With JDBC) 로그인 예제 프로그램 - 1. 로그인 JAVA SWING GUI (With JDBC) 로그인 예제 프로그램 - 1. 로그인 이번에 공부한 것들을 이용해서 간단한 로그인 예제 프로그램의 제작 과정과 생각들을 이야기 해볼 생각이다. 저는 현재 JAVA spring 을 공부시작 했는데 그전에 공부하던 것들을 이용해 무엇인가 basakreview.tistory.com 일..

이번에 공부한 것들을 이용해서 간단한 로그인 예제 프로그램의 제작 과정과 생각들을 이야기 해볼 생각이다. 저는 현재 JAVA spring 을 공부시작 했는데 그전에 공부하던 것들을 이용해 무엇인가를 만들어 보고 싶다고 생각해 제작하게 되었다. 본프로그램의 구성은 다음과 같다 public class BaSaKPortfolio { public static void main(String[] args) { LoginDialog loginDialog = new LoginDialog(); loginDialog.setVisible(true); } } 먼저 프로그램이 실행되면 로그인 다이얼로그를 뛰운다. 아이디와 비밀번호를 입력 후 로그인 버튼을 누르면 testfild에 내용을 가지 JDBC을 이용해 검증하는 방식으로..