일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Algorithm
- Data Structure
- 자바스크립트
- Drawing Book
- #nodejs#express
- Javascript
- Between Two Sets
- #nodejs#노드js
- 노드
- algorithim
- Birthday Chocolate
- Divisible Sum Pairs
- Ellectronics Shop
- Sock Merchant
- Time Conversion
- Breaking the Records
- A Very Big Sum
- 자료구조
- alogrithim
- javascirpt
- Grading Students
- nodejs
- Apple and Orange
- 생활코딩
- Migratory Birds
- git
- 알고리즘
- 짝수와 홀수
- hackerrank
- 프로그래머스
- Today
- Total
목록Web Development (88)
ian의 개발일기장
1. 나의 풀이 for문을 써서, 1~n까지 숫자를 담은 배열을 만든 후, 2중 for문을 이용하여, 각각 합을 구해서 n이 되면 count를 올리는 방식으로 했다. 2. 다른사람 풀이 사실 이코드는 저도 이해가 가질 않습니다. 공부해서 찾아보고, 수정하겠습니다. 3. 결론 for문에서 break, continue에 대해 정리해야겠다. 4. 정리 for문이 중첩되있다. 하지만 break걸어주는건 내부의 for문이기때문에 i와 관련된 for문은 다 돌아간다. 사진이 짤렸지만, 0~5가 찍히는것은 10번 반복된다. j에 관련된 for문은 j===6이면 멈추게 된다. break을 쓰면 loop가 종료된다는것을 알 수 있다. 출처 - 프로그래머스, MDN공식문서
1. 개념 연결리스트(linked list)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 연결리스트는 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트 등이 있다. 예를 들어, 한 반에 있는 학생들의 자료를 저장한다면, 학생 1명당 자료를 노드로 만들고, 1번 학생의 자료에 2번학생의 자료가 어디있는지 표시를 해놓는 방식이다. 배열에 비해서, 연결리스트는 노드를 뒤에 연결하거나 중간에 껴놓는 것은 쉽고, 데이터를 추가/삽입 및 삭제가 용이하다. 하지만, 배열은 특정한 자료를 불러내기가 편리한 반면, 연결리스트는 자료 번호가 없고, 연결 관계만 있기 때문에 특정한 노드를 불러내기가 어렵다. 또한 연결리스트는 순차적으로 탐색하지 않으면 특정 위..
1. 나의 풀이 여러개 숫자가 있을 때, 최소공배수를 구하기 위해서 2개씩 짝지어서 최소공배수를 구했다. 그러기 위해서 2개 숫자의 최소공배수를 구하는 함수를 만들었다. 그다음 while문을 통해서, 모든숫자를 돌아서 전체의 최소공배수를 구했다. 2. 다른사람 풀이 나와 다른점은 최대공약수를 구할 때, 재귀함수를 이용했다. 그리고 전체를 reduce를 통해서 함수를 돌았다. 3. 결론 reduce를 조금더 잘 활용해야겠다. 4. 정리 출처 - 프로그래머스, MDN공식문서, 위키피디아
1. 만들어 볼 것.글 목록 - topic/글 상세 보기 구현 - topic/:id글 추가 기능 구현 - topic/add글 편집 기능 구현 - topic/:id/edit글 삭제 구현 - topic/:id/delete 2. 글 목록지난번에 생성했던, app_file.js를 복사해서, app_mysql.js을 생성한 후, 위의 코드를 템플릿엔진 사용하는 곳 밑에 추가해준다. 우리가 만들 것은 글 목록을 보는 것이므로, /topic의 라우터를 수정 할 것이다. fs를 이용한 부분은 삭제하고, sql을 이용한 쿼리를 추가해주고, 서버를 키고, http://localholst:3000/topic 로 들어가면, 지난번에 저장한 db의 테이블이 배열로 나온다. 배열안의 객체는 테이블의 rows를 가리킨다. 기존에 ..
1. 개념 스택(Stack)은 제한적으로 접근할 수 있는 나열구조이고, LIFO(Last In Firist Out)구조로 되어 있다. 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조이다. 예를 들어, 동전 케이스에 동전을 넣고, 빼는건 한 쪽 끝에서만 자료를 넣거나 빼는 스택과 비슷하다. 데이터가 들어오고 나가는 곳은 저장소의 끝 부분에 있으며, Top이라고 부른다. 자료를 밀어넣는 것을 Push라 하며, 자료를 꺼내는 것을 Pop이 부른다. 2. 구현 저장소를 배열로 활용했다. push - data를 밀어넣는 것으로, push메소드를 이용했다.pop - 최근에 들어온 data를 꺼내야 하므로, pop메소드를 이용했다.top - 데이터가 들어오고, 나가는 곳의 위치이며, 배열에서 맨마지막 원소가 된다..
1. MySQL 소개관계형 데이터베이스 시스템웹에서 성공MariaDB - MySQL과 호환가능 2. MySQL 설치 - 맥(OS X)bitnami 이용 MySQL에서 홈페이지 다운homebrew를 이용한 설치homebrew를 이용해서 설치해보자. 1. MySQL 설치 - 터미널에 brew install mysql 입력 2. MySQL 시작 - 터미널에 mysql.server start 입력3. root 비밀번호 설정 - 터미널에 mysql_secure_installation 입력 터미널에 입력을 하면 여러가지 설정들이 뜬다.복잡한 비밀번호 설정을 위한 과정을 거칠 것인가? 저는 no로 대답.root 비밀번호 입력 및 확인 - 개인비번 입력익명 사용자를 삭제할 것인가? 저는 yes (mysql -uroot..
1. 개념 큐(Queue)는 기본적인 컴퓨터 자료구조이며, FIFO(First In First Out)구조로 자료를 저장하는 형식이다. 먼저 집어넣은 데이터가 먼저 나오는 형식이다. 예를 들어, 줄을 서서 먹는 식당을 생각해보자. 먼저 줄을 선사람이 음식을 다먹으면, 먼저 나간다. 큐와 비슷하다. 큐와 반대대는 개념은 스택(Stack)이다. 데이터가 나가는 방법에 차이가 있다. 데이터가 들어오는 위치는 뒤쪽에 있으며, 뒤쪽을 Rear 또는 Back, Tail 이라고 하며, 데이터가 나가는 위치는 앞쪽에 있으며, 앞쪽을 Front 또는 Head 라 한다. 데이터를 입력하는 동작을 Enqueue, 제거하는 동작을 Dequeue라고 한다. 2. 구현 배열을 활용했다. enqueue - data를 입력하는 것이..
1. 데이터베이스 데이터를 저장하고, 꺼내오는 것을 전문적으로 담당하는 소프트웨어.체계화된 데이터의 모임. 즉, 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음 2. 데이터베이스의 종류관계형 데이터베이스대표적인 제품들 - Oracle, MySQL, SQL SERVER공통적으로 언어를 SQL을 사용.관계형 데이터베이스부터 배우는 것이 좋음. 아무튼 꼭 알아야함. 관계형 데이터베이스가 아닌 것현대세계가 복잡해지면서, 관계형 데이터베이스들이 가진 모델로 표현불가능. 새로운 데이터베이스들이 출현.NoSQL이 출현. 3. 만들어 볼 것 출처 - 생활코딩, 위키피디아(한글)
1. 파일 업로드 준비 사용자가 선택한 파일을 업로드하여 저장하는 것을 만들어 볼 것. express에서는 따로 제공하지 않아서, 모듈을 사용해야한다.그것은 바로 multer, 사용법은 링크로 들어가보면 나와있다. 우선 설치는 npm 모듈을 이용해야 한다. 2. 파일 업로드 양식(form)/upload 라우터로 접속 할 때, 업로드창이 뜨도록 설정하기. 1. 기본 틀 작성 후, 라우터 설정.유저가 /upload로 접속했을 때 와 파일을 전송후 접속되는 get과 post 라우터를 위와 같이 설정해준다. 템플릿 엔진을 이용하기위해 다른코드도 입력했다. 2. 템플릿 엔진 작성views_file 폴더에서 템플릿 파일을 사용할것이므로, views_file 폴더에 upload.pug를 만들어서, 위와같이 입력해보자..
1. 나의 풀이 각 숫자의 크기를 비교하기 위해서, split을 이용해 문자열을 배열로 바꾼후, map을 이용해 모든 원소를 숫자로 바꾸었다. 그다음 sort로 오름차순을 한 후, 최솟값과 최댓값을 return하였다. 2. 다른사람 풀이 spread operator와 Math함수를 이용했다. 간단한 풀이이다. 3. 결론 speard operator에 익숙해져야겠다. 4. 정리 ES5Math.max.apply(null, arr) => 배열의 최댓값을 구할 수 있다.Math.min.apply(null, arr) => 배열의 최솟값을 구할 수 있다. ES6Math.max(..arr) => 배열의 최댓값을 구할 수 있다.Math.min(...arr) => 배열의 최솟값을 구할 수 있다. 출처 - 프로그래머스, ..