- Today
- Total
목록Category (318)
개발하는 고라니
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bQMWeE/btq2JxBVdkE/svQRMdJt66SkOhkedUqezk/img.png)
Node.js File System 모듈 Node의 file system 모듈은 컴퓨터의 파일 시스템에서 작업하는 것을 허락한다. File System 모듈을 추가하기 위해서는 'fs'를 require 한다 const fs = require('fs'); 일반적으로 File System 모듈은 다음의 용도로 쓰인다. 파일 읽기 파일 생성하기 파일 수정하기 파일 삭제하기 파일 이름 변경하기 # 파일 읽기 fs.readFile(path[, options], callback) /* path : | | | 파일이름, 파일 명세 options : | - encoding : (default - null) - flag : 아래 참고 (default - 'r') - signal : ??? callback : - err ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWJpme/btq2Kw9YQNH/oMdJHAdCgWIuSIFG8ryKm1/img.png)
Database와 DBMS 사실 데이터베이스가 존재하기 전부터 데이터를 관리하고 있었다. 위의 그림을 대학 캠퍼스라고 보면, 행정실, 도서관, 과사무실 이라고 보았을 때, 데이터를 각각 관리하였다. 그런데 학생의 데이터는 모든 곳에서 사용이 되는데, 동기화가 잘 안되는 것이다. 예를 들어 책을 빌리는 과정을 생각해보면, 휴학생에게는 도서 대출이 안된다. 유재석 학생이 오늘 복학했고, 도서관에서 도서를 대출하려고 했는데, 아직 데이터상 처리가 안되어있는 것이다. 행정실과 도서관의 데이터 동기화(복사본)는 그날 저녁에 이루어지므로 아직 휴학생처리가 되어있는 것이다. 이처럼 데이터가 실시간으로 반영이 안되는 것, 그리고 데이터의 복사본을 갖고있는 문제가 데이터 결함으로 이어질 수 있다는 문제점이 있다. 이를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhuCQ8/btq2Ehtf7MU/fjxuQNTlr0zHKAxjq2XJGK/img.png)
Node.js 모듈 모듈은 자바스크립트 라이브러리랑 같다고 여기면 된다. 나의 어플리케이션에 포함시키고 싶은 기능, 함수들을 모아놓은 세트이다. 내장 모듈들 Node는 부가적으로 설치할 필요 없이 사용할 수 있는 내장 모듈 객체를 한 세트 갖고있다. Node.js Built-in Modules Node.js Built-in Modules Node.js has a set of built-in modules which you can use without any further installation. Here is a list of the built-in modules of Node.js version 6.10.3: Module Description assertProvides a set of assertion..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEl1im/btq2DshupOA/8IwFvW8nOkOI31Jv0cWqr1/img.png)
예전에 '생활코딩'의 Node.js 수업을 들으며, node가 어떤 것이고, 얼마나 간편하고 대단한 것이며 자바스크립트를 이용해 프론트와 백단을 어우를 수 있는 것을 배웠으나, 한동안 사용하지 않다보니 모두 망각하게 되었다. 그래서 쌩기초부터 다시 시작해보고자 한다. Node.js Node.js 란? Node.js는 오픈소스 서버 환경 Node는 무료 Node는 다양한 플랫폼에서 동작한다(Windows, Linux, Unix, Mac OS X, ...) Node는 서버에서 JS를 사용한다. 왜 Node.js 를? Node.js는 비동기 프로그래밍을 사용한다. 웹 서버에서 일반적인 작업은 서버 위에서 파일을 열 수 있고 클라이언트에게 컨텐트를 반환한다. Node.js는 파일 요청을 다음과 같이 처리한다. ..
16932번: 모양 만들기 N×M인 배열에서 모양을 찾으려고 한다. 배열의 각 칸에는 0과 1 중의 하나가 들어있다. 두 칸이 서로 변을 공유할때, 두 칸을 인접하다고 한다. 1이 들어 있는 인접한 칸끼리 연결했을 때, 각각의 www.acmicpc.net [DFS] 백준의 다리 놓기(?) 시리즈 문제였나 그거랑 좀 비슷한 것 같다. 나의 문제 접근법은 다음과 같다. 지도를 입력 받으며 '0'인 곳은 Queue에 넣는다. DFS를 이용해 1로 이루어진 덩어리(모양)을 탐색하고, 그 덩어리에 ID(인덱스)를 부여하며, 그 id가 갖는 크기를 Map에 저장한다. Queue에서 하나씩 빼며 상하좌우 인접한 덩어리의 크기를 모두 더한다. (단, 덩어리가 중복되지 않게 하기 위해 Set을 이용했다.) 3번을 반복하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byabFZ/btq2CjY0TNR/kBYEvKalcxpjQRgh02krrK/img.png)
16973번: 직사각형 탈출 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 www.acmicpc.net [BFS] 나는 입력으로 주어지는 지도를 저장할 때, int[ ][ ]가 아닌 boolean[ ][ ]에 저장했다. 이유는 추후 연산이 오래 걸릴 것을 감안해서이다. 아무래도 숫자 비교 연산보다 boolean 연산이 훨씬 빠르다고 생각했다. 어쨋든 N x M 직사각형 안에 H x W 크기의 직사각형이 하나 더 들어있는데, 벽을 피해서 가장 왼쪽 위의 꼭지점을 목적지로 이동하는 문제라고 파악했다. 매번 직사각형을 옮기며 모든 꼭지점에 벽이 ..
14923번: 미로 탈출 홍익이는 사악한 마법사의 꾐에 속아 N x M 미로 (Hx, Hy) 위치에 떨어졌다. 다행히도 홍익이는 마법사가 만든 미로의 탈출 위치(Ex, Ey)를 알고 있다. 하지만 미로에는 곳곳에 마법사가 설치한 벽이 www.acmicpc.net [BFS] 아마 기억 상 '벽 부수고 이동하기 1' 문제와 90% 유사한 문제 같다. [백준] 2206번 : 벽 부수고 이동하기 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하 dev-gorany.tistory.com BFS를 수행할 때 Queue안에 들어가는 원소는 4개이다. [..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dmS40B/btq2LkCxJ4h/suJxB3TFpPP0Z7pRBdkNWk/img.png)
스크립트 코드 작성 영역 스크립트 코드는 스크립트 태그 안에서 작성할 수 있다. ... 하지만 이처럼 다른 태그 안에서도 작성될 수 있다. 고객센터 고객센터 ... ... 고객센터 객체 생성의 시기와 함수 대입의 시기 제목 ... 위 코드처럼 두고 페이지를 요청하면 오류가 발생한다. asideTitle이 define 되지 않았다는 오류이다. 그럼 어떻게 해야할까? window라는 전역 객체를 이용하는 것이다. window가 "load"될 때, 즉 모든 DOM이 생성되고 난 이후에 asideTitle을 이용하려 한다면 에러가 발생하지 않을 것이다. 이는 다음과 같이 처리한다. window라는 객체에 onload 되었을 때 함수를 실행하는데, 그 때 asideTitle의 onclick 속성에 printSum..