[Intelij] 멀티모듈 프로젝트 구성해보기
·
노빠꾸 개발일지/JAVA
이번 피드에서는 멀티모듈 프로젝트를 구성해보겠습니다. 먼저 멀티모듈에 대해 간단히 알아보겠습니다. 멀티모듈 프로젝트는 하나의 Root 프로젝트 아래에 여러개의 독립적인 서브모듈(SubModule)로 구성된 프로젝트 구조를 의미합니다. 여기에서, 각 서브모듈은 독립적인 코드베이스, 설정, 빌드스크립트를 가질 수 있습니다.  1. ROOT 프로젝트 생성우선 기본이 될, Root 프로젝트를 생성해줍니다. 프로젝트 생성은 어렵지 않아 넘어가겠습니다. 프로젝트는 Gradle, Maven 기반의 Java프로젝트로 생성하면 됩니다. Root프로젝트에서는 별도의 코드없이 하위 모듈만 관리할 것이기 때문에, 생성이 완료된 프로젝트에서 src폴더는 삭제합니다.  여기까지 완료가 되면, Root프로젝트의 기본 구성이 완료입..
[Intelij] 인텔리제이 기본 초기 세팅 정리(메뉴 글자 크기, 소스코드 폰트크기 등등)
·
노빠꾸 개발일지/JAVA
이번 피드에서는 인텔리제이 기본 초기 세팅을 정리해보겠습니다. 1. 메뉴 크기 조정 인텔리제이에서 화면 해상도에 따라 메뉴의 폰트가 작을 수 도 있다. 이럴경우 메뉴의 글자 크기를 조정해 줄 수 있다. Intelij에 Settings메뉴에들어가 좌측메뉴에 Appearance를 선택해준다. 그리고, 아래의 이미지에 체크해둔 것 처럼 Use custom font 체크박스에 체크를 해준 후, 셀렉트 박스에서 원하는 폰트 사이즈를 선택해주면 선택한 크기로 메뉴의 폰트 사이즈가 적용된다. 2. 소스코드 폰트 조정 소스크드의 폰트 및 폰트 사이즈를 변경하고 싶을때도 있다. 이때도, Settings메뉴에서 좌측 Editor -> Font 메뉴에 들어가면 폰트 및 폰트사이즈를 선택하여 사용할 수 있다. 3. 기타 세팅..
[Java] Optional이란?
·
노빠꾸 개발일지/JAVA
Optional ? 자바8에서는 java.util.Optional라는 새로운 클래스를 제공하여 값이 있거나 없음을 표현할 수 있다. Optional은 선택형 값을 캡슐화하는 클래스이다. Optional로 값이 없는 상황을 적절하게 처리하도록 강제할 수 있다. 즉, 예상치 못한 null예외를 방지할 수 있다. 값이 있으면 Optional클래스는 값을 감싼다. 반면 값이 없으면 Optional.empty 메서드로 Optional을 반환한다. Optional.empty()는 Optional의 특별한 싱글턴 인스턴스를 반환하는 정적 팩토리 메서드이다. Optional 객체 생성 방법 1. 빈 Optional Optional userDto = Optional.empty(); 2. null을 포함하지 않는 Opti..
정적 팩토리 메서드란?
·
노빠꾸 개발일지/JAVA
장점 이름을 가질 수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. 단점 상속을 하려면 public이나 protected 생성자가 필요하니 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다. 정적 팩터리 메서드는 프로그래머가 찾기 어렵다. 정적 팩터리 메서드 명명규칙 from 매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형 변환 메서드 ex) Date d = Date.from(instant) of 여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서..
[JAVA] 정적팩토리메서드(Static Factory Method)란?
·
노빠꾸 개발일지/JAVA
이번 피드에서는 정적팩토리메서드(Static Factory Method)에 대해 간단히 정리해 보도록하겠습니다. 정적팩토리메서드란. 간단히 표현하면 객체를 생성하는 역할을 하는 메서드입니다. 객체를 생성하기 위해서는 일반적으로 생성자를 이용하여 생성하는 방식을 많이 알고 사용되고 있습니다. new 키워드를 이용하여 클래스의 객체를 직접 생성하는 방식인데, 정적팩토리메서드를 이용하면 직접 new 키워드를 사용하지 않고 클래스의 객체를 제공받을 수 있습니다. 정적팩토리메서드가 객체를 제공해주기때문에, 해당 메서드를 호출하는 것만으로 객체를 제공받을 수 있게 되는 것입니다. 정적팩토리메서드의 대표적인 예시로는 Optional의 of가 있습니다. Optional클래스에서 of() 메서드를 이용하여 객체를 전달받..
부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트
·
노빠꾸 개발일지/JAVA
이번 피드에서는 부트스트랩에 대해 간단히 알아보는 피드를 작성해 보겠습니다. 먼저 부트스트랩에 대해 알아보면, 부트스트랩이란 웹사이트를 쉽게 만들 수 있게 도와주는 HTML, CSS, JS 프레임워크입니다. 예를 들면, 웹 사이트에 노출되는 웹페이지의 전반적인 디자인적인 요소들이 세팅이 되어있는 프레임워크라고 생각할 수 있습니다. 따라서, 부트스트랩을 이용하면, 화면 디자인개발에 많은 신경을 들이지 않고, 개발을 진행 할 수 있게됩니다. 프론트개발자가 아닌경우, 이렇게 화면 디자인 및 구조를 잡고 개발하는 작업은 쉽지 않은 작업인데, 부트스트랩을 적용하면, 이 부분이 비교적 쉽게 해결이 가능합니다. 무료로 제공되는 부트스트랩 데모들을 살펴봐도 퀄리티가 나쁘지 않아 개인용으로도 사용하기 좋습니다. 마지막으..
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2
·
노빠꾸 개발일지/JAVA
이번 피드에서는 저번 피드에서 생성한 기본 메이븐 프로젝트에 스프링 기본구조 세팅을 해보는 피드를 정리해 보겠습니다. 이번 피드는 이전 피드에서 생성한 프로젝트를 이용하여 계속 진행하므로 이전 피드를 참고하실분은 아래를 참고해주세요! https://nobacking.tistory.com/105 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1 이번 피드에서는 메이븐 프로젝트를 세팅하는 피드를 작성해 보겠습니다. 개발툴로는 인텔리제이(Intelij)를 이용하여 진행해 보겠습니다. 1. 프로젝트 생성하기 먼저 프로젝트를 생성해 줍니다. nobacking.tistory.com 1. 스프링 구조 잡기 우선 스프링 구조에 맞게 폴더 및 파일을 생성해 보도록 하겠습니다. 1-1) src/main/java 폴더 생..
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1
·
노빠꾸 개발일지/JAVA
이번 피드에서는 메이븐 프로젝트를 세팅하는 피드를 작성해 보겠습니다. 개발툴로는 인텔리제이(Intelij)를 이용하여 진행해 보겠습니다. 1. 프로젝트 생성하기 먼저 프로젝트를 생성해 줍니다. New Project를 선택한 후, Empty Project를 생성해줍니다. 2. Module 생성하기 프로젝트 생성에 이어 모듈을 생성해줍니다.(File -> New -> Module...) Name에 생성할 모듈명을 입력해주고, Archetype을 org.apache.maven.archetypes:maven-archetype-webapp 을 선택해줍니다. Archetype을 위와같이 선택하게 되면, WEB.XML파일이 같이 생성되게 됩니다. 입력을 마쳤으면, Create버튼을 눌러 모듈을 생성해 줍니다. 위와같..
[JPA] 스프링 부트 JPA 기본 사용방법
·
노빠꾸 개발일지/JAVA
이번 피드에서는 스프링 부트 환경에서 JPA 기본 사용에 대해 간단히 정리해보겠습니다. 우선 스프링 부트에서 JPA를 사용하기 위해 세팅이 필요한데요. Dependencies 에 Spring Web, Spring Data JPA를 추가해 주면 됩니다. 그리고, 프로젝트에서 사용할 다른 Dependencies들도 개인 프로젝트에 맞게 추가해 주면 됩니다. 1. application.properties 세팅 ## 프로젝트 실행 시 자동으로 DDL 생성할 것인지 결정(update : 변경이 필요한 경우 alter, 테이블이 없는 경우 create) spring.jpa.hibernate.ddl-auto=update ## Hibernate가 동작하면서 발생하는 SQL을 포맷팅하여 출력해줌 spring.jpa.pr..
[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정
·
노빠꾸 개발일지/JAVA
이번 포스팅에서는 자바에서 JSON객체를 이용해서 처리하는 방법(데이터 파싱, 데이터 입력/수정)에 대하여 알아보겠습니다. 이번 포스팅에서 이용할 라이브러리는 Gson 이라는 라이브러리 입니다. https://mvnrepository.com/artifact/com.google.code.gson/gson/2.9.0 Maven Repository: com.google.code.gson » gson » 2.9.0 com.google.code.gson gson 2.9.0 // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation group: 'com.google.code.gson', name: 'gson', version: '2...