Just do it.
-
Lombok @AnotationJust do it. 2020. 9. 21. 01:32
Lombok - @getter Lombok - @setter Lombok - @ToString Lombok - @ToString.Exclude 개발자가, 실수할 수도 있고,자바에서 제공하는 toString 메서드를 Overriding 하여, 사용한다면, 멤버 변수가 늘어날 때마다, 추가해주고, getter, setter 또한 추가적으로, 만들어줘야 한다. 그렇다고 한다면 쓸데없이 자바 코드수가 늘어나게 되고, 실수할 경우, 원하는 로그를 보지 못할 수 있다. 그리하여, 클래스 내부에 위와 같은 어노테이션을 이용하여 선언해주면, 멤버 변수가 늘든 말든, 자연적으로 getter,setter뿐 아니라, ToString을 개발자가 신경쓰지 않아도 된다. 또한 제외하고 싶은 toString값이 있다면 해당 멤버변..
-
[Springboot] 스프링 부트란?Just do it. 2020. 9. 19. 19:53
- Spring Framework의 설정이 복잡하고 어렵기 때문에 이와 같은 문제점으로 인하여, 만들어짐. - SpringBoot가 나오면서 초기 생산성이 획기적으로 상승함. 스프링은 다양한 식재료이고, 스프링 부트는 완성된 음식이라고 볼 수 있다.(커스터마이징) 식재료를 다양하게 섞어서 자신만의 요리를 만들고 싶어하는 사람도 있고, 다 만들어진 식품을 데워먹기만 하고 싶은 사람도 있다. 스프링 부트의 특징 - Starter를 통한 애플리케이션의 간편하고 자동화된 빌드 및 설정을 제공함. - Embed 서버를 제공함, 복잡한 배포 설정들을 간편하게 제공 - Production에서 사용할 수 있는 추가적인 기능을 제공 (actuator) Xml Configuration 설정 및 Xml + Java Conf..
-
[Java] 자바 입출력 - 직렬화(Serialization)Just do it. 2020. 9. 8. 15:56
인스턴스의 상태를 그대로 저장하거나, 네트워크로 전송하고 이를 다시 복원(DeSerialization)하는 방식 ObjectInputStream ObjectOutputStream 이란 보조스트림을 이용하여 구현 할 수 있음 Java뿐만 아니라 다른 언어에서도 지원하는 기술. Java에서의 Serialization 인터페이스 직렬화는 인스턴스의 내용이 외부 (파일,네트워크)로 유출 되는 것이므로 프로그래머가 객체의 직렬화 가능 여부를 명시한다. 구현 코드가 없는 mark interface 아래에 코드로 Animal이라는 class는 직렬화가 가능하다. 라고 명시하여줌. 명시하지 않으면, 직렬화가 되지 않음. Animal 이라는 Class안에 멤버변수 앞에 transiant 라는 키워드를 작성하여 주면 이변..
-
[Java] 데코레이터 패턴 (Decorator Pattern)Just do it. 2020. 9. 8. 13:20
데코레이터 패턴이란 무엇일까. 생성자의 매개 변수로 또 다른 스트림을 가짐 ex) protected FileInputStream(InputStream in) 생성자의 매개 변수로 InputStream을 받는다. public FilterOutputStream(OutputStream out) 생성자의 매개 변수로 OutputStream을 받음. - 바이트 단위 파일 입력 스트림 (기반이 되는 스트림) - 문자로 변환 기능 추가 (보조 스트림) - 버퍼링 기능 추가 (보조 스트림) 작성 중 원래 기반이 되는 스트림에, 보조적으로 받는 스트림을 사용 시, 이것을 데코 한다 하여, 데코레이터 패턴이라 불린다. 자바 용어는 아니고, 디자인 패턴에서 부르는 용어이다. 자바의 입출력 스트림은 데코레이터 패턴을 사용한다..
-
[Java]Singleton Pattern에 대하여Just do it. 2020. 6. 28. 21:11
git blog address : https://egjeon.github.io/ just my story No effort betrayed. egjeon.github.io 사실 tistory에 글을 올리기 전에 git에 내용 정리를 먼저 하였다. 내가 리스펙 하시는 분께서, git은 개발과 별개로 필수적으로 알아야 할 내용이기 때문에 찐 강의를 추천해주셨다. 정말 좋은 강의였다. 그리고 사실 내용 전부는 이해하지 못했지만 이전에, 현재도 생각 없이 하던 행위? 들이 비로소 조금이나마 정리가 되었고, 나는 프로젝트 repository용으로만 사용해야만 하는 줄 알았고, 정말 바보였다. git을 블로그처럼 사용하는 것은 그분을 통하여 알게 되었다. 준우 님 짱. 다른 분들도 이 강의를 통하여 조금이나마 도움..
-
REST란? REST API,RESTful 에 대하여.Just do it. 2020. 6. 10. 16:36
이전 회사에서 일할 때, REST API에서 웹 앱에서 각자 필요한 정보들이 생기면, 만들어둔 해당 URI로 요청 시 필요한 리소스들을 내려주는 서버라고 간단하게만 생각하고 있었다. 이번 기회에 좀 자세히 알고 싶어 이곳저곳 검색과 영상 등을 보며 정리를 해보려고 한다. REST의 기본 개념 및 규칙 등을 알아보자. 우선 REST란? 위에 보이는 REST의 약자 Representational State Transfer의 약자이다. 자원의 이름, 표현으로 구분하여 해당 자원의 정보를 주고받는 모든 것들을 의미한다. 자원(resource)의 표현(Representational)에 의한 상태 전달. 자원의 표현이라 할 수 있다. - 자원 자원이라고 하면, 해당 소프트웨어가 관리하는 모든 것이 될 수 있으며, ..
-
[JAVA] 스레드, 멀티스레드에 대하여 알아보자.Just do it. 2020. 4. 15. 14:18
오늘은 멀티스레드에 대하여 알아보자. 공부하시는데 참조가 되길바라며 github에 올린 예제소스를 공유드립니다. https://github.com/egjeon/thread-basic-example 1. Java 프로그램은 하나의 프로세스로 만들어져 수행된다. 2. 프로세스는 실행 중인 프로그램. 3. 하나의 프로세스 내부에서 여러 스레드가 실행될 수 있음 4. 스레드는 실행 중인 프로그램 내에 존재하는 소규모 실행 흐름. - 스레드는 경량 프로세스 멀티스레드 Java 프로그램은 하나의 스레드(main thread)로 시작된다. main 스레드에서 자식 스레드를 만들어 시작시킬 수 있음. 그러면 여러 스레드가 동시에 독립적으로 실행된다. 멀티스레드의 경우 밑에 보이는 두 번째 그림(다중 스레드 프로그램)을..
-
[자료구조] 빅오 표기법 Big - O notation에 대하여 알아보자. feat. JAVA 소스Just do it. 2020. 4. 10. 20:28
알고리즘에 시간 복잡도 및 공간 복잡도를 표현하기 위하여 사용하는 표기법들이 있다. 이중 오늘은 Big - O에 대하여 이해하고 정리해보자. 절대적인 수행 시간을 따지게 된다면, 장비의 성능 및 그 컴퓨팅의 환경 또 작은 데이터에 대한 연산은 정확한 속도 값이라고 정의할 수 없다고 한다. 그래서 우리는 연산 횟수를 통하여, 얼마나 계산하는지 그것에 시간 복잡도와 공간 복잡도를 예측하여 표현하는데, 그 표현 방식 중에 하나인 Big - O 표기법에 대한 예제 및 설명이다. Big - O 표기법은 데이터가 증가하거나 , 추가될 때에 예측을 표현하는 방식이라고 한다. 위에 보시는 그래프는 http://bigocheatsheet.com/ 참조하여 인용하였다. 1. O(1) 입력 데이터와 상관없이 일정하게 증가하..