프로그래밍 언어
저급언어:: 기계어, 어쎔블리어 (011101010001010)
고급언어:: 컴파일어, 인터프리어터 (if true{ print ("Hello, World");} )
고급언어는 인간의 "자연어" 와 유사
**마크업언어:: 데이터 구조를 나타내는 언어 (html, css, xml)
웹개발언어 (html - css - javascript)
html:: HyperText Markup Language ⇨ 하이퍼링크를 통해 문서간 이동이 가능하게 만든 언어
css:: Cascading Style Sheet ⇨ 계단식 스타일 정의 문서
⇨ 선택자(selector)와 선언부(declaratives)로 구분됨
⇨⇨ 선택자(selector) 스타일을 적용하려는 html요소
⇨⇨ 선언부(declaratives) 적용하려는 스타일 {내용;}
Bug
프로그램 상의 결함으로 하드웨어/소프트웨어가 오작동하는 현상.
Debug / Debuging
버그를 찾아 고치는 것
예외처리
프로그램 실행 시 발생할 수 있는 예상하지 목한 상황에 대해 미리 코드를 작성하는 것 (try-catch문)
Build
소스코드 및 프로그램 구성요소를 모아 실행할 수 있는 파일로 만드는 과정
배포
실행파일을 사용자가 접근할 수 있는 환경에 배치하는 것
깃Git
버전관리 시스템(VCS, Version Control System)
SW의 시간 및 버전을 관리-통제하는 시스템
레거시 코드
오래된, 읽기 어려운, 수정이 어려운 코드
리팩토링
이미 완성된 코드를 개선하는 것
JS
동기 & 비동기
순차 & 비순차
직렬 & 병렬
DOM (Document Object Model)
"객체"로 문서구조를 표현하는 것(xml,html로 작성)
브라우저 이벤트
DOM이 만들어낸 신호를 기반으로 행동을 유도할 수 있다.
Ajex
Asynchronous Javascript And XML
웹페이지 전체 로딩이 아니고, 일부만 로딩 가능
TypeScript
JS에 type을 부여한 언어 ⇨ 에러방지, 코드가이드 및 자동완성
라이브러리
특정기능을 위한 도구, 함수의 집합 ex) React, chart.js jQuery
프레임워크
프로그래밍 시 프레임워크 위에 코드를 작성함 ex)Vue.js, Angular, Spring
React
MVC 중 V(View)만 담당. 라우팅, 데이터모델링, Ajax 등은 외부 라이브러리를 사용해 구현해야 한다.
리액트의 라이프사이클
컴포넌트가 화면에 생성 Mount - 갱신 Update - 파기 Unmount 될 때마다 이벤트가 발생한다.
이 특정 주기마다 사용할 수 있는 API를 LifeCycle API라고 한다.
리액트 가상돔(Virtual DOM)
리액트가 실제 DOM에 직접 접근하여 조작하는 대신 실제돔의 사본인 가상돔에 먼저 랜더링한 후, 마지막에 기존 실제돔과 비교하여 변화된 부분만 재랜더링 하는 방식.
SPA(Single Page Application)
리액트는 하나의 html에 컴포넌트를 갈아끼우면서 화면을 보여줌
이를 통해 매번 html을 받아와서 보여줄 때 전체 페이지 랜더링이 발생해 성능저하를 일으키던 부분이 해소됨.
-스타일링
html요소를 디자인하기 위한 개념. css는 점차 복잡해져서 여러 스타일링 방식이 발생.
CSS-in-CSS(모듈화), CSS프레임워크(클래스), CSS-in-JS...