노마드코더 48

[nodejs] 비밀번호 해시 bcrypt.hash, 테이블 참조 populate

노마드코더 유튜브 클론코딩 #8.14 Bugfix 공부내용 정리 비디오 업로드시 유저비밀번호를 해시하던 현상 수정 유저가 비밀번호 변경시에만 해시되도록 수정 == isModified("password") userSchema.pre("save", async function () { if (this.isModified("password")) { this.password = await bcrypt.hash(this.password, 5); } }) 비디오 수정,삭제시 비디오 소유권자만 작업할 수 있도록 기능추가 story.owner의 타입은 object이고 _id의 타입은 String이므로 ' !== ' 연산자로 비교가 불가능하기 때문에 String으로 형변환을 해줘야한다. const { user: { _id..

IT 5분 잡학사전 Final (SMART 방법론)

SMART 방법론 Specific(구체적) Measurable(측정 가능한) Achievable(달성 가능한) Realistic(현실적) Time-bound(기한이 있는) Object(목표) Today I Learned 블로그를 성장시키자. Activities(구체적인 활동) 1주일에 하나씩 블로그에 전문성을 띠는 칼럼쓰기 Time Schedule(상세한 계획) 매일 공부하며 메모했던 내용들을 수집한다. 수집한 내용들을 기반으로 글을 쓴다. 작성된 글을 다듬어서 칼럼을 완성한다.

IT 5분 잡학사전 Day 10 (39~45)

오늘 TIL 요약 머신러닝, 딥러닝 REST API 도커 암호화폐의 진실 재택근무 고수의 노하우 하이브리드 앱, 크로스 플랫폼 앱, 네이티브 앱 멀웨어, 바이러스, 웜 주니어 개발자가 빠르게 성장할 수 있는 비법 TIL (Today I Learned) 날짜 2023. 03. 01 오늘 읽은 범위 에피소드 39~ 45 책에서 기억하고 싶은 내용을 써보세요. 머신러닝은 인공지능을 학습시키는 방법이다. 지도학습 : 인간이 기계에게 준 라벨(특징)을 토대로 학습하는 방식 비지도학습 : 라벨이 없는 데이터를 통해 직접 가르치지 않는 학습하는 방식 딥러닝은 엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류이다. REST API는 REST 방식의 설계 규칙이다. 1단계 : REST 없이 API 설계하기 2단계 ..

IT 5분 잡학사전 Day 9 (35~38)

오늘 TIL 요약 비밀번호가 저장되는 방식은? 프로그래밍 패러다임이란? 객체지향 프로그래밍 함수형 프로그래밍 개발자 번아웃 관리하는법 TIL (Today I Learned) 날짜 2023. 02. 28 오늘 읽은 범위 에피소드 35~ 38 책에서 기억하고 싶은 내용을 써보세요. 해시 함수는 입력한 비밀번호 값을 무작위 값으로 둔갑시켜주는 함수이다. 동일한 입력값에 대해 동일한 출력값을 가진다. 입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다. 반대로 입력한다고 해서 원래 값이 나오지 않는다. 레인보우 테이블은 해시 함수가 변경한 값을 원래의 값과 연결한 표이다. 이 때문에 해시 함수도 완벽하진 않다. 입력한 비밀번호를 무작위 텍스트인 솔트와 합쳐서 해시 함수에 통과시켜 이 문제점을 해결할 수..

IT 5분 잡학사전 Day 8 (30~34)

오늘 TIL 요약 커뮤니티와 프로그램 관리의 중요성 SQL, ORM, NoSQL 깃, 깃허브 버전 표기 방법 TIL (Today I Learned) 날짜 2023. 02. 26 오늘 읽은 범위 에피소드 30~ 34 책에서 기억하고 싶은 내용을 써보세요. 프로그램은 책임감있게 만들어야 한다. 프로그램은 끊임없이 관리해야 한다. SQL(Structured Query Language) 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어 ORM(Object Relational Mapping) SQL 번역기 같은 도구로써, 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해준다. 하지만 너무 ORM에 의존하면 ORM만으로 해결하기 어려운 상황에 대처하기 어렵기 때문에 SQL 기초공..

IT 5분 잡학사전 Day 7 (26~29)

오늘 TIL 요약 정렬알고리즘 스택, 큐, 해시테이블 클린코드 TIL (Today I Learned) 날짜 2023. 02. 25 오늘 읽은 범위 에피소드 26~ 29 책에서 기억하고 싶은 내용을 써보세요. 정렬 알고리즘 왼쪽, 오른쪽만 보면서 정렬하는 버블 정렬 하나를 콕 집어 가며 정렬하는 선택 정렬 앞에 있는 데이터를 보면서 배치하는 삽입 정렬 스택(Last In, First out) 위에서 데이터를 쌓는다. 위에서부터 데이터를 뺀다. 큐(First in, First out) 위로 데이터를 쌓는다 아래에서부터 데이터를 뺀다. 해시 테이블 키와 값을 짝지어 모은 것 클린 코드 5가지 꿀팁 의미 있는 변수, 함수의 이름을 적절히 사용하라 함수 이름은 가급적 동사로 지어라 매개변수는 너무 많이 쓰지 마라..

IT 5분 잡학사전 Day 6 (22~25)

오늘 TIL 요약 자료구조와 알고리즘가 뭔지는 알고 공부하자. 실전에서 써먹을 수 있어야 비로소 공부가된다 시간복잡도를 써먹을수 있게됨. TIL (Today I Learned) 날짜 2023. 02. 23 오늘 읽은 범위 에피소드 22~ 25 책에서 기억하고 싶은 내용을 써보세요. 알고리즘이란? 컴퓨터에게 내리는 지시 사항을 나열한 것 예시) 패스파인더(pathfinder) 알고리즘 예시) 압축(compression) 알고리즘 데이터를 효율적으로 보관하고 찾기 위한 자료구조 데이터를 효율적으로 검색하기 위해서 공부해야한다. 시간복잡도 = 작업 속도 = 빅오(Big-O) 표기법 "선형 검색 알고리즘은 배열의 길이가 N일 때 총 N번 검색하는 과정이 필요하다."라고 말하는 것보다 "선형 검색 알고리즘의 시간..

웹프론트엔드 하는 사람이 되자.

노마드 🚀 10주 스터디 웹 프론트엔드 개발자 스터디 신청했다. 5년자 개발자인지 5년차 회사원인지 정체성을 잃어가는 요즘 위기감을 느꼈다. 되는대로 살다간 노답인생이 될거 같아서 대충 일하고 대충 놀고먹는 것은 이제 집어치우고 웹프로그래머의 길을 나의 길로 선택했다. 뭐부터 시작해야할지 몇날 몇일 고민했는데 결제해놓고 대충대충했던 노마드코더부터 정복해야겠다고 판단했다. 그래서 노마드코더 사이트에 접속 후 10주 스터디에 망설임없이 신청했다. 프로그래밍을 즐겨보자.

생각정리/회고 2022.06.26