TIL,WIL(일간,주간 회고)

    2023. 01. 09 WIL ORM, noSQL vs SQL

    -ORM object relation mapping의 약자이고 디비의 데이터를 오브젝트형식으로 바꿔주는 툴이라고 생각하면된다 내가 알고있는 애는 sequelize이고 몽고디비의 mongoose와 비슷한 역할을 하는 애이다 sql쿼리문으로 데이터를 넣고 빼고 조작하는것이아닌 자바스크립트로 조작할수있게 해준다 noSQLvs SQL nosql은 not only SQL의 약자이고 관계형데이터베이스가 아닌 모든 데이터베이스를 noSql이라고 한다 비관계형 데이터베이스 대표적으로 몽고db가 있고 관계형 데이터베이스는 대표적으로 mySQL이 있다 관계형 테이블, 행, 열을 가진 DB에 A데이터와 B데이터가 있다고 가정을 하면, A데이터에 B데이터의 위치를 저장하는 방식으로, 행과 열로 구성된 테이블과의 관계를 나타낼..

    2023.01.02 TIL req.headers관련

    setHeaders메소드로 헤더에 Authorization에 jwt를 보내면 그것을 쿠키처럼 req.headers로 받아올수있는건줄알았는데 req.headers로 받아오려면 클라이언트에서 헤더부분에 담아서 보내줘야하는것이었다 그래서 req.headers가 계속 언디파인드로 나왔다. 지금하는 과제에서는 클라이언트 부분이 없어서 그냥 authorization에 안넣고 쿠키에 엑세스토큰 넣어서 보내고 서버에서 받을때는req.cookies로 받아와서 사용했다

    22.12.28 TIL mongoose 커넥트 관련

    mongoose로 디비에 연결할때 27017포트로 연결하는데 localhost:27017로 연결하면 연결이안되고 127.0.0.1:27017로 연결해야 연결이 된다. 맥에서는 로컬호스트로도 가능한데 윈도우는 꼭 IPv4로 써줘야 한다 MongooseServerSelectionError: connect ECONNREFUSED ::1:27017 라는 에러 메세지에서 ::1:27017 부분을 보면 ::1은 localhost를 IPv6 방식으로 표현한 것이라고 하네요 아마 윈도우에서는 localhost가 IPv4 방식인 127.0.0.1이 되어야 하는대 IPv6 방식인 (0:0:0:0:0:0:0:1)가 되어서 오류가 났던거라고 추측해봅니다 ! 그러니까 mongoose가 localhost를 자체적으로 ipv6 :..

    2022.12.28 TIL Array.find 함수 관련

    배열의 find메소드는 가장 앞쪽에있는 그러니까 왼쪽에있는것부터 조건에 맞는걸 찾는데 찾게되면, 거기서 리턴해주고 끝난다. 더 뒤에꺼 까지 확인하지 않는다. const array1 = [5, 12, 8, 130, 44]; const found = array1.find(element => element > 10); console.log(found); // expected output : 12 위의 코드처럼 12만 나오고 그뒤에 130이나 44는 나오지않느다 12리턴후 함수 종료됨

    2022.12.28. TIL mongoose관련

    mongoose에서 model함수 사용하여 디비 컬랙션이름 설정할때 model의 첫 번째 인자로 컬렉션 이름을 만듭니다. User이면 소문자화 후 복수형으로 바꿔서 users 컬렉션이 됩니다. Book 스키마였다면 books 컬렉션이 됩니다. 이런 강제 개명이 싫다면 세 번째 인자로 컬렉션 이름을 줄 수 있습니다. mongoose.model('User', userSchema, 'myfreename')

    2022.12.25 WIL [자바스크립트]

    자바스크립트 const로 선언한 배열을 변경할수있는 이유 const array = [1,2,3,4] ; let a = [3,3,3] ; array.push(5) //이것도 가능하고 array[0] = 20 이것도 가능하다 그 이유는 const가 붙은 것은 주소값이기 떄문이다 그래서 array = a; //이거는 오류가 난다. a = array // 이거는 가능, a는 let이기 때문에 a의 주솟값은 변할수있다. 하지면 array는 const로 선언했기때문에 array의 주솟값은 변할수 없다. 콜백함수 사용하는 이유는 코드 재사용성 때문인거 같다 A함수를 만들때 또 B함수에 있는 같은 기능을 구지 A함수에 정의하지말고 그냥 B를 콜백해서 쓰면된다. HTTP 프로토콜(통신규약)중에 하나이고 웹상에서 정보를 ..

    2022.12.22 TIL [자바스크립트] &,| 비트연산자

    다른사람 코드를 보다보면 &,| 이런게 한개만 있는게 있는데 이것도 or, and 연산자이다 근데 비트연산자이다. 비트연산자란 이진수끼리 and,or를 따지는것이다 74와 50을 비트연산하면 74를 이진수로 바꾸면 1001010이고 50을 이진수로 바꾸면 110010이다 저 두숫자가지고 비교를하는것이다 and 연산이라면 같은자리끼리 비교해서 1과 1이면 1이고 1과 0이면 0이고 이런식으로 하면된다.

    2022.12.22 TIL [자바스크립트] Array(5)와 [...Array(5)]의 차이

    Array(5)는 그냥 빈배열이고 [...Array(5)] 이것은 [undefined,undefined,undefined,undefined,undefined] 이렇게 undefined를 채워준다 그래서 map 함수를 적용하려면 [...Array(5)]이런식으로 써야되는것같다.