![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/boGMtu/btrshyjbo70/aLUvSqzOacZClk5z0pMabK/img.jpg)
CPU 스케줄링 CPU에 어떤 프로세스를 할당해야할 지 결정하는 방법이다. 프로세스 상태 프로세스 스케줄링을 하기 위해서는 프로세스 상태가 필요하다. 프로세스 상태를 고려하여 운영체제는 CPU 스케줄링을 하게된다. 프로세스의 일생은 생성에서 시작하여 종료로 끝난다. 프로세스의 생성 프로세스가 생성되면 메모리에 주소공간이 생성되고 PCB가 생성된다. 리눅스는 fork를 이용하여 프로세스 를 생성하고 윈도우는 CreateProcess API를 이용하여 프로세스를 생성한다. 프로세스가 생성되는 조건은 다음과 같다. 새로운 일괄처리 작업 대화형 로그온 : 사용자가 터미널에서 시스템에 로그인을 하는 경우 서비스를 제공하기 위해 운영체제가 생성 기존 프로세스에 의한 생성 : 병렬성을 활용하기 위해 사용자 프로그램가..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c4jfSC/btrsfXP5Y4w/hZLeEXovZLhhZKkiKMDcNk/img.jpg)
운영체제 사용자에게 효율적이고 편리한 환경을 제공하는 것이 운영체제의 가장 큰 목표이다. 운영체제는 처리 능력이 빨라야 하고, 신뢰도가 높아야하며 응답시간이 빠른 환경을 제공할 수 있어야한다. 처리 능력 : 단위 시간당 사용자의 요청을 얼마나 빠르게 처리할 수 있는 능력이다. 신뢰도 : 하드웨어와 소프트웨어가 실패없이 사용자의 요청을 처리할 수 있는 능력이다. 응답 시간 : 사용자가 요청을 한 뒤 응답이 도착할 때 까지의 시간 프로그램 vs 프로세스 프로그램 : 파일시스템에 저장되어있는 실행 파일을 프로그램이라고 한다. 프로세스 : 프로그램이 실행되어 메모리에 할당된 상태를 프로세스라고 한다. 하나의 컴퓨터에서는 여러 프로세스가실행되기 때문에 운영체제는 프로세스를 효율적으로 관리해야한다. 프로세스 구조 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qj1c5/btrscOZKlLx/3kNxdJIqG7ZPhT3ZndlJu0/img.jpg)
MVC 패턴 사용자 화면에서 비즈니스 로직을 분리한 디자인 패턴이다. MVC 패턴은 Model, View, Controller로 구성되어있다. 사용자는 뷰를 통해 데이터를 요청하면 컨트롤러는 요청을 처리하기 위해 모델을 이용해서 사용자의 요청을 처리한다. 뷰를 통해 데이터의 상태 변경을 요청하면 컨트롤러는 비즈니스 로직의 호출을 통해 모델을 이용하여 데이터의 상태 변경을 한다. Model 데이터를 모델로 캡슐화하여 데이터의 상태변경을 한다. 모델 객체는 다른 모델 객체를 가질 수 있고 1:1, 1:N 관계를 가질 수 있다. 뷰와 비즈니스 로직이 커뮤니케이션 하는데에 모델이 사용된다. View 모델 객체에 담긴 데이터를 보여준다. 뷰는 애플리케이션에서 사용자가 볼 수 있는 화면이다. Controller 컨..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cxAJoj/btrsjaakV09/4IaqCfFuufW1OrFjD5MgY1/img.jpg)
면접에서 API의 사용 경험과 장단점에 대해 물어봤지만 확신을 갖고 대답을 하지 못해서 API, SDK에 대한 개념을 정리해보려고 한다. API (Application Programming Interface) 애플리케이션에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있는 것. 쉽게 말해서 사용자가 애플리케이션을 만들 때 모듈화되어 만들어진 기능을 쉽게 사용할 수 있도록 인터페이스 를 제공하는 것이다. 라이브러리라고 봐도 될 듯. API의 장점 개발자가 복잡한 기능을 일일이 구현 할 필요가 없다. API 공식 문서에서 사용법만 알면 API들을 조합하여 애플리케이션을 제작할 수 있다. SDK (Software Development Kit) 소프트웨어 개발 도구 모음이라고 한다..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/M7izu/btrsi9JhnSS/RkExKOYFGnLKVe5FCabKg1/img.png)
HTTP 헤더 : Content-type Message Body에 들어가는 데이터 타입을 HTTP 헤더의 Content-type 필드에서 설정할 수 있다. 필드에 여러 타입 을 설정해줄 수 있는데 그 중 하나가 multipart/form-data 타입이다. form 태그 입력 데이터를 서버로 제출할 때 form 태그를 이용한다. form 태그 전송시 다음과 같은 속성이 있다. action : form이 전송되는 서버 URL method : form 전송 방법 enctype : form 데이터가 서버로 전송될 때 데이터가 인코딩되는 방법 기재 enctype form 태그의 enctype 속성은 폼 데이터가 서버로 제출될 때 데이터가 인코딩되는 방법을 명시합니다. 해당 속성은 form의 method 속성 값..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mxhmx/btrrd6AWCyj/AsIhrdhEHt54GkcrFB51C1/img.png)
필터(Filter) 클라이언트 요청이 DispatcherServlet에 도착하기 전/후 URL 패턴에 맞는 요청에 대해 작업을 할 수 있는 기능을 제공한다. 스프링 컨테이너가 관리하는 것이 아닌 웹 컨테이너에 의해 관리된다. 스프링 필터 (Spring Filter) SecurityDelegatingFilterProxy 클래스는 스프링 시큐리티의 기능별 필터 클래스를 실행하는 역할을 한다. 아래의 설정파일을 보면 모든 요청이 DelegatingFilterProxy를 거쳐가도록 설정한 것을 볼 수 있다. springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* 스프링 시큐리..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dpRrAs/btrq6N8H7Py/xWUSFrOS0hhGgXvkgH09mk/img.png)
Spring Security 프레임워크 스프링 시큐리티는 자바 애플리케이션들을 위한 인증, 인가 모두를 제공하는 프레임워크다. 스프링 시큐리티의 특징은 다음과 같다. 인증과 인가 모두 이해하기 쉽고 확장가능하게 제공을 한다. 세션 고정 취약점, 클릭 재킹, CSRF 같은 공격을 예방해준다. Spring Security 적용 전 후 비교 Spring Security 적용 전에는 인가가 필요한 컨트롤러마다 HttpSession을 가져와서 개발자가 권한체크를 해줘야했다. Spring Security를 사용하면 개발자가 코드로 체크하지 않아도 설정 파일에서 권한이 필요한 페이지 를 설정해주면 개발자가 아닌 Spring Security 프레임워크 내에서 인증과 인가를 진행해준다. 그렇기 때문에 개발자는 비즈니스 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/18jdM/btrq0w8n5Rr/jjyNKdGYZTCQ3mRfD1rXm1/img.png)
스프링 MVC 스프링 MVC 패턴은 비즈니스 로직과 뷰 로직을 분리하기 위해 탄생하였다. Model : 모델은 데이터를 주고받기 위해 사용한다. View : 필요한 데이터를 Model로 받아 화면 기능에만 집중하는 역할을 한다. Controller : 뷰에서 필요한 데이터를 비즈니스 로직을 실행하여 가져오는 역할을 한다. 모델에 데이터를 담아 뷰에게 전달한다 스프링 MVC 구조 사용자의 요청을 DispatcherServlet을 통해 받은 후 핸들러 매핑(HandlerMapping)을 통해 요청 URL에 매핑되는 컨트롤러를 조회한다. 핸들러 매핑은 요청과 적합한 컨트롤러(핸들러)를 선택 후 DispatcherServlet에게 전달한다. DispatcherServlet은 컨트롤러를 리턴받고 컨트롤러에 대한 ..
- Total
- Today
- Yesterday
- SpringSecurity
- Til
- 트랜잭션격리성
- TCP
- CodeDeploy
- db
- 운영체제
- JPA
- 기술면접
- EC2
- Oracle
- 인덱스
- Travis CI
- level0
- 네이버클라우드
- 트랜잭션
- nginx
- 람다식
- N+1
- spring
- 파일업로드설정
- ORA-27125
- 프로그래머스
- ddl-auto
- graphql
- AWS
- SpringGraphQL
- ci/cd
- Java
- OS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |