본문 바로가기

분류 전체보기

(154)
[Do it! Node.js 프로그래밍] 8일차 1. 공부한 범위 [07] 익스프레스 프로젝트를 모듈화하기 2. 공부한 내용 [07] 익스프레스 프로젝트를 모듈화하기 07-1 모듈화 방법 자세히 알아보기 - 프로그램의 기능이 많아질 수록 모듈화를 하지 않는다면 코드를 분석하기 더 어려워진다. - 이 문제를 해결하기 위해서는 기능별로 코드를 구분해 독립된 파일로 만드는 과정이 필요하다. 다양한 방법으로 모듈 만들기 - 새로운 자바스크립트 파일을 만든 후 exports 전역 변수를 사용해 다른 파일에서도 해당 exports 전역 변수의 속성을 참조할 수 있게 만든다. - 모듈화한 파일의 기능을 불러오고 싶다면 require() 메소드를 통해 불러들어야 한다. - require() 메소드로 불러들인 모듈을 변수에 할당한다면 해당 변수에는 exports가 속..
[Do it! Node.js 프로그래밍] 7일차 1. 공부한 범위 [06] 데이터베이스 사용하기 2. 공부한 내용 [06] 데이터베이스 사용하기 06-4 인덱스와 메소드 사용하기 - 몽고디비는 데이터베이스이기 때문에 더욱 빠른 검색을 위해 각 속성에 인덱스를 만들 수 있다. - 인덱스를 사용하게 되면 검색 속도가 빨라지기 때문에 조회가 필요한 속성에는 인덱스를 적용하는 것이 더 효율적이다. - 위치 기반 서비스를 위해 저장되는 위도 & 경도 좌표에는 공간 인덱싱을 사용해야 하며 [type: [Number], index: "2d", sparse: true]같은 형태로 객체를 만들어 설정 가능하다. - 몽구스에서는 스키마 객체에 메소드를 추가할 수도 있다. static(name, fn) : 모델 객체에서 사용할 수 있는 함수를 등록한다. 함수의 이름과 함..
위장 프로그래머스에서 제공하는 문제들 중 해시함수를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 | 프로그래머스 programmers.co.kr 문제 설명 풀이 과정 스파이가 위장을 위해 현재 가지고 있는 옷들을 매칭해 겹치지 않게 옷을 입을 수 있는 경우의 수를 구해야 하는 것이 문제의 요구조건이다. 스파이는 적어도 한 개의 옷은 입고 있어야 하며 같은 종류의 옷을 여러 벌 겹쳐입을 수 없기 때문에 이를 해결하기 위해 HashMap의 키를 옷 이름, 값을 옷 종류로 설정하도록 계획을 세웠다. 문제를 면밀히 분석해본 결과 이 문제는 순열을 이용해 푸는 문제라는 판단을 했고, 만일 he..
다리를 지나는 트럭 프로그래머스에서 제공하는 문제들 중 큐를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서 progr..
[Do it! Node.js 프로그래밍] 6일차 1. 공부한 범위 [06] 데이터베이스 사용하기 (6-3까지) 2. 공부한 내용 [06] 데이터베이스 사용하기 06-1 몽고디비 시작하기 - 노드에서 데이터 저장이 필요할 때는 Mongo DB를 사용하는 경우가 많다. - 몽고디비는 기존에 널리 쓰이던 관계형 데이터베이스들과는 다르게 SQL을 사용하지 않는다. 또한 자바스크립트 객체를 그대로 저장할 수 있어 데이터 조회 방식도 SQL과는 차이를 보인다. - 데이터를 저장, 조회하는 방법을 따로 제공해주기 때문에 몇 가지 사용법만 확실히 알아두면 쉽게 이용이 가능하다. 몽고디비란? - 실무에서 최근에 비 관계형 데이터베이스를 적용하는 곳이 늘고 있다. 또한 이들 비 관계형 데이터베이스는 NoSQL 또는 Not Only SQL이라고 부른다. - NoSQL이 ..
전화번호 목록 프로그래머스에서 제공하는 문제들 중 해시함수를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r progr..
완주하지 못한 선수 프로그래머스에서 제공하는 문제들 중 해시함수를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 partic pr..
[Do it! Node.js 프로그래밍] 5일차 1. 공부한 범위 [05] 웹 서버 만들기 2. 공부한 내용 [05] 웹 서버 만들기 05-3 미들웨어 사용하기 static 미들웨어 - static 미들웨어는 특정 폴더의 파일들을 특정한 경로로 접근할 수 있도록 만들어준다. - app.use("/public", static(path.join(__dirname, "public")));이라 작성할 경우 public 폴더 이하의 주소들을 쉽게 접근할 수 있게 된다. - 위 코드를 통해 첫 번째 파라미터와 두 번째 파라미터간 매핑이 이루어진다. body-parser 미들웨어 - body-parser 미들웨어는 POST로 클라이언트가 요청 파라미터를 보내왔을 때 이를 확인할 수 있도록 해준다. 05-4 요청 라우팅하기 - 로그인뿐만 아니라 사용자 리스트 등 다..