Author: 주니용 흔히 면접 질문이나 시험 질문에 기본적으로 나온다는 REST, RESTful 방식 프로그래밍 언어가 발달하면서 정말 많은 통신 방식 또한 생기게 되었다. 서버와 클라이언트가 통신하는 방법 중의 하나인 'REST'는 언어마다 하나 이상씩 존재한다고 봐도 무방하다. REST(REprensentational State Transfer) 자원을 이름으로 구분하여 해당 자원의 상태 및 정보를 주고 받는 모든 행위를 의미한다. 구체적으로는 HTTP URI로 자원을 명시하고 Method로 해당 데이터를 어떻게 소화할지 의미하는 척도를 정한다. URI(Uniform Resource Identifier): 흔히 말하는 URL의 상위 개념으로 인터넷에 있는 자원을 나타내는 유일한 주소이다. 이 주소의..
Author: 주니용 자바스크립트를 사용하다 보면 3가지의 변수 선언 타입이 존재한다. 이들의 차이점을 알기 위해서는 Hoisting & Scope 의 개념이 필요한데, Hoisting 모든 자바스크립트 변수 선언은 호이스트된다. 호이스트: 변수의 정의가 그 범위에 따라 선언 / 초기화 / 할당 분리되는 것을 의미 위 소스는 문제가 없다. 근데 아래 소스는 문제가 생긴다. let으로 선언된 변수는 에러가 발생된다. 이유는 생성 순서의 문제가 있다. 가장 먼저 실행되는 컨텍스트의 어휘적 환경(Lexical Environment)으로 범위가 지정된 변수를 정의하는데, 이 때 변수 let/const가 생성이 된다. 환경이 생성이 된 후, TDZ가 생성이 되는데 설명은 아래에 있다. * TDZ(Temporal ..
Author: 주니용 개발을 알고 지낸지 어느덧 10년이 되었다. 요즘 회사에서 사용하는 없어서는 안되는 툴이 있다. 바로 JetBrains사에서 출시한 IntelliJ이다. (읽는건 인텔리제이라고 읽어요) JetBrains사는 2009년 출범하여 현재까지 런칭중인 회사로 현재 구글에서 공식 지원하는 안드로이드 개발 툴인 Android Studio를 비롯하여 각기 다양한 언어의 툴을 지원해주는 IDE를 개발하고 지원한다. (안드로이드 개발은 전적으로 JetBrains으로 넘어갔다고 합니다) 기존에는 윈도우만을 기반으로 지원이 가능했지만, 이제는 매킨도시/리눅스 모두 지원 가능하다고 한다. 개발을 시작했을 때에는 Eclipse를 기본으로 시작하였고, Eclipse가 없었던 시절(있었는데 몰랐을 수도 있음)..
기존에 자바 소스에서는 @Override, @Deprecated, @SuppressWarnings 의 형태로 사용했다. Spring Framework에서는 위의 기능들 말고 좀 더 효율적으로 개발을 하기 위해 '@'라는 단어를 앞에 붙여 사용하고 있다. @: at이라고도 읽지만 Spring 내에서는 Annotation(어노테이션, 애노테이션이라고도 함)으로 읽고 있다. 어노테이션은 스프링 프레임워크 3.0부터 본격적으로 사용되기 시작하였고, (현재는 5.2) 모든 어노테이션은 org.springframework 의 하위 패키지 클래스에 내장되어 있다. * build.gradle의 설정에 따라 각각 호출되는 어노테이션 명 및 기능이 다를 수도 있다. 또, 어노테이션은 각각의 레벨이 있고 그 레벨마다 호출되..
- MUSTACHE MANUAL 머스타치 문법의 사용 방법은 아래 사이트를 통해 예제를 참고할 수 있다. https://mustache.github.io/mustache.5.html mustache(5) - Logic-less templates. mustache(5) Mustache Manual mustache(5) NAME mustache - Logic-less templates. SYNOPSIS A typical Mustache template: Hello {{name}} You have just won {{value}} dollars! {{#in_ca}} Well, {{taxed_value}} dollars, after taxes. {{/in_ca}} Given the following ha mus..
스프링 프레임워크. 웹 개발자를 시작하면서 들어보았고 시중에도 관련 서적들이 정말 많이 나온 프레임워크 중 하나이다. 또, 일부 사람들은 알다시피 eGov Framework(전자정부프레임워크)도 Spring을 기반으로 만들어진 프레임워크이다. 대체 왜 이렇게 유명할까? 그 전에 스프링 프레임워크의 역사부터 알아보아야겠다. 스프링 프레임워크는 2004년 3월에 처음으로 생성이 되었고, 처음에는 동적인 웹 사이트를 개발하기 위한 목적으로 만들어진 컨테이너의 역할을 하는 도구였다. 물론 자바 플랫폼을 처음부터 지원했기에 현재 JVM에서 사용이 가능한 Kotlin 언어도 Spring Framework의 사용이 가능하다. 기본 원리(목적) 1. Open Source 소프트웨어 혹은 하드웨어 제작자의 권리를 지키며..
Maven 기존의 Ant의 불편함을 보완하기 위해 출시 쉬운 빌드 pom.xml 을 이용한 정형화된 빌드 시스템 뛰어난 프로젝트 정보 제공 개발 가이드 라인 제공 Gradle Ant+Maven 의 장점만을 계승하여 Android OS의 빌드 도구로 선정 유연한 범용 빌드 도구 Maven을 사용한 변환 가능 컨벤션 프레임워크 (100% 지원) 멀티프로젝트(API가 여러 개라던지 서버가 분리되어 있는 경우)에서 사용이 유용 Apache Ivy에 기반한 강력한 DI(Dependency Injection) 관리 원격 저장소, pom, ivy 파일 없이 연결되는 의존성 관리 지원 Groovy 문법 사용 Maven -> Gradle 문서화가 잘 되어 있음 사용성, 성능 등의 Spec 향상 (빌드 속도 최대 100배..