본문 바로가기

분류 전체보기

(341)
[컴퓨터 네트워크] 컴퓨터 네트워크 Introduction 정리 네트워크 장치간 interconnection 여러 장치간 동의한 규약인 프로토콜을 기반으로 상호 연결을 해서 인터넷 작동 LAN 제한된 크기 대부분 조직에서 사적으로 소유한 네트워크 낮은 비용 쉬운 설치 빠른 속도 WAN LAN 보다 넓은 범위를 연결 point to point WAN : 장거리의 두 디바이스 간 연결 switched WAN : 두 개 이상의 디바리스를 연결하는 네트워크 / 스위치로 연결 느린 속도 높은 비용 복잡한 설치 스위칭 circuit switched 양 단간 시스템 사이에서 사용 가능한 전용 연결 (회선) 스위치를 circuit (회선)을 끄고 킬수만 있음 paceket switched 양단간 소통시 교환하는 데이터 블록 = 패킷 이 네트워크의 라우터는 큐를 저장하고 보내는 큐로..
Week10) Java Programming Lab : Multithreading 1. Introduction 1.1 멀티쓰레딩이란? 멀티쓰레딩 = 멀티프로세싱 멀티 프로세싱 운영체제는 동시에 여러개의 프로세스를 실행시킨다 각 프로세스는 자신만의 주소 및 메모리 공간을 갖는다. 운영체제 스케줄러는 어떤 프로세스를 실행시킬지 결정하는데 한번에 오직 하나의 프로세스만 실행가능하다. 그런데 시스템이 동시에 여러 프로세스가 실행되는 것'처럼' 보이게 하는 것 멀티쓰레드 애플리케이션은 동일한 메모리 공간 내에서 여러 개를 실행 포인트가 있다. 각 테스크들이 분리된 쓰레드로 동작함 하나의 쓰레드가 오래걸리는 것이 전체 애플리케이션이 그 쓰레드 하나를 끝낼때까지 기다리게 하지 않음 싱글쓰레드 애플리케이션에서는 하나의 실행 쓰레드가 모든 것을 해야 한다. 메인 메소드 있는 클래스에서 모든 것을 ru..
[Spring] 의존성 주입 ,스프링 컨테이너 (IoC 컨테이너) 개념 기초 1. 의존성 주입 Dependency Injection IoC (Inversion of Control) 이라고도 함 어떤 객체가 사용하는 의존 객체를 직접 만드는 것이 아니라 주입 받아 사용하는 방법 1.1 예시 1.1.1 의존성 주입 없이 직접 사용할 객체를 만드는 예시 public class BookService { private BookRepository bookRepository; //constructor public BookService() { bookRepository = new BookRepository(); } } 1.1.2 사용할 객체를 주입 받는 예시 public class BookService private BookRespository bookRepository; public void..
Week10) 데이터 큐레이션 실습 : Creating Data 데이터 생산하기 1. 데이터 생산 및 수집하기 과학자, 학자, 개인들이 데이터 생산 이 데이터들은 큐레이션과 미래의 공유 및 재사용을 고려하여 생산되어야 함 1.1 데이터 생산 및 수집의 주요 활동 데이터 생산시 관리적, 설명적, 구조적, 기술적 메타데이터 부여 문서화된 수집 정책을 바탕으로 데이터 생산자, 아카이브 등으로부터 데이터 수집시에도 관련 메타데이터 부여 데이터 + 관련 설명 및 표현 정보 생산 데이터를 외부로부터 수집하여 → 큐레이션 될 수 있는 상태로 준비 1.2 데이터 생산 및 수집의 구체적 활동 수집 및 생산 관련 정책 개발 및 문서화 생산자들이 큐레이션 친화적 데이터를 생산하도록 함 구조화 : 표준 데이터 형식, 파일 포맷에 따라 데이터를 생산하여 오픈 소스나 문서화된 프로그램으로 처리될 수 있게 함..
Spring Boot) 5. REST API 서버 만들기 + REST 관련 요소 1. REST Representational State Transfer 분산 네트워크 프로그래밍의 아키텍처 스타일 API : 데이터와 기능의 집합 , 이를 통해 데이터와 기능을 사용자들이 사용할 수 있게 함 REST API : API 구조가 REST 요건에 부합하는 경우 RESTful하다고 말함 1.1 REST의 특징 클라이언트 서버 클라이언트 서버가 각각 독립적 상태 없음 클라이언트 서버간 통신시 상태 없음, 서버가 클라이언트 상태 기억할 필요 없음 레이어드 아키텍처 서브 클라이언트 사이에 다 계층 형태로 레이아 추가, 수정, 제거 가능 캐시 캐시 있을 수도 있고 없을수도 있는데 있다면 클라이언트가 응답 재사용 할 수 있음. 서버 부하 낮춰서 성능 개선 코드 온 디맨스 요청이 오면 코드를 줌 특정 시점..
Spring Boot) 4. 스프링 부트 웹 개발 1. 스프링 부트에 대한 이해 스프링의 복잡한 설정 웹 개발을 목적으로 하는 프레임워크로 사용하기 위해 설정을 간소화한 스프링 부트 등장 스프링 부트가 내부적으로 디스패티 서블릿, 뷰 리졸버와 같은 빈을 로드해주어 컨트롤러와 메인 메소드 실행만으로 웹에서 접근 가능 1.1 스프링 부트 프로젝트 레이아웃 자바 프로젝트 결과 파일 포맷 JAR : 로컬에서 실행되는 파일 WAR : 웹 애플리케이션 컨테이너에서 실행되는 파일 웹 자원 위치 규약 정적 html 파일 src/main/resources/static src/main/public favicon src/main/resources/favicon.ico template (tymeleaf html) src/main/reources/templates spring..
Spring boot) 3. 스프링 프레임워크 1. 빈 + 컨테이너 웹 프로젝트 = 대형 화물선 컨테이너 = 화물 컨테이너 자바 빈 = 화물 EJB (Enterprise Java Beans): 서버측 컴포넌트 모델 / 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션, 주로 업무 로직을 처리하는 역할 POJO (Plain Old Java Object): 일반 자바 클래스 Bean : 자바 클래스 2. IoC 패턴 활용 Inversion of Control : 제어의 역전 원칙 1. 하이레벨 모듈은 로우레벨 모듈에 의존하면 안 되고 모두 인터페이스에 의존해야 한다. 원칙 2. 추상화는 세부사항에 의존해서는 안된다. = 세부사항이 추상화에 의존해야 한다. 인터페이스를 활용해서 모듈간 결합도를 낮추는 것이 목적 Dedencency Injection..
Spring Boot) 2. 서블릿 Servlet 1. 서블릿 시작하기 1.1 서블릿이란 JVM 기반에서 웹 개발을 위한 명세, API 서블릿 실행을 위해 웹 애플리케이션 컨테이너가 필요 Java EE에 포함된 스펙 중 하나 자바에서 HTTP 요청 및 응답을 처리하기 위한 내용 담고 있음 1.2 서블릿 설정 build.gradle 파일에 JAR 파일 추가해서 사용 example buildscript{ repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty:+' } } apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty' apply plugin: 'eclipse' apply plugin: ..