본문 바로가기

국비 교육

(42)
2020.10.19 일자 수업 : 사용 사례, executor 프레임워크 요구사항 분석 - 사용 사례 Actor(who)가 이 시스템을 사용하여 달성하려는 업무 목표(what)를 Use-case(사용사례)라고 한다. 분석 설계 과정에서 use-case을 식별하는 것을 use-case identify라고 한다. 다음은 use-case을 식별할 때 사용되는 use-case의 조건이다. (개발할) 시스템을 사용해서 처리하는 업무 한 사람이 한 번에 한 순간에 수행하는 업무 예) 메일 전송 (메일 전송은 한 번에 한 순간에 하지 않을 수도 있다.) => 메일 임시보관 / 메일 전송 카운트가 가능한 단위로 업무를 쪼갠다. 업무의 시작과 끝이 명확하다. 이 조건에 따라 use-case의 적정 크기를 지정해야 한다. RUP 개발 프로세스에서는 2주에서 6주 안에 개발할 수 있는 규모를 u..
2020.10.20 일자 수업 : 스레드 풀, ExecutorService, DBMS 실습 - 스레드 풀 구현하기 git/eomcs-java-project/mini-pms-36-a 먼저 자바에서 제공하고 있는 ExecutorService 대신, 직접 ThreadPool를 구현하여 사용할 것이다. 일단 com.eomcs.pms.util.concurrent 패키지에 ThreadPool 클래스를 정의한다. ThreadPool에는 다음과 같은 멤버들이 있다. Worker : Thread를 상속받아 정의한 스레드 클래스 workers : Woker 객체들을 저장할 컬렉션 객체 execute(Runnable) : 스레드가 실행할 코드를 run메서드로 갖고 있는 Runnable을 파라미터로 넘겨받아 풀에서 Worker 하나를 꺼내어 실행시킨다. public class ThreadPool { boole..
2020.10.13 일자 수업 : 옵저버 패턴, 네트워크 프로그램 실습 실습 - 발행자와 구독자의 데이터 공유 git/eomcs-java-project/mini-pms-33-b 옵저퍼 패턴과 자바에서 제공하는 Servlet 클래스들의 관계는 유사하므로 옵저버 패턴을 확실히 익혀야 한다. ServletContextListener 웹 어플리케이션을 실행하는 데 필요한 초기화 작업이나 웹 어플리케이션이 종료된 후 사용된 자원을 반환하는 등의 작업을 수행하는데 사용된다. 이를 통해 웹 어플리케이션이 시작되고 종료될 때 특정한 기능을 실행할 수 있다. 출처 : ServletContextListener 이벤트 처리| 작성자 원종천 구체적으로는 Servlet의 context의 변경 사항이 생길 때마다 그에 따른 수행 작업을 하는 클래스이다. 이번 실습에서는 발행자에서 옵저버에게 파라미터..
2020.10.12 일자 수업 : Observer 디자인 패턴 Observer Design Pattern git/eomcs-java-basic/src/main com.eomcs.design-pattern.observer Observer Design Pattern (= Publish-Subscribe Pattern) Observer 디자인 패턴은 특정 객체의 상태 변화에 따라 수행해야 하는 작업이 있을 경우, 기존 코드를 손대지 않고 손쉽게 기능을 추가하거나 제거할 수 있는 설계 기법으로 발행(publish)/구독(subscribe) 모델 이라고 부르기도 한다. 구독 객체를 리스너(listener) 또는 관찰자(observer) 라 부르기도 한다. 어떤 객체의 상태에 변화가 생기면, 즉 이벤트가 생기면, 그것에 대한 소식을 받아 작업을 수행하는 객체가 listener..
2020.10.7 일자 수업 : 웹 서버, 채팅 프로그램, 스레드 실습 - 웹 어플리케이션 git/eomcs-java-basic/src/main com.eomcs.net.ex11.step13 원래의 계산기 서버는 자바 코드로 이뤄진 클라이언트가 직접 콘솔로 연결 요청해야 하는 어플리케이션이었다. 이 서버를 http 프로토콜 요청에 대해 적절히 응답할 수 있는 웹 서버 프로그램으로 바꿀 것이다. 이렇게 프로그램을 바꾸면 이 서버에 대한 클라이언트는 웹 브라우저가 된다. 기존 프로그램과 마찬가지로 클라이언트와 연결하는 역할만 수행하는 CalculatorServer와 클라이언트의 요청에 대한 응답을 하는 RequestProcessor 클래스를 그대로 사용한다. package com.eomcs.net.ex11.step13; import java.net.ServerSocket;..
2020.10.6 일자 수업 : 네트워크 실습, 계산기 서버 실습 - 네트워크 프로그램 git/eomcs-java-basic/src/main com.eomcs.net.ex11 Desktop App vs Network App java, eclipse와 같은 컴퓨터 안에서 실행될 수 있는 어플리케이션을 데스크탑 어플리케이션이라고 하며, 이메일 프로그램과 같이 이용자가 네트워크에 접속하여 사용하는 프로그램을 네트워크 어플리케이션이라고 한다. 데스크 탑 어플리케이션은 다음과 같은 특징이 있다. 로컬에 설치해야 사용 가능하다 버전이 바뀔 때마다 재설치해야 한다. 이용자들의 로컬에 모두 설치해줘야하므로 대량의 pc 관리가 힘들다. 네트워크 어플리케이션은 서버에서 돌아가고 있는 프로그램에 이용자가 접근하는 형태이므로, 이 프로그램을 실행하는 서버를 Application Ser..
2020.10.5일자 수업 : connectionless, HTTP, URL, base64 네트워크 git/eomcs-java-basic/src/main com.eomcs.net.ex05 git/eomcs-java-basic/src/main com.eocms.net.ex06 git/eomcs-java-basic/src/main com.eocms.net.ex07 git/eomcs-java-basic/src/main com.eocms.net.ex08 git/eomcs-java-basic/src/main com.eocms.net.ex10 연결지향 (connection-oriented) 여태까지 살펴보았던 모든 연결 방식은 connection-oriented방식으로,일단 연결이 되어야 데이터를 주고 받을 수 있다. 즉, 서버가 일단 실행된 상태에서 클라이언트가 대기열에 들어간 후, 서버가 클라이언트를..
2020.9.21일자 수업 : 파일 입출력 도구들 파일 입출력 git/eomcs-java-basic/src/main/java com.eomcs.io.ex03.Exam0420 git/eomcs-java-basic/src/main/java com.eomcs.io.ex04 git/eomcs-java-basic/src/main/java com.eomcs.io.ex05 git/eomcs-java-basic/src/main/java com.eomcs.io.ex06 git/eomcs-java-basic/src/main/java com.eomcs.io.ex07 git/eomcs-java-basic/src/main/java com.eomcs.io.ex08 DataIntputStream / DataOutputStream FileInputStream / FileOutput..