분류 전체보기76 rename the root module , java project in 인텔리제이 인텔리제이에서 자바프로젝트 root module이름 변경 하는 법 You can rename the root module of your java project, following these steps: Go to Project Structure (Ctrl+Alt+Shift+S) → Project Settings / Project → Project name: Project name: Open the settings.gradle file and rename the rootProject.name rootProject.name Once done, delete the .idea folder from your root project folder, rename your project folder on your sys.. 2022. 5. 3. 반찬가게 프로젝트 - 공식문서 읽는 법, 유의미한 삽질 2주간 프로젝트를 진행하면서 배운 것들을 적어보았다. 사용기술 Spring Data JDBC [△] OAuth [] nginx를 통해 java application tomcat서버와 통신 셋팅 [] 배포 프로젝트 때 배운 점 Spring Data JDBC 자료가 별로 없어서 공식문서를 보면서 기술을 익힐 수 있는 기회가 되었고 , 막연하고 읽기 힘들었던 공식문서 읽는 방법을 감을 잡은 것 같아 뿌듯했다. 새로운 기술을 적용하면서 기술과 상관없는 것들을 삽질하는 일도 많았고, 그 과정들을 적어보려고 한다. 내가 파악한 공식문서 읽는 법 1 먼저 근간이 되는 개념을 알기 그래야 전체적인 흐름을 잡을 수 있는데 근간이 되는 개념이 무엇인지 어떻게 알 수 있는가? 그것 또한 공식 문서에 나와 있었다. All S.. 2022. 4. 30. WebMvcConfigurer org.springframework.web.servlet.config.annotation.WebMvcConfigurer WebMvcConfigurer 스프링프레임워크에서 제공하는 config 관련 interface이다. 구현클래스 WebMvcConfigurerAdapter deprecate 되었다. 이유 알아보기 공부했던 이유 메세지 컨버터, objecMappter에 대해 알아보고 싶었다. API request, response 속성들의 데이터 타입이라던지, 속성의 맵핑 시, 잘 되지 않았을 때 무엇을 봐야 하고 해결을 해나가기 위해 공부하고 싶었다. 공부해보니 스프링의 동작원리를 알아야 했으며 그래서 키워드로 검색해 이해하기엔 한계가 있었다. 그래도 토비의 스프링은 설명이 워낙 자세해서 제일 유용한 자.. 2022. 4. 18. Todo만들기 - 회고 Todo 프로젝트가 끝나고 다른 사람의 코드를 보면서 내 코드를 다시 확인하고 있다. 내가 남의 코드를 보는 방식은 맨 처음 사람 코드는 기술 지식을 이해하는데 노력을 많이 하는 사람 것을 처음 보고 그 코드는 꽤 자세히 보는 편이다. 그러면서 내 코드를 다시 보는데.. '몇 일전의 나야.. 왜 이렇게 했니..' 이불킥하고 싶은 코드를 적어본다. 이렇게 잘못된 코드를 작성한 이유는 기초지식을 간과한 부분 때문이라 생각해서 정리해 놓는다. setter에 객체 자신을 매개변수로 넣기 그러면서 메서드 이름도 그냥 setter인게 좋다고 생각하는데, 그 이유는 그래야 더 명확하게 이게 setter인지 알 수 있지 않을까?해서이다. 그래도 결국은 내가 이해하기 편하게 insert라 했는데 다시 봐도 setter가.. 2022. 4. 17. NoSuchElementException Exception 종류 - NoSuchElementException 순차적 검색이 가능한 데이터프레임 안에 담긴 자료를 가져올 때 next() 메서드를 써서 데이터를 가져오는데, 이때 하나의 값에 대해서 next가 두 번 나오게되면 발생하는 오류이다. 2022. 4. 16. Objects.requireNonNull() - java.util.Objects Objects.requireNonNull() 사용 이유 Objects.requireNonNull() 메서드 코드 public static T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; }당연하게 느껴지는 코드이고, null일 때 당연히 NPE가 발생하는데 왜 사용해야 할까? 명시성 explicity null이 아니어야 함을 명시적으로 표현할 수 있다. 따라서 과거에 짠 코드가 미래에 사용될 때 해당 객체가 null이면 안된다는 것을 개발자가 명시적으로 알 수 있다. card.setId(Objects.requireNonNull(keyHolder.getKey()).longValue());fail-.. 2022. 4. 16. static 정적 멤버(클래스 멤버) : static 변수, static 메서드 클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할 때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 사용할 수 있다. 객체에 소속된 멤버가 아니라 클래스에 고정된 멤버 2022. 4. 13. 로깅 라이브러리 Logging Library 자바 로깅 System.Logger의 구현체로 무엇을 사용할까? 현장에서 사용하고 있는 자바 로깅의 변화 log4j -> logback -> log4j2 최근에는 다시 log4j2를 사용하고 있는 추세라고 한다. 읽어보기 logback을 사용해야 하는 이유 Log4j2 사용 Logging을 구현하고 있는 구조를 알지 못하면 이해 하기 힘든 글인 것 같다. Logger 이해하기 Logger는 꽤 다양한 것을 묶어 사용하게 되어 있는 것 같았다. 자세하게 공부하지는 못했지만 위 2개 url 먼저 보는 것도 좋다. SLF4J SLF4J는 로깅구현체가 아닌 , Logging 라이브러리에 대한 Facade 역할을 한다. 즉, 로깅 라이브러리를 변경하는 경우(log4j -> logback) 소스 코드에 대한 수정을.. 2022. 4. 11. 정적팩토리 메서드 정적팩토리 메서드 특징 추상 팩토리 패턴, 팩토리 메서드 패턴과 무관하다 단순하게 인스턴스를 만들어서 리턴하는 팩토리 역할을 하는 메서드이다. 생성자대신 정적 팩터리 메서드 사용 고려 객체의 인스턴스 생성 시, 이름을 부여할 수 있다. 생성자의 시그니처가 동일할 때 선언부를 동일하게 판단. 매개변수의 위치를 바꾸거나해서 우회적으로 생성자를 다르게 표현. 하지만 생성자는 이름이 고정되어 있어 서로 다른 이유를 명칭하지 못한다. 정적팩토리 메서드는 이름을 사용하여 객체의 인스턴스를 만들어주는 메서드를 만들 수 있다. 인스턴스를 통제할 수 있다. 생성자를 private으로 하여 외부에서 객체를 생성할 수 없게 한다. 정적팩토리 메서드를 통해 객체를 사용하게 한다. 이렇게 하면 여러 개의 인스턴스를 만들 수 없.. 2022. 4. 9. 인텔리제이 Java project에 외부 라이브러리(assertJ) 등록하기 인텔리제이 Java project에 assertJ 등록하기 자바 프로젝트에서 assertJ를 사용하여 테스트를 하고 싶을 때 외부 라이브러리을 추가해주어야 하는데요. 빌드 툴이 포함되어 있지 않은 순수 자바 프로젝트에 외부 라이브러리 등록하는 방법입니다. 인텔리제이 Project Settings 열기 Dependencies 탭에서 + 누르기 2 Library 선택하고 Maven From 선택하기 keyword 검색창에 assertj.core 라고 검색한다. 알맞은 라이브러리를 선택한다. 2022. 4. 3. [Java] of - 정적 팩토리 메서드 참고 자료 로또 예제로 설명한 블로그 이펙티브 자바를 요약한 글 백기선님의 정적 팩토리 메서드 영상 시리즈로 되어 있다. 2022. 3. 31. [토비의스프링] 1-7 의존관계 주입 DI IoC가 매우 느슨하게정의돼서 폭넓게 사용되는 용어라는 점에서 스프링이 제공하는 IoC 방식을 핵심을 짚어주는 의존관계 주입Dependency Injection이라는, 의도가 명확히 드러나는 이름을 사용하기 시작했다. 먼저 의존관계란 무엇인지 생각해보자. 두 개의 클래스 또는 모듈이 의존관계에 있다고 말할 때는 항상 방향성을 부여해줘야 한다. A -> B (A가 B에 의존하고 있다) UML에서 말하는 의존관계란 이렇게 설계 모델의 관점에서 이야기하는 것이다. 런타임 시에 오브젝트 사이에서 만들어지는 의존관계도 있다. 프로그램이 시작되고 UserDao 오브젝트가 만들어지고 나서 런타임 시에 의존관계를 맺는 대상, 즉 실제 사용대상인 오브젝트를 의존 오브젝트dependent object라고 말한다. 런타임 .. 2022. 3. 30. 이전 1 2 3 4 5 6 7 다음