본문 바로가기

전체 글377

[분산 및 병렬처리 시스템] 시스템 아키텍쳐 - Hybrid Architecture Centralized와 Decentralized 아키텍쳐가 혼합된 형태가 Hybrid Architecture이다. 이 아키텍쳐의 종류로는 Edge-Server System, Collaborative Distributed System과 Globe System이 있다. 1) Edge-Server System : 엣지에 네트워크(서버)를 두어 원래라면 긴 거리의 응답 시간을 가졌어야 했던 처리를 줄일 수 있다. 2) Collaborative Distributed System (상호협력 분산 시스템) : 분산 시스템의 컴포넌트들 간에 상호협력하여 P2P 서비스를 유지한다. 대표적인 예로는 BitTorrent System이 있으며, 노드들 간에 파일의 일부분 혹은 파일 전체를 전달하면서 현재 노드가 필요한 파일을.. 2020. 10. 9.
[쉽게 배우는 JSP 웹프로그래밍] 6장 연습문제 1. form 태그에 사용하는 속성에 대해 간단히 설명하시오. form태그의 모든 속성은 필수가 아니라 선택적으로 사용한다. 가장 기본적인 두 속성은 처리할 웹페이지의 URL을 설정하는 action 속성과 HTTP 전송 방식을 설정하는 method 속성이다. method 속성의 기본 디폴트 값은 GET 방식이므로 생략이 가능하다. 그밖에 폼 이름은 name 속성, 응답을 실행할 프레임은 target 속성, 콘텐츠 MIME 유형은 enctype 속성, 문자 인코딩은 accept-charset 속성으로 설정할 수 있다. 2. form 태그 내에 중첩하여 사용하는 태그를 나열하고 설명하시오. input 태그, select 태그, textarea 태그가 있다. input 태그는 사용자가 텍스트 입력이나 선택 등.. 2020. 10. 8.
[분산 및 병렬처리 시스템] 시스템 아키텍쳐 - Centralized, Decentralized Architecture 이전 시간에 배운 분산 시스템의 소프트웨어 아키텍쳐를 생각하면서 일반적인 분산 시스템은 Distributed Object base Architecture이다. 각각의 객체(컴포넌트)들이 다른 host에 위치해 있으며 Method Invocation call을 통해 네트워크 메세지를 보내고, request에 대한 response 메세지를 메세지로 다시 묶어 해당되는 host에게 전달하게 된다. (메세지에 response 메세지를 어디로 보내는지 써져있음) 시스템 아키텍쳐 종류 - Centralized Architecture(Clinent-Server) : 중앙집중형 - Decentralized Architecture(P2P) : 분산형 1. Centralized Architecture : applicati.. 2020. 10. 8.
[분산 및 병렬처리 시스템] 분산 시스템의 소프트웨어 아키텍쳐 먼저 들어가기에 앞서, 소프트웨어 아키텍쳐와 시스템 아키텍쳐의 차이점을 알아보려 한다. 소프트웨어 아키텍쳐는 Logical or Conceptual적이다. 실제 실행이 이뤄지지는 않으며, 일반화되어 있다. 시스템 아키텍쳐는 Actual or Realized하다. 실제적이고 실현화된 상태를 의미한다. 일반적으로 소프트웨어 아키텍쳐가 시스템 아키텍쳐를 실행시킨다고 생각하면 될 것이다. 분산 시스템의 소프트웨어 아키텍쳐 종류 ① Layered Architectures ② Object-based Architectures ③ Data-centered Architectures ④ Event-based Architectures 1. Layered Architectures(레이어 아키텍쳐) : 각각의 레이어(컴포넌트).. 2020. 10. 7.
[분산 및 병렬처리 시스템] 분산 시스템이란? 분산 시스템에도 여러 종류가 있다. 병렬 처리를 지원하는 Distributed Computing System, DBMS에서 주로 사용되는 Distributed Information System, 최근 가장 뜨고 있는 Wireless + IoT 장비에 사용되는 Distributed Prevasize System이 있다. 분산 시스템을 초반에 사용할 때는 computing 시스템에 초점을 맞췄다. 하지만 규모가 커짐에 따라서 자원 공유(Resource sharing)가 중요해지고, Transaction을 통해 독립적인 기능으로 분리가 가능해짐에 따라서 여러 information 시스템을 통해 DBMS로 통합 관리를 할 수 있게 되었다. 또한 초반의 네트워크가 wired 형태를 가졌기에 외부 간섭을 받지 않고.. 2020. 10. 7.
[분산 및 병렬처리 시스템] 분산 처리란? 인터넷이 웹 서비스를 하는 데 있어서 웹에 있는 모든 웹 서비스를 하나의 시스템에 집어넣는 것은 현실적이지 못한다. 왜냐면, 다른 나라에 있는 유저들은 항상 굉장히 먼 거리를 통해 집중화된 네트워크에 접근해야 하기 때문에 네트워크 병목현상이 일어난다. 뿐만 아니라 모든 웹 서비스가 한 곳에 있다고 하면, 동시 접속하는 과정에 네트워크뿐만 아니라 그 집중화된 시스템에서 이뤄지는 서비스에 대한 요청이 모든 컴퓨터에서 잘 이뤄지지 않을 것이다. 이러한 문제점을 보면서 우리는 "분산 및 병렬처리의 필요성"을 느낄 수 있다. 분산이란? A collection of autonomous computer(computing elements) that appears to its users as a single comput.. 2020. 10. 7.
[JAVA] 인터페이스란? (+서점 구현하기) 인터페이스란? : 변수 선언에 사용할 수 있는 타입(기본 타입/클래스/인터페이스/enum) 클래스와 달리 메서드 선언만 가짐 주로 인터페이스는 ~able(~할 수 있는)으로 끝난다. 인터페이스 역할 : 클래스들의 표준과 같은 역할 표준만 정하면 실제 클래스는 그에 맞게 끼워 넣음 서점에서 판매하는 객체 클래스가 되려면? 1) 인터페이스를 구현 2) ArrayList에 저장 3) 객체마다 read()/print()/matches() 메서드가 중복되므로 interface에 넣어준다. // Manageable 인터페이스 interface Manageable{ public void read(Scanner s); public void print(); public boolean matches(String kwd);.. 2020. 10. 6.
[JAVA] 상속이란? (+ 서점 구현하기) 서점 프로그램에서 기준이 되는 Book 클래스에서 어떠한 기능들을 추가로 상속할 것인가? 1) Ebook 클래스를 만들어 Book 클래스를 상속 2) Appendix 클래스를 만들어 Book 클래스를 상속 추가로 이번 서점 프로그램 구현에는 파일을 통해 입력을 할 것이다. 파일 입력 메서드 // BookStore 클래스의 openFile(String filename) 메서드 Scanner openFile(String filename) { Scanner filein = null; try { filein = new Scanner(new File(filename)); }catch(IOException e) { System.out.printf("파일을 열수없습니다. - %s", filename); System... 2020. 10. 6.
[JAVA] 학과 프로그램 #5 - 강의 수강 기능 추가(+파일) 여러 개의 클래스 프로그램 "새로운 기능을 추가하기 위해 클래스가 추가되는 경우" 기존에 검색 기능을 추가할 때는 메서드만 추가하면 되었었다. 하지만 'Lecture'이라는 기능을 추가하기 위해서는 학생이 수강하는 수업을 학과에서 관리해야 하기 때문에 'Lecture' 데이터를 가지고 있는 클래스를 추가해야 한다. 혹은 팀 기능을 추가하기 위해서 새로운 클래스를 만들어야 할 수도 있다. (수강 정보 처리 기능) - 과목 정보 입력 - 학생의 수강 정보 입력 (수강 정보 검색 기능) - 과목을 수강하는 학생 - 학생이 수강하는 과목 - 해당 요일에 수업이 있는 학생 // Lecture 클래스 class Lecture(){ ArrayList registeredList = new ArrayList(); voi.. 2020. 10. 3.