드디어 18기 코딩자율학습단 자바스크립트 입문 과정이 끝이 났습니다!혼자 했으면 자칫하면 의지가 꺾였을 수도 있을 4주간의 여정을스터디원들 덕분에 의지를 꺾이지 않고 재미나게 마쳤네요:) 스터디그룹을 직접 모집하고, 운영해 본 건 이번이 처음인데,정말 뜻깊은 경험이 아니었나 싶습니다!물론 어떻게 스터디를 진행해야 루즈해지지 않고 개념을 더 잘 이해할 수 있을까스터디그룹 팀원들과 머리를 맞대고 정말 많은 고민을 했습니다 ㅠ,ㅠ결과는 대성공...! 입문자들의 스터디인 만큼,다 같이 모여서 책을 읽고 모르는 부분을 물어보고 하는 것이 좋겠다는 생각이 들었습니다.그리고 확실히 이 방법을 사용하니까 더 이해가 쏙쏙 잘 되더라구요:)이해가 덜 됐거나 이해를 잘 끝마쳤다면AI로 여러 가지 문제를 생성하여 풀어보고 한..
1. 동기 함수비동기 함수에 대하여 제대로 알아보기 전에, 먼저 동기 함수에 대하여 먼저 알아보도록 하겠다. 동기 함수란?동기 함수란 현재 실행 중인 태스크가 종료될 때까지 다음에 실행되는 태스크가 대기한다.(블로킹)즉시 결과를 반환하고, 실행 흐름을 예측 가능하고 직관적으로 만든다.동기 함수의 장점: 태스크를 순서대로 하나씩 처리하므로 실행 순서가 보장된다.동기 함수의 단점: 앞선 태스크가 종료될 때까지 이후 태스크들이 블로킹되는 단점이 있다. 함수를 호출시 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다.이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택(콜 스텍)에 푸쉬되고 함수 코드가 실행된다.함수가 호출된 순서대로 순차적으로 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸쉬된다.함수 코드의 ..
- 문제이 문제에서 두 정수 배열의 대소관계를 다음과 같이 정의합니다.두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 큽니다.배열의 길이가 같다면 각 배열에 있는 모든 원소의 합을 비교하여 다르다면 더 큰 쪽이 크고, 같다면 같습니다.두 정수 배열 arr1과 arr2가 주어질 때,위에서 정의한 배열의 대소관계에 대하여 arr2가 크다면 -1, arr1이 크다면 1, 두 배열이 같다면 0을return 하는 solution 함수를 작성해 주세요. - 입출력 예 arr1 arr2 result [49, 13] [70, 11, 2] -1 [100, 17, 84, 1] [55, 12, 65, 36] 1 [1, 2, 3, 4, 5] [3, 3, 3, 3, 3] 0 - 해결 방법 이 문제는 비교적 쉬웠..
- 문제 정수 배열 arr과 정수 n이 매개변수로 주어집니다. arr의 길이가 홀수라면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열을,arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을return 하는 solution 함수를 작성해 주세요. - 입출력 예arrnresult [49, 12, 100, 276, 33] 27 [76, 12, 127, 276, 60] [444, 555, 666, 777] 100 [444, 655, 666, 877] - 해결 방법 처음에는 조건에 맞게 if문과 for문을 나열했는데,그럴 경우 코드가 길어질 뿐더러 중복되는 코드가 많아진다는 문제점이 생겼다.게다가 처음에는 새로운 빈 배열을 만들어 값을 담아주는 형태로 갔기 때문에 더 코드가 길어졌..
- Index.js 파일Node.js를 만든 개발자는 index.js 파일을 만든 것을 후회한다고 하였다.이 index.js 파일이 module의 로딩 시스템을 굉장히 복잡하게 만든다는 얘기다.지금까지 했던 프로젝트의 리팩토링을 통하여 어떻게 module 시스템을 복잡하게 만드는지 살펴보겠다. lib 폴더를 하나 생성하고, 내부에 index.js 파일과 request.js, response.js 파일을 넣어준다.만약, 기능별로 나눠둔 module 파일이 많아진다면 그때 index.js 파일을 사용할 수 있다. 폴더 안에 각 module을 담은 파일이 너무 많을 경우, index.js에서 처리한다.방법은 여러 가지가 있다.1.// index.jsmodule.exports = { request : req..
- CommonJS Module지금까지 사용한 module은 CommonJS 였다.바로, module.exports로 내보내고 require로 가져오는 것 말이다.CommonJS는 node.js에서 기본 module로 사용되고 있다. - ECMAScript Moduleexport, import를 사용해서 module을 내보내고 가져오는 Syntax을 사용한다.ECMAScript module을 사용하려면 파일 확장자를 mjs로 변경해야 한다.ECMAScript Module은 javascript의 표준이고 CommonJS Module은 Node.js의 기본값이다. 모든 주요 브러우저는 ES Module을 지원하며,React 및 Vue.js와 같은 프레임워크에서도 ES module의 가져오기(import), ..