반응형
snowman95
코딩수련장
snowman95
전체 방문자
오늘
어제
  • 분류 전체보기 (229)
    • 앱테크 (3)
    • 옵시디언 (5)
    • 드라마, 영화 (1)
    • 개발자 이야기 (23)
    • 프로젝트 (10)
      • 프로젝트 방법론 (7)
      • 프로젝트 기록 (2)
      • Github (1)
    • 개발 지식 (0)
      • 디자인 패턴 (0)
    • 프론트엔드 개발 (5)
      • 테크트리 (2)
      • React.js (19)
      • ReactNative (2)
      • Next.js (6)
      • GraphQL (6)
      • 패키지 매니저 (2)
      • 라이브러리 (3)
      • 상태관리 라이브러리 (4)
      • Web 지식 (3)
      • HTML CSS (26)
      • Javascript (16)
      • 도구 (Tool) (3)
      • 성능 최적화 (1)
      • 디자인시스템 (0)
    • Python (53)
      • 모음집 (1)
      • 문법 (12)
      • 라이브러리 (15)
      • 알고리즘 (10)
      • 백준 문제풀이 (9)
      • 코딩테스트 (2)
      • 도구 (Tool) (3)
    • C++ (20)
      • 알고리즘 (6)
      • 삼성SW기출 (6)
      • 삼성 A형 (6)
    • 데이터사이언스 (1)
    • 인프라 (9)
      • 하드웨어 지식 (4)
      • Ansible (2)
      • Database (2)
      • 쉘스크립트 (1)
    • 주식 (0)
    • 취업 준비 (4)
      • 취업 이야기 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 삼성SW역량테스트
  • 나의 해방일지
  • 전공 요약 #데이터베이스
  • 공간복잡도
  • Next.js #graphql #tailwind.css
  • 알고리즘
  • 티스토리챌린지
  • nextjs
  • 오블완
  • 백준
  • 전공요약
  • 전공 요약 #운영체제
  • 기계식키보드 #nuphy
  • 면접
  • C++
  • 언어
  • A형
  • GraphQL
  • 전공 요약 #네트워크
  • 삼성SDS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
snowman95

코딩수련장

웹 개발 테크트리 정리
프론트엔드 개발/테크트리

웹 개발 테크트리 정리

2021. 5. 26. 00:04
728x90
반응형

웹 개발 테크트리 정리


준비

기초상식

  • 호스팅
  • 도메인
  • DNS
  • HTTP

 

개발환경

  • OS : Mac, Win
  • 텍스트 에디터 : VS Code, Intellij
  • 브라우저 : Chrome, Firefox
  • 터미널 : Git Bash, Zsh(맥), 기본
  • 디자인 : Adobe XD, Figma

 


기본언어

HTML 

  • 페이지 구조
  • 문맥에 맞는 태그
  • 용도에 맞는 태그

 

CSS

  • 기본 스타일
  • 포지션
  • 정렬 (Flex, Grid)

 

Javascript

  • 변수
  • 데이터타입
  • 오브젝트
  • 배열
  • 함수
  • 반복문
  • DOM

 


특성선택

프론트엔드 FE

HTML

  • 웹표준
  • 접근성
  • 호환성

CSS

  • Flex box
  • Grid
  • 트랜지션 애니메이션
  • 반응형 - Media query ★

 

(선택) SASS (CSS보다 생산성 높음)

  • 변수
  • Mixin
  • 함수
  • Nested

 

(선택) CSS Framework

  • 부트스트랩 : Breakpoint 사용해서 기준으로써 반응형 레이아웃을 아주 손쉽게 구축 가능. 
  • Materialize
  • Tailwind : 커스터마이즈 자유도가 상당히 높음

 

Javascript

  • DOM : 만든 element를 object로 만들어서 각 property에 접근해서 수정가능
  • Array Method : foreach, map, filter, reduce 등
  • JSON : 데이터 받아올때 응답값을 JSON으로 받아오는 방법 등
  • HTTP
  • Fetch API : 서버와 통신해서 데이터 받아오는 방법
  • 스코프
  • 클로져
  • 이벤트루프 etc

 

프론트엔드 프레임워크

프레임워크는 한 화면안에 여러 컴퍼넌트를 가지기 때문에

컴퍼넌트 끼리의 상태관리가 필요함. = Global State Management

  • React
    Context API
    Redux
  • Vue
    Vuex
  • Angluar : 앤터프라이즈 급 규모의 프로젝트에 적합
    Shared Service
    NgRx

Svelte : 컴파일러? 최근 인기 상승

 


Tool

  • git : 협업
  • repository : github, bizbucket
  • 패키지 매니저 : NPM, Yarn~ 프론트앤트 프레임워크에서는 프로젝트에 사용할 모듈을 관리할때 사용
  • 모듈 번들러 : Webpack, Parcel ~ 우리가 만든 js.view 같은 파일들을 번들링이 되면서 HTML,CSS,JS파일로 변환되어 나오게 되는데 이런걸 도와주는 것
  • 브라우저 개발툴 : Redux, Vuex, network
  • 확장프로그램 : lint(코드 깔끔, 정확, 오류없도록), live-server(개발 편리함 상승), snippets(단축 명령어)

SSR (Server Side Rendering)

SPA 같이 하나의 페이지 안에 모든 내용 담기고 바뀌면서 보여주는 게 아니라

서버에서 각각의 화면을 보여주는 방식

  • SSR 사용하는 가장 큰 이유 : SEO (Search Engine optimization) 라고 불리는 검색 앤진 최적화 때문.
    웹 크롤러가 JS 파일 읽을 수 없다는 단점을 극복하기 위해 있음.

 

 

React : Next.js

Vue : Nuxt.js

Angular : Angular Univeral

 

SSG (Static Site Generator)

 

JAMstack (JS APIs Markup)
클라이언트는 JS가 API를 통해서 비즈니스 로직 제공, 마크업으로 결과물 제공

해들리스 CMS나 서버리스 기술 함께 사용 가능

netlify, aws로 서비스 호스팅 가능

 

 

TypeScript

JS의 슈퍼셋. TypeScript 로 작성한 코드를 JS로 변환해서 사용하는 방식

js를 알고있다면 손쉽게 배울 수 있음

 

 


백엔드 BE

언어선택

  • Node.js + Express
  • Deno (Node.js 단점 극복하고자 나옴) + Oak, *
  • Python : Django, Flask
  • PHP : Laravel
  • Java : Springboot
  • C# : ASP.NET
  • Ruby : Ruby on Rails

 

데이터베이스 - ORM (Object Relational Mapper)

  • PostgresSQL - Mongoose
  • MongoDB - Sequelize
  • MySQL - SQLAlchemy
  • MS SQL - Doctrine
  • Firebse - Eloquent
  • Elasticserach - JPA

 

RESTful API

데이터베이스를 통해 구축하게 되는데 프론트앤드와 통신하게 됨

특정 요청 받아서 특정 요청에 대한 데이터베이스 조회해서 응답해줌

 

GraphQL

페이스북에서 개발. API를 위한 쿼리 랭귀지로 사용됨.

싱글 endpoint가지고 있고, 필요한 데이터만 가지고 올 수 있다는 장점있음

쿼리 요청하는 방식은 JSON과 유사한 방식으로 요청하고, JSON으로 응답받음.

 

인증

  • OAuth 2.0
  • JWT

배포-Server

  • 호스팅 : 국외, 국내
  • 웹서버 : Nginx, Apache, IIS
  • 컨테이너 : Docker, Kubernetes
  • 이미지 : Cloudinary, S3

 

 


기타확장

모바일 앱

  • Flutter : 구글에서 개발. 안드로이드, ios 두개의 플랫폼에 돌아가는 app 만들 수 있음.
  • React Native : React 학습했다면 모바일앱 만들 수 있음. 아주 네이티브한 부분은 JS로 해야함.
  • Ionic : JS 모바일 
  • Xamarin
  • Kotilin, Java
  • Swift, Objective-C

 

PWA (Progressive Web App)

  • 웹이지만 앱처럼 사용할 수 있음.
  • Service Workers 를 통해 오프라인으로도 사용 가능
  • HTTPS 를 통해 통신해야함. 보안뛰어남.
  • 네이티브 (플래쉬 화면, 빠른속도, 인스톨) 등의 빠른기능 사용 가능.

 

웹 어셈블리 Web Assembly

  • Low level 바이트 코드 ~ 브라우저 단에서 담당해주는 역할 개발할때 사용
  • 게임, 비디오, 이미지 수정 같은 JS가 처리하기 곤란한 것 개발할때 사용
  • C++, Rust compile 와 같은 언어로 개발하면 웹 어셈블리로 컴파일 할 수 있게됨.
  • Assembly Script 는 JS개발자의 경우 이걸로 개발하면 위와 같음.

 

데스크탑 앱

  • 데스크탑에서 사용하는 응용프로그램 개발가능
  • Electron : JS
  • NW : Electron의 대체재 JS
  • Tkinter : 파이썬

 

AI / 머신러닝

  • Python
  • TensorFlow.js
  • Brain.js

 

음성인식

  • Google Speech To Text
  • HTML5 Web Speech API
반응형
저작자표시 동일조건

'프론트엔드 개발 > 테크트리' 카테고리의 다른 글

HTMl/CSS/JS 커리큘럼  (0) 2021.09.09
    '프론트엔드 개발/테크트리' 카테고리의 다른 글
    • HTMl/CSS/JS 커리큘럼
    snowman95
    snowman95
    (17~19) Unity/Unreal Engine 게임 프로그래머 (20~21) System Administrator ___________ (22~) React 웹 프론트앤드 개발자 __________ 깃헙 : https://github.com/snowman95

    티스토리툴바