AWS Lambda에서 Typescript를 쓰는 이유 처음 서버리스를 개발하게 되면 생소함에서 오는 어려움을 마주하게 된다. lambda 함수로 전달되는 이벤트나 반환 타입을 모르는데 어떻게 개발할 수 있을까? 이때 자바스크립트로 개발 시에는 함수 인자에 대한 아무런 정보를 받을 수 없다. 이래서 타입스크립트를 도입하는 편이 좋다. 타입스크립트로 lambda 함수를 작성하면 lambda 함수에 대한 타입 정보를 제공해준다. 여기에 더해 타입스크립트 기반으로 Serverless Framework를 사용하면 serverless.yml 파일 대신 serverless.ts를 사용할 수 있다. yml 파일의 경우 정적 파일이라 오타로 인해 시간을 낭비하거나 동적으로 값을 생성하기 어려운 반면 ts를 사용하면 이..
개발
Spring이란? 기존 Java EE 환경에서 Spring framework는 기존의 환경을 겨울로 칭하며 이제 스프링이라는 봄이 찾아옵니다!! 라는 의미로 나왔습니다. Spring은 DI(의존성 주입)와 IoC(제어 역행)을 통해 유연성을 제공합니다. 다른 장점들도 많겠지만 두 장점이 Spring의 핵심이라고 보시면 됩니다. Spring boot Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". Spring의 한 가지 단점이 있다면 설정이 복잡하다는 것입니다. Spring의 dependency 설정을 해보신 분들은 아실겁니다. 버전도 직접 명시해..
지난 시간에는 프론트엔드/백엔드의 차이점을 간단하게 살펴보았습니다. 이 두개가 모두 웹 개발 분야인데 그렇다면 웹이란 무엇일까요?? 웹이란? 웹에 대해서 자세히 알아보기 전에 간단한 OX퀴즈를 내보겠습니다. 인터넷은 웹이다? O/X 인터넷은 네트워크와 네트워크 사이를 연결해서 통신을 합니다. 이 인터넷에서 파일이나 메일, 문서 등을 주고받습니다. 이때 중요한게! 요청하는 쪽이 클라이언트고 제공하는 쪽이 서버입니다. 만약에 서버와 클라이언트가 서로 호환이 안된다면?? 문제가 생기겠죠 이를 위해서 약속을 정의합니다. 파일 = FTP , 문서 = WWW(http) 이런 방식으로요. 즉 웹(WWW)은 인터넷에서 문서를 주고받기 위한 규약이므로 정답은 X입니다. 역사적으로 발전해오면서 웹은 현재와 같은 형태를 갖..
웹 백엔드 개발자는 프론트엔드처럼 사용자에게 직접적으로 보이는 부분이 아닌 서버와 관련된 작업을 합니다. 여기에는 데이터베이스 작업이 포함될 수 있죠. 이때 서버와 클라이언트의 연결이 소켓 같은 방식이 아닌 웹을 기반으로 진행한다는 게 중요합니다. 사용자가 웹에서 어떤 정보를 입력 후 전송한다면 그 정보를 이용해 저장도 하고 연산 후 사용자에게 다시 보여주는 작업을 할 수 있죠. 사용자(클라이언트)가 요청하면(GET/POST) 이를 서버에서 응답하는 일련의 과정이 필요합니다. HTML/CSS/Javascript 등으로 웹 페이지를 꾸미고 동적이게 만드는 부분이 프론트엔드고 그 뒤의 부분들이 백엔드의 영역으로 서버 프로그래밍이 됩니다. 백엔드 개발을 위해서는 Java 언어와 SQL 등 기본적인 내용을 숙지..