풀스택 개발자가 되는 방법: 2부
게시 됨: 2017-12-02이것은 프로그래밍 및 전체 스택 개발을 스스로 가르치는 것에 대한 일련의 게시물 중 두 번째입니다. CS 기초, 알고리즘, 디자인 원칙 및 프런트 엔드 개발 학습에 대한 첫 번째 부분을 확인하지 않았다면 여기에서 확인할 수 있습니다.
동기 부여
이제 HTML, CSS 및 Javascript를 사용하여 정적 웹사이트를 구축하는 방법을 알게 되었습니다. 인터넷은 원래 정적 웹 페이지를 공유하도록 설계되었지만 최신 웹 앱의 기능(및 기대치)이 엄청나게 증가했습니다. 거의 모든 앱에서는 사용자를 인증하고, 사용자에게 응답하고, 실제 시나리오를 최대한 가깝게 복제해야 합니다.
앞서 언급한 작업을 수행하려면 사용자(또는 API)로부터 데이터를 가져와 처리하고 출력을 생성해야 합니다. 또한 이 데이터를 저장하고 다음에 사용자가 앱을 사용하기 위해 돌아올 때 사용자를 식별할 수 있는 메커니즘이 있어야 합니다. 이러한 기능을 수행하기 위해 현재 스택으로는 충분하지 않습니다.
Bizongo의 공동 설립자이자 CTO인 Ankit Tomar와의 인터뷰
서버는 사용자 데이터를 처리하고, 파일을 저장하고, HTML/CSS/JS로 변환하는 데 필요합니다. 그런 다음 이러한 서버는 사용자에게 표시할 수 있는 형식으로 브라우저에 제공합니다. 앱에 중요한 데이터를 저장하려면 데이터베이스가 필요합니다. 서버를 프로그래밍하려면 서버 측 스크립팅 언어가 필요하고 데이터베이스의 경우 데이터베이스(duh)와 통신 언어가 필요합니다. 이것이 바로 다음 단계에서 수행할 작업입니다. 7편은 이전 포스팅을 참고해주세요!
목차
8단계: 서버 측 스크립팅 언어
앞에서 언급했듯이 서버를 프로그래밍하고 통신하려면 서버가 이해하는 언어를 알아야 합니다. Javascript가 유일한 선택인 프론트엔드와 달리 백엔드에서 프로그래밍할 수 있는 옵션이 너무 많습니다. 가장 인기 있는 것은 Java, PHP, Python, JavaScript 및 Ruby입니다.
PHP에는 단점이 있지만 지금까지 사용한 모든 언어와 프레임워크 중에서 가장 완만한 학습 곡선을 가지고 있습니다. 그리고 PHP는 빠른(그리고 더러운) 솔루션을 코딩하는 것입니다. 따라서 매우 짧은 시간에 매우 자랑스러워할 웹 앱을 구축할 수 있습니다.

Java는 범용 프로그래밍 언어이며 아마도 역사상 가장 인기 있는 언어일 것입니다. Android 플랫폼에서 모바일 앱을 구축하는 데 매우 인기가 있으며 대부분의 주요 기술 회사에서 광범위하게 사용됩니다. Head First Java 는 이 유비쿼터스 언어를 배울 수 있는 훌륭한 장소입니다.
Python을 배우려면 Zed Shaw의 Learn Python Hard Way 를 강력히 추천합니다. 및 Albert Sweigart의 Python으로 지루한 작업 자동화. PHP를 사용하기로 결정했다면 Codecademy에서 언어의 기초를 배울 수 있습니다.
Node 및 백엔드 JS 프레임워크(예: Express)로 손을 더럽힐 만큼 JavaScript 구문을 충분히 알고 있습니다. Ruby는 독립 실행형 언어로 거의 사용되지 않으므로 나중에 Rails와 함께 다룰 것입니다.
9단계: SQL 배우기
다음 단계에서는 약간의 SQL(Structured Query Language)을 선택해야 합니다. 그것은 언어 데이터베이스와 통신합니다. 프레임워크 사용으로 전환할 때 직접 사용하지 않을 수도 있지만 데이터베이스와 직접 통신하는 방법을 아는 것은 여전히 도움이 됩니다. 좋은 소식은 SQL이 매우 배우기 쉽다는 것입니다. 몇 시간 만에 제대로 이해할 수 있어야 합니다. Head First SQL 은 이러한 목적을 위한 훌륭한 리소스입니다.
풀 스택 개발자가 되는 방법: 1부
10단계: '기존' 풀스택 웹 프레임워크 배우기
이제 대부분의 하위 수준 작업을 수행할 수 있는 웹 프레임워크를 실험할 좋은 시간입니다.
상상할 수 있는 모든 목적을 충족할 수 있는 훌륭한 프레임워크가 부족하지 않습니다. Rails(Ruby로 작성), Spring(Java로 작성) 및 Django(Python으로 작성)는 오늘날 널리 사용되는 프레임워크 중 하나입니다. 무료로 제공되는 Michael Hartl의 The Rails Tutorial 을 살펴볼 수 있습니다 .
Django에 관한 한 공식 웹사이트의 튜토리얼을 시작하는 것이 좋습니다. 프레임워크의 기본 사항에 익숙해지면 Two Scoops of Django 를 읽어보십시오. 최고의 기술 서적 중 하나입니다.
Spring 경로로 가기로 결정했다면 UpGrad & IIIT-B의 소프트웨어 개발 프로그램 에 등록하는 것이 좋습니다 . 이 프로그램은 프레임워크에 대한 매우 전체적인 개요를 제공하고 강력하고 확장 가능한 백엔드를 구축하는 데 도움이 됩니다.


11단계: Javascript 전체 스택 프레임워크 및 MEAN 스택
얼마 전까지만 해도 백엔드 개발은 요청-응답 주기의 개념을 기반으로 했습니다. 예를 들어, 브라우저는 요청을 보내고 서버는 HTML로 된 웹페이지를 내보냄으로써 응답했습니다. 그러나 2010년 초부터 점점 더 많은 애플리케이션이 실시간이 되었습니다.
전체 웹 페이지의 구조는 새로 고침 없이 변경되며 사용자 입력 및 상호 작용(채팅, 좋아요, 댓글, 라이브 비디오 및 반응 등을 생각하십시오)에 따라 동적으로 동작합니다.

이러한 시나리오에서는 단순한 요청-응답 주기만으로는 충분하지 않습니다. 따라서 최근 비동기 프로그래밍에 대한 관심이 급증하고 AJAX 요청이 표준이 되었습니다. 자바스크립트 프레임워크는 이 점에서 탁월한 경향이 있습니다. 따라서 시장에서 사용 가능한 주요 JS 프레임워크 중 하나에 익숙해지는 것이 좋습니다. 가장 인기 있는 두 가지는 MEAN 스택과 MeteorJS입니다.
Fynd의 공동 설립자인 Farooq Adam과의 인터뷰
MEAN 학습은 비동기적 특성으로 인해 약간 더 복잡하고 콜백 지옥 노드는 일반적으로 해방되는 경향이 있습니다. 하지만 이제 노련한 개발자가 되었기 때문에 그 특성을 다룰 수 있을 만큼 충분히 성숙했습니다.
Meteor는 제가 현재 실험하고 있는 풀 스택 JS 프레임워크입니다. Meteor의 개념은 절대적으로 즐겁습니다. 애플리케이션의 모든 구성 요소(프론트 엔드, 백엔드 및 데이터베이스)를 처리하는 하나의 언어로 된 하나의 프레임워크입니다. 그러나 이것은 사용자 정의의 자유를 대가로 합니다. Meteor에서 무언가를 구축하고 나면 데이터베이스 또는 백엔드 프레임워크를 변경하기로 선택하는 경우 변경하는 것이 사실상 불가능합니다. 하지만 여전히 배울 가치가 있는 기술이라고 생각합니다. Meteor는 매우 강력한 것으로 알려져 있습니다. 다른 기존 프레임워크에서는 수천 줄의 코드가 필요했던 수백 줄의 코드로 작업을 수행할 수 있습니다.
결론
이것이 2부의 끝입니다. 이 게시물에서는 백엔드 개발 및 사용 가능한 다양한 풀 스택 기술에 관한 리소스를 다루었습니다. 이제 자랑스럽게 자신을 풀스택 개발자라고 부를 수 있습니다. 축하합니다!
그러나 풀스택 웹 개발의 이야기는 여기서 끝나지 않습니다. iPhone의 등장과 함께 전 세계적으로 스마트폰 혁명이 일어났습니다. 점점 더 많은 사람들이 데스크탑 대신 스마트폰을 사용하는 방향으로 전환하고 있습니다. 이러한 시나리오에서는 가장 인기 있는 두 가지 플랫폼인 Android 및 iOS용 앱을 빌드하는 방법을 배우는 것이 필수적입니다. 이 시리즈의 다음 부분이자 마지막 부분에서 이에 대해 다룰 것입니다. 또한 Javascript(Ionic, React Native 등)를 사용하여 기본 앱을 빌드할 수 있는 프레임워크도 살펴보겠습니다.
그때까지는 안녕입니다.
귀하의 의견과 제안을 환영합니다!

