본문 바로가기

분류 전체보기

(325)
자바스크립트 async & await async & await 이란? async와 await은 새로운 개념이 추가된 것이 아니라 프로미스의 syntactic sugar이다. (*syntactic sugar: 기존에 존재하는 것을 감싸서 조금 더 간편한 API를 제공하는 것 ex) 클래스 ) 프로미스를 조금 더 간결하고 간편하고 그러고 동기적으로 실행되는 것처럼 보이게 만들어준다. async & await 기본 문법 함수 앞에 async라는 예약어를 붙인다. 그러고 나서 함수의 내부 로직 중 비동기 처리 코드 앞에 await을 붙인다. (일반적으로 await의 대상이 되는 비동기 처리 코드는 axios 등 프로미스를 반환하는 API 호출 함수이다.) async function 앞에 async를 붙이면 해당 함수는 항상 프로미스를 반환한다. 프..
20210107 T.I.L - 매일 루틴이 조금씩 자리 잡아가는 중이라고 믿는다. ㅎㅎㅎ - 오전 알고리즘 문제풀이 타임: 스택 문제에 돌입했다. 나 나름대로 스택의 원리들은 잘 파악하고 있다고 생각했는데 완전 응용이 심한 문제들을 푸니까 일단 문제를 해석하는 능력이 부족해서 한 문제 한 문제를 해결하는데 굉장히 오랜 시간이 걸리는 듯하다. 아직 수련이 부족한가 보다. 역시 이것만큼은 매일 수련을 게을리할 수 없을 것 같다. 하루라도 빼먹으면 알고리즘 손실 나는 기분. 알손실. - 점심 이후 본격적으로 비동기에 대해 공부하기 시작했다. 어제부터 시작하긴 했지만 콜 스택, 실행 컨텍스트 이런 것들을 잘 모르니까 진도가 좀처럼 나가질 않아 너무 답답했다. 근데 오늘 짠하고 주문했던 코어 자바스크립트 책이 집에서 점심 먹는 시간 동안 ..
프라미스 Promise 란 무엇인가? 프라미스란? 자바스크립트 비동기 처리에 사용되는 객체이다. 비동기 연산이 종료된 이후 결과 값이나 실패 이유를 처리하기 위한 처리기를 연결할 수 있어 마치 동기 메서드처럼 값을 반환할 수 있다. 다만 최종 값을 반환하는 것이 아니고 프라미스를 반환해서 미래의 어떤 시점에 결과를 제공한다. 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용한다. 프라미스가 필요한 이유는? 자바스크립트의 비동기 처리의 문제점을 해결하기 위해 사용한다. 프라미스(promise)는 프로듀서와 컨슈머를 연결해 주는 자바스크립트 객체이다. 따라서 정보를 제공하는 프로듀서(producer)와 정보를 소비하는 컨슈머(consumer)를 잘 알아야 한다. 프로듀서(producer) 프라미스는 class이기 때문에 new라는 키워드를 ..
자바스크립트의 비동기처리 & 콜백 함수 동기식 처리 모델(Synchronous processing model) 일(task)을 직렬적, 순차적으로 처리하여 어떤 작업이 수행하는 동안 다음 작업은 대기하게 된다. 비동기식 처리 모델(Asynchronous processing model) 일(task)를 병렬적으로 수행한다. 어떤 작업이 수행하는 동안 다음 작업이 대기하지 않고 수행된다. 즉 자바스크립트에서 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 실행하는 것이다. 자바스크립트의 대부분의 DOM 이벤트 핸들러와 Timer 함수(setTimeout, setInterval), Ajax 요청은 비동기식 처리 모델로 동작한다. ( setTimeout의 콜백함수는 즉시 실행되지 않고 지정 대기 시간만큼 기다리다가 “tick”..
20210106 Commits are snapshots, not diffs 스터디 글: Commits are snapshots, not diffs 깃 헙 블로그에 커밋에 대한 글을 읽고 스터디를 참여했다. 처음에 영어로 되어있는 글이라서 내가 이해를 못한 건지, 아니면 그냥 개념 자체가 이해가 안 되는 것인지 아리송해서 다른 영상자료 (생활코딩 지옥에서 온 깃 등) 들을 참고해서 두루뭉술한 개념 정도밖에 알고 가지 못했는 데 스터디에서 이야기를 나누면서 잘 정리가 되었다. 아래는 스터디를 바탕으로 정리한 내용이다. 깃이란? 뭔가를 찾을 수 있는 파일 시스템. 깃 오브젝트들의 파일 모드 blob - 파일 내용 -> hash 키를 반환함. tree - 디렉토리를 나타낸다. commit - 현재 디렉터리를 스냅숏으로 하는 것 식별자 tag root 와 tree들 작성자 message par..
20210106 T.I.L 그리디 알고리즘을 모두 풀었다. 인강 문제들이 쉬운 건지 이제 내가 그리디를 푸는 방법을 제대로 안 건지 시원하게 세 문제를 풀고 넘어가게 되어 기분이 좋다. 그리고 저녁에 있을 깃헙 블로그 글 읽고 하는 스터디를 준비하기 이전에 비동기와 동기란 무엇인가를 잠시 공부하다가 윤석 님께서 마이크로 프로텍트 회사에 지원해보라고 권유해주셔서 한참 고민 끝에 이력서를 냈다. 사실 정말 자신이 없다. 지금은 면접 볼실력이 아닌 것 같다. 그런 생각만 들다가 조금 생각을 바꿔보기로 했다. 아이돌 연습생이 된 기분 ㅎㅎ. 일주일이면 되겠니? 한 달은? 일 년은?? 지금 보여줄 수 있을 만큼이라도 보여주어야 발전이 있겠지. 열심히 지원하고 면접을 보자. 깃 헙 블로그 글 영어로 되어있어서 이해가 힘들긴 했는데 이해를 위..
20210105 T.I.L - 오늘 목표한 바를 다 진행했다. - 오전에는 탐욕 알고리즘 문제를 풀기 시작했다. 오늘내일 나눠서 내일 한 문제를 더 풀까? 오늘 svg인강도 들어야 하는데 내일로 한 문제 정도는 미룰까? 하다가 그냥 풀었다. 생각보다 금방 풀려서 미루지 않고 해결한 나 자신 칭찬해. - svg 인강은 다 들었다. 이제 내가 필요한 부분을 사용하기만 하면 된다. 디자인만... 디자인마안......! ㅋㅋㅋㅋ 그래도 일단 이력서는 있으니 이건 천천히 공부하면서 진행해보도록 하자. - HTTP와 REST API에 대해 공부했다. 공부하다보니 글을 정리하게 됐고 그러다 보니 블로그에 글도 올라갔다. 예전에 뭣도 모르고 작성했던 글과는 다르게 내가 뭘 작성하고 있는지 정도는 아는 것 같아 다행이다. 한번 쓰고 끝내지 말고 ..
REST API - RESTful 한 API란 무엇일까? REST API란? REST API는 REST 아키텍처 스타일을 따르는 API이다. 그렇다면 여기서 말하는 REST와 API란 무엇일까? REST란 특정 기술이 아닌 분산 하이퍼 미디어 시스템( ex) 웹 )을 위한 아키텍처 스타일이다. REST는 HTTP가 가진 잠재력을 최대한 이용할 수 있게 유도하기 위해 만든 모범사례라고 할 수 있다. API란 간단히 말해 컴퓨터의 기능을 실행시키는 방법이다. 즉 REST API는 REST의 조건을 지키면서 내 컴퓨터가 아닌 다른 컴퓨터를 실행시키는 방법인 것이다. REST API 구성 자원(Resource) - URL 행위(Verb) - HTTP Method 표현(Representations) REST API는 크게 리소스(자원)와 행위와 표현을 규정하고 있다. ..