1. 다중 프로그래밍 개요다중 프로그래밍의 목적은 CPU 이용을 최대화하기 위하여 어떤 프로세스가 항상 실행 중이도록 하는 데 있다. 시분할의 목적은 각 프로그램이 실행되는 동안 사용자가 상호작용 할 수 있도록 프로세스들 사이에서 CPU를 빈번하게 교체하는 것이다.(아주 빨리 교체해서 CPU코어가 모자름에도 병렬로 실행되는 것처럼 보인다.) 2. Scheduling Queues프로세스가 시스템에 들어오면 job queue에 놓여진다. 이 큐는 시스템 안의 모든 프로세스들로 구성된다. 주 메모리에 존재하며 process state가 ready인 프로세스들은 ready queue라 불리는 리스트 상에 유지된다. 이 큐는 보통 연결 리스트로 저장된다. ready queue의 헤더는 리스트의 첫 번째와 마지막 ..
1. 프로세스란현대 컴퓨터는 다수의 프로그램이 적재되어 병행 실행되도록 한다. 프로세스란 실행중인 프로그램을 말한다. (job이라고도 불림) 프로세스는 시분할 시스템에서 작업의 단위이다. 프로세스는 함수 매개변수, 복귀 주소, 로컬 변수 등 임시적인 자료를 가지는 프로세스 스택, 전역 변수를 저장하는 데이터 섹션, 동적 할당 메로리를 위한 힙 등으로 구성된다. 프로그램 자체는 명령어 리스트로 디스크에 저장된 파일로 수동적인 존재(passive entity)이며, 프로세스가 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련된 자원의 집합을 가지는 능동적인 존재(active entity)이다. 즉, 실행 파일이 메모리에 적재될 때 프로그램은 프로세스가 된다. 2. 프로세스 상태프로세스는 다음 상태 중 ..
1. linux 터미널에서 sudo apt-get install mysql-server설치하다보면 mysql-server 패스워드 설정이 나오니 입력하자.sudo mysql -p를 터미널에 입력해서 mysql 패스워드를 치고 정상적으로 실행되면 제대로 설치된 것이다. 2. mysql database 생성 CREATE DATABASE test_db default CHARACTER SET UTF8; test_db라는 이름의 데이터베이스를 만든다. character set을 utf8로 둠으로써 한글을 사용할 수 있다. 3. database 목록보기mysql 터미널에서 show databases; 4. database에 사용자 추가 및 접속 GRANT ALL PRIVILEGES ON test_db.* TO 't..
이해하기 위해 간단한 사람 이름, 나이 적는 프로그램을 만들어 어떻게 돌아가는지 살펴보자. 1. Person 객체 만들기테스트하기 위한 객체이다. 앞서 소개한 POJO 객체라는데 그냥 순수 Java 객체라고 생각하면 되겠다..그림 1과 같은 디렉토리에 Person.java를 만들고 코드를 작성하자. 2. PersonController, 뷰 만들기테스트를 위해 Controller와 뷰를 만들어야한다.Person.java를 생성한 위치에 PersonController.java를 만들자. 그리고 아래와 같은 코드를 작성하자. package com.example.demo; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import ..
Spring 프레임워크 웹 프로젝트를 제작하게 되면 최초 설정이 많은데 Spring boot를 사용함으로써 이것을 간단하게 할 수 있다. 1. 프로젝트 생성 IntelliJ 상단바에서 File->New->Project 누르면 위 그림 1과 같은 창이 나타난다. 왼쪽에서 Spring Initializr를 선택하자.Next를 누르면 아래 그림 2와 같은 창으로 바뀐다. 위의 각 항목은 아래와 같다.Name : 프로젝트의 이름Type : 프로젝트 타입 (maven 이나 gradle)Packaging : 프로젝트 빌드 이후 패키징될 타입 (jar 나 war)Language : 프로젝트 언어 (Java 나 groovy)Group : 프로젝트의 artifact 그룹 (프로젝트 저장소와 관련)Artifact : 프로..
1. POJO (Plain Old Java Object)특정한 API(Servlet 등)를 상속, 구현하지 않고 개발할 수 있어서 이식성이 좋다. 2. AOP(Aspect Oriented Programming)관점 지향 프로그래밍이다. 무슨 말인지 와닿지는 않는다.객체지향 프로그래밍으로 모듈화를 해도 프로그램이 커지면 이런 모듈간에도 중복된 코드가 생긴다. 이것을 횡단 관심사 (Crosscutting-Concerns)라고 하는데 이걸 없애는게 AOP 목표다. 참고: http://3months.tistory.com/74 (예제 코드 및 설명) 3. DI (Dependency Injection)객체간의 의존성을 외부에서 주입한다. 이말이 좀 어려운데 환경설정만으로 기능을 다르게 해서 소스코드의 변경을 최소화..
1. HTTP란Hypertext Transfer Protocol 하이퍼텍스트 기반으로 데이터 전송 프로토콜(링크 기반 데이터 접속) 2. 작동 방식서버/클라이언트 모델. Request, Response방식임. 클라이언트가 서버에 요청을 보내는 응답하는 방식이다. 3. 특징HTTP는 connectionless이다. 서버에 연결, 요청해서 응답받으면 연결이 끊어짐. 자원 하나에 대해서 하나의 연결장점: 불특정 다수 대상이라 많은 유저가 와도 접속유지 최소한으로 할 수 있음단점: 연결을 끊기때문에 이전 상태를 알 수 없다. 이것을 stateless라고 부름. HTTP는 정보 유지를 위해 cookie를 사용한다. cookie: 클라이언트와 서버 상태 정보를 담고있다. 4. URI (Uniform Resource..
doGet, doPost 함수를 이용해서 html input 필드에 있는 값들을 가져오는 방법이다. * html 파일 ... * servlet 파일 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //doGet(request, response); System.out.println("doPost"); response.setContentType("text/html; charset=euc-kr"); PrintWriter writer = response.getWriter(); // 데이터..
- Total
- Today
- Yesterday
- spring batch
- thymeleaf 변수 인식
- @Component
- JavaScript
- Barycentric coordinates
- Bin
- thymeleaf cannot resolve
- Linux
- MySQL
- @Bean
- 클로저
- nodejs
- spring
- npm
- Tasklet
- Express
- Closure
- unity
- @Qualifier
- @Autowired
- Check point within polygon
- Bean
- chunk
- mybatis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |