- Today
- Total
목록Category (320)
개발하는 고라니
JDBC (Java Database Connectivity) Java를 이용해 Database를 사용하는 프로그램 Database를 이용하기 위한 API를 구해야 한다. JDBC API Java 어플리케이션과 DBMS가 직접적으로 연결해 사용할 수 있는데, 이를 간접적으로 연결해서 사용하게 하는 API DBC (Database Connectivity) DBMS은 우리가 알고있듯 Oracle, MS SQL, MySQL ... 여러 가지가 있는데, 만일 Oracle을 사용하다가 MS SQL로 마이그레이션을 했다고 가정했을 때, Oracle에 매핑되어있는 함수와 MS SQL에 매핑되어있는 함수가 다르기 때문에 코드를 전부 수정해야할 수도 있다. 이러한 문제점을 해결하기 위해 DBMS와 직접 연결하지 않고 중간..
데이터베이스에 접속하기 이번엔 서버를 설치하는 것이 아닌, 클라이언트 프로그램을 다운받아 서버에 접속하는 형태로 진행해보자. www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html 상단 링크에서 'SQL Developer'를 각 OS에 맞게 설치한다. Oracle SQL Data Types Oracle Built-in Date Types Character 형식 Numeric 형식 Date 형식 LOB 형식 CHAR(10) : 10개의 공간에 10개의 문자 - 고정길이 [HI ][OK ] VARCHAR2(50) : max 50, 50을 쓰지 않으면 남은 공간 반환 - 가변 길이 [HI,OK,] ------------------------..
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 ..
Database와 DBMS 사실 데이터베이스가 존재하기 전부터 데이터를 관리하고 있었다. 위의 그림을 대학 캠퍼스라고 보면, 행정실, 도서관, 과사무실 이라고 보았을 때, 데이터를 각각 관리하였다. 그런데 학생의 데이터는 모든 곳에서 사용이 되는데, 동기화가 잘 안되는 것이다. 예를 들어 책을 빌리는 과정을 생각해보면, 휴학생에게는 도서 대출이 안된다. 유재석 학생이 오늘 복학했고, 도서관에서 도서를 대출하려고 했는데, 아직 데이터상 처리가 안되어있는 것이다. 행정실과 도서관의 데이터 동기화(복사본)는 그날 저녁에 이루어지므로 아직 휴학생처리가 되어있는 것이다. 이처럼 데이터가 실시간으로 반영이 안되는 것, 그리고 데이터의 복사본을 갖고있는 문제가 데이터 결함으로 이어질 수 있다는 문제점이 있다. 이를 ..
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..
예전에 '생활코딩'의 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번을 반복하..
16973번: 직사각형 탈출 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 www.acmicpc.net [BFS] 나는 입력으로 주어지는 지도를 저장할 때, int[ ][ ]가 아닌 boolean[ ][ ]에 저장했다. 이유는 추후 연산이 오래 걸릴 것을 감안해서이다. 아무래도 숫자 비교 연산보다 boolean 연산이 훨씬 빠르다고 생각했다. 어쨋든 N x M 직사각형 안에 H x W 크기의 직사각형이 하나 더 들어있는데, 벽을 피해서 가장 왼쪽 위의 꼭지점을 목적지로 이동하는 문제라고 파악했다. 매번 직사각형을 옮기며 모든 꼭지점에 벽이 ..