본 포스트는 공룡책이라 불리는 Abraham Silberschatz, Peter B. Galvin, Greg Gagne의 『Operating System Concept 10th』 을 바탕으로 작성하였습니다. Ch 2. Operating System Structures 운영체제에 대해 살펴보기 위한 몇 가지 좋은 관점이 있다. 첫 번째, 운영체제가 제공하는 서비스에 초점을 맞추는 것 두 번째, 운영체제가 사용자와 프로그래머에게 제공하는 인터페이스에 초점을 맞추는 것 세 번째, 시스템의 구성요소와 그들의 상호 연결에 초점을 맞추는 것이다. 이번 장에서는 운영체제의 세 가지 측면을 모두 살펴본다. 운영체제가 제공하는 서비스는 무엇이며, 이 서비스는 어떤 방식으로 제공되는지, 이 서비스들이 어떻게 디버깅 되며,..
Nestjs 본 강의는 'john ahn'님의 강의를 정리한 내용입니다. https://www.youtube.com/watch?v=3JminDpCJNE 이제 게시물을 만들고 없애고, 변경하는 CRUD 작업을 해보도록 하자 바로 DB랑 연동하기보다는 local 메모리에 담아서 처리해보도록 하자 1. 모든 Boards 정보 불러오기 클라이언트에서 요청을 보내면 컨트롤러로 가며, 컨트롤러에서 알맞은 요청 경로에 라우팅해서 해당 핸들러로 가게 해준다. 그런 후에 요청을 처리해주기 위해서 서비스로 들어가며 해당 요청에 맞는 로직을 서비스에서 처리해준 후에 컨트로럴에 리턴값을 보내준 후, 컨트롤에서 클라어언트로 결과값을 보내준다. 그래서 컨트롤러에서는 요청을 처리하고 결과값을 리턴해주는 역할을 하는 ..
Nestjs 1. Provider , Service 란? 프로바이더는 Nest의 기본 개념이다. 대부분의 기본 Nest 클래스는 서비스, 리포지토리, 팩토리, 헬퍼 등 프로바이더로 취급될 수 있다. 프로바이더의 주요 아이디어는 종속성으로 주입될 수 있다는 것이다. 즉, 객체는 서로 다양한 관계를 만들 수 있으며 객체의 인스턴스를 연결하는 기능 대부분은 Nest 런타임 시스템에 위임될 수 있다. [이미지1] 위와 같이 컨트롤러가 필요로 하는 컴포넌트들이 기능 별로 존재할 때, 컨트롤러가 해당 컴포넌트를 필요할 때 주입시켜주는 것을 주입이라고 한다. 여기서 각 요소들은 프로바이더가 되는 것이다. 우리는 이전에 service를 controller에 주입시켰다. 즉, service는 큰 의미로 provider인..
Nestjs 2강 본 포스팅은 유튜브 'john ahn'님 강의를 정리한 것입니다. https://www.youtube.com/watch?v=3JminDpCJNE 모두 구독하세욧 1. Nestjs 모듈이란? 모듈은 @Module() 데코레이터로 주석이 달린 클래스이다. Nestjs의 각 응용 어플리케이션에는 하나 이상의 모듈(루트 모듈)이 있다. 루트 모듈이 Nest가 사용하는 시작점이 된다. 모듈은 밀접하게 관련된 기능 집합으로 구성 요소를 구성하는 효과적인 방법을 제공한다. 즉, 기능별로 모듈을 구성하면 된다. ex) 유저 모듈, 주문 모듈, 챗 모듈 ... 같은 기능에 해당하는 것들은 하나의 모듈 폴더 안에 넣어서 사용한다. (UserController, UserService , Us..
본 포스트는 공룡책이라 불리는 Abraham Silberschatz, Peter B. Galvin, Greg Gagne의 『Operating System Concept 10th』 을 바탕으로 작성하였습니다. Ch 1. Overview 1장에서는 이 책의 전반적인 내용을 모두 담고 있다. 따라서 책을 모두 읽고 난 후 다시 1장을 읽어보는 것을 추천한다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중개자(intermediary) 역할을 한다. 운영체제의 목적은 사용자가 프로그램을 편리하고 효율적으로 수행할 수 있는 환경을 제공하는 데 있다. 1.0 Introduction 운영체제는 컴퓨터 하드웨어를 관리하는 소프트웨어이다. 또한 응용 프로그램을 위한 기반을 제공하는데, 놀라운 점은 이러한 일들을 ..
서론 오랜만에 블로그 글을 다시 쓰는 것 같다. 이 블로그는 팀 블로그인데, 항상 보면 여기 구성원 중에서 가장 적게 공부해야 할 것 같은 사람이 가장 열심히 글을 쓰고 있는.. 모순이 발생하는 곳이기도 하다 🤔 아무튼 이번엔 자극 받아서 쓰는 것보다는 여름 방학 목표 중 하나가 운영체제 정리이기 때문에 scpc 2차 광탈의 아픔을 이겨내고 다시 책에 손을 댔다. 나도 언젠간 scpc 본선에 갈 수 있겠지! 😂 위에는 본 내용과 너무 상관없는 잡소리라 한 칸 줄 바꿈을 하고 다시 쓰자면, 우선 필자는 이번 글이 os를 처음 공부하면서 작성한 글이다. 학교 수업을 듣지도 않았고, 따로 강의를 보지도 않았다. 그저 운영체제 책 중 공룡책이란 놈이 가장 유명하고 바이블이라고 하길래 무작정 사서 독학하면서 쓰는..
Nestjs Nodejs 진영의 서버 개발 라이브러리나 프레임워크에서 가장 많이 사용되고 있던 것은 express일 것이다. 그러나 express를 이용하여 서버를 개발해보신 분들은 알겠지만, express가 많은 걸 해준다기라기 보다는, 내가 원하는 모듈들을 레고 블럭마냥 갖다 붙인다라는 느낌이 들었을 것이다. 반면 Spring이나 Django 같은 프레임워크는 이미 프로젝트 구성이 완벽하게 되어있고, 내가 무언가 추가해나가면서 개발하기 보다는, 해당 프레임워크의 철학과 개발 방법을 배워나가는 느낌이 든다. 그리고, Nodejs 진영에도 이런 견고한 프레임워크가 몇 년전부터 아성을 부렸으니 그것이 Nestjs이다. 물론 1년 전 쯤에 Deno가 정식 출시되면서 Nest냐 Deno냐 경쟁이 있었지만, 둘..
주의: 뒷 부분의 이미지가 굉장히 작을 수 있으므로 확대해서 보시길 바랍니다. (힝구... 다음부터는 신경써야겠습니다) 실행 컨텍스트 실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다. 실행 컨텍스트를 바르게 이해하면 자바스크립트가 스코프를 기반으로 식별자와 식별자에 바인딩된 값(식별자 바인딩)을 관리하는 방식과 호이스팅이 발생하는 이유, 클로저의 동작 방식, 그리고 태스크 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식을 이해할 수 있다. 1. 소스코드 타입 ECMAScript 사양은 소스코드를 4가지 타입으로 구분한다. 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다. 전역 코드 전역에 존재하는 소스코드를 말한다. 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지..