웹 프런트 엔드 개발 엔지니어가되기위한 학습 가이드
1, 먼저 자신의 목표나 길을 결정하십시오.
우리는 많은 기술, 추세, 도구에 대해 논의할 것이지만, 우리는 당신이 어찌할 바를 모르길 바라지 않습니다. 따라서 먼저 웹 개발자가 될 것을 결정해야 합니다. 올바른 도구를 선택하는 데 도움이 될 것이기 때문입니다. 그리고 학습 기술. 웹 개발자가 되는 데에는 여러 가지 이유가 있습니다. 다음은 몇 가지 선택 요소입니다.
회사에 가서 웹 개발을 하고 싶은 것이 가장 흔한 원인이다.
너는 자유 개발자로서 자신의 사업이나 대행사를 창업하고 싶다.
다른 회사의 고문이 될 수 있다.
너는 자신의 앱을 만들어 돈을 벌 수 있다.
코드는 당신의 취미입니다.
위에서 언급한 관심 분야나 목표에서 자신의 목표에 적합한 도구와 기술을 선택할 수 있습니다. 당신의 목표가 프런트 엔드 개발자가 되는 것이라면 프런트 엔드 개발 도구와 기술을 선택할 수 있습니다. 백엔드와 전체 스택 개발도 마찬가지다.
2. 웹 개발을위한 기본 도구 및 소프트웨어.
컴퓨터와 운영 체제: 컴퓨터와 운영 체제가 없으면 코드를 쓸 수 없다. 웹 개발을 배우기 위해 고급 컴퓨터가 필요하지 않습니다 (있으면 더 좋습니다). 모든 종류의 중형 노트북 또는 데스크탑을 사용할 수 있습니다. 운영 체제의 경우 자신에게 적합한 MacOS, Windows (최신 버전) 또는 Linux 를 사용할 수 있습니다.
텍스트 편집기/
IDE: VSCode 가 대부분의 상황과 대부분의 언어에 적용된다는 것은 의심의 여지가 없습니다. 우수한 성능, 확장성, 내장형 터미널 기능 및 다양한 기능을 갖추고 있습니다. 20 19 의 StackOverFlow 설문 조사에서 VSCode 도 개발자에게 선호됩니다. 또한 Sublime 과 같은 다른 좋은 선택을 선택할 수도 있습니다.
텍스트나 원자. IDE 라고 하면 시각화입니다.
Studio(# 또는 C#), Eclipse 및 Netbeans(Java). 좋은 선택입니다.
웹 브라우저: Chrome 또는 Firefox 가 대부분의 개발자에게 선호됩니다. Chrome 은 V8 엔진 (JavaScript 엔진) 을 사용하여 빠릅니다. Firefox 도 큰 발전을 이루었고, 좋은 것은 chrome 브라우저가 없었다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 예술명언) 두 브라우저 모두 우수한 개발 도구를 갖추고 있어 웹 개발 문제를 해결할 수 있다.
터미널: 몇 가지 시스템 명령을 사용하여 CLI 에서 많은 작업을 수행합니다. 웹 개발 프로젝트에 기본 또는 타사 터미널을 사용할 수 있습니다. Bash, Zsh, Powershell, Git
Bash, iTerm, Hyper 모두 사용 가능한 옵션입니다.
디자인 (선택 사항): 모든 사람이 배울 필요가 있는 것은 아닙니다. 회사에는 이미지, logos 또는 스케치를 만드는 전담 팀이 있지만 프리랜서라면 Adobe 를 배워야 할 수도 있습니다.
XD, Photoshop, Sketch 또는 Figma 입니다.
3. HTML 과 CSS 로 시작합니다.
HTML 과 CSS 는 웹 개발의 기본 구성 요소입니다. 웹 응용 프로그램이 얼마나 고급스럽든, 어떤 프레임워크와 백엔드 언어를 사용하든 HTML 과 CSS 를 사용하여 프런트 엔드 응용 프로그램을 구축해야 합니다. 그래서 이것은 웹 개발에서 가장 먼저 배워야 할 것이다.
Html 5 (의미 요소, 속성, 문서 유형 등). ) 을 참조하십시오
CSS 기본 색상, 글꼴, 위치, 상자 모델 등.
CSSGrid 및 Flexbox 는 내용을 정렬하거나 열을 만듭니다.
CSS 사용자 정의 속성
4. 응답 레이아웃
응용 프로그램은 모든 유형의 장치 (예: 스마트폰, 태블릿, 데스크탑, 아이패드 또는 기타 모든 화면 크기의 장치) 에서 보고 사용할 수 있어야 합니다. 따라서 응답 설계 또는 레이아웃을 만드는 방법을 아는 것이 중요합니다. 몇 가지 중요한 주제를 살펴 보겠습니다.
뷰포트를 설정하는 방법을 배웁니다.
미디어는 다른 화면 크기를 묻습니다.
유체 폭
렘 단위
우선 순위 이동
5. 재사용 가능한 CSS 구성 요소 사용자 정의
큰 CSS 프레임워크 (예: Bootstrap) 에 의존하는 대신 자체 모듈식 재사용 가능한 CSS 구성 요소를 만들어 프로젝트에 사용하는 것이 좋습니다. 사용자 설계를 직접 작성하는 경우 전체 라이브러리를 가져올 필요가 없습니다. 특정 UI 만 필요한 구성 요소를 만들었습니다. 최근 CSS 의 새로운 트렌드에도 CSS 코드를 보다 효율적으로 작성하는 데 도움이 되는 코드가 등장했다. CSS 를 이미 알고 있다면 Saas 를 배우는 데 많은 노력을 기울일 필요가 없습니다. Saas 는 표준 CSS 에 더 많은 기능을 추가하여 효율성을 높일 수 있는 CSS 사전 프로세서입니다. 변수, 중첩 및 조건문을 사용하여 CSS 의 중복을 줄이고 효율성을 높일 수 있습니다. 재사용 가능한 각 구성 요소에 대해 별도의 Saas 파일을 생성할 수도 있습니다. 사스는 정말 시간을 절약하고 2020 년에는 절대적으로 배워야 한다.
6.CSS 프레임워크
CSS 프레임 워크를 배우는 것은 작년만큼 인기가 없었지만, 디자인을 잘하지 못하는 개발자에게는 여전히 관련성이 있거나 유용하다. 많은 인기 있는 CSS 프레임워크를 사용할 수 있으며 그 중 일부는 다음과 같습니다.
Bootstrap 은 가장 인기 있는 CSS 프레임워크입니다. 학습 가이드는 다른 틀을 배우는 데도 도움이 된다.
순풍
CSS 는 또 다른 유행하는 틀로, 다른 틀과 거의 다르지 않다. 유틸리티 클래스 세트이므로 다른 버튼과 다르게 보이는 자체 버튼 및 기타 항목을 만들 수 있습니다. 또한 매우 사용자 정의 가능합니다.
구체화
부르마
7. 프론트엔드 언어: 자바스크립트
HTML 과 CSS 를 배우고 나면 다음에 배워야 할 것은 바닐라입니다.
Javascript. 개발자에게 JavaScript 의 기본 사항을 익히는 것이 중요합니다. PHP, Python 또는 # 과 같은 서버측 언어에 많은 JavaScript 를 사용할 수 있습니다. React, Angular, NodeJS, Vue 또는 기타 JavaScript 프레임워크나 라이브러리와 함께 사용하려면 이 언어를 배워야 합니다. 다음은 자바스크립트에서 다루어야 할 몇 가지 중요한 주제입니다
자바스크립트의 기본 사항 (변수, 데이터 유형, 함수, 조건 등). ) 을 참조하십시오
문서 객체 모델
JSON(JavaScript 객체 표현)
추출 API (요청/응답 /Ajax)
React, Vue, Angular 또는 기타 프레임워크를 전환하려는 경우 현대 JS(ES6) 의 개념은 학습에 매우 중요합니다.
8. 몇 가지 중요한 도구
일부 도구는 웹 개발에 사용됩니다. 이러한 도구는 디버깅, 생산성 향상, 코드 관리, 다른 개발자와의 협력 등에 도움이 될 것입니다. 이러한 도구 중 일부를 논의합시다.
Git (버전 관리) 와 Github 는 2020 년에 반드시 배울 수 있는 가장 인기 있는 도구이다. Git 는 다른 개발자와 협력하여 코드를 관리하는 데 매우 유용합니다. GitLab, Bitbucket 등과 같은 다른 옵션도 선택할 수 있습니다.
브라우저 개발 도구를 사용하는 방법에 대해 알아보십시오. Chrome 과 Firefox 모두 요소 탭 페이지, JavaScript 콘솔, 요청 및 응답용 웹 탭 페이지, 응용 프로그램 탭 페이지 등 다양한 용도의 탭을 사용하는 방법을 알아야 합니다.
대부분의 IDE 또는 텍스트 편집기에는 생산성 향상 및 웹 응용 프로그램 구축에 유용한 확장 또는 플러그인을 추가할 수 있는 기능이 있습니다. 예를 들어, 시각
Studio 코드의 VSCode 확장은 React 와 함께 사용되는 실시간 서버 또는 실시간 SaaS 컴파일러와 같은 확장을 다운로드하는 데 도움이 됩니다.
Emmet 은 또 다른 위대한 도구이며, 매우 빠른 HTML 과 CSS 를 작성할 수 있어 개발자의 생산성을 높이는 데 도움이 됩니다.
NPM 및 Yarn 과 같은 JavaScript 패키지 관리자를 사용하는 방법을 배웁니다. Javascript 프레임워크나 라이브러리 (예: React) 를 사용하는 경우 이러한 패키지 관리자는 많이 사용되지만 Python 이나 Php 와 같은 다른 언어에서는 다른 패키지 관리자를 사용합니다.
프런트엔드에 NPM 팩을 설치하는 경우 웹 팩 또는 팩을 사용해야 합니다. 자체 모듈을 만들거나 JavaScript 파일을 다른 JavaScript 파일로 가져오려는 경우 기본적으로 브라우저로만 할 수 없습니다. 웹 팩 또는 package 번들을 사용해야 합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 예술명언)
9. 기본 배포
이 시점에서 프런트 엔드 개발에서 배워야 할 도구나 기술을 알게 되면 인터넷에 프런트 엔드 사이트를 배포하는 방법을 알아야 합니다. 소규모 기업을 위한 소규모 어플리케이션, 랜딩 페이지 또는 개인 웹 사이트를 구축하고 있다면 AWS 또는 DevOps 가 반짝이기 때문에 배울 필요가 없습니다. 너는 일을 단순함보다 더 복잡하게 만들 것이다. 2020 년에는 몇 가지 배포 도구와 절차를 배워야 합니다.
도메인 이름 등록 (Namecheap, Google 등). ) 을 참조하십시오
호스팅 (InMotion, Hostgator, Bluehost 등). ) 을 참조하십시오
정적 호스트 (Netlify, Github 페이지)
SSL 인증서.
FTP, SFTP (파일 전송 프로토콜) 는 소규모 어플리케이션에 적합합니다.
SSH (secure shell) 는 고급 응용 프로그램에 사용됩니다.
CLI 및 Git.
지금까지 논의한 모든 도구, 기술 동향 또는 단계는 프런트엔드 개발의 일부입니다. 당신은 아직 프레임워크를 알지 못하지만 개인과 중소기업을 위한 웹사이트를 만들 수 있고, 모바일 기기에 적합한 배치를 만들 수도 있습니다. 지금까지 논의한 도구나 기술을 사용하여 소규모 어플리케이션 또는 프로젝트를 배포할 수도 있습니다. 구직을 원한다면, React, Vue 또는 Angular 와 같은 프런트 엔드 프레임워크를 배우는 것이 좋을 것이다.
10, 프런트엔드 프레임워크 및 상태 관리
이 프레임워크를 통해 고급 프런트 엔드 개발을 수행할 수 있습니다. 프레임워크는 재사용 가능한 구성 요소, 보다 조직적인 UI 또는 페이지 상호 작용 등 많은 이점을 제공합니다. 이것은 협업에 더 유리하고 간결한 코드를 작성하는 데 도움이 된다. 또한 상태 관리를 이해합니다. 각 프레임마다 다른 방법이 있습니다. 다음은 2020 년에 유행하는 몇 가지 프레임워크와 상태 관리자입니다.
React:react 라이브러리는 웹 개발에 가장 널리 사용되는 학습 방법으로, 다른 프레임워크 및 라이브러리에 비해 매우 쉽습니다. React 개발자는 아직 해야 할 일이 많다. 레두스와
ContextAPI 는 후크와 함께 상태 관리에 사용됩니다.
Vue:
Vue 는 점점 더 유행하고 있고, 개발자는 Vue 를 배우는 것을 선호한다. Vue 는 React 와 Angular 보다 배우기가 가장 쉽습니다. VueX 는 뷰에 대해 작성된 상태 관리자입니다.
Angular: 이 프레임워크는 일반적으로 대규모 조직에 사용됩니다. 그것의 학습 곡선은 상당히 가파르다. 각도 있는 학습
TypeScript 도 아주 좋습니다. 선택적 정적 유형을 사용할 수 있으며 ES20 15 기능을 지원합니다. NGRX 와 서비스는 이 프레임워크를 배울 수 있는 좋은 상태 관리자이다.
선택적 학습:
이 세 가지 프레임워크 중 하나를 알고 있다면, JavaScript 컴파일러인 Svelte 를 사용할 수도 있습니다. Javascript 컴파일러를 사용하면 순수 JS 코드를 생성하고 쉽게 사용자 인터페이스를 만들 수 있습니다.
서버측 렌더링에 대해 알아봅니다. NextJS(React) 와 NuxtJS(Vue) 는 서버에서 React 와 Vue 를 실행할 수 있는 프레임워크입니다. 둘 다 더 나은 SEO, 파일 시스템 라우팅, 자동 코드 분할, 정적 내보내기, JS 의 CSS 등 다양한 기능을 갖추고 있습니다.
정적 사이트 생성기: Gatsby (반응성) 및 Gridsome(Vue)
우리는 이미 모든 최첨단 개발 도구와 기술에 대해 토론했다. 이제 백엔드 개발자 또는 전체 스택 개발자가 되는 언어와 기술에 대해 살펴보겠습니다.
1 1, 서버측 언어 (하나 선택)
최소한 하나의 서버측 언어를 알아야 합니다. 2020 년에 언어를 선택하기 위해 몇 가지 옵션이 있습니다. ...
NodeJS (언어가 아니라 런타임 환경)
파이썬 (초보자에게 매우 적합)
Java (대규모 조직에 적합)
Php (프리랜서용)
루비 (2020 년 양극 미만)
C#
가다
참고: 어떤 서버측 언어를 배우기를 좋아하든 해당 언어를 사용하는 데이터 구조와 알고리즘을 알아야 합니다. 데이터 구조와 알고리즘은 사용자에게 데이터를 표현하고 웹 응용 프로그램에서 코드를 최적화하는 데 도움이 됩니다. 특히 배열과 문자열 (가장 중요한) 에 초점을 맞추는 것이 좋습니다. 이 두 가지 방법을 사용합니다.
12, 서버측 프레임워크 (옵션)
선택한 서버측 언어를 배우면 이러한 언어 프레임워크 중 하나를 사용할 수 있습니다. 아래에 제공된 옵션 중 하나를 선택할 수 있습니다. ...
Node.js_Express, Koa, Adonis, Feather.js, Nest.js
강고, 블라스크,
자바: spring MVC, Grails
Php: 라벨, Symfony, Codeignitor, Slim
루비: ruby on rails on Sinatra
C#:ASP 입니다. 넷엠브씨
이동: 카니발
13, 데이터베이스 (하나 선택)
대부분의 웹 응용 프로그램에는 데이터를 저장할 곳이 필요합니다. 경우에 따라 일부 데이터베이스는 특정 기술이나 언어를 사용할 수 있습니다. 예를 들어 Mern stack 에서 m 은 MongoDB 를 나타내고 LAMP stack 에서 m 은 MySQL 을 나타내지만 이는 전적으로 애플리케이션에 대해 선택할 데이터베이스에 따라 달라집니다. 우리는 2020 년에 몇몇 유행하는 데이타베이스에 대해 토론할 것이다.
관계형 데이터베이스: RDBMS 는 여전히 가장 인기 있는 데이터베이스입니다. 저는 PostgreSQL, MySQL, MSSQL 을 가장 좋아합니다.
NoSQL:MongoDB, RethinkDB, CouchDB
클라우드 데이터베이스: Firebase, AzureCouldDB, AWS.
경량 및 캐시: Redis, SQLlite, NeDB
데이터베이스를 배울 때 RDBMS 의 SQL (Structured Query Language), ORM (Object Relationship Mapper) 또는 ODM (Object Data Mapper) 도 배웁니다. GraphQL
(선택 사항) 인기 있는 GraphQL 을 알아보실 수 있습니다. API 의 쿼리 언어입니다. 그것은 쉽게 구현할 수 있는 JSON 과 비슷한 간단한 문법을 가지고 있다.
14, CMS: 컨텐츠 관리
특히 프리랜서라면 콘텐츠 관리 시스템을 알아야 합니다. CMS 는 웹 사이트 또는 응용 프로그램에 컨텐츠를 추가하는 데 사용됩니다. 고객이 자신의 콘텐츠를 업데이트할 수 있다는 것이 좋습니다.
기존 CMS: WordPress (PHP), Drupal(PHP), Keystone(Javascript), Enduro(Javascript).
기타 CMS:DEDECMS, 제국 CMS, PHPcms, Prismic.io, Strati.
15, 배포 및 개발 운영 및 유지 보수
전체 스택 또는 백엔드 어플리케이션을 호스팅하는 것은 프런트엔드 어플리케이션만 호스팅하는 것보다 더 복잡합니다 (특히 데이터베이스가 있는 경우). CLI 를 사용하여 구축하는 방법을 알고 있는지 확인하십시오. 응용 프로그램 배포에 대해 자세히 알아보십시오.
대부분의 회사에서는 서로 다른 팀이 운영 유지 관리를 개발하고 있다. 따라서 DevOps 를 이해하는 것은 완전히 선택 사항입니다. 만약 네가 자신의 프로젝트를 하고 있다면, 너는 이 점을 알 수 있다.
SSH (보안 셸)
웹 서버 환경: NGINX, 아파치
어플리케이션 호스팅: Linode, Heroku, AWS, Azure, Now.
가상화: 부두 노동자, 유랑자
테스트: 단위, 기능, 통합 등
로드 밸런싱, 모니터링 및 보안.
위의 모든 기술 도구는 프런트 엔드, 백 엔드 또는 전체 스택 개발자로 사용하기에 충분합니다. 최종 목표에 따라 적절한 도구와 기술을 선택하세요.
이것이 바로 변쇼가 오늘 여러분께 공유한 웹 프런트 개발 엔지니어의 학습 안내서가 되는 문장 입니다. (윌리엄 셰익스피어, 윈스턴, 웹, 웹, 웹, 웹, 웹, 웹) 이 문장 웹 프런트 엔드를 하는 친구에게 도움이 되었으면 좋겠다. 더 많은 웹 프런트 엔드에 대해 알고 싶다면 공식 홈페이지, 북경대학교 파랑새 웹 교육에 주목해 주세요. 마지막으로 친구들의 일이 순조롭게 진행되어 우수한 웹 프런트 개발 엔지니어가 되기를 기원합니다.
English | #/how-to-be-a-complete-guide/translation | 웹 프런트 엔드 개발 (ID: web _ qdkf)