본문 바로가기

분류 전체보기

(333)
NestJS 입문 - 인증기능 이 강의는 인프런의 '따라하며 배우는 NestJS' 강의를 보고 학습한 글입니다. [무료] 따라하며 배우는 NestJS - 인프런 | 강의 이 강의를 통해 NestJS에 대해서 배울 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 비밀번호 암호화하기 bcryptjs 이용 1. 원본 비밀번호를 저장 (최악) 2. 비밀번호를 암호화 키와 함께 암호 (양방향) 3. SHA256등 Hash로 암호화해서 저장 (단방향) jwt 로그인을 할 때 고유 유저를 위한 토큰을 생성해야 함 jwt는 그 토큰을 생성할 때 사용하는 모듈 - Json Web Token - 당사자간에 정보를 json개체로 안전하게 전송하기 위한 컴팩트하고 독립적인 방식을 정의하는 개방형 표준 구조 Header: 메타 데이터..
NestJS 입문 - pipe, TypeORM 이 강의는 인프런의 '따라하며 배우는 NestJS' 강의를 보고 학습한 글입니다. [무료] 따라하며 배우는 NestJS - 인프런 | 강의 이 강의를 통해 NestJS에 대해서 배울 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com Pipe - Injectable 데코레이터가 달린 클래스 - 클라이언트의 request에 대한 data transformation, data validation 수행 - Nest는 메소드가 호출되기 직전에 파이프를 삽입하고, 파이프는 메소드로 향하는 인수를 수신하고 이에 대해 동작 파이프의 종류 - Handler-level Pipes, 핸들러에 적용 - Parameter-level Pipes, 파라메터에 적용 - Global-level Pipes, mai..
파이썬 추월코스 수강 후기 현재 게임 클라이언트 분야에서 근무중인 개발자입니다. 다양한 분야의 개발을 체험해보고 싶다는 생각으로 강의를 구매했던 것 같습니다. 아마 이 강의를 구매하면서 홍정모 교수님을 알게 된 것으로 기억나네요. 강의는 구매노트와 함께 제공되며, 전체적으로 실습 형식으로 되어 있습니다. 강의 중간중간 학습한 내용으로 문제를 풀어보는 시간이 있는데, 이게 가장 좋았던 것 같습니다. 딱 적당한 타이밍에 지금까지 배운 내용을 되돌아보게 하고, 정신을 환기시켜주는 느낌도 들었습니다. 파이썬 추월코스 이후 그래픽스 강의도 같은 형식으로 되어있는데, 홍랩 강의의 가장 좋은 특징이라는 생각이 드네요. 이 덕분에 강의를 수동적으로 듣는 느낌이 아니라, 적극적으로 공부하고 도전하게 되었습니다. 이 강의를 잘 이용하면 평소의 공부..
NestJS 입문 - 기본 요소, CRUD 이 강의는 인프런의 '따라하며 배우는 NestJS' 강의를 보고 학습한 글입니다. [무료] 따라하며 배우는 NestJS - 인프런 | 강의 이 강의를 통해 NestJS에 대해서 배울 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 모듈 - root모듈인 AppModule에서 시작 - Module 데코레이터를 가 - 기본적으로 싱글 Controller - 클라이언트의 요청을 처리하고 servcie에 요청후 결과를 사용자에게 반환 - CRUD 인터페이스 핸들러 구 - Controller 데코레이터를 가짐 Providers - Nest의 기본 개념으로, 대부분의 기본 Nest 클래스는 서비스, 리포지토리, 팩토리, 헬퍼 등의 프로바이더로 취급될 수 있음 - 종속성으로 주입 가능 (객체의..
오브젝트 - 6 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. 181p~197p 협력과 메시지 파트의 용어 정리 메시지: 객체가 다른 객체와 협력하기 위해 사용하는 의사소통 메커니즘. 객체의 오퍼레이션이 실행되도록 요청하는 것을 '메시지 전송'이라고 부른다. 오퍼레이션: 객체가 다른 객체에게 제공하는 추상적인 서비스, 메시지를 수신하는 객체의 인터페이스를 강조 메서드: 메시지에 응답하기 위해 실행되는 코드 블록, 오퍼레이션의 구현 퍼블릭 인터페이스: 객체가 협력에 참여하기 위해 외부에서 수신할 수 있는 메시지의 묶음 시그니처: 시그니처는 오퍼레이션이나 메서드의 명세를 나타낸 것. 이름과 인자의 목록을 포함 인터페이스와 설계 품질 좋은 인터페이스는 최소한의 인터페이스와 추상적인 인..
오브젝트 - 5 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. 169p~181p 일반적으로 명확성의 가치가 클래스의 길이보다 더 중요하다. 객체를 자율적으로 만들자 - 자율적인 객체가 될 수 있가 메서드를 적절한 클래스로 이동시키자. 자신이 소유하고 있는 데이터를 스스로 처리하게 만드는 것이 자율적인 객체를 만드는 지름길이다. - 데이터를 사용하는 메서드를 데이터를 가진 클래스로 이동시키고 나면 캡슐화와 높은 응집도, 낮은 결합도를 가지는 설계를 얻게 된다. 챕터6. 메시지와 인터페이스 객체지향 프로그래밍에 대한 가장 흔한 오해는 애플리케이션이 클래스의 집합으로 구성된다는 것이다. 애플리케이션은 객체들 사이의 메시지를 통해 정의된다. 1) 협력과 메시지 클라이언트-서버 모델 - ..
오브젝트 - 4 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. 159p~169p 도메인의 구조가 코드의 구조를 이끈다 - 변경 역시 도메인 모델의 일부이다. - 다시 강조하지만 구현을 가이드할 수 있는 도메인 모델을 선택하라 변경과 유연성 - 변경이 자주 발생한 지점은 복잡성이 증가하더라도 유연성을 추가하는 것이 좋다 - 런타임에 정책을 변경하는 경우, 상속보다 합성이 유리할 수 있다. - 유연성은 의존성 관리의 문제. 요소들 사이의 의존성의 정도가 유연성의 정도를 결정한다. - 코드의 구조가 바뀌면 도메인에 대한 관점도 바뀐다. 메서드 응집도 - 몬스터 메서드: 길고 응집도가 낮아 이해하기 어렵고 재사용하기도 어려우며 변경하기 어려운 메서드 - 긴 메서드가 명령문들의 그룹으로 ..
오브젝트 - 3 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. 129p~159p 5. 책임 할당하기 책임 중심 설계를 위해 - 데이터보다는 행동을 먼저 결정하라 - 협력이라는 문맥 안에서 책임을 결정하라 객체가 메시지를 선택하는 것이 아닌, 메시지가 객체를 선택해야 한다. 객체를 만들었기에 메시지가 필요한 것이 아닌, 메시지를 전송하기 떄문에 객체를 갖게된 것이다. -> 이러한 방식으로 협력을 설계하면 기본적으로 메시지 수신자가 깔끔하게 캡슐화된다. 책임 할당을 위한 GRASP 패턴 - General Responsibility Assignment Software Pattern 1.도메인 개념에서 출발하기 - 도메인 개념들을 책임 할당의 대상으로 사용하면 코드에 도메인의 모습을 투..