- [ Spring/Core ][Spring] Transcation, ACID, DB-LOCK2024-03-20 16:59:55인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 3 | 트랜잭션 이해 섹션 3 | 트랜잭션 이해 트랜잭션 - 개념 이해 데이터를 단순히 파일에 저장해도 되지만 데이터베이스에 저장하는 이유는 여러가지가 있지만, 가장 대표적인 이유는 바로 데이터베이스는 트랜젹션이라는 개념을 지원하기 때문이다. 트랜잭션이란 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 의미한다. 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다...
- [ Spring/Core ][Spring] JDBC 이해와 Connection-pool/DataSource2024-03-19 13:06:33인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 1 | JDBC 이해 섹션 2 | 커넥션풀과 데이터소스 이해 섹션 1 | JDBC 이해 애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다. 애플리케이션 서버는 다음 과정을 통해 데이터베이스를 사용한다. 커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연결한다. SQL 전달: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다. 결과응답: DB는 전달된 SQL을 수행하고, 그 결과를 응답하한다. 애플리케이션 서버는 응답..
- [ Spring/Core ][Spring] 로그인 처리(쿠키/세션, 필터/인터셉터)2024-03-16 22:42:03인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 6 | 로그인 처리1 - 쿠키, 세션 섹션 7 | 로그인 처리2 - 필터, 인터셉터 섹션 6 | 로그인 처리1 - 쿠키, 세션 로그인 처리하기 - 쿠키 사용 로그인 상태를 유지하려면 어떻게 해야할까? -> 쿠키를 사용하면 된다. 중요 데이터는 세션으로 처리해야 되는 것으로 알고 있는데 해당 강의 이후에 세션이 언급될 것 같다. 쿠키 서버에서 로그인에 성공하면 HTTP 응답에 쿠키를 담아서 브라우저에 전달하고, 그 이후 브라우저는 일종의 인증정보인 해당 쿠키를 지속해서 보내준다. ..
- [ Spring/Core ][Spring] 예외 처리와 오류 페이지(View, API)2024-02-27 23:47:04인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 8 | 예외 처리와 오류 페이지 섹션 9 | API 예외 처리 섹션 8 | 예외 처리와 오류 페이지 서블릿 예외 처리 - 시작 예외처리를 하려면 서블릿 컨테이너가 예외를 어떻게 처리해야하는지 알아야한다. 서블릿은 다음 2가지 방식으로 예외 처리를 지원한다. Exception(예외) response.sendError(HTTP 상태 코드, 오류 메시지) Exception(예외) 자바 직접 실행 자바의 메인 메서드가 실행 도중 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어..
- [ 크래프톤정글/PintOS ][CS] PintOS Project 3 - Virtual Memory(1) - Introduction2023-01-04 23:56:04이제 Pintos의 내부 작동 방식에 익숙해져야 합니다. 운영 체제는 적절한 동기화로 여러 스레드의 실행을 제대로 처리할 수 있으며, 여러 사용자 프로그램을 한 번에 로드할 수 있습니다. 그러나 프로그램의 수와 크기는 컴퓨터의 메인 메모리 크기에 제한이 따릅니다. 이번 과제에서는 이러한 제한을 제거하기 위해 무한 메모리의 환상을 제공(구축)할 것입니다. 이번 과제는 지난 과제에 지속하여 진행할 것입니다. 프로젝트 2의 테스트 프로그램도 프로젝트 3과 함께 작동해야 합니다. 프로젝트 3을 시작하기 전에 프로젝트 2 제출 시 발생할 수 있는 버그를 수정해야 합니다. 이러한 버그가 프로젝트 3에서도 동일한 문제를 일으키기 때문입니다. 프로젝트 3에 대해, 여러분의 쉽게 진행할 수 있도록 자세한 지침을 제공합니..
- [ 크래프톤정글/PintOS ][CS] PintOS Project 3 - Virtual Memory(2) - Memory Management2023-01-04 21:56:26가상 메모리 시스템을 지원하기 위해서는 가상 페이지와 물리적 프레임을 효과적으로 관리해야 합니다. 이것은 어떤 (가상 또는 물리적) 메모리 영역이 어떤 목적으로, 누가 사용하고 있는지 등을 추적해야 한다는 것을 의미합니다. 첫째로 추가 페이지 테이블을 처리하고, 그 다음 물리적 프레임을 처리합니다. 참고로, 이해를 위해 "페이지"라는 용어는 가상 페이지를, "프레임"이라는 용어는 물리적 페이지를 의미합니다. Page Structure and Operations (페이지 구조와 처리 작업) Struct Page include/vm/vm.h 에 정의된 page는 가상 메모리에서의 페이지를 나타내는 구조체입니다. 페이지에 관해 알아야 할 모든 필요한 데이터를 저장합니다. 현재 템플릿에서 이 구조체는 다음과 같..