분류 전체보기 87

REST API 정리

REST API API(Application Programming Interface)란 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며 서로 정보를 교환 가능하도록 하는 것이다 REST API란? REpresentaional State Transfer 의 약자이다. WWW과 같은 분산 하이퍼 미디어 시스템을 위한 아키텍처 스타일이며 2000년 Roy Fielding이 논문에서 처음 발표 했다. 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다 REST의 구체적인 개념 HTTP URI(Uniform Resource identifier) 를 통해 자원 (Resources)을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자..

프로젝트/기타 2021.01.31

12주차 과제 : 애노테이션

12주차 과제: 애노테이션 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 어노테이션 클래스나 메소드 등의 선언시에 @를 사용하는 것을 말한다. 메타데이터(Metadata)라고도 불린다 어노테이션의 사용 컴파일러에게 정보를 알려주거나 컴파일할 때와 설치시의 작업을 지정하거나 실행할 때 별도의 처리가 필요할 때 어노테이션은 클래스, 메소드, 변수 등 모든 요소에 선언할 수 있다 어노테이션 정의하는 방법 어노테이션 선언 예제) import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lan..

스터디/LiveStudy 2021.01.31

11주차 과제: Enum

11주차 과제: Enum 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum 정의하는 방법 먼저 enum 에 대해 알아보자 enum(enumeration) 클래스( 상수의 집합) 열거형 클래스이며, java 1.5 부터 사용이 가능하다 셈, 계산, 열거, 목록, 일람표 (enumeration) 의 앞부분을 딴 예약어 장점 열거체를 비교할 때 실제 값뿐만 아니라 타입까지도 체크한다 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없다. 데이터들 간의 연관 관계 표현이 가능하다 상태와 행위를 한곳에서 관리가 가능하다 데이터 그룹관리가 가능하다 특징 클래스를 ..

스터디/LiveStudy 2021.01.25

1주차 AOP, LiveStudy, @Log4j2 vs @Slf4j with log4j2

블로그 스터디 1주차 AOP(Aspect-oriented programming) 애플리케이션 전체에 걸쳐 사용되는 공통 기능을 재사용 하도록 지원하는 것 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화를 하는 것 프록시 패턴 사용 이유 접근 제어 및 부가 기능을 추가하기 위해서 OOP : 비즈니스 로직의 모듈화 모듈화의 핵심 단위는 비즈니스 로직 AOP : 인프라 혹은 부가기능의 모듈화 대표적 예 : 로깅, 트랜잭션, 보안 등 각각의 모듈들의 주 목적 외에 필요한 부가적인 기능들 AOP 장점 애플리케이션 전체에 흩어진 공통 기능이 하나의 장소에서 관리된다는 점 다른 서비스 모듈들이 본인 목적에만 충실하고 그외 사항들은 신경쓰지 않아도 된다는 점 Spr..

@Log4j2 vs @Slf4j with log4j2

@Log4j2 vs @Slf4j with log4j2 프로젝트 진행 도중 @Log4j2 을 사용할지 @Slf4j로 log4j2.xml 을 설정해서 같이 사용할지 고민을 했었다. SLF4j(Simple Logging Facade For Java) 애플리케이션이 문자열을 기록하도록한다. Log4j2 API는 텍스트를 로깅하려는 경우 모든 CharSequence 로깅을 지원하지만 모든 개체를 있는 그대로 로깅하는 것도 지원한다 Log4j2 메시지 개체 로깅, Java 8 람다식 및 가비지 없는 로깅을 지원한다(CharSequence 개체 로깅시 문자열 생성방지) 뭘 써야할까? Log4j2와 slf4j는 똑같은 기능을 제공한다고 한다. Log4j2가 API와 구현 모듈로 분리되어서 SLF4J를 사용하지 않아도 ..

Spring/Spring Boot 2021.01.22

10주차 과제: 멀티쓰레드 프로그래밍

10주차 과제: 멀티쓰레드 프로그래밍 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 학습 하기 전 생각 Thread 관련 공부할때 쉽지 않은 부분이였다. 멀티 쓰레드 프로그래밍과 Thread와 Runnable에 대한 동기화 등등 생각나는 것들이 많아 어떻게 포스팅을 해야할지 감이 오지 않는다.. 선장님이 말씀하신 깊은 범위는 가진 않지만 기본적인 것과 추가적으로 생각나는 것들(?)로 내용을 넣어볼까한다. 이번 주차 포스팅은 내용이 많아 보기 부담되시는 분도 계실거라 생각이 되지만 사용하는 방법이나 왜 사용하는지 어떻게 사용하는지에 대해 포스팅해보고자 한다. 기본적인 것..

스터디/LiveStudy 2021.01.18

9주차 과제: 예외 처리

9주차 과제: 예외 처리 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 Exception과 Error의 차이는? 먼저 알아보기 전에 Exception 과 Error에 대해 알아보자 예외의 종류 checked exception error runtime exception 혹은 unchecked exception Error 개념 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생하는 것..

스터디/LiveStudy 2021.01.11

온라인 무료 도서 모음

https://gall.dcinside.com/board/view/?id=programming&no=1077555 에서 가져왔습니다 무료도서 ridibooks.com/category/free-books/2220 리디북스 https://thebook.io/ 언제나휴일 http://ehpub.co.kr/ 이재홍님 블로그 http://pyrasis.com/ 코딩도장- 프로그래밍 수련 사이트 https://dojang.io/ 위키독스(파이썬다수) https://wikidocs.net/ SoEn http://soen.kr/lecture/ccpp/cpplec.htm 코딩누리 https://codingnuri.com/ 리얼타임 https://www.hanbit.co.kr/realtime/books/new_webboo..

기타/기타 2021.01.07

8주차 과제: 인터페이스

목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개체 역할까지 담당하는 추상 클래스보다 추상적인 추상 클래스를 의미한다 자바에서 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함될 수 있지만 인터페이스는 오로지 추상 메소드와 상수만을 포함할 수 있다.(JDK 1.8 이전) 인터페이스와 추상 클래스를 사용하는 이..

스터디/LiveStudy 2021.01.04

Json 과 XML의 차이

Json vs XML XML(eXtensible Markup Language) HTML과 매우 비슷한 문자 기반의 마크업 언어이다 사람과 기계가 동시에 읽기 편한 구조로되어있다. HTML처럼 데이터를 보여주는 목적이 아닌 데이터를 저장하고 전달하는 목적으로 만들어졌다. XML 태그는 HTML 태그 처럼 미리 정의 되어 있지 않고, 사용자가 직접 정의할 수 있다 JSON(JavaScript Object Notation) 브라우저 통신을 위한 속성-값 또는 키-값 쌍으로 이루어진 데이터 포맷 JSON과 XML 공통점 데이터를 저장하고 전달하기 위해 고안되었다 기계 뿐아니라 사람도 쉽게 읽을 수 있다. 계층적인 데이터 구조를 가진다 다양한 프로그래밍 언어에 의해 파싱될 수 있다 XMLHttpRequest 객체..

JavaScript/기타 2021.01.03