안녕하세요. 오늘은 프록시 패턴에 대해서 이야기 하려고 합니다. 프록시(Proxy)라는 단어의 사전적 의미를 살펴보면 "대리인" 이라는 뜻이 입니다. 자바 코드에서 생각하면 어떤 클래스의 대리를 수행하는 클래스 정도로 생각 해 볼 수 있습니다. Proxy패턴을 사용하는 경우는 실제 객체의 생성시간이 오래 걸리는 경우 일을 분업하여 간단한 초기 작업들은 Proxy에서 수행을 하고 가장 중요한 마지막 작업에서 Proxy객체는 실제 객체를 생성하고 위임시키게 됩니다. 아래에서 Mail과 MailProxy클레스를 가지고 Proxy패턴에 대해서 설명 해보도록 하겠습니다. MailProxy는 보내는 사람(formName)과 받는 사람(toName)을 설정하고 실제 메일을 보낼때 Mail 객체를 생성하여 위임 시키게..
Q. //1. // //N값을 입력 받으면 N보다 적당히 큰 임의의 숫자를 생성해서 //그 수를 1부터 N까지 모두 나눠보고 나누어 떨어질때마다 횟수를 카운트 한다. //나누어 떨어진 횟수가 N보다 작을 경우에 생성한 수를 1증가시키고 다시 1부터 N까지 나누어 본다. //위 과정을 카운트한 수가 N이 될때까지 반복한다. >>프로그램 완성하시오. public class Quest1 { public static void main(String[] args) { int inputValue = 16; int count = 0; int createValue = inputValue + 100; boolean isSame = false; while( !isSame ){ for( int i =1; i
Q. 소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다. 이 때 10,001번째의 소수를 구하시오. >> 이거는 소수일 경우 카운트를 해야되는데 이부분을 잘 못하겠네요 ㅠㅠ public class Quest2 { public static void main(String[] args) { int value = 1000; int count = 0; int sosuCount = 0; for (int i = 1; i
안녕하세요. 오늘은 간단한 사진넘기기 어플을 만들었는데요. 공개하겠습니다. 간단하게 파일은 압축해서 올려놓겠습니다. [MainActivity.java] package org.androidtown.hellow; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.FrameLayout; import android.widget.ImageView; import android...
안녕하세요. 오늘은 스트레지티패턴 (전략 패턴)에 대해서 설명을 해보도록 하겠습니다. 전략 패턴이 뭐냐고요? 말 그대로 전략입니다. 예를 들어보겠습니다. 전쟁에서의 전략은 무엇일까요? 영화 "명량"에서 보여주었던 이순신장군의 학익진 같은 것 혹은 수나라 군사를 몰살시켰던 을지문덕장군의 청천강에서의 전략 이라고 생각 할 수 있겠죠? 자 그럼 프로그래밍에서의 전략은 무었일까요? 아주 극단적인 예를 들어서 고객이 말합니다. "A+B를 덧샘을 하는 메소드를 만들어주세요" 그럼 개발자는 생각하겠죠. A를 앞에 쓰고 B를 뒤에쓸까? B를 앞에 쓰고 A를 뒤에써서 합산을 할까? 물론 결과는 똑같습니다. 하지만 알고리즘이 바뀌게 되지요? 바로 프로그래밍에서의 전략은 "알고리즘" 입니다. 다시 쉽게 풀어쓰면 어떤 작업을..
안녕하세요. 오늘은 자바의 디자인패턴중의 하나인 템플릿메소드 패턴에 대해서 알아보도록 하겠습니다. 템플릿 메소드 패턴이란 상위 클래스에서 특정한 업무 프로세스를 정의하고 하위 클래스에서 그 프로세스대로 행동하도록하는 디자인 패턴입니다. 일단 클래스 다이어그램은 아래와 같습니다. 청소 및 밥먹기 클래스가 TemplateProcess라는 인터페이스를 상속하고 그 인터페스가 가지고 있는 메소드들을 구현하고 있습니다. 단순히 메소드를 구현하는게 아니라 인터페스의 행동절차를 구현하고 있는겁니다. 쉽게 말하면 TemplateProcess를 상속받아서 이러이러한 행동을 구현해 라고 말하는 것이지요. 폴더 구조는 아래와 같습니다. 실행을 위한 Main문은 아래와 같습니다. 먼저 TemplateProcess라는 클래스를..
자바스크립트를 이용하여 간단하게 계산기를 만들어 보았습니다.물론 현재 오류는 존재합니다.만든 목적은 그냥 아주 간단한 계산기를 만들기 위함입니다. [소스코드] 계산기 100000000000 7 8 9 ÷ 4 5 6 × 1 2 3 - 0 . = + [결과]
안녕하세요.? 오늘은 DIV안에 요소를 세로 중앙으로 정렬하는 방법에 대해서 알아 보도록 하겠습니다. 기본적으로 DIV안에 요소를 새로로 정렬하기 위해서는 아래의 코드 처럼 사용합니다. 핵심은 DIV를 display: table; 속성을 이용해 테이블로 변경하고 SPAN을 display: table-cell; 속성을 이용해서 Cell로 변경을 하면 됩니다. /** DIV안의 요소는 주로 SPAN을 사용함.**/ div{ height:50px; width : 100%; border: 1px solid black; border-radius:6px; font-size: 18px; text-align: right; display: table; padding-right: 10px; } div span { disp..
자바스크립트에서 이벤트호출시 Callback Function이 종료되기 까지 이벤트가 실행이 되지 않는다... 이런 경우에는 비동기로 작업을 처리해야한다... $('#example3 tbody').on( 'click', '.transportzone, .tenant', function () { var $this = $(this); $("#logical_topology").empty(); $("#example3 tbody td").css("font-weight","normal") $("#example3 tbody td").css("background-color","white") $(this).css("font-weight","bold") $(this).css("background-color","#FAF4C0..
오늘은 이클립스 실행기록을 삭제하는 방법에 대해서 알아보도록 하겠습니다. 기본적으로 이클립스에서 실행을 하다보면 아래와 같이 실행기록들이 쌓이게됩니다. 쌓이는 것은 문제가 아닌데 쌓이면 내가 진짜 실행해야할 것들이 잘 보이지 않게 되어 헷갈리게 됩니다. 그럼 이러한 기록들을 어떻게 삭제해야 할까요.? 간단합니다. 워크스페이스의 아래 경로에 가서 있는 파일들을 전부 지워주시면됩니다. ${WORKSPACE}/.metadata/.plugins/org.eclipse.debug.core/.launches