HTML,CSS는 웹 사이트가 어떻게 보이는지 알려주는 중추라고 할 수 있어.
HTML + CSS
졸업요건? 웹사이트를 만들 수 있어야지
참고로. HTML 태그를 다 암기하려고 한다거나, CSS 프로퍼티를 외우려고 하는 사람들이 있어.
암기를 목표로 해서는 안됨!!! 이해하는 것을 목표로 둬야지!
시스템 언어가 어떻게 돌아가는지 먼저 이해해야해. 단순 암기보다 난 HTML 태그 하나도 기억 못함.
다 구글링 한다구! [Google it]
자 그렇다면, 이제 다음 단계를 가야할지. 말지를 어떻게 알 수 있을까?
아주 쉬워. 친구보고 본인이 좋아하는 웹사이트를 알려달라고해.
그리고 그 웹사이트를 따라 만들어봐.
클론코딩이라고 하는데. 우리가 항상 강조하는거지.
해당 웹사이트를 따라 만들 수 있다면. 넌 준비된거야.
이제 인터랙티브한 부분으로 넘어가도 되는거야.
그런데 만약 레이아웃 시스템이라든가. 모바일 대응이라든가.아이콘, 플렉스 등과 아직 어려움을 느낀다면...
그렇다면 좀더 HTML,CSS를 파보는 것도 좋아.
자, 준비가 되었다면, 이제 인터랙티브로 넘어가고, 그건 바닐라js야!
너가 바닐라JS를 더욱 시간을 쏟으면 쏟을 수록 즉, 자바스크립트의 핵심 공부를 더욱 하면 할수록.
나중에 리액트, 뷰 등등을 공부할 때 훨씬 시간을 단축할 수 있을꺼야.
해당 언어의 핵심에 집중하면 할수록. 프레임워크 공부에 더욱 시간을 아낄수가 있어.
나의 경우가 그랬어. 자바스크립트 공부를 소홀히하고, 리액트를 했지.
넘나 고생을 했어. 그 이유는, 바탕이 되는 지식이 없었거든.
나의 실수였지. 좀 더 핵심에 집중했어야 했어!
자, 다음 단계로 넘어가기위한 기준은 뭘까?
모달창,슬라이더,메뉴,드래그엔드랍...등등
웹의 인터렉티브한 부분을 바닐라JS로 구현 할 수 있다면 준비된거야!
리액트,뷰 개발자가 슬라이더를 바닐라JS로 만들지 못하는 경우를 많이 봤어.
리액트로만 만들줄 알더라고.. 그건 사실 좋은게 아니야
프레임워크가 있든 없든 할줄 알아야하거든!
자 백엔드로 넘어가보자. HTML,CSS,JS 그 다음!
백엔드에선 NodeJS를 배우게 될꺼야.
아주 심플해. 그리고 졸업 조건은?
CRUD 시스템을 만들 수 있어야해.
[Create Read Update Delete]
우리가 아는 거의 모든 스타트업 서비스가 CRUD로 되어있어.
유저를 생성하고, 읽고, 업데이트하고, 삭제하지.
인스타그램을 보면, 사진을 생성하고, 사진을 검색하고, 사진을 수정하고, 업데이트하고, 그리고 사진을 삭제하지.
여기서 사진을 이것저것으로 바꾸어봐.
예를 들면, 김치 레시피 웹사이트를 만들고 싶다?
김치 레시피를 생성하고,읽어보고,레시피를 업데이트하고, 삭제를 하지
이제 바로 CRUD이고, 이를 통해 새로운 컨셉을 많이 배우게 될거야!
예를들면 Models, views, controllers,urls, auth, cookies, templates...
자 백엔드로 배우면 좋은 것들을 몇가지 추천하면.
express,mongoose,(W/mongoDB),pug,passport 이 4가지는 CRUD를 만드는데 많은 도움을 줄 수 있어.
개인적으로 내가 아는 개발자들은 사진,영상을 위한 CRUD를 만들고, 해당 포토폴리오 덕분에 취업을 하기도 했어.
CRUD를 한다는 것은 HTML,CSS,JS를 아는 것이고(프론트엔드), DB models, urls templates 등등을 다룰줄 안다는 소리거든.
이것이 주니어 웹개발자가 되기 위한 조건이라고 생각해. 물론 이 후에도 많지만 이것이 시작이라고 보면 됨!
강조하지만! 바로 여기까지 완수하고 취업하는 경우를 종종 봤어
자 여기까지가 주니어 웹개발자의 로드맵이고, 그 다음은 뭘까? 이제 가야할 방향이 약간 흐릿해.
React, GraphQL, Typescript 순으로배워도 되고, 혹은 NextJS 혹은 Flask, Django, Python을 배워도 되거든.
그래서 이 후 단계부터는 로드맵을 제시하지 않을꺼야.
왜냐하면 너가 어떤 사람이고, 무엇을 좋아하는지에 따라 너무 다르거든
유저인터페이스를 좋아할수도 있고 백엔드를 좋아할수도 있거든
그래서 로드맵을 말하기는 좀 애매해, 대신에 무언가를 배워야할지, 아닌지를 정하는 방법 예를 들면,
어네 리액트를 배워야하는지 결정 기준! 자 일단 기술이 문제를 해결하기위해 등장했다는걸 기억해야해!
예를 들면 리액트가 생긴 이유는 바닐라JS만으로 데이터 인텐시브하고 인터랙티브한 서비스를 만드는 것이 너무 힘들었기 때문이야.
즉 리액트는 이러한 문제를 해결하기 위해서 탄생했어 만약 이러한 문제점을 직접 경험하지 않고, 고통을 느껴보지 않았다면,
리액트를 바로 배울때, 도대체 핵심이 뭔지 이해하기 힘들어. GraphQL,REST API도 마찬가지야.
아주 거대한 REST API를 빌드해봤다거나 프론트엔드에 리덕스랑 작업해 봤다면 GraphQL,Apollo가 얼마나 어썸한지 절절히 느낄꺼야.
하지만 그 과정을 생략한채 바로 배우면, 마찬가지로 핵심을 놓치는거지.
그래서 로드맵보다 중요한건. 기술들은 문제를 해결하기 위해 존재한다는걸 이해하는거야.
따라서 배울때 끝까지 최대한 문제점을 절절히 느끼면서 배워보고, 그 이후에 다음단계로 넘어가서 그 해결책인 기술을 배우길 바래.
즉 굉장히 인터랙티브하고 데이터인텐시브한 서비스를 바닐라 JS로 만들어봐. 그 다음에 리액트를 보면 넘나 어썸할꺼야 !
리액트가 왜 인기가 많은지 그 핵심도 이해하게될꺼야 Typescript도 마찬가지야. JS의 어떤 문제점을 해결했는지 알아내봐
특히 팀으로 함꼐 일을 할때 말이지 GraphQL도 마찬가지야. REST API로 빌드를 하면서 알아내봐.
그 다음에 GraphQL, Apollo를 보면 한번에 이해하게 될꺼야. 주니어 이후의 로드맵은 줄 수 없지만,
다음 단계로 넘어가는 기준을 알려준거야. 남들이 배운다고, 유명하다고, 무턱대고 배우는 건 기억에 남지않아.
너의 문제를 해결하기때문에 배우길 바래!
'Codestates > Reference' 카테고리의 다른 글
생활코딩 03. HTML 마치며(WEB1) (0) | 2020.07.04 |
---|---|
생활코딩 02. HTML 정리 (0) | 2020.06.30 |
생활코딩 01. HTML 정리 (0) | 2020.06.30 |
코딩하는 테크보이 워니 - 이런 분들은 개발자 하지 마세요. (0) | 2020.06.22 |
Nomad Coders - 주니어 개발자가 빠르게 성장할 수 있는 비법은? (1) | 2020.06.21 |