정보실

웹학교

정보실

Nodejs 백엔드 엔지니어 로드맵

본문

지식이 풍부한 백엔드 개발자가 되기 위한 가이드.


백엔드 개발자를 위한 필수 기술 : 


특정 기술을 배우기 가장 좋은 곳을 공유하려고 노력할 것입니다.


https://www.devopscycle.com/backend-engineer-roadmap/ 


1. 프로그래밍 언어

1.1. 스크립팅 언어 : Python 또는 Node.js. PHP는 선택 사항입니다.

1.2. 함수형 언어 : 해당 지역에 필요한 언어를 선택하십시오. Clojure 또는 Erlang에서 시작할 수 있습니다.

1.3. 다른 언어 : Go-Go는 단순하고 안정적이며 효율적인 소프트웨어를 쉽게 구축 할 수 있는 오픈 소스 프로그래밍 언어입니다.


2. 배운 것을 실습하십시오 : 선택한 언어를 사용하여 명령 행 또는 CRUD 응용 프로그램을 작성하십시오.

작업 : 사용자 및 게시 테이블이 있는 로그인 및 CRUD 페이지가 있는 간단한 웹 사이트입니다.


3. 패키지 관리자 배우기 : 선택한 언어에 대해 패키지 관리자를 사용하는 방법을 배우십시오.

예를 들어 PHP에는 Composer, Node.js에는 NPMYarn, Python에는 Pip, Ruby에는 Gems 등이 있습니다.


4. 표준 및 모범 사례를 각색 : 각 언어에는 표준 및 모범 사례를 수행하고 선택한 언어에 대해 학습합니다.

예를 들어, PHP에는 PHP-FIG와 PSR이 있으며 Node.js에는 커뮤니티가 주도하는 많은 것들이 있습니다. 자바 스크립트의 경우 에어 비앤비 자바 스크립트 스타일 가이드가 있습니다.


5. 패키지 / 라이브러리를 만들고 배포합니다.


6. 테스트에 대해 알아보기 : 여러 가지 테스트 유형이 있지만 현재 선택한 언어로 단위 및 통합 테스트를 작성하는 방법에 대해 알아보십시오.

모형, 스터브 등과 같은 다양한 테스트 용어를 이해합니다.

PHP : PHPUnit-Laracast에서 PHP 단위 테스트를 배웁니다.

Node.js : Mocha-Mocha는 Node.js와 브라우저에서 실행되는 기능이 풍부한 JavaScript 테스트 프레임 워크로, 비동기 테스트를 간단하고 재미있게 만듭니다. Jest는 단순성에 중점을 둔 즐거운 JavaScript Testing Framework입니다.

모두 : 보안 모범 사례에 대해 읽어보십시오. OWASP 지침을 읽고 다양한 보안 문제와 선택한 언어로 이를 방지하는 방법을 이해하십시오.


7. 위의 실제 단계에 대한 쓰기 테스트 : 이전 단계에서 구현 한 실제 작업에 대한 단위 테스트를 작성하십시오.


8. 실용 시간 : 지금까지 배운 모든 것을 사용하여 간단한 응용 프로그램을 만듭니다. 등록, 로그인 및 CRUD가 있어야 합니다.

예를 들어 누구나 공개 프로필 페이지를 등록하고 게시하여 게시물을 작성, 업데이트 및 삭제할 수 있는 블로그를 작성하면 공개 페이지에 해당 게시물이 작성된 게시물이 표시됩니다.


9. 프레임 워크 배우기 : 프로젝트와 선택한 언어에 따라 프레임 워크가 필요할 수도 있고 필요하지 않을 수도 있습니다. 몇 가지 다른 옵션이 있습니다.

9.1. PHP-Laravel 또는 Symfony, Lumen 또는 Slim-마이크로 프레임 워크

9.2. Node.js-Express.js, Nest.js (효율적이고 안정적이며 확장 가능한 서버 측 애플리케이션 구축 용), Hapi.js 


10. 관계형 데이터베이스 학습 : 먼저 MySQL을 선택한 다음 MariaDB (Why MariaDB?) 또는 PostgreSQL로 전환하십시오.

여기 몇 가지 옵션이 있습니다. 그러나 하나를 배우면 다른 것들은 쉽게 픽업할 수 있어야 합니다. 지금 MySQL을 선택하고 어떻게 다른지, MySQL, PostgreSQL 등의 사용 사례를 배우십시오.


11. NoSQL 데이터베이스를 배우십시오 : 먼저 그들이 무엇인지, 관계형 데이터베이스와 어떻게 다른지, 그리고 왜 필요한지를 이해하십시오.

몇 가지 다른 옵션이 있습니다. 다른 옵션을 살펴보고 그 차이점을 확인하십시오. 하나를 선택해야 하는 경우 MongoDB를 선택하십시오.

내 제안은 MongoDB를 먼저 배우고 다른 것과 어떻게 비교되는지 확인하는 것입니다.


12. 캐싱 : Redis 또는 Memcached를 사용하여 앱 수준 캐싱을 구현하는 방법을 알아 봅니다.

Redis를 먼저 선택하십시오-캐싱 기능에서 항상 Redis를 구현하는 것이 좋습니다.


13. RESTful API 작성 : REST를 이해하고 RESTful API를 작성하는 방법을 배우고 Roy Fielding의 원래 논문에서 REST에 대한 부분을 읽으십시오.


14. 인증 / 인증 방법 : 차이점과 구현 방법에 대해 알아 봅니다.

Oauth-OAuth 2 소개 

JSON 웹 토큰 (JWT)-JSON 웹 토큰 소개 

기타 : 기본 인증, 토큰 인증, OpenID 등


15. 메시지 브로커 : RabbitMQ.

메시지 브로커에 대해 배우고 "왜"를 이해하고 하나를 선택하십시오. 여러 가지 옵션이 있지만 RabbitMQ 또는 Kafka로 갈 것입니다. 하나를 선택하려면 지금 RabbitMQ를 사용하는 방법을 배우십시오.


16. 검색 엔진 학습 : ElasticSearch 또는 AWS Elasticsearch.

응용 프로그램이 커짐에 따라 데이터베이스에 대한 간단한 쿼리는 잘리지 않으므로 검색 엔진을 사용해야 합니다. 각각 고유 한 차이점이 있는 여러 옵션이 있습니다.

응용 프로그램이 커짐에 따라 데이터베이스에 대한 간단한 쿼리는 잘리지 않으므로 검색 엔진을 사용해야 합니다. 각각 고유 한 차이점이 있는 여러 옵션이 있습니다.


17. Docker 사용 방법 : Docker 시작하기

이것은 당신과 당신의 개발을 도울 기술이 있어야 합니다.


18. 웹 서버에 대한 지식 : NginxApache-이 두 가지는 반드시 웹 서버 기술을 배워야 합니다.


19.웹 소켓 사용법 : Socket.io

Socket.io 시작하기에서 Socket.io를 배우십시오.


20. GraphQL 알아보기 : 필수는 아니지만 자유롭게 살펴보고 그 내용이 무엇인지, 왜 새로운 REST라고 부르는지 확인하십시오.

그래프 데이터베이스를 살펴보십시오. 다시 요구되지는 않지만 제공해야 하는 것에 대해 약간 이해해야 합니다.

GraphQL 시작GraphQL 모범 사례 


backend-transparent.png 

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 13회 ]  작성일19-09-07 20:52

웹학교