Fullstack 웹 개발 시작하기
요즈음, 현대 전체 스택 개발 소규모 대행사 및 대기업 모두에게 헌신적 인 기술 팀으로 매우 유명합니다. 전체 스택 웹 엔지니어는 전체 웹 스택의 기술에서 작업합니다. 프론트 엔드, 백엔드 포함, 과 서버 관리.
많은 사람들은 가득 차있는 더미가 "모든 거래의 잭, 아무도없는 주인"이 될 뿐이라고 주장합니다. 특정 관점에서 볼 때 이것은 사실 일 수 있지만 스킬 셋은 그 기술로 수행 할 수있는 것만 큼 중요합니다. 아이디어를 얻을 수 있기 때문에 많은 풀 스택 개발자가 가치를 제공합니다. 착상에서 발사까지, 완전히 이해하다 프로세스의 모든 단계.
네가 생각하면 전체 스택 경로 가기, 이 기사는 당신을위한 것입니다. 전체 스택 개발자의 일반적인 요구 사항, 역할이 수반하는 역할 및 고객 또는 자체 프로젝트에서 직접 작업하고자하는 프리랜서 / 계약자에게 스킬 셋이 유용 할 수있는 방법을 설명합니다..
전체 스택 기본 사항
웹 기술이 많이 바뀌면서 현대의 전체 스택 개발은 먼 길을왔다. 다음 사항을 고려하기 위해서는 전체 스택 요구 사항을 지침으로 사용해야합니다. 일반적으로 "스택"은 조화롭게 실행되는 기술을 나타냅니다. 웹 사이트를 만드는 법. 이것은 프론트 엔드 코드, 백엔드 코드, 데이터베이스 시스템 및 서버용 웹 서버 플랫폼 + OS를 의미합니다..
전체 스택 개발의 기본 교리는 웹 사이트 구성의 모든 측면을 이해하는 것입니다. 이는 디자인이나 UI / UX 작업에 대한 지식을 의미하지는 않습니다. 그렇다고해도 생존력과 작업 품질이 크게 향상 될 수 있습니다..
- 프론트 엔드의 기본 요소에는 다음이 포함됩니다. HTML / CSS와 자바 스크립트, 가장 가능성이 높은 뼈대, 각도 또는 반응과 같은.
- 백엔드 언어의 경우 데이터베이스 시스템과 결합 할 수있는 것을 골라야합니다.. PHP / MySQL WordPress와 같은 많은 CMS 엔진을 구동하므로 가장 일반적으로 배우기 쉽습니다. 또한 램프 스택은 오늘날 가장 인기있는 웹 스택입니다..
- 서버 지식은 원하는만큼 간단하거나 상세 할 수 있습니다. 절대적인 기본 사항은 다음과 같은 서버 프로그램에 대한 지식입니다. 아파치 데이터베이스와 결합 MySQL 또는 PostgreSQL.
- 메일 서버 또는 memcached 또는 Varnish와 같은 성능 도구 설치에 대한 지식을 추가로 포함 할 수도 있습니다.
전체 스택 개발자는 세 가지 영역 모두에 대한 지식이 충분해야합니다. 독립적으로 웹 사이트를 시작하십시오., 다른 누구 에게서도 많은 도움을받지 않고.
기술적 심도
전체 스택 개발에 대한 커다란 질문은 각 지역에 얼마나 깊이 들어가야하는지. 풀 스택 엔지니어는 정말로 무엇인가의 주인입니까? 일부는 가능하다고 주장하지만 가득 찬 스택의 목적이 아닐 수도 있습니다..
대부분의 회사는 어디서나 약간의 지식을 가진 전체 스택 엔지니어를 고용하려고합니다. 이 엔지니어들은 한 분야를 전문으로 할 수도 있지만 필요한 경우 역할을 채울 수 있습니다..
이 경로를 시작하는 개발자는 문제가 발생할 때 문제를 해결할 수있는 "모든면에서"충분히 학습하십시오.. 이것은 실제 프로젝트에 다른 문제가 어떻게 적용되는지를 알기 위해 기술에 대한 현실적인 해석을 제공합니다.
전체 스택 코딩의 가장 큰 이점은 자신 만의 응용 프로그램 만들기 다른 사람을 위해 일하지 않고.
개발 프로세스의 모든 단계를 배우면 모든 것을 스스로 할 수 있습니다. 커스텀 Laravel 앱을 만들기 위해 PHP의 마스터 일 필요는 없습니다. 또한 웹에서 사용할 수있는 오픈 소스 코드가 너무 많아서 유연한 드롭 다운 탐색을 만들 때 자바 스크립트 전문가 일 필요는 없습니다..
이 분야에 얼마나 깊이 들어가야합니까? 이것은 전적으로 귀하에게 달려 있으며, 시간이 지남에 따라 귀하의 답변은 변경 될 것입니다..
하지만 처음 시작했을 때 배운 내용을 실제 프로젝트에 구현하기에 충분히 깊게 들어가십시오.. 당신이 뭔가에 부딪 칠 때 당신은 이해하지 못합니다., 그것을 더 깊이 갈 수있는 기회로 사용하라., 과 특정 주제에 대해 자세히 알아보기.
언어 선택하기
새 개발자가 어떤 기술을 배울지 선택하는 것은 약간의 수수께끼입니다. 생필품 가져 오기, HTML과 CSS는 절대적으로 필요합니다.. 자바 스크립트도 필요하다., JS 마스터라고 생각할 필요는 없습니다. 그러나 단순한 자바 스크립트 그 이상을 배우는 데 관심을 가져야합니다..
대부분의 개발자는 jQuery도 배울 수 있지만 React, Ember, Angular, Vue 또는 Backbone과 같은 프레임 워크는 모두 본격적인 웹 응용 프로그램을 구축하기위한보다 간단한 프로세스를 제공합니다..
더 깊은 학습을 할 수 있습니다. 화려한 자바 스크립트 효과, 예를 들어 애니메이션 같은 것이지만, 완전히 선택적입니다. 전체 스택 개발자는 일을 끝내고 거기에서 계속 진행해야한다는 것을 알아야합니다..
백엔드 언어 선택은 기술적 우위와 편안함에 대한 것보다 적습니다. 대부분의 프로그래머는 파이썬은 PHP보다 다양한 언어입니다., 그러나 대부분의 웹 사이트는 PHP 서버에서 실행됩니다. 이것은 만든다 PHP는 가치있는 언어입니다. 더 많은 기업에게.
귀하의 필요에 맞는 언어를 선택하거나 가장 큰 잠재 고객을 제공하십시오. 또한 명심하십시오. 당신은 하나의 백엔드 언어로 영원히 머물러 있지 않습니다.. Ruby로 시작하지만 파이썬으로 전환하면 그 과정에서 아무 것도 잃지 않습니다..
그러나 내가 좋아하는 백엔드 언어를 찾으면 해당 언어로 더 깊이 파고들 것을 권장합니다. 관련 프레임 워크를 선택하십시오.. PHP에는 Laravel, Ruby에는 Rails, Python에는 Django가 있습니다. 이러한 프레임 워크는 개발 프로세스를 신속하게 처리하고 응용 프로그램을 올바르게 구조화하는 데 도움을줍니다..
데이터베이스 및 서버
데이터베이스 엔진을 선택하면 프로젝트 요구 사항과 서버 스택이 생깁니다. PHP는 MySQL과 함께 작동하기 때문에 이것이 가장 선호되는 선택입니다. 그만큼 두 개의 가장 큰 웹 스택 오늘은 램프 (Linux-Apache-MySQL-PHP) 및 평균 (MongoDB-ExpressJS-AngularJS-Node.js).
대부분의 호스팅 업체는 설치가 필요하지 않으므로 처음부터 LAMP를 제공합니다. 그러나 Digital Ocean과 같은 사용자 지정 솔루션을 사용하면 거의 팔꿈치가없는 기름으로 거의 모든 것을 실행할 수 있습니다. 이 목록에서 더 많은 웹 스택을 찾을 수도 있고 온라인에서 검색 할 수도 있습니다.
귀하가 선택한 데이터베이스는 종종 백엔드 언어에 묶여있다.. 파이썬은 기본적으로 SQLite를 지원합니다. RoR devs는 일반적으로 모든 작업을 수행 할 수 있습니다. 솔직히 모든 언어는 모든 데이터베이스에서 작동 할 수 있습니다..
그러나 대다수의 웹 프로젝트에서 사용할 수있는 공통 사항을 선택하려고합니다. SQL은 일반적인 언어이며 모든 데이터베이스 엔진에서 거의 동일한 구문을 사용합니다. 테이블 설정 및 관리에는 차이점이 있지만 일반적으로 사소합니다..
데이터베이스 외에도 다음과 같은 기술 관련 서버 측 주제가 있습니다..
- CDN 및 콘텐츠 호스팅
- 서버 소프트웨어 설치 및 업데이트
- 트래픽 스파이크 및로드 시간에 가장 적합한 서버 구성
- 데이터베이스 쿼리 및 파일 시스템 저장을위한 솔루션 캐싱
- 데이터베이스 및 플랫 파일 또는 디스크 이미징 백업의 자동화 된 백업
- 도메인 관리 (DNS 서버, CNAME 레코드 등)를 통한 HTTPS 설정
- 이메일, 마이크로 서비스 및로드 밸런싱과 같은보다 세부적인 주제
배우는 가장 좋은 방법 중 하나는 다음과 같습니다. 서버로 땜질하다 프로젝트를 빌드 할 때 기본을 잡아라. VPS 계정을 만들고 자신의 스택을 설정하십시오. 이 VPS는 모든 것을 구성 (또는 파기) 할 수있는 완전한 제어 기능을 갖춘 완벽한 가상 서버 환경입니다. 또한 위의 목록은 모든 전체 스택 개발자에게 필요한 로드맵이 아닙니다..
당신이 정말로 필요로하는 유일한 지식은 빈 서버 환경을 만들고 웹 사이트를 실행하는 데 필요한 소프트웨어를 설치하는 데 필요한 것은 무엇이든. 거기에서 다른 것은 단지 향상된 지식입니다. 혹시 질문이 있거나 전문가로부터 배우고 싶다면 Reddit 's / r / SysAdmin 커뮤니티를 확인하십시오..
앞서가는 길
정말로 전체 스택 개발을 배우고 싶다면, 배울 모든 기술 목록을 작성하십시오.. 거기에서, 당신은 당신이 배운 것을 시험하기 위해 당신 자신의 연습 프로젝트를 만드는 하나씩 하나를 다룰 수 있습니다.
웹 개발은 끊임없이 변화하는 산업이므로 항상 더 많은 것을 배우기를 원합니다. 원하는 스택을 찾을 때까지 다양한 스택과 언어를 테스트하십시오. 그러나 언제나 기꺼이 더 깊어지고 나아질 것입니다.!
노력의 가치가있는 전체 스택 개발이 있습니까? 그것은 당신이 결정하기위한 것입니다. 그러나 당신이 그것을 이해하는 데 도움이 될 수있는 몇 가지 관련 게시물이 있습니다..
- "풀 스택"의 정당성 (heapsortjobs.com)
- 따라서 전체 스택 개발자가 되려고합니다. (rubysteps.com)
- 전체 스택 개발자가되는 방법에 대한 7 가지 팁 (usersnap.com)