일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 다형성
- while
- 25가지 효율적인 sql작성법
- 가변인자
- Login with OAuth Authentication
- 전체텍스트
- 전자정부
- 스프링
- 업캐스팅
- 이클립스
- full text indexing
- 야구게임
- angular2
- jquery
- 추상클래스
- Validations
- 로또
- 전체
- Full text
- 자바
- 다운캐스팅
- IBatis procedure
- 상속예제
- 자바 야구게임
- 상속
- 단축키
- 형변환
- 페이징
- Random
- Today
- Total
목록전체 글 (448)
nalaolla
개요 이번 포스팅에서는, 카프카가 무엇인지와 스프링에서 카프카를 사용하는 방법에 대해서 알아보도록 하겠습니다. 왜 메시지 큐를 쓰는가? 메시지 큐를 쓰는 이유는 대략적으로 아래와 같습니다. 먼저, 기존의 단순한 동기식 통신 방식에 비해서 더 뛰어난 응답속도를 보여줍니다. 기존의 동기식 통신 방식은, 사용자로 부터 요청을 받아서 요청을 다 처리할때 까지 Blocking 상태에 빠지게 됩니다. 즉, 요청이 전부 처리가 되어야 사용자에게 응답을 주게 됩니다. 하지만, 메시지 큐를 이용하는 경우 사용자에게 요청을 받으면 큐에다 집어 넣기만 하면 바로 다음 사용자의 요청을 받아들일 수 있기 때문에 응답속도가 향상되게 됩니다. (실제 처리는 쌓여진 큐에서 다른 워커 프로세스가 1개씩..
[개요] 아래의 코드는 Linear( 선형큐)가 아닌 Circle Queue( 순환큐)를 이용하여 생산자/소비자 패턴을 구현해 보았습니다. 생산자/소비자 패턴은 멀티쓰레드 환경에서 주로 쓰이는 패턴입니다. 생산자와 소비자는 하나의 클래스를 공유하고 그 클래스는 큐구조를 가지게 됩니다. 생산자는 데이터를 지속적으로 만들어 큐에 넣을 것이고 소비자는 데이터를 지속적으로 큐에서 빼낼 것입니다. [구조] [Main.java] package provider_consumer; public class Main { public static void main(String[] args) { int size = 100; Table table = new Table(100); Thread provider = new Thread..
| General 자주 사용되는 공통 부분 단축키 입니다. ⌘0~9(Alt+#[0-9]) : 각 단축키에 해당하는 도구창을 엽니다. 예를 들어 ⌘1 을 사용하면 프로젝트 도구창을 토글할 수 있습니다. ⌘⇧F12(Ctrl+Shift+F12) : 편집기(Editor) 영역을 최대로 크기로 토글합니다.( Toggle maximizing editor) ⌘,(Ctrl+Alt+S) : 설정(Preferences) 창을 엽니다. ( Open Settings dialog ) ⌘;(Ctrl+Alt+Shift+S) : 프로젝트 구조를 확인 및 변경 할 수 있는 창을 엽니다. 해당 메뉴에서 Modules, Libraries, Facets, Artifacts, SDK,Project compiler output 등을 확인 및 ..
컴포지트 패턴 (Composite Pattern) = 객체들을 트리 구조로 구성하여 부분과 전체를 나타내는 계층 구조로 표현하는 것. 클리이언트에서 개밸 객체와 다른 객체들로 구성된 복합 객체(Composite)를 똑같은 방법으로 다룰 수 있음. Component (Interface) : 복합 객체내에 들어있는 모든 객체들에 대한 인터페이스를 제공합니다. 복합노드, 리프노드에 대한 메소드를 정의함. Leaf : 그 안에 들어있는 원소에 대한 행동을 정의. Composite (=복합객체) : 자식이 있는 구성요소의 행동을 정의하고 자식 구성요소를 저장하는 역할을 맡음. Client : Component 인터페이스를 사용해 복합 객체 내의 객체들을 조작할 수 있음. Composite = Composite +..
반복자 패턴 (이터레이터 패턴, Iterator Pattern) : 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체안에 들어있는 모든 항목에 접근할 수 있게 해 주는 방법을 제공해 주는 패턴. 양치기와 염소치기 이야기 옛날에 양치기와 염소치기가 살았습니다. 아침이 되면 그들은 양과 염소가 밤에 도망갔는지 아니면 늑대의 습격을 받아 희생되었는지 확인하기 위해 숫자를 세었습니다. 양치기는 훌륭한 목동견의 도움을 받아 양들을 일렬로 쭉 세운다음 한마리 씩 세었습니다. 반면에 염소치기는 어릴 때 부터 염소들에게 이름을 지어주고 부르면 오도록 훈련을 시켰기 때문에 한 마리씩 이름을 불러서 숫자를 세었습니다. 어느날 양치기가 너무나 배가 아파서 이웃마을의 의사에게 진찰을 받으러 갔습니다. 무려 일주일 동안 시간..
퍼사드 패턴 (Facade Pattern) = 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공합니다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용할 수 있습니다. * 퍼사드(Facade) 라는 것은 무엇일까요? 퍼사드란, 프랑스어 Façade 에서 유래된 단어로 건물의 외관이라는 뜻을 가지고 있습니다. 건물의 외벽에서 보면 안의 구조는 보이지 않습니다. 퍼사드 패턴은 많은 서브시스템(내부 구조)을 거대한 클래스(외벽)로 만들어 감싸서 편리한 인터페이스를 제공해 줍니다. 퍼사드패턴으로 전자레인지 만들기 우리는 전자레인지를 버튼만 클릭하면 동작 시킬 수 있습니다. 동작시킬 타이머만 설정하고 실행 버튼만 클릭하면 곧 따뜻한 음식을 먹을 수 있죠. 여기서 전자레인..