1. Optional이란? Optional 개념 및 사용법 [ NPE(NullPointerException) 이란? ] 개발을 할 때 가장 많이 발생하는 예외 중 하나가 바로 NPE(NullPointerException)이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 null 대신 초기값을 사용하길 권장하기도 한다. List names = getNames(); names.sort(); // names가 null이라면 NPE가 발생함 List names = getNames(); // NPE를 방지하기 위해 null 검사를 해야함 if(names != null){ names.sort(); } [ Optional이란? ]..
리포지터리의 메서드명은 데이터를 조회하는 쿼리문의 where 조건을 결정하는 역할을 한다. 항목 예제 설명 And findBySubjectAndContent(String subject, String content) 여러 컬럼을 and 로 검색 Or findBySubjectOrContent(String subject, String content) 여러 컬럼을 or 로 검색 Between findByCreateDateBetween(LocalDateTime fromDate, LocalDateTime toDate) 컬럼을 between으로 검색 LessThan findByIdLessThan(Integer id) 작은 항목 검색 GreaterThanEqual findByIdGraterThanEqual(Intege..
Gradle이란? Gradle은 오픈소스 빌드 자동화 툴이다. Gradle은 거의 모든 타입의 소프트웨어를 빌드할 수 있는 유연함을 가진다. Gradle의 특징 1. High performance Gradle은 실행시켜야 하는 task만 실행시키고 다른 불필요한 동작은 하지 않는다. 또, build cache를 사용함으로써 이전 실행의 task output을 재사용할 수 있다. 심지어 서로 다른 기계에서도 build cache를 공유하여 성능을 높일 수 있다. 2. JVM foundation Gradle은 JVM에서 실행되고, JVM을 사용하려면 JDK를 설치해야 한다. 따라서 Java Standard API를 빌드 로직에 사용할 수 있다. 또한 Gradle을 다양한 플랫폼에서 실핼할 수 있다. 3. C..
spring framework에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트 CRUD 처리를 위한 공통 인터페이스 제공 - repository 개발 시 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입 - 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있도록 지원 - 공통 메소드는 스프링 데이터 JPA가 제공하는 org.springframework.date.jpa.repository.JpaRepository 인터페이스에 count, delete, deleteAll, deleteAll, deleteById, existsById, findById, save .. 출처: https://data-make.tistory..
JPA(Java Persistence API) JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 우선 JPA에 앞서, 먼저 ORM에 대해 알아보도록하자. ORM(Object-Relational Mapping) 우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다. JPA(Java Persistence API) Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음 자바 어플리케이션에서 관계형 데이터베이..
1. 라이브 서버 설치하기 2. 라이브서버 테스트하기 1. 라이브 서버 설치하기 VS Code 실행 후 파일 > 기본설정 > 확장 메뉴를 클릭한다. 또는 단축키로 Ctrl + Shift + X를 같이 누른다. 검색창에서 live server를 검색 후 설치버튼을 클릭한다. 2. 라이브 서버 테스트하기 왼쪽 상단에 탐색기 아이콘 클릭하여 확장 메뉴 제거한다. 탐색기에서 폴더 열기를 클릭하여 열 폴더를 지정한다. 새파일 아이콘을 클릭 후 파일명에 test.html을 입력하여 html 파일을 생성한다. 좌측 코드 탭에서 html:5를 입력하면 자동완성이 되는데 엔터를 쳐서 기본 코드를 생성한다. 좌측 코드 탭을 우클릭한 후 Open with Live Server 메뉴를 클릭한다. 또는 단축키로 Alt + L ..
맥/리눅스 이용 개발자와 윈도우 개발자가 협업할 때 왜 발생할까? 터미널에 git 명령어를 입력했는데 다음과 같은 에러가 뜨는 경우가 있다: warning: CRLF will be replaced by LF in some/file.file. The file will have its original line endings in your working directory. 이는 맥 또는 리눅스를 쓰는 개발자와 윈도우 쓰는 개발자가 Git으로 협업할 때 발생하는 Whitespace 에러다. 유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면, 윈도우에서는 줄 하나가 CR(Carriage Return)와 LF(Line Feed), 즉 CRLF로 이루어지기 때문이다. 따라서 어느 한 쪽을 ..
추가로 ctrl + shift + a 로 registry에 간 후 다음으로는 크롬 확장 프로그램을 이용해 크롬도 자동 리로드 되게 만들어주기 https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei/related LiveReload Provides Chrome browser integration for the official LiveReload apps (Mac & Windows) and third-parties like guard-livereload and… chrome.google.com 설치 후 고정 해 준 후 한 번 클릭하면 적용된다.