Jini's Blog

Ing...

  • Home
  • Business
    • Internet
    • Market
    • Stock
  • Parent Category
    • Child Category 1
      • Sub Child Category 1
      • Sub Child Category 2
      • Sub Child Category 3
    • Child Category 2
    • Child Category 3
    • Child Category 4
  • Featured
  • Health
    • Childcare
    • Doctors
  • Home
  • Business
    • Internet
    • Market
    • Stock
  • Downloads
    • Dvd
    • Games
    • Software
      • Office
  • Parent Category
    • Child Category 1
      • Sub Child Category 1
      • Sub Child Category 2
      • Sub Child Category 3
    • Child Category 2
    • Child Category 3
    • Child Category 4
  • Featured
  • Health
    • Childcare
    • Doctors
  • Uncategorized

Design Patterns

 Jini     오전 12:20     JAVA     No comments   



01. Iterator Pattern
왜 for문을 사용하지 않고 Iterator를 구현할까? 기존 구문 변경없이 loop 순환이 가능함. 즉 특정 구현에 의존하지 않을 수 있게 디자인이 가능함.


02. Adapter Pattern


03. Template Pattern


04. Factory Method Pattern


05. Singleton Pattern


06. Prototype Pattern


07. Builder Pattern


08. Abstract Factory Pattern


09. Bridge Pattern


10. Strategy Pattern


11. Composite Pattern


12. Decorator Pattern


13. Visitor Pattern


14. Chain of Responsibility Pattern


15. Facade Pattern


16. Mediator Pattern


17. Observer Pattern


18. Memento Pattern


19. State Pattern


20. Flyweight Pattern


21. Proxy Pattern
필요할 때 생성한다.


22. Command Pattern

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Redmine Text Format

 Jini     오후 1:22     Redmine     1 comment   

1. 글자색상 변경

%{color:red}dev%



2. 음영색상 변경

%{background:lightgreen} lightgreen%


3. 문단 넘버링(띄어쓰기 주의)

# 큰 제목
## 큰제목의 하위 제목
# 두번째 큰 제목
# 세번째 큰 제목

실제로는 다음과 같이 출력됨

1. 큰 제목
    1. 큰 제목의 하위 제목
2. 두번째 큰 제목
3. 세번째 큰 제목


4. 문단 단계화(띄어쓰기 주의)

* 큰 제목
** 큰제목의 하위 제목
* 두번째 큰 제목
* 세번째 큰 제목

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Visual Studio 2013 팁 및 단축키(이클립스랑 비교)

 Jini     오후 9:54     Visual Studio     1 comment   

이클립스에는 있는데 VS에는 없어서 있었으면 하는 기능 중 실제로 있었는데 내가 몰랐던 것들



1. 한 줄 삭제

이클립스는 ctrl + d / VS는 ctrl + shift + l


2. 한 줄 그대로 복사하여 아래로 붙여넣기(위로 붙여넣기는 모르겠다.)

이클립스는 ctrl + alt + ↓ / VS는 복사하고자 하는 라인에서 영역을 선택하지 않은 상태로 ctrl + c 후 다시 ctrl + v



이클립스에는 없는데 VS에는 있는 기능중 깜짝 놀랄만한 것.


1. 코드가 도구상자에 등록이 되고 도구상자에 있는 코드를 드래그 해서 다시 가져올 수 있음.

코드를 드래그 해서 도구상자에 넣으면 끝. 가져올 때도 일반 Control 가져오듯이 드래그해서 가져오면 됨.


그 외 단축키


1. Code Indent

이클립스는 ctrl + I / VS는 ctrl + k 후 ctrl + D


2. 대응하는 괄호 찾기

이클립스는 ctrl + shift + p / VS는 ctrl + [


3. 대소문자 변환

이클립스는 ctrl + shift + y, ctrl + shitf + x / VS는 ctrl + u , ctrl + shift + u


4. 창분할(단축키는 아님)

[세로창분할]
이클립스는 ctrl + "{" / VS는 창 → 새창 → 창 → 새 세로 탭 그룹

[가로창분할]
이클립스는 ctrl + "_" / VS는 창 → 분할

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

윈도우(Window)에서 사용 포트 확인 및 프로세스 KILL

 Jini     오후 10:11     No comments   

1. 특정포트가 열려있는지 확인
- netstat -na | findstr "포트"

2. 열려 있는 포트의 PID 확인
- netstat -nao | findstr "포트"

3. PID 찾기
- tasklist | findstr "PID번호"

4. 프로세스 죽이기
- taskkill /f /pid "PID번호"
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

[Spring] 다국어 처리 동작 과정

 Jini     오후 3:40     spring     No comments   

1. Client(브라우저)에서 요청을 보냄.

2. LocaleChangInterceptor가 request를 인터셉터.

3. request 파라미터중 locale 정보를 가로챈다.(피들러 등으로 locale 정보 확인 가능, Accept-Language)

4. LocaleChangInterceptor가 현재 applicationContext에 설정된 LocaleResolver를 얻어 setLocale 메소드 호출
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

JUNIT 테스트 작성 방법

 Jini     오전 1:44     JUNIT     No comments   

package com.jini.ch4;

import java.io.*;
import junit.framework.*;


public class FileReaderTester extends TestCase {
 
 private FileReader _input;
 private FileReader _empty;
 private static final String FILE_NAME = "c:/Users/jini/Desktop/data.txt";
 
 public static void main (String[] args) {
  //1. 기본적인 Test 실행 방식.
  junit.textui.TestRunner.run(suite());
  
  //2. 해당 클래스에서 test로 시작하는 모든 메소드를 테스트 하도록 함.
  junit.textui.TestRunner.run(new TestSuite(FileReaderTester.class));
  
  //3. 여러 클래스의 Test Suite를 연결하기 위한 MasterTester 클래스 방식/
  junit.textui.TestRunner.run( suite2());
 }

 public FileReaderTester(String name) {
  super(name);
 }
 
 /**
  * 메소드명을 파라미터로 하는 TestSuite 
  * @throws IOException
  */
 public static Test suite() {
  TestSuite suite = new TestSuite();
  suite.addTest(new FileReaderTester("testRead"));
  suite.addTest(new FileReaderTester("testReadAtEnd"));
  return suite;
 }
 
 public static Test suite2() {
  TestSuite result = new TestSuite();
  result.addTest(new TestSuite(FileReaderTester.class));
  result.addTest(new TestSuite(FileReaderTester.class));
  return result;
 }
 
 public void testRead() throws IOException {
  char ch = '&';
  for(int x = 0; x < 4; x++) {
   ch = (char)_input.read();
  }
  
  assertEquals('d', ch);
 }
 
 public void testReadAtEnd() throws IOException {
  int ch = -1234;
  for(int x = 0; x < 141; x++) {
   ch = _input.read();
  }
  
  assertEquals("read at end", -1, _input.read());
 }
 
 public void testReadBoundaries() throws IOException {
  assertEquals("read first char", 'B', _input.read());
  int ch;
  for(int x = 0; x < 140; x++) {
   ch = _input.read();
  }
  
  assertEquals("read last char", '6', _input.read());
  assertEquals("read at end", -1, _input.read());
  assertEquals("read past end", -1, _input.read());
 }
 
 public void testEmptyRead() throws IOException {
  assertEquals(-1, _empty.read());
 }
 
 public void testReadAfterClose() throws Exception {
  _input.close();
  
  try {
   _input.read();
   fail("read past end에 예외가 발생하지 않음");
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 
 protected void setUp() {
  try {
   _input = new FileReader(FILE_NAME);
   _empty = newEmptyFile();
  } catch (IOException e) {
   throw new RuntimeException(e.toString());
  }
 }
 
 protected void tearDown() {
  try {
   _input.close();
  } catch (IOException e) {
   throw new RuntimeException("테스트 파일을 닫는 중 에러 발생");
  }
 }
 
 private FileReader newEmptyFile() throws IOException {
  File empty = new File(FILE_NAME);
  FileOutputStream out = new FileOutputStream(empty);
  out.close();
  return new FileReader(empty);
 }
}

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

해당 달을 기준으로 달력 만드는 쿼리.

 Jini     오전 12:44     Oracle     No comments   

WITH T AS
(SELECT TO_DATE('201309', 'yyyymm') YM FROM DUAL)
SELECT *
FROM   (
           SELECT MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '1', LEVEL)) SUN
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '2', LEVEL)) MON
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '3', LEVEL)) TUE
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '4', LEVEL)) WED
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '5', LEVEL)) THU
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '6', LEVEL)) FRI
                , MIN(DECODE(TO_CHAR(YM + LEVEL - 1, 'D'), '7', LEVEL)) SAT
           FROM   T
           CONNECT BY
                  LEVEL <= LAST_DAY(YM) - YM + 1
           GROUP BY
                  TRUNC(YM + LEVEL, 'IW')
           ORDER BY
                  SAT
        )
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
최근 게시물 이전 게시물 홈

Popular Posts

  • Java 버전별 특징 및 변경사항
    1. Java7 • 타입추론 List<String> list = new ArrayList<>(); • 이진수 리터럴, 숫자 리터럴에 _ 지원 • Switch문 문자열 가능 • try-with-resources 문 : Au...
  • 윈도우(Window)에서 사용 포트 확인 및 프로세스 KILL
    1. 특정포트가 열려있는지 확인 - netstat -na | findstr "포트" 2. 열려 있는 포트의 PID 확인 - netstat -nao | findstr "포트" 3. PID 찾기 - task...
  • WebFlux Error Handling
    WebFlux Error Handling doOnError : 예외 발생시 특정행위를 수행한다. onErrorReturn : 예외 발생시 특정 값을 return 한다. onErrorResume : 예외 발생시 다른 Flux형태로 return 한다....
  • Git 명령어 모음
    ■ Commit   ▷ Commit History를 콘솔형 그래프로 보고자 할 경우 사용가능(--abbrev-commit는 해시ID를 약식으로) git log --graph --pretty=oneline --abbrev-commit   ▷ 병합...
  • Visual Studio 2013 팁 및 단축키(이클립스랑 비교)
    이클립스에는 있는데 VS에는 없어서 있었으면 하는 기능 중 실제로 있었는데 내가 몰랐던 것들 1. 한 줄 삭제 이클립스는 ctrl + d / VS는 ctrl + shift + l 2. 한 줄 그대로 복사하여 아래로 붙여넣기(위로 붙여넣기는 모...

Recent Posts

Recent Posts Widget

Blog Archive

  • ▼  2023 (4)
    • ▼  3월 (1)
      • 오브젝트 : 코드로 이해하는 객체지향 설계
    • ►  2월 (1)
    • ►  1월 (2)
  • ►  2022 (1)
    • ►  2월 (1)
  • ►  2020 (8)
    • ►  7월 (1)
    • ►  4월 (3)
    • ►  3월 (4)
  • ►  2018 (1)
    • ►  7월 (1)
  • ►  2015 (1)
    • ►  5월 (1)
  • ►  2014 (5)
    • ►  8월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
    • ►  1월 (1)
  • ►  2013 (10)
    • ►  12월 (1)
    • ►  11월 (1)
    • ►  9월 (2)
    • ►  8월 (3)
    • ►  7월 (3)
  • ►  2012 (1)
    • ►  3월 (1)

Categories

  • 객체지향 (1)
  • 도서요약 (1)
  • 문법에서 문장까지 (2)
  • 일상 (1)
  • 자기계발 (1)
  • 책 (1)
  • 키보드 (1)
  • 키크론 (1)
  • blogspot (2)
  • error (1)
  • exception (1)
  • GIT (1)
  • JAVA (6)
  • JUNIT (1)
  • K8 PRO RGB (1)
  • kafka (1)
  • markdown (1)
  • mongodb (2)
  • mongotemplate (1)
  • optional (1)
  • Oracle (4)
  • Redmine (1)
  • spring (1)
  • stackedit (1)
  • troubleshooting (1)
  • Visual Studio (1)
  • Webflux (1)

Unordered List

Pages

  • 홈

Text Widget

Categories

Tags

Facebook

  • Home
  • Features
  • _Multi DropDown
  • __DropDown 1
  • __DropDown 2
  • __DropDown 3
  • _ShortCodes
  • _SiteMap
  • _Error Page
  • Documentation
  • Video Documentation
  • Download This Template

Footer Menu Widget

  • Home
  • About
  • Contact Us

Social Plugin

JINI. Powered by Blogger.

Copyright © Jini's Blog | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates