EvanJin Blog

TIL 20190428

April 28, 2019

1. express의 핵심 컨셉

미들웨어와 라우팅

express의 장점은 블록처럼 여러가지를 쌓아서 기능을 만들 수 있다는 점입니다. 이것을 가능하게 되는 것은 미들웨어 예를 들면 로깅하는 미들웨어를 거친다든지 아니면 회원 인증하는 미들웨어를 거치는 등으로 변경할 수 있습니다.

라우팅은 간단하게 특정 주소로 접속시 동작을 정해준다고 이해하면 편합니다.

2. express의 view engine

view engine을 사용하는 이유는 반복을 최소화하기 때문입니다. (반복되는 태그 등을 최소화)

express의 view engine은 유명한 것 기준으로 아래와 같습니다.

  1. pug(https://pugjs.org/api/getting-started.html)
  2. ejs(https://ejs.co/)
  3. nunjucks(https://mozilla.github.io/nunjucks/)

pug는 예전에 jade라는 이름으로 불렷으며 태그의 열고 닫는 것이 없고 들여쓰기로 태그를 구분하는 것이 특징입니다. ejs와 nunjucks는 php, jsp와 같은 느낌이 드는 view engine으로 pug보다는 쉽게 적용할 수 있는 장점이 있습니다.

3. MVC 패턴

여러가지 많은 디자인 패턴 중에서 웹프레임워크에 오래동안 적용되었던 패턴을 고르자면 아무래도 MVC 패턴이지 않을까 싶습니다.

본격적으로 보편화되기 시작한 것은 Ruby On Rails에서 부터입니다. 그 후 Django 등으로 널리 사용되게 됩니다. (물론 Rails 전의 php나 java에서도 많이 사용되었지만 여러 언어에 보편적으로 나타나게 된 것은 Rails의 영향이 컸다고 생각됩니다.)

MVC 참고 자료 https://opentutorials.org/course/697/3828

4. stackoverflow의 2019년 설문조사

https://insights.stackoverflow.com/survey/2019

개발자 타입이 풀스택, 백엔드, 프론트엔드 순입니다. 저는 프론트엔드 개발자로 재직중이지만 빠르게 풀스택으로 넘어가야하는게 아닌가 경각심을 느끼게 해줍니다.

가장 인기있는 프로그래밍 언어 중 상위 5개의 언어는 JavaScript, Python, Java, C#, PHP순 이였습니다. 올해 처음으로 Python이 Java를 넘었습니다.

가장 인기있는 웹프레임워크는 jQuery와 Angular/Angular.js가 레거시 때문인지 아직 많은 편인거 같습니다.

가장 인기있는 데이터베이스는 MySQL, PostgreSQL순 이였습니다.

가장 좋아하는 프로그래밍 언어는 Rust, Python, TypeScript, Kotlin, WebAssembly 순이였습니다. Rust가 이렇게 높은 순위를 차지하는 것은 의외였습니다.

가장 원하는 프로그래밍 언어는 Python, JavaScript, Go, TypeScript, Kotlin 순이였습니다. 가장 원하는 것에 갑자기 Go가 나와서 조금 당황스럽지만 재밌는 결과였습니다.

가장 좋아하고 가장 원하는 웹 프레임워크 1위, 2위는 React.js와 Vue.js가 차지하였습니다. Vue.js를 쓰는 저로써는 뭔가 뿌듯하네요.


EvanJin

Written by EvanJin who lives and works in Seoul building useful things. github link