분류 전체보기

728x90
반응형
사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - Tools #2

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 Tools 2. Module Bundler 🔎 Module 애플리케이션의 크기가 커지면 개발하는 과정에서 파일을 여러개로 분리하게 되는데 여기서 분리된 각각의 파일을 모듈(module) 이라 한다. 모듈화의 필요성 기능의 분리가 가능하고 인터페이스가 단순해진다. 하나의 파일에 많은 기능들을 작성하면 코드 파악이 힘들고 관리가 어려워진다. 따라서 기능별로 파일을 분리하여 관리할 필요성이 있다. 각 모듈은 자신만의 스코프를 보장해준다. 하나의 파일에서 모든 코드를 관리하면 변수나 함수명이 중복되거나 다른 기능의 코드끼리 서로 영향을 끼칠 수 있다. 이러한 문제를 해결하기 위해 기능별로 여..

사소한 개발지식/JavaScript

JAVASCRIPT - 이벤트 루프 (Event Loop)

JAVASCRIPT Event Loop 자바스크립트는 싱글 스레드로, 한 번에 한 가지 일만 할 수 있다. 일반적으로 이는 큰 문제가 되지 않지만 30초가 걸리는 일을 수행한다고 생각했을 때 이는 30초동안 아무것도 할 수 없는 상태가 된다는 것이다. 다행히, 브라우저는 자바스크립트 엔진에서는 제공하지 않는 Web API (DOM API, setTimeout, HTTP request)를 지원한다. 이러한 Web API들은 비동기, non-block 동작을 만드는데 도움을 준다. 우리가 함수를 실행하면, 그 함수는 call stack에 추가된다. 콜 스택은 자바스크립트 엔진의 한 부분이며, 브라우저에만 한정된 것은 아니다. 이것은 선입후출의 스택으로 함수가 값을 반환하면 그 함수는 스택에서 빠져나와 사라진..

사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - Tools #1

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 Tools 1. Version Control System 🔎 Git Git은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개 소프트웨어 https://phoenixnap.com/kb/how-git-works 장점 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다. 즉 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 개발을 진행할 수 있다. 분산 버전관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 저장소가 날아가버려도 다시 원상복구할 수 있..

사소한 개발지식/JavaScript

JAVASCRIPT - this 바인딩

JAVASCRIPT this 바인딩 객체지향 프로그래밍 언어들은 this라는 키워드를 사용한다. 이 때 this는 해당 코드를 실행하는 클래스의 인스턴스를 나타낸다. JavaScript에도 this라는 키워드가 있는데 JS에서 사용되는 this 는 기존 객체지향 프로그래밍 언어에서의 this와는 다른점이 있기 때문에 객체지향 프로그래밍 언어에 익숙한 사람들은 이해하지 못하는 경우가 있다. function foo() { const a = 10 console.log(this.a) } foo() // ??? JS를 처음 접할 때 해당 코드에서 출력값은 10일 것이라 기대한다. 하지만 실제로는 10이라는 값이 출력되지는 않는다. JS에서 this가 참조하는 것은 함수가 호출되는 방식에 따라 결정되는데 이것을 t..

사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - JavaScript 심화 #4

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 JavaScript 심화 4. Server Side Rendering (SSR) SSR은 서버측에서 렌더링 하는 방식을 말하며 사용자가 웹 어플리케이션에 접근 시 서버에 페이지에 대한 요청을 하고 서버에서는 HTML, JS 와 같은 리소스들을 렌더링하여 반환한다. 장점 SEO(검색엔진 최적화)에 유리하다. 요청한 페이지의 html을 다운로드 하기 때문에 CSR에 배해 초기 로딩이 빠르다. 각각 페이지에 대한 정보를 입력하기 쉽다. 단점 매번 새로운 html을 받아오기 때문에 사용자 경험이 좋지 않다. (화면 깜빡임) Header, Footer 같은 중복된 내용도 매번 렌더링 하여 다운..

사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - JavaScript 심화 #3

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 JavaScript 심화 3. Static Site Generators (SSG) 🔎 Single Page Application (SPA) SPA는 단일 웹페이지로 구성된 웹 어플리케이션을 말한다. 웹 어플리케이션에 필요한 모든 정적 리소스를 최초 한번에 다운로드 하고, 이후 새로운 페이지 요청이 있을 때 갱신에 필요한 데이터만 전달받아 페이지를 재구성한다. 클라이언트 관점에서 최초 페이지를 로딩한 이후 리로딩 없이 필요한 부분만 서버로 받아 화면을 갱신하기 때문에 자연스러운 페이지 이동(새로고침 시 화면 깜빡임 X)과 사용자 경험을 제공할 수 있다. . 🔎 Multi Page App..

사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - JavaScript 심화 #2

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 JavaScript 심화 2. JavaScript Framework https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/ Front-end Framework들의 사용률에 대한 순위를 나타낸 그래프를 보면 React, Angular, Vue, Svelte 순으로 인기가 있는것으로 보이는데 어떤 특징들이 있고 어떤 장단점이 있는지 차례로 알아보자. . 🔎 React 페이스북에서 만든 라이브러리. 프레임워크인지 라이브러리인지 갑론을박이 있었지만, 최근에는 라이브러리라는 것으로 의견이 모여지고 있으며 공식문서에서도 라이브러리라고 ..

사소한 개발지식/로드맵(FE)

[로드맵] FrontEnd - JavaScript 심화 #1

https://www.youtube.com/watch?v=TTLHd3IyErM - 드림코딩 Front-end 로드맵 영상 JavaScript 심화 1. TypeScript 🔎 What is TypeScript? JavaScript의 단점을 보완하기 위해 MS에 의해 개발/관리 되고 있는 JS 기반으로 만들어진 정적 타입 언어. 런타임에서야 타입이 결정되는 JS는 런타임에서야 예상치 못한 에러를 발견할 수 있고 타입에 대한 안정성이 보장되지 않기 때문에 프로젝트가 커질수록 디버깅이 어려운 단점이 있다. TS는 이러한 JS의 단점을 보완하여 코드 작성단계부터 타입을 체크하고 오류를 확인할 수 있다. 또한 ES6+ 문법을 포함하고 있어 클래스, 인터페이스, 상속 등과 같은 객체지향 프로그래밍(OOP) 패턴을 ..

사소한 개발지식/잡?지식

객체지향 프로그래밍(OOP) with TypeScript

Object-Oriented-Programming 1. 절차지향 vs 객체지향 🔎 절차지향 프로그래밍 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법. 순차적인 처리가 중요시 되며 컴퓨터의 처리 방식과 유사하기 때문에 시간적으로 유리하다. 하지만 유지보수와 디버깅이 어렵다는 단점이 있다. . 🔎 객체지향 프로그래밍 프로그램을 객체 단위로 나누고 이들의 상호작용으로 구현하는 방식. 실제 세계를 모델링 하여 데이터와 절차를 하나의 덩어리(객체)로 묶어서 관리. . 2. 객체지향 프로그래밍 특성 🔎 캡슐화 비슷한 역할을 하는 속성(필드)와 행위(메소드)들을 하나로 묶고 접근 지정자(public, private, protected)를 통해 제어하는 방식. 외부에서 보여질 필요가 없는 데이터를 숨길 ..

사소한 개발지식/JavaScript

JAVASCRIPT - Map / Set 객체

JAVASCRIPT Map 객체 기존 객체와는 다르게 메소드만을 이용하여 값을 넣고 뺄 수 있다. 객체(Object)와 다르게 문자열이 아닌 값도 키로 사용 가능하며 추가된 순서대로 반복이 가능하다. const testMap = new Map([ [1, '숫자'], ['1', '문자'], [true, 'boolean'] ]) console.log(testMap.get(1))// '숫자' console.log(testMap.get('1'))// '문자' console.log(testMap.get(true))// 'boolean' for (const [key, value] of testMap) { console.log(key + " : " + value) } // 1 : 숫자 // 1 : 문자 // true..

728x90
반응형
KimBY
'분류 전체보기' 카테고리의 글 목록 (6 Page)