일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- python algorithm
- codestates
- Python
- 자료구조
- context switching
- Zerobase
- 컴퓨터공학
- 파이썬 알고리즘 인터뷰
- 자바스크립트
- 파이썬
- execution context
- algorithm
- java
- 프로그래머스
- 코드스테이츠
- 비동기
- Computer Science
- node.js
- typeScript
- react 기초
- Operating System
- JavaScript
- 개발공부
- useState
- 알고리즘
- OS
- 자바
- 운영체제
- REACT
- 글또
- Today
- Total
목록JavaScript (30)
Back to the Basics
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ptKdy/btrwTwzSi0k/hURrvSkfhnh6hqx0eVl9jk/img.png)
JAVASCRIPT-실행컨텍스트 모던 자바스크립트 Deep Dive를 읽고 정리한 포스팅 23장-실행컨텍스트-Execution-Context 언어를 공부한다는 것은 단지 언어의 문법만 공부하는 것이 아니라 자바스크립트가 실행되는 환경에 대한 이해, 이 환경에서 자바스크립트가 어떻게 코드를 관리하는지, 그리고 툭 하면 언급되었던 호이스팅에 한 이해.. 그리고 싱글스레드 기반인 자바스크립트의 Event loope등 그 언어의 동작 원리를 알아야 삽질을 덜 하고 더 효율적인 코드를 작성할 수 있다. 그리고 실행 컨텍스트는 자바스크립트의 동작 원리를 담고있는 아주 핵심적인 개념이다. 이 책에는 실행컨텍스트에 대해 정말 자세히 설명이 되어있어서 그동안 두리뭉실하게 알고 있었던 부분을 해결할 수 있었다. ECMAS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/x18p9/btrv5nytCRv/7rpl53ZNkmfyndSXwG8OW0/img.webp)
About_export_exports_module.exports 이전 포스팅에서 require()에 대해 알아보았다. 이번엔 require와 함께 붙어 다니는 exports에 대해 알아보자 1. export는 왜 하는 것일까? exports를 하는 경우는 1. Node의 내부 모듈을 사용할 때 2. 작성한 js파일을 다른 js파일에서 불러와야 할 때 사용한다. 두 경우의 공통점은 “모듈"이라는 사실이다. 모듈이란, 우리가 만드는 applicaion을 구성하는 개별적인 요소로, 재사용이 가능하도록 만들어졌다. NodeJS에서 모듈을 따로 export 해주지 않는다면 모듈 내부의 함수,변수 등의 자원은 사용하지 못한다. 이는 모듈 자체로 스코프를 갖고 있기 때문이다. 이를 “모듈 스코프"라고 한다. 따라서,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lS9bP/btrvYuX6MU7/IaUfgf1gprkhwfyxWHRx3K/img.webp)
About require() node.js에서는 module을 불러올 때 require를 사용한다. 그리고 로컬에 작성한 파일을 다른 파일에서 사용하기 위헤 꼭 export를 해야한다. 지금까지 사용을 하면서 단순히 exports를 하면 require를 할 수 있다고만 알고 있었다. 글이 길어질듯 하니 먼저 require를 하면 내부적으로 어떤 작업이 이루어지는이 알아보자. 1. require()는 module.exports를 return 한다. 노드 사이트 참고 위의 문서에 따르면, require는 기본적으로 Javascript file을 읽고, 그 파일을 실행시킨 후 exports 객체를 return 한다. 공식 사이트에 있는 예제를 예로 들면 // example module var invisible..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bj266I/btrqCTviyqe/cTSMBSeec930l7dOtTSG2k/img.webp)
degut module Node.js Debug Module debug 모듈은 console.log()를 대신하는 로깅 모듈로 node.js에서와 web browser에서 동작한다. node에서 가장 많이 사용하는 모듈이라고 한다. 로그를 구조적으로 기록할 수 있다는 점에서 console.log보다 뛰어나다. 이 모듈은 로그롤 구조화하여 기록할 수 있으며 특정 로그만을 볼 수 있도록 지정할 수 있다는 장점이 있다. HOW TO USE debug를 선언한다 const debug=require('debug') debug id를 정의한다. // debug를 선언할 때 하는 방법 const server=require('debug')("shortly:server"); const request=require('de..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VXiSw/btrox0KQHwF/4zDHYOHDr0GYZ7ytwBzie1/img.png)
GCD(Greatest Common Divisor) 최대 공약수 1. 문제 M개의 A 빼빼로와 N개의 B 빼빼로를 k명의 직원에게 공평하게 나누어 주는 방법을 구하는 함수를 작성하는 문제이다. 예를 들어 A빼빼로가 4개 B빼빼로가 8개인 경우, 직원이 2명이라면 A 뺴빼로를 2개, B를 4개씩 공평하게 나눠준다. 입력 : 인자 M (1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c28HBA/btrozjBzSiG/02aE5SKwJS6gexeB1tc3k1/img.png)
Rock Paper Scissors 1. 문제 이 문제는 가위바위보를 n 판 했을 때 한 사람이 낼 수 있는 모든 경우의 수를 구하는 문제이다. R=Rock , P=Paper, S=Scissors라고 할 때 4판을 했을 때 트리 구조로 구성을 해보면 아래와 같다. 중학생 때 배웠던 수학을 떠올려보자, 한 판을 할 때마다 R, P, S 3개 중 중복을 허용하여 뽑는 경우의 수 3Π\PiΠ1과 같다. 바로 중복순열이다. 중복순열은 자료구조 DFS를 이용하여 전체를 순환하는 방식을 사용한다. DFS에 대한 개념적인 내용은 Section2의 첫 부분인 자료구조에서 이미 정리한 바가 있으니 참고하자 자료구조/알고리즘] Graph - BFS , DFS 입력 : depth 또는 없음 출력 : 2차원 배열 조건 : 여..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vDYJw/btrj3Ma57cp/1BbjHrabC1NCKuoKPUXl3K/img.png)
Middleware Express Middleware 기초적인 사용을 위해 작성한 code 분석 , method 공부 , 개념 공부 포스팅 Express 공식문서의 Writinf middleware for use in Express apps을 참고하였습니다. Middleware function Middleware 함수는 request object, response object , request-response 주기에서 next 함수에 대한 권한을 갖는 함수이다. next function : Express router에서 현재 middleware 다음에 실행 될 middleware 함수를 실행한다. Middleware 함수는 아래의 작업들을 수행한다. 모든 code를 실행한다. 요청,응답 객체에 대한 변경..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IICiC/btricD2xwbh/6H2CREZDJhK7S0VwVB6IUK/img.png)
Underbar Night mare 이번 포스팅에서는 미루고 미뤄왔던 Nightmare 포스팅을 진행하겠다. _. memoize : momoise() method는 Lodash 라이브러리의 method이다. 이미 계산된 값을 일시적으로 기억했다가 다시 호출할 때 다시 계산하지 않고 기억한 값을 출력한다. 이미 해결한 문제는 다시 풀지 않는 기법이다. 완전하게 Lodash 라이브러리의 memoization 구현을 한 것은 아니겠으나, 추후 Memoization에 대해 공부할 일이 생긴다면 한번 더 구현을 해보기로 하자. Parametar func : callback 함수로 memoization을 적용하고자 하는 함수. _.memoize = function (func) { // memo를 하기위한 배열을 선..