반응형

다음은 이 글의 동영상 강의 링크입니다.
 
요즘은 많은 종류의 프로그래밍 언어들이 있습니다. 개발자가 되려고 할 때 어떤 언어를 선택해야 할지 고민을 많이 하게됩니다. 이럴때 어떻게 선택하면 좋을지와 추천 언어는 어떤것이 있는지 알아보겠습니다.
 
개발자의 종류는 다양하지만, 최근들어 일반적으로 Frontend와 Backend 개발자로 나누고 있습니다.
단어에서 주는 느낌처럼 사용자들이 직접 만나게 되는 부분을 Frontend, 그 뒤의 보이지 않는 부분을  Backend 라고 합니다.
 
그림과 같이 사람이 볼 수 있는 부분이 Frontend, 보이지 않는 부분이 Backend 라고 생각하면 됩니다.

카카오톡에 로그인 하는 예를 들어보면,
  1. 카톡 로그인 창이 보이는 부분이 Frontend입니다.
    여기에서 사용자는 아이디와 패스워드를 입력하고 로그인 버튼을 클릭합니다.
  2. 아이디/패스워드 정보가 Backend로 전달이 되어집니다.
    이것으로 Database를 검색하여 사용자 인증을 처리하고, 정상 사용자일 경우 친구 및 대화 목록을 가져와서 Frontend로 전달을 합니다.
  3. Frontend에서는 Backend에서 온 Data를 이용해서 대화목록 화면을 보여줍니다.

 

정리하면,
Frontend는 사용자에게 보여지는 화면을 주로 처리하는 프로그램을 개발하고,
Backend는 Frontend의 요청에 의해 비즈니스 로직을 처리하고, 데이터를 처리하고 Interface를 처리하는 프로그램을 개발합니다.
 
Frontend의 경우 앱과 웹으로 구분될 수 있습니다.
앱의 경우는 Android와 iOS 개발을 의미합니다.
  • Android는 과거 Java 언어를 사용하였으나 최근엔 Kotlin(코틀린)이라는 언어를 사용합니다.
  • iOS의 경우는 Swift(스위프트)를 사용합니다.
웹의 경우는 자바스크립트 프레임워크를 많이 사용합니다. 현재 많이 쓰이고 있는 것은 다음과 같습니다.
  • React
  • Vue
이 둘의 차이는 다음과 같습니다.
물론 웹의 경우는 html, css도 어느정도 알고 있어야 개발이 가능합니다.
 
Backend의 경우 최근 Java와 NodeJS를 많이 사용합니다.
백엔드의 경우 그 외에 Database는 기본적으로 알고 있어야 합니다.

 

이 외 다른 언어들은
  • Python의 경우는 배우기 쉬운 언어라 많이 사용하고 있습니다.
  • Python은 데이터 분석 영역에서도 많이 사용합니다.
  • Php의 경우는 wordpress라는 브로그 사이트를 만들 수 있는 오픈 소스를 등에 업고 많이 사용되고 있습니다.
  • 시스템적으로 빠른 성능이 필요할 경우는 C나 C++을 사용하는 곳도 있습니다.
 
결론을 말씀 드리면
  • 요즘 개발자로 취업을 하기 좋은 언어를 추천하라고 하면,
  • 당연히 Javascript 기반의 언어입니다. 백엔드와 프론트엔드를 모두 커버할 수 있기 때문이죠.(Full Stack)
  • 먼저 frontend/backend를 결정하시고
  • frontend일 경우는 react, vue 중에서 하나를
  • backend일 경우는 nodejs, java 중에서 하나를 선택하시는 것을 추천드립니다.

반응형
반응형

nodejs

이글의 동영상 강의

https://youtu.be/1iaSSvS64Sw

 

Nodejs 뭐가 좋죠?

 

Nodejs는 Javascript Runtime 플랫폼입니다.

크롬 브라우저의 기반이 된 V8 자바스크립트 엔진으로 빌드되었습니다. 이 말은 V8 엔진의 탄생으로 말미암아 Nodejs가 나오게 되었다는 뜻이기도 합니다.

 

그렇다면 기존에도 사용하고 있었던 Javascript에 비해 Nodejs는 뭐가 좋은걸까요?

Nodejs의 핵심적인 장점 3가지는 아래와 같습니다.

 

1. Nodejs는 브라우저 없이도 실행이 가능합니다.

  • Javascript는 브라우저에서만 실행이 가능했었습니다.
  • 하지만 Nodejs가 나오면서 브라우저를 벗어나 단독으로 실행이 가능해졌습니다.
  • 이로인해 Backend 서버의 개발이 가능해졌습니다.
  • 현재는 서버개발에서 가장 많이 사용하는 언어 중 하나가 되었습니다.

Nodejs website

출처 : https://www.similartech.com/technologies/nodejs

 

NodeJs Market Share and Web Usage Statistics

See which Websites are using NodeJs and more market share statistics. Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an...

www.similartech.com

  • Nodejs는 서버에서 고성능 IO처리를 위해 만들어졌기 때문에 속도가 빠릅니다.
    아래는 nodejs를 사용하는 website들입니다.
    이중 twitter.com은 traffic rank가 5위로 트래필이 많은 사이트인데도 불구하고,
    nodejs를 사용하여 원할하게 서비스를 하고 있습니다.

Top Websites using nodejs

2. Nodejs는 Javascript로 만들어졌습니다.

  • 요즘 가장 핫한 언어는 누가 뭐래도 Javascript입니다.
  • Frontend 개발에서 Javascript를 빼놓을 수 없습니다.
  • Angular, React, Vue등이 대표적인 Javascript 기반의 프레임워크입니다.
  • 이제 Nodejs를 사용하면 javascript로 Frontend와 Backend 모두를 개발할 수 있습니다.
  • 한 가지 언어로 양쪽 개발이 모두 가능하다는 것은 엄청난 메리트입니다.

Javascript

3. Nodejs는 NPM 오픈소스를 사용합니다.

  • NPM은 노드패키지매니저(Node Package Manager)입니다.
  • Node 기반으로 패키지를 만들어 https://www.npmjs.com/에 배포할 수 있습니다.
  • 이는 엄청난 크기의 오픈 소스 생태계를 만들었습니다.
  • 이 라이브러리들을 이용해 빠르게 개발을 할 수 있게 되었습니다.
  • 또한 사용이 편리한 이 컴퍼넌트들은 무료로 이용할 수 있습니다.
 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

npmjs.com

 

결론

Nodejs를 이용하면 javascript로 backend+frontend를 모두 개발할 수 있으며, 다양한 패키지들을 무료로 사용할 수 있습니다. 또한 처리속도도 빠르기 때문에 Enterprise 환경에서도 많이 사용되고 있습니다.

그리고, 다른 언어들에 비해 훨씬 적은 코드로 프로그램을 완성할 수 있습니다.

앞으로 한 동안은 nodejs를 많이 사용할 것 같습니다.

반응형
반응형

이 포스트의 동영상 강의

https://youtu.be/Krc4mHkGLqM

 

 

 

일렉트론

일렉트론은 Javascript, HTML, CSS를 이용하여 Desktop Application을 만드는 프레임워크입니다.

따라서 자바스크립트와 웹개발 지식을 가지고 있다면 쉽게 데스크톱 애플리케이션을 만들 수 있습니다.

그리고, 일렉트론은 1개의 코드만으로 Cross-Platform에서 작동하는 애플리케이션을 빌드할 수 있습니다.

 

일렉트론은 

  • 2013.4 Atom Editor를 만들기 위해 시작한 Atom Shell에서 시작
  • 2014.5 MIT라이선스 오픈소스로 전환
  • 2015.4 Atom Shell에서 Electron으로 명칭 변경
  • 2016.5 Electron V1.0 출시

일렉트론 아키텍처

  • Backend - Nodejs 런타임
  • Frontend -Chromium(크로미엄, 오픈소스 웹브라우저 프로젝트이며 구글 크롬이 이것을 사용함)

Electron Architecture

일렉트론을 사용하여 만들어진 Application

  • 일렉트론을 이용해 개발된 앱은 https://www.electronjs.org/apps 에서 확인할 수 있습니다.
  • 굉장히 많은 앱 리스트가 있고, 그 중 우리가 잘 아는 앱들은 다음과 같은 것들이 있습니다.

Electron으로 개발된 Application

일렉트론 Application의 File 구조

Electron Application Files

일렉트론의 장점

  • 웹기술을 이용해 Desktop Application 개발이 가능.
  • 한개의 코드로 Cross platform에서 작동하는 애플리케이션을 만들 수 있음.
  • NPM을 이용해 node package들을 사용할 수 있음.
반응형

+ Recent posts