ohjongsung's Dev Story

Ohjongsung's Dev Story

CAP 이론과 PACELC 이론

CAP 이론은 분산 데이터베이스 시스템에서 의미있는 이론이다. 분산 데이터베이스의 세 가지 속성인 일관성(Consistency), 가용성(Availability), 네트워크 파티션 허용(Partition tolerance)을 나타낸다. 처음 CAP 이론이 발표된 후, 시간이 지나면서 이론의 허점이 발견되었고 이를 보완하는 PACELC 이론이 나오게 된다.

2019년 05월 01일

REST API를 얼마나 나누고 묶을까? - REST API Granularity

해석하면 API 입도, 즉 API 를 얼마나 세밀하게 나눌 것이냐(Fine grained), 거칠게 묶을 것이냐(Coarse grained) 를 의미한다. Fine grained vs Coarse grained

2018년 09월 25일

REST API 성숙도 모델 - Maturity Model

지난 글에 이어서, 이번에는 Rechardson 의 API 성숙도 모델에 대해서 정리해 보겠다. 어떤 글에서는 6 단계로 나누기도 하는데, 원문의 모델은 4 단계로 나누어져서 각 단계를 달성할 수록 REST API에 가까워진다고 말한다.

2018년 07월 21일

REST API 기본 정리

REST API 에 관한 이론적인 내용을 체계적으로 하나둘씩 정리해보려고 한다. 이 글에선 REST API 의 기본적인 내용에 대해서 정리하겠다. API “defined methods of communication between various software components”

2018년 07월 07일

자바 캐스팅 - Java Casting

형변환이라 부르기도 하는 Casting은 기본형과 참조형에서 사용가능하다. 같은 종류의 변수끼리 Casting이 가능하고 기본형과 참조형 간의 Casting은 불가능하다. Casting은 단순히 데이터 형을 바꾸는 목적이 아니라, OOP의 특성인 다형성측면에서 활용한다.

2018년 05월 31일

자바 제네릭 - Java Generic

모던 자바는 자바5 이후를 말한다. 그 대표적인 특징은 세 가지로 애노테이션, 람다 그리고 제네릭이다. 이번 글로 알게 모르게 사용하고 있는 제네릭에 대해서 정리해보자. 사전 정의 generic formal shared by, typical of, or relating to a whole group of similar things, rather than to any particular thing. ex) The new range of engines all had a generic problem with their fan blades. generic drugs or other products do not have a trademark and are sold without the name of the company that produced them.

2018년 03월 31일

HTML 파서 Jsoup의 NodeTraversor

보통 크롤러를 만들때, 해당 HTML 구조를 파악하고 NavigatingAPI를 사용해서 필요한 DOM을 선택하고 값을 추출하거나 작업을 했다. 그런데 body 태그 안의 모든 DOM 중에서 조건에 맞는 DOM이면 특정 작업을 해야 할때는 어떻게 해야 할까? 특별한 규칙성이 없다면 모든 DOM을 순회하면서 일일이 조건에 맞는지 확인해야 한다. 그래서 HTML DOM은 트리 구조라고 할 수 있으니, 트리 순회 알고리즘을 적용하면 되지 않을까 생각했다. 그런데 내가 생각할 수준이면 이미 만들어져 있지 않을까 했는데, 역시나 API를 뒤져보니 나온다. 그것이 org.jsoup.select 패키지의 NodeTraversor이다.

2017년 08월 29일

데이터 캡슐화를 위한 Getter, Setter

데이터 캡슐화는 데이터를 공용 메소드를 통해서만 접근하도록 허용하는 방법을 말한다. 그렇다면 getter/setter를 사용하면 얻게 되는 기능은 무엇일까? 정리해보면 다음과 같다.

2017년 08월 19일

Spring Application Context

스프링 애플리케이션에서는 독립된 컨테이너가 오브젝트에 대한 제어권을 가지고 있다. 그래서 IOC 컨테이너라고 부른다. 그런데 이 컨테이너를 빈 팩토리 또는 애플리케이션 컨텍스트라고도 부른다. 왜 그렇게 부르는지 소스를 살펴보자.

2017년 06월 03일

필드 주입(Field Injection)을 피하자

의존관계 주입(Dependency Injection) 방법은 생성자 주입, 수정자 주입, 필드 주입이 있다. 왜 필드 주입 사용을 줄이고, 생성자/수정자 주입을 사용해야 하는지 알아보자.

2017년 06월 02일