본 게시글은 fast campus 강의를 듣고 작성하였습니다. Editor - IntelliJ language - Java framework - Spring Boot Part 1. 프로젝트 생성하기 project 이름은 todo-server Gradle과 Maven의 차이 - Build(소스코드 파일을 실행 가능한 어플리케이션으로 만드는 과정) 관리 도구 Maven : pom.xml을 이용한 정형화된 빌드 시스템 Gradle: 유연한 범용 빌드 도구 Gradle이 시기적으로 늦게 나온 만큼 비교적 뛰어난 스펙을 가지고 있음. (참고: https://bkim.tistory.com/13) Part2. Build 설정 build.gradle : build에 필요한 옵션들을 정할 수 있음. build.gradl..
( CloudFront ) 0. 정의 AWS CDN(Contents Delivery Network) 서비스 html, css, js 및 이미지 파일과 같은 정적 및 동적 웹 컨텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹서비스 이다. CloudFront는 전 세계 이곳 저곳에 Edge Server를 두고 Client에 가장 가까운 Edge Server를 찾아 Latency를 최소화시켜 빠른 데이터를 제공한다. 1. Keyword Origin Server 원본 데이터를 가지고 있는 서버 (S3, EC2, ELB) Edge Server AWS에서 실질적으로 제공하는 전 세계에 퍼져있는 서버. Edge Server에는 요청받은 데이터에 대해서 같은 요청에 대해 빠르게 응답해주기 위해 Cache 기능을 제공..
Node.js 란? Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 이다. 보통 노드는 서버로 이용된다. 하지만, Node에 대한 설명글을 보면 서버에 대한 얘기는 없다. 이는 노드가 서버만 실행할 수 있는 것이 아니기 때문이다. 서버로서의 Node.js 노드를 통해 서버 애플리케이션을 실행할 수 있다. 이때 서버란, 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 혹은 프로그램을 말한다. 노드는 자바스크립트 프로그램이 서버로서 기능하기 위한 도구를 제공하므로 서버 역할을 수행할 수 있다. 자바스크립트 런타임 노드는 자바스크립트 런타임이다. 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다. 따라서 노드는 자바스크립트 프로그..
let fun T.let(block: (T) -> R): R let함수를 사용하면 객체의 상태를 변경할 수 있다. 그리고 마지막에 작성된 값이 리턴된다. -> 즉, 블럭의 마지막 return 값에 따라 let의 return값이 달라진다. 또한, let블럭 안에는 non-null만 올 수 있어 non-null체크 시에 유용하게 쓸 수 있다. let은 보통 non-null일 경우 값을 변경하고자 하거나 무언가를 반환하고자 할 때 사용한다. val person = Person("", 0) val resultIt = person.let { it.name = "James" it.age = 56 it // (T)->R 부분에서의 R에 해당하는 반환값. } val nameStr = person?.let { it.na..