[JavaScript] null / undefined 란 let age = null; console.log(age); // null; Javascript의 null은 다른 언어의 null과 성격이 다릅니다. 다른 언어에서는 존재하지 않는 객체에 대한 참조 / 널 포인터(null pointer)를 나타낼 때 사용합니다. Javascript에서는 null을 (존재하지 않는 값 / 비어있는 값 / 알 수 없는 값) 을 나타낼 때 사용됩니다. let age; console.log(age); // undefined undefined 는 값이 할당되지 않은 상태를 나타낼 때 사용합니다. 변수는 선언 했지만, 값을 할당하지 않은 경우 해당 변수에 undefined가 자동으로 할당 됨 [Spring] @Controller / @ResponseBody / @RestController 를 알아보자 Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController 2가지가 있다. @Controller와 @RestController의 주요한 차이점은 HTTP Response Body가 생성되는 방식이다. ※ @RestController는 @Controller와 @ResponseBody의 조합이다. ※ Spring 프레임 워크에서 RESTful 웹 서비스를 보다 쉽게 개발 할수 있도록 Spring 4.0에서 추가되었다. [@Controller] - @Controller는 Model 객체를 만들어 데이터를 담고 View를 반환하기 위해 사용한다. - @ResponseBody를 사용하면 View를 리턴하지 않고 Controller에서 직접 데이터 리턴이 가능하다. .. [Spring] 의존성 주입(Dependency Injection) 의존성 주입은 객체지향 프로그래밍을 하다보면 자주 듣게 되는 용어이다. 이번엔 의존성, 의존성 주입 이 무엇인지 그리고 왜 필요한지를 간단하게 알아보자 [의존성] class Test { private Work work; public Test() { this.work = new Work(); } public runTest() { this.work.~~~(); ... } } 위 예제 1을 보면 Test 클래스에서 runTest 메서드가 호출 되기 위해서는 Work 라는 클래스를 필요로 한다. 이것을 Test 클래스는 Work 클래스의 의존성을 가진다 라고 한다. ※ Work 라는 클래스 없이 runTest메서드가 작동을 할 수 없는 상태이다. 예제 1 처럼 코드를 작성하면 재활용하기 힘들고 Work클래스가 .. [Spring] Spring은 무엇인가 Spring은 프레임워크(Framework)이며, 더 자세하게는 애플리케이션 개발 프레임워크이다. 간단하게 Spring 장/단점과 특징을 알아보자 [Spring이란] Spring에 대해 가장 잘 알려진 정의는 아래와 같다. "자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크" 위 정의를 보아도 무엇인지 알기 힘들다. 자세한 것은 구글에 검색을 통해 알아보기 바란다. [Spring의 장/단점] (장점) - 개발에 필요한 것들을 이미 코드로 완성되어있기에 어느 정도 완성된 상태에서 시작할 수 있다. - 이미 구축되어있는 구조에 코드를 넣어서 개발하는 형태라서 시간을 단축할 수 있다. (단점) - 구축된 구조를 파악하는 게 상당한 시간이 소요된다. - 이미 구조와 형식이 있기에 자.. [Node js] Blocking Code / Non-Blocking Code 란 let fs = require("fs"); let data = fs.readFileSync("sample.txt"); console.log(data.toString()); console.log("프로그램이 종료 되었습니다."); 위 예제는 Callback Function이 사용 되지 않는, Blocking Code 입니다. 위 코드를 실행 해보면 파일을 읽고 텍스트를 출력 한 후 "프로그램이 종료 되었습니다." 로그가 찍힌다. 즉, 파일을 찾고 읽고 toString() 하고 출력 후 "프로그램이 종료 되었습니다."가 순서대로 실행 된다. let fs = require("fs"); // 모든 Node 어플리케이션의 비동기식 함수에서는 첫번째 매개변수로는 error를 받는다. // 마지막 매개변수로는 cal.. [Node js] 콜백 함수(Callback Function)란 Callback Function 는 일반적인 Javascript function 이다. 이름 그대로 나중에 호출 되는 함수를 말한다. Callback Function(콜백 함수) 이란 함수를 전달 받은 함수안에서 호출을 하는것이다. 어떤 이벤트가 발생 했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수를 말한다. // Ex_1) $("#btn_1").click(function() { alert("btn_1 clicked"); }); // click 메소드의 인수는 변수가 아닌 함수(function)이다. // click 메소드의 인수가 바로 Callback function 이다. // click 메소드에 이름이 없는 callback function을 인수로 전달해준다. // 그리고 click 메소드.. [JavaScript] 셋(Set) 이란? 셋(Set)은 중복 되지 않는 값(value)들을 모아둔 컬렉션이다. 키(key) : 값(value) 쌍이 아닌 키(key)가 없는 값이 저장된다. 동일한 값(value)이 있다면 set.add(value)를 몇번을 해도 추가가 안된다. 중복을 허용하지 않는 경우 즉, 단 한번만 기록 하는 경우에 사용하기에 적합하다. let testSet = new Set(); let kim = {name : "kim"}; let lee = {name : "lee"}; let choi = {name : "choi"}; testSet.add(kim); testSet.add(lee); testSet.add(choi); testSet.add(lee); // 값 중복 추가 testSet.add(choi); // 값 중복 추가 .. [JavaScript] 맵(Map) 이란? 키(key)가 있는 데이터를 저장한다는 점에서 객체(Object)와 유사하다. 키(key)에 다양한 자료형을 허용한다. 객체(Object)와 달리 키(key)를 문자형으로 타입 변환 없이 그대로를 유지한다. NaN도 키(key)로 사용 가능하다. 값(value)의 삽입 순서를 기억한다. 객체(Object)는 프로퍼티 순서를 기억하지 못한다. 배열(Array)와 유사하게 내장 메서드 forEach도 지원한다. new Map() // 맵(Map)을 만든다. map.set(key, value) // 키(key)를 이용해 값(value)를 저장 map.get(key) // 키(key)에 해당하는 값을 반환한다. 키(key)가 존재하지 않으면 undefined를 반환 map.has(key) // 키(key)가 존.. 이전 1 ··· 4 5 6 7 8 다음