Language/Javascript

[javascript 자바스크립트] 실행 컨텍스트(Execution Context) 란?

자바스크립트를 사용하다 보면 남이 쓴 코드를 볼 때 '이게 어떻게 되지?' 라는 생각, 혹은 '내가 작성을 하면서도 이게 맞나?' 라는 생각을 많이 할 때가 있습니다. 그럴 때마다 자바스크립트를 확실하게 이해하지 못해서 그렇다고 생각이 들었고, 이번 기회에 자바스크립트를 딥하게 공부해서 정리를 해보려고 합니다. 그럼 이번 시간에는 scope, hoisting, this, function 등 대부분의 동작원리를 담고 있는 실행 컨텍스트에 대해 알아보겠습니다. 그럼 실행 컨텍스트란 뭘까? 콘텍스트는 한국말로 번역하면 문맥입니다. ECMAScript 스펙에 따르면 실행 컨텍스트를 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이라고 정의하고 있습니다. 좀 더 쉽게 말하자면 실행 컨텍스트는 실행 가능한 코..

2021.12.03 게시됨

Language/Javascript

[javascript 자바스크립트] NPM, 그리고 YARN

웹 개발을 할 때, 현재 프런트는 React, Next를 사용하고 백앤드는 express와 Nest를 사용하고 있습니다. 모두 자바스크립트 기반(?)으로 운영이 되고 있는데 지금까지 패키지 매니저는 NPM을 사용했습니다. 이번에 백앤드를 리뉴얼 하면서 YARN으로 패키지 매니저를 바꿨는데 왜 바꿨는지, YARN이 NPM보다 좋은 이유는 무엇인지, 그러면 NPM은 무엇인지에 대해 정리를 해보려고 합니다. NPM? 가장 유명한 자바스크립트 패키지 매니저로, 자바스크립트 개발자들이 가장 많이 쓰는 node.js의 기본 패키지 관리자이기도 합니다. 수많은 개발자들이 제작한 패키지를 자유롭게 공유하는 세계 최대의 패키지 저장소로, 어마어마한 자료와 커뮤니티를 기반으로 거대한 개발 생태계가 구축되어있습니다. htt..

2021.11.12 게시됨

Language/Javascript

[javascript] 논리연산자, 제대로 알고 쓰자

코드를 짜다보면, 논리 연산자를 사용해야 하는 경우가 많습니다. 제가 최근에 짠 아래 코드를 볼까요?(정말...'이게 최선인가?'를 몇 번이고 생각하면서, 일단은 만든 코드입니다) 리액트에서 랜더링 해주는 페이지 중 일부 입니다. 보다시피 리액트에서 조건부 렌더링을 구현할 때 function을 위해서 정의해 주는 방식 말고 이렇게 직접적으로 사용하는 경우가 종종 있습니다. 제가 짠 코드를 간단하게 설명드리자면, user가 없을 때 (로그인이 되어있을 때 받아오는 props값) user가 있는데 wallet_address가 없을 때 user 도 있고 wallet_address가 있는데 eventStatus가 없을 때 user 도 있고 wallet_address도 있고 eventStatus도 있을 때 의 순..

2021.11.03 게시됨

Language/Python

[Python] 파이썬 lambda 란?

이번 시간에는 파이썬 알고리즘을 풀 때, 그중에서도 정렬 문제를 풀 때 많이 보게 되는 lambda에 대해서 간단하게 정리해보려고 한다. lambda 란? lambda는 그리그 문자 중 11번째 글자이고, AWS서비스 이름으로도 사용되고 많은 프로그램에서도 사용되고 있다. 파이썬에서의 lambda는 런타임에 생성해서 사용할 수 있는 '익명 함수' 이다. 함수형 프로그래밍 언어에서의 lambda와 같은 건 아니지만 map(), filter(), sort() 등에서 많이 사용되는 기능이다. lambda는 쓰고 버리는 일시적인 함수이다. 즉, 간단한 기능을 일반적인 함수와 같이 정의해두고 쓰는 것이 아니고 필요한 곳에서 즉시 사용하고 버릴 수 있기 때문에 코드가 간결해지고 메모리가 절약된다. lambda 사용..

2021.09.01 게시됨