REST(=RESTful) API(Representational State Transfer Application Programming Interface) REST 구조의 제약 조건을 준수하는 API를 뜻함 웹의 장점을 최대한 활용할 수 있는 구조 REST 구성 자원(Resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST 특징 1. Uniform Interface(통일된 방식) : URI로 지정된 리소스에 대한 조작을 통일된 방식으로 수행하는 구조 2. Stateless(무상태성) : API 서버는 들어오는 요청만 단순히 처리한다. 3. Cacheable(캐시 가능) : HTTP 프로토콜 표준에서 사용하는 Last-Modified Tag나 E-Ta..
int num = 92; //10 -> 2, 8, 16 String binNum = Integer.toBinaryString(num); String octNum = Integer.toOctalString(num); String hexNum = Integer.toHexString(num); System.out.println(binNum);//1011100 System.out.println(octNum);//134 System.out.println(hexNum);//5c //2, 8, 16 -> 10 int binToDec = Integer.parseInt(binNum, 2); int octToDec = Integer.parseInt(octNum, 8); int hexToDec = Integer.parseI..
문자 -> 숫자 String str_num = "1234"; //String to Int int int_num1 = Integer.parseInt(str_num); //String -> Int int int_num2 = Integer.valueOf(str_num); //String -> Int //String to Double, Float double double_num = Double.valueOf(str_num); //String -> Double float float_num = Float.valueOf(str_num); //String -> Float //String to Long, Short long long_num = Long.valueOf(str_num); //String -> Long sho..
copyOf() 메소드 전달받은 배열의 특정 길이 만큼을 새로운 배열로 복사하여 반환한다. 이때 새로운 배열의 길이가 원본 배열보다 길면, 나머지 요소는 배열 요소의 타입에 맞게 기본값으로 채워진다. 예) int - 0, boolean - false, char - '\u0000' int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = Arrays.copyOf(arr1, 3);//Arrays.copyOf(원본 배열, 복사할 요소 개수) //1 2 3 int[] arr3 = Arrays.copyOf(arr1, 10);//복사할 요소 개수가 원본보다 큰 경우 //1 2 3 4 5 0 0 0 0 0//기본값으로 채워짐 copyOf() 메소드 전달받은 배열의 특정 범위에 해당하는 요소만을 새..
Iterator 인터페이스 자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있다. Collection 인터페이스를 상속받은 List와 Set 인터페이스에서 iterator() 메소드를 사용할 수 있다. Iterator 인터페이스 메소드 boolean hasNext() : 해당 iteration이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환한다. E next() : iteration의 다음 요소를 반환한다. default void remove() : 해당 iterator로 반환되는 요소를 현재 컬렉션에서 제거한다. ArrayList arrList = new ArrayList(); arrL..
Arrays 주요 메소드 Arrays.asList(array) : List 타입으로 변환 Arrays.equals(array1, array2) : 두 배열이 일치하는지 검사 Arrays.sort(array) : arr을 오름차순으로 정렬 String[] arr1 = {"A", "B", "C"}; String[] arr2 = {"D", "E", "F"}; System.out.println(Arrays.toString(arr1));//[A, B, C] //Arrays.asList(array) List arrlist = Arrays.asList(arr1); System.out.println(arrlist);//[A, B, C] //Arrays.equals(array1, array2) System.out.pri..
1. Jade Template으로 form 화면 만들기 doctype html html(lang="en") head meta(charset="UTF-8") body form(action='/form_receiver' method='post') P input(type='text' name='title') P textarea(name='description') P input(type='submit') 2. "/form" 과 "/form_receiver" 라우터 작성 const express = require('express'); const app = express(); const port = 3000; //POST 방식으로 전송한 데이터 사용 app.use(express.urlencoded({ extende..
Querystring이란? http://localhost:3000/topic?id=1 위 주소의 전체를 URL이라 하고 '?' 뒤에 나오는 'id=1' 과 같은 부분을 쿼리스트링이라 한다. Querystring 이용 방법 app.get('/topic', (req, res) => { res.send(req.query.id);// 1 }); req.query를 이용해서 값을 얻는다. "/topic?id=1"에서 id와 "req.query.id"에서 id가 일치해야 값을 읽을 수 있다. 소스코드 app.get('/topic', (req, res) => { var topics = [ 'Javascript is ...', 'Nodejs is ...', 'Express is ...' ]; var output = `..
정적 페이지 const express = require('express'); const app = express(); const port = 3000; //public 디렉토리 생성 필요. //static.html(정적 파일)이 위치할 디렉토리 지정. app.use(express.static('public')); app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`); }); Hello, Static! coding coding coding coding coding 동적 페이지 const express = require('express'); const app = express(); const port ..
1. Underscore 객체 생성 var _ = require('underscore'); 2. 배열 생성 var arr = [3,6,9,1,12]; 3. 배열 값 호출 예제 console.log(arr[0]); //배열의 첫번째 값 호출 //결과: 3 console.log(_.first(arr)); //underscore를 이용해서 배열의 첫번째 값 호출 //결과: 3 console.log(arr[arr.length - 1]); //배열의 마지막 값 호출 //결과: 12 console.log(_.last(arr)); //underscore를 이용해서 배열의 마지막 값 호출 //결과: 12 참고 www.inflearn.com/course/nodejs-%EA%B0%95%EC%A2%8C-%EC%83%9D%E..