TIL - 220606(월)

Jason Moon·2022년 6월 6일
0

TIL

목록 보기
11/47

오늘 한 일

  • 자바스크립트로 계산기 만들기
  • 시퀄라이즈를 활용한 서버 구축

생각

오래 앉아있었지만 많은 걸 하지 못했다.
시간 단위로 내가 뭘 하는지 기록해야겠다. 타이머를 이용해서 정해진 시간에 정해진 공부를 해야겠다. 시간이 너무 많이 주어지면 낭비하는 시간도 많아지는 것 같다.
데이터베이스 쪽 공부할게 많다. 항해99 기간 동안 집중해야할 걸 선택해야겠다.


오늘의 노드

시퀄라이즈 쿼리

gt >

lt <

gte ≥

lte ≤

in [1, 2, 3] ⇒ 1,2,3 중에 있는지 확인

ne ⇒ not equal

Op 객체 안에 들어있다.

AND는 where안에 ,(콤마)로 하면 되지만

OR는 Op.or을 써서 배열안에 넣어줘야한다.

order은 2차원 배열이다. 왜 2차원 배열이냐면 여러가지 기준으로 할 수 있다.

나이로 했다가 생성일 순으로 다시 정렬해라 할 수 있다.

[[’age’, ‘desc’], [’createAt’, ‘asc’]]

in예시

예를 들어 1,3,5번 사람을 지우고 싶으면

User.destroy({where: { id: 1}})

User.destroy({where: { id: 3}})

User.destroy({where: { id: 5}}) 이렇게 3번 적어주는게 아니라

User.destroy({ where: { id: {[Op.in]: [1,3,5]}}})

User.destroy({ where: { id: {[Op.ne]: 5}}}) 이렇게 하면 5번을 제외하고는 다 지워줘라는 말이다.

오늘의 자바스크립트

콜백함수

콜백함수가 뭔데?

함수에 파라미터(매개변수)로 들어가는 함수

왜 쓰는데?

순차적으로 코드를 실행하고 싶을 때 쓴다.

document.querySelector('.button').addEventListener('click',function(){})
버튼 누르면 이 코드 실행해주세요~
setTimeout(function(){},1000)
1초 후에 이런 코드 실행해주세요~

다른데서 만든 함수도 콜백함수로 넣을 수 있다

콜백함수에 함수명 작명할 순 있음 setTimeout(function 함수명() {},1000)

콜백함수를 아무데나 다 집어넣을 수 있는게 아니라 넣으라고 돼 있는 함수들만 집어넣을 수 있다.(내가 만든 함수를 쓰는게 아니면)

콜백함수 만드는 법

function first(파라미터){
	파라미터()
}
function second(){
}
first(second) "first함수안의 코드 실행해주세요~ 근데 파라미터에 second 집어넣어서"
(예시)
function sum(callback, a, b){
 a + b;
	callback(a,b)
}
function explain(a,b){
 console.log(`${a}${b}를 더하면 ${a+b}이다`)
}
sum(explain,2,3) //2와 3를 더하면 5이다

순차적으로 코드를 실행하고싶을 때 사용

function first(파라미터){
	console.log(1)
	파라미터()
}
function second(){
	console.log(2)
}
first(second)

first()
second()
이렇게 실행해도 순차적으로 나오는데 왜 콜백함수를 씀??
비동기 처리되고 할 때 순차적으로 실행안될 수도 있다. console.log가 아니라 둘 다 DB에서 데이터를 
받아오는 경우라 생각해보자.
first 함수 보다 second함수가 더 빨리 받아왔다면 second가 먼저 실행될 수 있다.

콜백헬
DB에서 데이터뽑고 싶다 근데 A뽑고 그다음에 B뽑고 그다음에 C뽑고(순차적으로)
이걸 콜백함수로 하면...

db.collection('post').findOne(A, function() {
    db.collection('post').findOne(B, function(){
        db.collection('post').findOne(C, function(){
            
        })
    })
})
profile
어려워 보여도 시간을 들여서 해보면 누구나 할 수 있는 일이다

0개의 댓글