반응형

Back 40

Java8 null체크 시 Optional

Optional이란? Optional는 “존재할 수도 있지만 안 할 수도 있는 객체”, 즉, “null이 될 수도 있는 객체”을 감싸고 있는 일종의 래퍼 클래스입니다. 원소가 없거나 최대 하나 밖에 없는 Collection이나 Stream으로 생각하셔도 좋습니다. 직접 다루기에 위험하고 까다로운 null을 담을 수 있는 특수한 그릇으로 생각하시면 이해가 쉬우실 것 같습니다. Optional의 효과 Optional로 객체를 감싸서 사용하시게 되면 NPE를 유발할 수 있는 null을 직접 다루지 않아도 됩니다. 수고롭게 null 체크를 직접 하지 않아도 됩니다. 명시적으로 해당 변수가 null일 수도 있다는 가능성을 표현할 수 있습니다. (따라서 불필요한 방어 로직을 줄일 수 있습니다.) Optional 객..

Back/Spring Java 2019.11.24

lombok 라이브러리 세팅(intelliJ)

* lombok이란? Lombok은 Java에서 @Getter, @Setter 같은 annotation 기반으로 관련 기존 DTO, VO, Domain Class 작성할 때, 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()과 멤버 변수에 값을 설정하는 생성자 등을 자동로 생성해 주는 라이브러리입니다. * lombok 설정 (intelliJ기준) 1. build.gradle lombok추가 2. plugins lombok install 3. Enable annotation processing -> check

Back/Spring Java 2019.11.15

부적합한 열 유형: 1111(Mybatis)

Error setting null for parameter #10 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 *원인 #뒤에 붙은 번호의 파라미터값이 null 이기 때문에 이런 오류가 발생. *수정안 Mybatis 쿼리문 내 파라미터에 jdbcType 을 추가해줍니다. NM_TASK = #{nm_task, jdbcType=VARCHAR}

Back/Mybatis 2019.09.17

큰따옴표, 작은따옴표 차이

* 큰따옴표, 작은따옴표 차이 더보기 - 테스트 코드 System.out.println("H" + "a"); System.out.println('H' + 'a'); System.out.println('H'+0); System.out.println('a'+0); 더보기 - 실행결과 Ha 169 72 97 - 큰따옴표의 경우 문자열로 인식하여 두 문자가 합쳐져서 결과가 표시. - 작은 따옴표의 경우는 + 연살자를 사용하면 H와 a는 Integer형으로 형변환이 되어 169 출력. - 문자열을 합칠 경우 큰따옴표를 사용. *큰따옴표 안에 큰따옴표를 표시 하려면 -> 앞에 \ 을 붙히면 큰 따옴표가 문자열로 인식. (예제) System.out.println(""큰 따옴표 인식 예제""); (Error) Syst..

Back/Spring Java 2019.09.09

Maven build 시 profile설정 (eclipse)

*사용이유 local (개발자 개인 PC), development , release등 deploy 환경에 따라 달라져야할 정보들(JDBC URL, logging level, properties, 기타 resource등)을 maven profile 을 이용하여 build 시 각각 다르게 설정 할 수 있습니다 1. 예시 폴더 구조. 2. pom.xml 에 profiles 기술 3. pom.xml 의 build element 에 resource 를 찾는 경로를 변경 4. Run Configurations 위 사진처럼 맨 마지막 release를 파라미터로 넘김.

Back/Etc 2019.08.27

Enum클래스 활용법

들어가며 개발을 진행할때 Enum을 통해 얻는 기본적인 장점들은 아래와 같습니다. 문자열과 비교해, IDE의 적극적인 지원을 받을 수 있습니다. 자동완성, 오타검증, 텍스트 리팩토링 등등 허용 가능한 값들을 제한할 수 있습니다. 리팩토링시 변경 범위가 최소화 됩니다. 내용의 추가가 필요하더라도, Enum 코드외에 수정할 필요가 없습니다. 이 장점들은 모든 언어들의 Enum에서 얻을 수 있는 공통된 장점입니다. 하지만 Java의 Enum은 이보다 더 많은 장점을 갖고 있습니다. C/C++의 경우 Enum이 결국 int값이지만, Java의 Enum은 완전한 기능을 갖춘 클래스이기 때문입니다. (이 글의 제목이 Enum 활용기가 아닌, Java Enum 활용기인것도 이 때문입니다.) 예제로 그 장점들을 하나씩..

Back/Spring Java 2019.08.13

String, StringBuffer, StringBuilder의 장단점 및 차이점

String, StringBuffer, StringBuilder의 장단점 및 차이점 자바에서 String과 StringBuffer, StringBuilder의 차이점을 알아본다. 이들의 공통점은 모두다 String(문자열)을 저장하고 관리하는 클래스들이다. 어떤 차이점이 있을까? String과 (StringBuffer, StringBuilder)의 차이점은 String은 immutable(불변)하고 StringBuffer, StringBuilder는 mutable(가변)하다는 점이다. 쉽게 말해서 String은 new 연산을 통해 생성되면 그 인스턴스의 메모리 공간은 절대 변하지 않는다. 그래서 + 연산이나 concat을 이용해서 문자열에 변화를 줘도 메모리 공간이 변하는 것이 아니라 새로운 String..

Back/Spring Java 2019.08.12

Node.js Express 서버 설치

1. client 폴더 생성 후 기존 파일 및 폴더 이동. 2. package.json 파일 생성 클라이언트 폴더에서 클라이언트 모듈을 생성하고 Root폴더에서는서버모듈 실행에 대한 내용 명시 -> 해당파일을 통해 서버와 클라이언트를 동시에 실행. 3. nodemon 설치. 4. package.json 작성.클라이언트는 client 폴더로 이동하여 yarn start명령어로 실행시고, 서버는 nodemon을 통한 server.js을 참조하여 실행. 5. server.js 기본 설정내용 작성. 6. 서버 실행. 7. 아래의 화면이 구동된다면 정상적으로 NodeJs Express서버 환경 구성 완료.

Back/Node 2019.02.17
반응형