분류 전체보기 106

클린 아키텍처 번역

https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Clean Coder Blog The Clean Architecture 13 August 2012 Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: Though these architectures all vary somewhat in their details, they are very similar. They all have blog.cleancoder.com 클린 아키텍처 시스템 아키텍처에 관한 다양한 아이디어들..

Entity -> DTO 변환

Entity -> DTO 변환. 서비스에서? 컨트롤러에서? 서비스에서 Entity -> DTO 변환 저는 아래와 같이 엔티티를 DTO로 변환하는 코드를 서비스에 작성했습니다. 하지만 그렇게 작성하니 문제가 발생했습니다. async signup(@Body() signupDto: UserSignupDto): Promise { return this.authService.signup(signupDto); } async signin(dto: UserSigninDto): Promise { const user = await this.userService.findUserEntityByEmail(dto.email); if (!user) { throw new UserIncorrectEmailException(); } if..

NestJs 2023.03.23

NestJS - @Module(), @Injectable(), @InjectRepository()

@Module(), @Injectable(), @InjectRepository() NestJS는 여러 모듈로 이루어집니다. NestJS에서 @Module() 데코레이터는 그러한 모듈을 만들 때 사용합니다. 모듈은 providers, controllers, impoers, exports를 정의하며 최소 하나 이상의 @Conroller()나 @Provider()를 포함합니다. @Injectable 데코레이터는 클래스를 Injectable 하게 만드는 데 필요한 메타데이터를 NestJS에게 제공합니다. NestJS에서 해당 클래스를 DI 하고자 할 때 @Injectable 데코레이터가 제공하는 메타데이터가 필요합니다. @Injectable()은 아래와 같이 사용합니다. @Injectable() export c..

NestJs 2023.03.17

NestJS - passport

Passport passport는 애플리케이션의 인증을 도와주는 Node.js용 미들웨어입니다. passport는 OAuth, JWT, HTTP 기본/다이제스트 등과 같은 다양한 인증 메커니즘에 알맞은 로직(전략)을 제공해 줍니다. 각 인증에 맞게 미리 만들어진 로직(전략)을 그대로 사용할 수도 있지만 우리 입맛에 맞게 확장할 수도 있습니다. 이러한 '전략'을 통한 유연한 인증을 가능케 하는 것이 passport입니다. OAuth로 인증하고 싶어? OAuth 인증에 필요한 전략(로직) 이미 내가 다 작성해 놓았어! JWT로 인증하고 싶어? JWT 인증에 필요한 전략(로직) 이미 내가 다 작성해 놓았어! ID/PW로 인증하고 싶어? ID/PW 인증에 필요한 전략(로직) 이미 내가 다 작성해 놓았어! 너는 ..

NestJs 2023.03.13

NestJs - Guard

Guard ( 가드 ) nestjs에서 Guard란 "CanActivate" 인터페이스를 구현하는 "@Injectable()" 데코레이터로 주석이 달린 클래스를 뜻합니다. 쉽게 말해, 아래처럼 생긴 클래스가 있다면 무조건 가드라고 부르는 것입니다. @Injectable() class SomeGuard implements CanActivate { canActivate(context: ExecutionContext) { ... } } Guard가 하는 일은 런타임에 존재하는 특정 조건(예: 권한, 역할, ACL 등)에 따라 요청을 이다음으로 넘길지 말지를 결정하는 것입니다. canActive() 함수에서 true를 반환하면 요청이 다음 단계로 넘어가고 false를 반환하면 Nest는 요청을 거부합니다. ca..

NestJs 2023.03.09

운영체제 기본 마지막 - 파일 시스템

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 파일 시스템(File system) 이전까지 OS의 역할 중 process management(CPU scheduling, process synchronization)와 memory management(paging, virtual memory)에 대해 배웠다. 이번에는 file system에 대해 배워보자. 파일 시스템은 보조기억 장치에 관한 관리를 맡는 부서이다. file system의 전부를 배울 건 아니고, file system..

운영체제 2023.01.26

운영체제 기본 10 - 주기억장치 관리

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 주기억장치 관리 (Main memory management) 이전까지 Process management(CPU scheduling, process synchronization)에 대해 배웠다. 이번 장에서는 OS의 또 다른 역할인 주기억장치 관리에 대해 알아보자. 주기억장치는 메모리를 뜻한다. 메모리는 항상 언제나 부족했었다. 그래서 주기억장치 관리의 역할은 주로 그 부족한 메모리를 어떻게 하면 최대한 효율적으로 사용할 수 있을지에 ..

운영체제 2023.01.26

운영체제 기본 9 - 프로세스 동기화

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 프로세스 동기화(Process Synchronization) 프로세스끼리의 관계는 Independent와 Cooperating로 나눌 수 있는데, Independent는 각각의 process가 서로에게 전혀 영향을 끼치지 않는 것을 의미하며 Cooperating은 process가 서로 영향을 주고받는 관계를 의미한다. 프로세스 간 통신의 예로는 전자우편 및 파일 전송 등이 있고 프로세스 간 자원 공유의 예로는 DB 등이 있다. 이러한..

운영체제 2023.01.23

운영체제 기본 8 - 프로세스 생성과 종료

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 프로세스 생성(Process Creation) 프로세스는 부모 프로세스에 의해 만들어진다. 부모 프로세스가 만든 프로세스를 자식 프로세스라 하며 같은 줄에 있는 프로세스들을 sibling process라 부른다. 이러한 프로세스들의 관계를 트리 형태로 나타낸 것을 프로세스 트리라 부른다. 프로세스들은 모두 Process Identifier(PID)를 갖고 있으며 PID를 통해 프로세스를 식별할 수 있다. (PPID는 Parent의 P..

운영체제 2023.01.23

운영체제 기본 7 - CPU 스케줄링 알고리즘

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net CPU Scheduling(OS의 Process management에서 하는 일임) CPU Scheduling이란 Ready queue에서 CPU의 처리를 기다리는 프로세스들을 일정한 규칙에 맞게 처리하는 것을 뜻한다. 예를 들어, 먼저 온 프로세스를 먼저 처리할 수도 있고, 제일 짧게 걸릴 것 같은 프로세스를 제일 먼저 처리할 수도 있을 것이다. 이와 같은 scheduling 방법을 CPU scheduling algorithm이라 ..

카테고리 없음 2023.01.23