profile
Frontend Developer

Node.js란

Node.js Node.js는 chrome v8 javascript 엔진으로 빌드된 javascript 런타임 이라고 정의되어 있습니다. 정의를 보면 node.js는 자바스크립트 실행기가 맞습니다. 그런데 Node.js는 V8 엔진과 더불어 libuv 라는 라이브러리를 사용하여 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다고 말합니다. 이에 대해 자세히 알아보겠습니다. 용어 정의 넘어가기 전에 용어들을 명확히 짚고 넘어가야 할 것 같습니다. > * 이벤트 기반 : 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식, 미리 지정해둔 작업이라 함은 콜백함수나 이벤트 리스너 등이 될 수 있다. > * 논 블로킹 I/O : 이전 작업이 완료될 때 까지 대기하지 않고 다음 작업을 바로 수행하는 것. > * 호출 스택(Call Stack) : 실제 실행할 작업들이 쌓여있는 스택 > * 백그라운드 : 타이머나 이벤트 리스너들이

2022년 9월 30일
·
0개의 댓글
·

forEach와 Promise.all

ForEach의 동작 먼저 예시 프로그램을 하나 보겠습니다. list에는 순서대로 timeout의 값들이 들어가 있고 forEach를 통해 순회하면서 testFunction을 실행하여 해당 결과를 출력해주는 프로그램입니다. 순서대로 반복한다는 점에서 개발자는 3000, 2000, 3000, 4000, 1000, 1000, 2000, 3000, 1000, 1000의 순서대로 결과가 출력된다는 것을 예측할 수 있습니다. 그런데 순서가 이상합니다. 숫자가 작은 것부터 큰 것 순으로 마치 정렬된 것 처럼 결과가 출력되었습니다. forEach는 해당 코드와 같이 동작합니다. list의 요소를 순회하면서 callback 함수를 ‘호출’합니다. callback 함수에 비동기 로직이 존재한다면? 이전 ca

2022년 9월 22일
·
0개의 댓글
·

Javascript 정규식

정규식을 이용하면 문자열과 관련된 처리가 매우매우 편리해집니다. 그래서 이번엔 정규식에 관해 정리해 보면서 공부해 보고자 합니다. 이미지 출처는 https://curryyou.tistory.com/234 입니다. 표현 정규식은 / / 사이에 나타내고 이 뒤에는 옵션이 붙습니다. (모두 찾을 건지, 하나만 찾을 건지 등) 그럼 / / 사이에는 어떤 표현이 들어갈 수 있는지 보겠습니다. > 전화번호 010-XXXX-XXXX 의 형식을 정규식으로 표현해보자. (010만 생각하겠음.) 먼저 010을 정규식으로 표현하면 다음과 같습니다. /010/ 이제 특수문자인 -을 표현해보겠습니다. /010\\-/ 특수문자는 다음과 같이 백 슬래시를 앞에 써 줘야 합니다. 그 이유는 특수문자는 정규식 표현에서 특별한 의미를 가지는 경우가 있습니다. (^은 맨 앞, $는 맨 뒤 등) 그래서 특수문자 그 자체를 매칭 시키고 싶을 때는 백슬래시로 구분해 줍니다. 이제 '숫자 네자리'를 표현해보

2022년 3월 11일
·
0개의 댓글
·

javascript array

원소를 추가하고 제거하고 싶어요 > push : 맨 끝에 추가 pop : 맨 끝 제거 unshift : 맨 앞 추가 shift : 맨 앞 제거 push와 pop은 자바의 스택 자료구조에서 보던 메서드입니다. 스택은 후입선출이죠? 맨 끝에 삽입하고 맨 끝을 제거합니다. 자바스크립트의 배열은 스택과 큐로써 동시에 이용할 수 있다는 특징을 알 수 있네요 shift와 unshift는 각각 맨 앞을 제거하고 추가할 수 있습니다. 특정 위치의 원소를 지우고 싶어요 > splice(index [, deleteCount, eles]) index는 지우고 싶은 원소의 위치입니다. deleteCount는 그로부터 몇 개를 지울지를 나타내고 eles들은 그 후에 추가할 원소들을 나타냅니다. 가만 보니 splice는 정말 유용할 것 같습니다. 원하는 위치의 원소를 지울수 있는데 몇 개를 지울지 설정 가능하고 거기에 어떤 원소로 대체로 추가할지 까지 설정 가능하다? 만능 메서드

2022년 2월 5일
·
0개의 댓글
·