스프링의 가장 중요한 개념인 DI객체라는 것이 있다. 이는 Dependency Injection이라는 용어의 약자로써, A 클래스가 멤버로써 다른 B 클래스를 가지고 있을 때 A클래스는 B클래스가 존재하지 않으면 안된다. -> 즉 의존하고 있다. 라는 의미로 "B 클래스는 A 클래스의 의존객체이다." 라고 합니다. 스프링은 이러한 의존성을 주입해주는 방법으로 new 키워드 생성자를 통한 인스턴스화가 아닌 스프링이 Bean이라는 이름으로 관리하는 객체들을 주로 @Autowired라는 어노테이션을 이용해서 주입시켜주게 됩니다.(혹은 생성자, Setter 주입) 이때, 스프링이 관리하는 Bean이라는 객체들은 싱글톤(singleton) 객체로써 어느 클래스에서 주입받던지 단 하나의 인스턴스입니다. 즉, 다음과..
[번역 원본글] https://dzone.com/articles/10-tips-to-become-a-better-java-developer-in-2018 요약 자바 8을 공부하는 것부터 JVM의 내부까지 공부하는 것까지, 당신의 IDE를 더욱 효율적으로 사용하고, Kotlin에 손을 대려고 하기까지!. 당신이 더 나은 자바개발자가 되기 위한 몇가지 조언들을 준비해보았습니다. 서론 필자는 종종 독자들로부터 어떻게하면 더나은 자바개발자가 될지에 관한 이메일을 받습니다. 무엇을 공부해야하고 어느 지역에 취업을 해야 유리할지 등의 내용입니다. 수년간 그들에게 개별로 응답을 해주고 난 지금, 몇가지를 적어보려고 합니다. 이 몇가지는 당신이 더 나은 자바개발자로 거듭나게 해줄 것입니다. 아직 읽어보지 못한 내용이라..
안녕하세요.! 이번 포스팅에서는 제가 2019년 2월달부터 현재까지 달려온 결과를 이야기해보고자 합니다. 가장 먼저 자랑하고 싶은 이야기는!! 드디어 저의 첫번째 애드센스 수익금이 제 SC제일은행 통장으로 송금되었습니다.~~~ 애드센스는 대략 3월 ~ 4월 경부터 달기 시작했으므로.. 8 ~ 9개월 정도에 걸친 대장정의 결과물이었습니다..ㅠㅠ 그렇게 많이 번것도 아니지만 제 노력의 결과물이라 또.. 처음 월급외적으로 수익을 올려보았기 때문에 설레고 차분해질 수가 없는 감정이 듭니다.. 현재 애드센스 월 정산결과 100$가 넘었을 때 자동으로 지급되도록 설정이 되어 있는데요. 대략 11월 4일경에 총 미지급 달러가 100$를 넘어섰고! 11월이 끝나고 11월 정산된 금액이 12월에 지급되는 것으로 알고있습..
Postgresql DB에서 JSON 다루기 - 꼭 한번씩 본인 로컬 DB에서 실습을 해보시기 바랍니다!! 이번 포스팅에서는 PostgreSQL에서 JSON 데이터 타입으로 작업하는 방법을 다룹니다. 또한, JSON 데이터 타입을 다루기 위한 PostgreSQL 연산자 혹은 함수를 소개해보고자 합니다. JSON은 Javascript Object Notation의 약자입니다. JSON은 키-값 쌍으로 이루어진 개방형 표준형식입니다. JSON은 주로 서버와 웹 어플리케이션 사이에 데이터 이동에 사용됩니다. 다른 형식들과는 달리 사람이 읽고 파악할 수 있는 텍스트로 이루어졌습니다. PostgreSQL은 9.2버전부터 기본 JSON 데이터 타입을 지원하였습니다. JSON 데이터를 다루기 위해 많은 연산자와 함수..
자바 Objects 클래스에 대해서 - java 1.7버전에서 등장한 클래스 - java.util 패키지 - 객체에서 작업하기위한 여러가지 정적 유틸리티 클래스로 구성된 클래스 - 기능들에는 객체의 hashcode를 계산하기 위해 Null 안전 혹은 Null 허용 메소드들을 포함하고 있으며 객체의 문자열을 반환하고 두 객체를 비교합니다. - 아래 내용은 https://docs.oracle.com/javase/8/docs/api/java/util/Objects.html 페이지를 참조하여 포스팅하였습니다. int compare(T a, T b, Comparator
Objects 클래스의 equals와 deepEquals 메소드 차이.deepEquals 메소드public static boolean deepEquals(Object a, Object b) { if (a == b) return true; else if (a == null || b == null) return false; else return Arrays.deepEquals0(a, b); }- 이렇게 소스코드가 이루어져 있음. equals보다 deeply 비교를 하는 메소드- 둘중 하나가 null 인경우는 당연히 false, 둘다 Null 인경우는 완전히 같다고 보고 true- 나머지는 Arrays 클래스의 deepEquals0 메소드를 이용하게 되는데. Arrays 클래스의 deepEquals0 메소드는..
REST API URI를 결정하는 7가지 규칙 7가지 규칙은 파악하기 쉽고 필요한 모든 자원과 정보를 전달하는 충돌위험이 적은 URI를 쓸 수 있도록 해줄 것입니다. REST API URI 규칙에 대해 넘어가기 전에 우리가 다룰 URI라는 용어에 대해서 짚고 넘어가도록 하겠습니다. URI REST API는 주소자원으로 URI(Uniform Resource Identifiers)를 사용합니다. 오늘날의 웹에서 URI 디자인은 API의 리소스 모델을 명확하게 전달하는 걸작부터 사람들이 이해하기 어려운 것까지 다양합니다. 팀버너스 리는 “웹 아키텍처의 원칙”이라는 목록에 URI의 불투명성(“”식별자를 사용할 수 있는 유일한 것은 객체를 참조하는 것”)에 대해 기재하였습니다. 역 참조하지 않을 때는 다른 정보를..
모놀리식 아키텍처의 단점에 대해 공부하고 어떻게 이를 마이크로서비스로 해결한 것인가를 알아보자. 서론 최근에 마이크로서비스에 대한 많은 의견이 있습니다. 대부분의 IT회사에서는 마이크로 서비스에 대한 많은 이야기를 나누고 있습니다. 마이크로서비스는 기존 아키텍처인 모놀리식 아키텍처와 비교하면 쉽게 이해할 수 있을 것입니다. 대부분의 엔터프라이즈급 응용프로그램은 계층구조가 매우 유사한 구조를 띄게 됩니다. 1. Presentation : 유저 인터페이스 2. Business logic : 응용프로그램의 내부 로직 3. Database Access : SQL이나 NoSQL을 이용한 디비 접근. 4. Application integration : 종종 응용프로그램은 다른 응용프로그램과의 통합과정이 필요합니다...