728x90
반응형

Study 66

[Javascript] 프로미스(Promise)란?

프로미스(Promise)란? Javascript에서의 Promise란 비동기 처리에 사용되는 객체입니다. 프로미스는 Promise 생성자 함수를 통해 인스턴스화합니다. Promise 생성자 함수는 비동기 작업을 수행할 콜백 함수를 인자로 전달받는데 이 콜백 함수는 resolve와 reject 함수를 인자로 전달받습니다. 서버에서 받아온 데이터들을 화면에 표시할 경우 프로미스를 주로 사용합니다. 프로미스의 생성 // Promise 객체 생성 const promise = new Promise((resolve, reject) => { // 비동기 작업 수행 if (/*조건*/) { // 비동기 작업 성공 resolve('success'); } else { //비동기 작업 실패 reject('fail'); } ..

Study/JavaScript 2022.05.01

[Javascript] 콜백(Callback)이란?

콜백(callback)이란? javascript에서 callback 함수는 다른 함수가 실행을 끝낸 뒤 그 다음에 실행하는 함수를 의미합니다. javascript는 single thread에서 동작하기 때문에 한 번에 한 가지 일만 수행 할 수 있습니다. javascript는 비동기적 방식을 사용하여서 작업들이 순차적으로 실행되어야 하는 경우에는 함수들이 순차적이지 않은 순서로 실행되어 결과 또한 바뀔 수 있습니다. [일반 함수] //일반 함수 function introduceMySelf(name, callback) { console.log(`Hello my name is ${name}`); } introduceMySelf('ujam'); //Hello my name is ujam [callback 함수..

Study/JavaScript 2022.04.22

[JavaScript] 클로저(Closure)란?

클로저(Closure)란? MDN에서는 클로저를 이와 같이 정의합니다. 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다. 클로저는 함수와 그 함수가 선언됐을 경우 렉시컬 환경(Lexical environment)과의 조합입니다. 정의만 읽어봤을 때는 무슨 뜻인지 잘 와닿지 않았습니다. 예제를 통해서 알아보겠습니다. function outer(){ const name = 'ujam'; function inner(){ console.log(name); } return inner; } var getName = outer(); getName(); //ujam outer 함수는 내부에 ..

Study/JavaScript 2022.04.12

[JavaScript] 스코프(Scope)란?

스코프(Scope)는 '범위'라는 의미를 가집니다. JavaScript에서도 역시 '범위'라는 의미를 가지고 있습니다. JavaScript에서 스코프는 2가지 타입이 존재합니다. Global Scope (전역 스코프) - 어느 곳이든지 접근할 수 있다는 의미입니다. Local Scope (지역 스코프) - 해당 지역에서만 접근할 수 있다는 의미입니다. JavaScript에서는 함수를 선언하면 새로운 스코프를 생성합니다. 해당 함수 안에서 선언한 변수는 해당 함수 안에서만 접근이 가능합니다. 이것을 function-scope (함수 스코프)라고 합니다. var a = 'apple';// 전역 스코프, 전역 변수 function test() {// 지역 스코프 var a = 'banana';// 지역 변수 ..

Study/JavaScript 2022.04.09

[JavaScript] var, const, let 키워드 차이점

var, let, const 키워드의 차이점 var 유효 범위 : 블록스코프 / 함수 스코프 값 재할당 : X 재선언 : X 호이스팅: O const 유효 범위 : 함수 스코프 값 재할당 : O 재선언 : O 호이스팅: X let 유효 범위 : 블록 스코프 / 함수 스코프 값 재할당 : O 재선언 : X 호이스팅: X [변수 재선언] var a = 'a' console.log(a) // a var b = 'b' console.log(b) // b a라는 변수를 한 번 더 선언했습니다. 하지만 에러가 나오지 않고 각각 다른 값이 출력되고 있습니다. 에러가 나지 않아 편리하고 빠르게 코딩을 이어나갈 수 있지만 코드량이 방대하다면 a라는 변수가 어디에서 어떤 의미를 가지고 사용되기 파악하기 힘들고 값이 바뀔 ..

Study/JavaScript 2022.04.05

[Git] git bisect 오류 발생한 커밋 찾기

git bisect는 이진 탐색(binary search)을 이용하여 오류가 발생한 커밋을 찾을 수 있도록 도와줍니다. git bisect start 이진 탐색 시작합니다. git bisect bad 오류발생 지점을 표시합니다. git checkout 의심 지점으로 이동해줍니다 git bisect good 오류 발생하지 않을 경우 표시합니다. 오류 발생 지점을 찾을 때 까지 git bisect good과 git bisect bad 반복합니다.

Study/Git 2022.04.01

[프로그래머스] 로또의 최고 순위와 최저 순위 (Javascript)

문제 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 function solution(lottos, win_nums) { var answer = []; let count = 0; let countAdd = 0; let rank = 0; let lottosSort = lottos.sort((a,b) => {return b-a}); let winNumsSort = win_nums.sort((a,b) => {return b-a}); const rankValid =..

Study/알고리즘 2022.03.23

[Git] git tag 사용해보기

git tag v1.0.0 마지막 커밋에 태그를 달아줍니다 git tag v1.0.0 1a2b3c 해당 커밋해시에 태그를 달아줍니다 git tag 존재하는 태그 확인합니다 git show v1.0.0 해당 태그의 내용 확인합니다 git tag -d v1.0.0 해당 태그 삭제합니다 git tag -m 태그에 메시지를 남깁니다 git tag -l 'v1.*' v1으로 시작하는 모든 태그들을 보여줍니다. git checkout v1.0.0 태그 시점으로 파일상태가 변경됩니다.

Study/Git 2022.03.20

[Git] 커밋 메시지 컨벤션

대다수의 개발자들이 커밋 메시지에 공을 들여 작성하고 있습니다. 왜 커밋 메시지를 잘 쓰기 위해 노력해야 할까요? 여러가지 이유들이 있겠지만 그 중 두가지만 보자면 보다 더 나은 협업과 리뷰 프로세스 보다 더 나은 코드 유지보수 이러한 이유들 때문에 커밋메시지의 중요성이 강조되는거 같습니다. 커밋 메시지를 작성하는데에 있어서 지켜야하는 7가지의 규칙이 있습니다. 좋은 커밋 메시지를 남기기 위한 7가지 규칙 제목과 본문을 한 줄 띄워서 구분합니다. 제목을 50글자 이내로 제한합니다. 제목 첫 글자는 대문자로 작성합니다. 제목 끝에 .(마침표) 넣지않습니다. 제목은 명령문으로 사용하고 과거형을 사용하지 않습니다. 본문의 행마다 72글자 이내로 제한합니다. 본문은 어떻게 보다는 무엇과 왜를 설명하며 작성합니다..

Study/Git 2022.03.15
728x90
반응형