매주 토요일 토이 프로젝트 스터디에 참여하게 되었다. 참여한 프로젝트 환경은 아래와 같은데 프로젝트 환경 Infra : Cloud, docker, docker-swarm, jenkins, scouter, kibana, redis, github, Edit Tool :
boolean저장 가능한 범위 true/ falseJava가 데이터를 다루는 최소 범위가 1 Byte 이기 때문에 낭비적이지만 1 Byte를 사용한다.charJava의 경우 Unicode를 사용, 동양의 글자의 경우 2 Byte 필요하기때문에 char 의경우 2 Byt
에러(Error)란 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생 하는 것을 말하며, 이 경우 개발자가 대처할 방법이 극히 제한적이다. 예외(Exception)란 사용자의 잘못된 조작 또는 잘못된 코딩
접근 제한자는 모든 접근을 허용하는 public부터 시작해서 차례대로 protected, default(friendly), private 이렇게 4가지 종류가 있다.
Java에서 정렬을 하다 보면 Comparable과 Comparator를 자주 마주치게 된다.Comparable, Comparator하면 '정렬'을 떠올려야한다.Comparable, Comparator은 Java에서 객체의 정렬 기준을 명시하는 두 가지 방법이다.Com
문자열에 지정한 문자" "가 있으면 새로 지정한 문자" "로 바꿔서 출력한다.실행 결과정규표현식을 지정한 문자로 바꿔서 출력한다.실행 결과JAVA String 클래스 메소드 정리 \[Java] String.replace 와 replaceAll 차이점\[iseungha
Lambda Expressions(람다식)은 수학자 알론조(Alonzo Church)가 발표한 람다 계산법에서 사용된 식으로, 이를 제자 존 매카시(John Macarthy)가 프로그래밍 언어에 도입했다.Java8 버전부터 람다식(Lamdaba Expressions)을
Interface는 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 Interface의 역할이자 개념이다. Interface는 interface 키워드를 통해 선언할 수 있으며 implements 키워드를 통해 일반 Class에서 Interface를 구현
Abstract Class란 구체적이지 않은 Class를 의미한다. EX 독수리, 타조는 구체적인 새를 지칭하는데 새, 포유류 같은 것은 구체적이지 않다.주로 클래스들의 공통되는 필드와 메소드를 정의한 클래스를 말한다.이런 것을 구현한 클래스를 Abstract Clas
🙆♂️ 참고사이트 🙇♂️ 자바의 추상 클래스와 인터페이스 - 추상 클래스와 인터페이스의 차이[by강관우] [JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 [마이자몽 myJamong] 추상화클래스와 인터페이스의 용도, 차이점, 공
Java에서 Interpreter는 위에서 아래 방향으로, 오른쪽에서 왼쪽으로 프로그램을 기계어로 번역해 읽어 나간다.Interpreter는 고급언어로 작성된 프로그램을 한즐씩 번역해서 OS에서 인식하는 기계어로 번역하는 역할 수행Java Interpreter는 JA
JUnit은 Java용 Unit Test Framework이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 Unit Test Framework 계열의 하나이다.
java.util.Optional<T> 클래스 Optional<T> 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)다. 따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.
Collections 클래스는 Collection 인터페이스를 구현한 클래스에 대한 객체생성, 정렬(sort), 병합(merge), 검색(search) 등의 기능을 안정적으로 수행하도록 도와주는 역할을 하는 유틸리티 클래스이다.이 메소드들은 제네릭 기술을 사용하여 작성
String 생성자 String 메소드 | 리턴 타입 | 메소드 | 설명 | | :------: | :------: | :------: | |char|charAt(int index)| 특정 위치 문자 return| |boolean|equals(Object obj
Math 클래스는 java.Lang 패키지에 포함된 클래스로 수학과 관련된 일련의 작업들을 처리할 수 있는 클래스다.Math 클래스의 다양한 메소드들은 전부 static으로 구현되어 있으므로 따로 객체를 생성하지 않고 사용할 수 있다. new 생성자 따위 필요 없다.
BigInteger Class는 Java에서 정수형의 기본 자료형 int, long 의 저장 가능한 값의 크기를 넘어서는 정수형을 저장할 수 있는 Class이다.long은 약 10^18승(최대 값 9223372036854775807) 범위까지 수를 표현한다. 이 범위를
Stream은 Java 8에서 추가되었고, 기존 Java I/O에서 나오는 InputStream, OutputStream과는 다른것으로 함수형 프로그램에서 단계적으로 정의된 계산을 처리하기 위해 Interface이다.Stream은 stream 형태의 요소에 함수형 연산
iBatis( ~ 2.3)의 버전이 변경되면서 MyBatis(2.5 ~)로 변경이 되었다.Apache project팀에서 google code 팀으로 이동하면서 명칭이 변경변경된 사항들을 정리해보면 아래와 같다.Java 요구버전도 iBATIS는 JDK 1.4 이상에서
MyBatis에서 Parameter를 통해 검색을 하고 싶다면, DBMS에 맞게 문자열 합치기 함수를 사용하면 된다.아래는 대표적인 MySQL, Oracle, MS-SQL에서 MyBatis Like 검색 방법이다.
Exception과 Error는 최상위 Object를 상속받는 Throwable Class를 상속받는 Class 이다. Checked Exception과 Unchecked Exception에 대해 설명 하기전 알아야 할 사항은 Error와 Runtime Excepti
instanceof 와 Class.isAssignableFrom 의 차이점instanceof는 해당 Object가,특정 Class, Interface를 상속하거나 구현 했는지를,boolean type으로 return해주는 method이다.Class.isAssignabl
Builder Pattern이란 복합 객체의 생성 과정과 표현 방법을 분리하여, 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 Pattern이다. Gillog gillog = Gillog.build() .date("21-08-03")
lombok의 @Builder를 Model Class 위에 붙이면 아래와 같은 효과가 있다.@builder 사용으로 Boilerplate Code를 줄일 수 있다.Boilerplate Code : 반드시 필요한 코드지만 반복적으로 사용되는 코드@Builder 적용 전@
Generic Generic은 하나의 Data 형식에 의존하지 않고, 하나의 값이 여러가지 Data Type을 가질 수 있도록 하는 방법이다. Generic : 포괄적인, 단 하나에 정해지지않고 범용적이고 일반적인 것 흔히 아래와 같이 사용된다.
How to send Date object through Moshi JSON serializer?아래와 같은 API의 Response를 Moshi로 역직렬화 하려는 과정에서,아래 에러가 발생했다.역직렬화를 수행하던 코드는 아래와 같고,객체로 담을 Class는 아래와 같
@Valid @Valid Annotation은 javax.validation에 포함된 Dependency로, @RequestBody Annotation으로 Mapping되는 Java 객체의 유효성 검증을 수행하는 Annotation이다. Dependency 추가하기
Exception Handling 최근 Exception을 Handling 하면서 세부적인 Handling 기법들에 대해 고심하지 않고, Handling 하다보니 명확한 기준을 잡으며 처리하기 힘들었다. 이번 gillog때 Exception Handling에 대해
moshi githubMoshi는 Java나 Kotlin에서 JSON 형태의 데이터를,Java 객체 형태로 역직렬화나 그 반대로 직렬화 용도로 많이 사용하는 Library이다.오늘은 아래와 같이 JSON Key 값 없이 JSON Array 형태의 JSON 데이터를,