TIL -13일차

sokojh·2022년 4월 26일
0

글을 시작하기전에 TIL에 대한 고민에 대해서 적어야겠다.

한참 TIL을 꾸준히 써가다가 11일차부터 의욕이 탁하고 사라졌다.

왜그런걸까? 라는 고민을 했었는데, 3가지 정도의 이유가 있었다.

1.구글 검색에 방해되는 무의미한 글 작성인가? 라는 의심
2.내가 이 글로 인해 개념정리가 되었나? 라는 의심
3.내 고민이 담겨 있어야 할 것 같다는 생각

위 세가지 이유중 가장 내가 고민 했던 부분은 구글 검색에 방해되지 않는 글이라는 목적이 가장 컸다.
나도 공부하다가 구글링을 하다보면, 인터넷 글이나 공식문서를 짜집기하여서 올려놓는 무의미한 글들이 많은데
나도 그중에 하나가 아닌가 싶어 정말 내가 몰랐고 깨달았고 그와중에 어떤걸 얻었는지 명확하게 나와야 하는것이 아닌가라는 생각이 들었다.

이러한 문제점에 대해서 이미 세계적인 노벨상을 받은 파인만 이라는 분이 학습법에대해서 만들어놓았다.

파인만 학습법

궁금하시면 꼭 읽어보시길 바란다.

따라서 파인만 학습법을 요약하자면

12살짜리 아이도 이해할 수 있는 언어로 설명해라!

쉽게! 그리고 더 쉽게! 설명하는 것이 핵심이다.

어려운걸 어렵게 가르치는 것은 유치원생도 할 수 있다. 그냥 물리학 교과서 가져다가 청중 앞에서 읽게하면 그게 어려운걸 어렵게 가르치는 것이다.

구체적인 방법

  • 특정 주제에 관해 알고 있는 모든 내용을 목록으로 정리하고 검토한다
  • 그 개념을 전혀 모르는 사람에게 12살 짜리 아이도 이해할 수 있는 언어로 설명해 본다
  • 설명하는 데 빈 틈이 있는지 파악하고 그 틈을 메우는 데 학습을 집중한다
  • 정보를 간략하게 정리해 포괄적인 이야기를 한다(스토리만들기)

Promise

이걸 왜 사용할까?

자바스크립트에서는 콜백함수를 많이 쓴다.

콜백함수는 어려운 것은 아니고

함수 안에 함수가 들어있는 형태이다.

function 함수1(){}
function 함수2(){}

함수1(함수2)  //진짜 별거아니쥬?

자바스크립트가 원래 버튼하나 정도 누르고 콜백함수 돌려주고 이런정도였는데, 점점 자바스크립트가 복잡하게 쓰이면서


함수1(함수2(함수3(함수4(함수5(...함수)))))  //우욱...🤢

이런식으로 무한으로 함수가 함수를 부르는 상황이 왔다는 것이다.
(보기만해도 현기증...)

그래서, 우리가 이런 콜백함수를 좀 더 쉽게 쓰면 안될까? 하고 약속을한 것을 만들게 되는데

그것이 Promise다! (다아시겠지만 '약속'이라는 뜻이다)

그래서 우리는 무한 콜백함수 대신에 Promise를 사용해서 좀 더 쉽게 내가 원하는 기능을 만들수 있게 되었다는 말!

사용법

let 프로미스 = new Promise();

프로미스.then(function(){   //()=>{} 애로우function 쓰셔도 된다!

}).catch(function(){

});

자바스크립트는 콜백함수가 성공한것과 실패한것을 나눠서 실행시키지 못했는데

promise는 그게 가능하다.

then <<< 요녀석이 프로미스가 성공했을때 표시해주는 것이고
catch <<< 요녀석이 프로미스가 실패했을때 표시해주는 것이다.

그럼 궁금증이 생기실것이다!

뭘 실패하고 뭘 성공한지 어떻게 알아?

바로 그것을 프로미스에 넣어주면 된다!

let 프로미스 = new Promise((성공,실패)=>{
	if(매우 어려운 연산){
    	성공('성공했습니다.');
    }else{
      	실패('실패했습니다.');
    }
});

즉 성공하면 성공을 불러주고 실패면 실패를 불러주면 끝이다!

이걸로 알 수 있는 것은 프로미스가 어려운것도 아니고

그냥 성공했냐 실패했냐 판단해주는 기계라고 생각하면 편하다.

그리고 성공하면 then에 성공했을때 담을 함수를 넣어주면 되고

실패하면 catch에 실패했을때 보여줄 로그나 함수를 넣어주면 된다.

끝!

await/async

profile
데이터팀에서 백엔드-데이터 엔지니어로 일하고 있습니다.

0개의 댓글