전체 글(126)
-
운영체제 개요
운영체제란? - 응용 프로그램의 실행을 제어하는 프로그램 - 응용과 하드웨어 간의 인터페이스 - 컴퓨터 사용자와 하드웨어 사이에 중재자 역할 - 사용자 관점으로의 운영체제 - 사용자가 컴퓨터를 손쉽게 사용할 수 있게 해줌 - 컴퓨팅 환경 제공 - 프로그램 개발, 실행, IO 접근, 파일 접근, 시스템 접근, 에러 발견 및 처리, 어키운팅 - 시스템관점으로의 운영체제 - 시스템 자원을 효율적으로 관리하는 자원 관리자 운영체제의 목적 - 편리성 : 컴퓨터를 편리하게 사용 - 효율성 : 컴퓨터 시스템 자월을 효율적으로 사용 - 발전성 : 효과적인 개발과 검사 그리고 새로운 시스템 도입을 다른 서비스를 방해하지 않고 수용 사용자 관점으로의 운영체제 - 사용자가 컴퓨터를 손쉽게 사용할 수 있게 해줌 - 컴퓨팅 환..
2022.05.20 -
컴퓨터 시스템 개요
컴퓨터 시스템 개요 기본 구성 요소 컴퓨터는 다음 4가지 기본 구성요소로 이루어진다. 처리기(프로세서, processor): 컴퓨의 동작을 제어, 데이터를 처리. 중앙처리장치(CPU)라고 부름. 주기억장치(main memory): 데이터와 프로그램을 저장. 휘발성 -> 컴퓨터 종료 시 데이터 상실 입출력모듈(I/O module): 외부 환경 간 데이터 이동 담당 외부 환경: 보조 기억 장치, 통신 장비, 단말기 등 시스템 버스(System bus): 처리기, 주기억장치, 입출력 모듈 간 통신 제공 CPU 구성 프로그램 카운터 (Program Counter): 다음에 실행될 명령어의 주소를 저장, 실행할 기계어 코드의 위치를 지정 명령어 레지스터 (Instruction Register): 현재 실행 중인 ..
2022.04.17 -
Spring boot oauth2로 로그인하기
oauth2의 인증 진행 과정은 다음과 같다 1. gradle dependency 설정 dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web-services' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client:2.4.2' implementation 'mysql:mysql-connector-java' ..
2022.02.13 -
JWT, 그리고 OAuth
JWT란? JWT란 Json Web Token의 약자로 인증에 필요한 정보를 암호화 시킨 토큰이다. 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. 인증 과정 1. 사용자가 id와 password를 입력하여 로그인을 시도 2. 서버는 요청을 확인하고 secret key를 통해 Access token을 발급 3. JWT토큰을 클라이언트에 전달 4. 클라이언트에서 API를 요청할 때 클라이언트가 Authorization header에 Access token을 전송 5. 서버는 JWT Signature를 체크, Payload로부터 사용자 정보를 확인해 데이터를 반환 6. 클라이언트의 로그인 정보를 서버 메모리에 저장하지 않기 때문에 토큰기반 인증 메커니즘을 제공 JW..
2022.02.11 -
Spring Web MVC web.xml 분석
web.xml이란? web.xml은 DD(Deploymeet Descriptor, 배포 설명자)이며, Web Application의 설정 파일이다. 즉, 웹 어플리케이션을 실행시킬 때 함께 올라가야할 설정을 정의해놓은 것이다. web.xml 구성 web.xml은 크게 DispatcherServlet, ContextLoaderListener, Filter로 나뉜다. DispatcherServlet HTTP 프로토콜로 매핑되는 요청을 받아 적합한 컨트롤러에게 위임해주는 역할을 한다. 어플리케이션으로 들어오는 모든 요청을 핸들링하고 공통 작업을 처리한다. 클라이언트 요청을 다음과 같은 순서로 처리한다. 1. 클라이언트 요청을 처리해줄 컨트롤러 탐색 (HandlerMapping 객체가 처리) 2. 컨트롤러 실행..
2022.01.30 -
Intellij 에서 Spring MVC 프로젝트(Gradle) 생성
1. New Project 좌측 상단 File -> new -> project Gradle -> java 체크 -> Next 프로젝트명, 그룹ID 등 작성 후 Finish 2. Gradle.build 수정 plugins에 'war' 추가, dependencies에 spring-webmvc, servlet-api 추가 plugins { id 'java' id 'war' //new } group 'com.tutorial' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2' testRuntimeOnly 'org.junit.ju..
2022.01.28