Front-End
-
[CSS/Side Lib.] SASS, SCSSFront-End(Web)/HTML, CSS 2020. 12. 29. 15:40
오늘은 React-router 와 SASS 세션이 진행되었다. SASS를 처음 접하다보니, 구글링을 병행하면서 별도 포스팅을 진행하겠다. 🧑💻 Session : Sass - Sass 란? Sass(Syntactically Awesome style sheets)는 CSS Pre-Processor(전처리기, 스크립트 확장 언어) 라고 정의한다. Sass에서 추가적인 기능들을 구현한 뒤, 컴파일러가 브라우저에서 인식하는 CSS 언어로 전환해준다. (파일 확장자는 .css -> .scss) 스타일들의 네스팅을 통해 불필요한 클래스명을 줄임으로서 복잡한 코드를 간결하게 만들고, 코드 가독성을 높인다. 속성과 값에 대한 변수 저장을 통해 코드의 재활용으로 효율적인 마크업이 가능하다. * CSS 전처리기 3대장 :..
-
[React.js/Side Lib.] React-RouterFront-End(Web)/React - 프레임워크(React, Next) 2020. 12. 29. 00:52
미니 프로젝트에서 네비게이션 메뉴에 React-Router를 적용해서 페이지를 변경해보았다. 범용적인 라이브러리기에 기술 포스팅을 하였다. 🧑💻 Routing - SPA(Single Page Application) React-Router 에 대해 공부하기 전에, 그 사용목적에 대해 얘기하려면 SPA 방식의 학습이 선행되어야 한다. SPA는 말 그대로, 페이지가 1개인 어플리케이션을 의미한다. 여기에서 페이지라 함은 HTML 파일을 의미한다. 그래서, 리액트같은 라이브러리(혹은 프레임워크)가 브라우저에서 뷰 렌더링을 담당하게 하고, 필요한 데이터만 전달받아 표현하게 된다. 기존의 MPA 와 가장 큰 차이는, 각 주소가 HTML 페이지가 아닌 JS파일(컴포넌트)을 불러와서 뷰를 수정하는 'Routing' ..
-
[React.js] React 소개(wecode)Front-End(Web)/React - 프레임워크(React, Next) 2020. 12. 28. 16:29
3주차 foundation 주차이다. 드디어, React 라이브러리 세션이 시작되었고, 첫 개념에 대한 정립을 해주는 유용한 시간을 마련해주셨다. 🧑💻Session : React 1. Why React? - Web Application의 발전 HTML/CSS/Javascript(DOM, Event) -> jQuery(Method 모음) -> React/Vue/Angular(Framework & Libarary) - Angular, Vue (Framework) Angular : 2010년 Google이 개발한 Framework. Typescript 기반으로 안정적이고 기능이 많으나, 러닝커브가 높다. Vue : 2014년 중국 Evan You 개인이 개발한 Framework. 코드가 깔끔해고 배우기가 쉬..
-
[React.js] Hooks - useCallback, useMemoFront-End(Web)/React - 프레임워크(React, Next) 2020. 12. 27. 17:37
기본 프로젝트의 마지막으로, useCallback 훅에 대한 사용이 주어져서 이 글의 포스팅을 시작하게 되었다. 간단히 검색해보니, 이 훅들은 공통적으로 '최적화'의 역할을 담당한다고 한다. 반대로 말하면 필수적이지는 않다는? 최적화의 원리가 되는 'Memoization' 과 여기에 해당되는 위 훅들에 대해 간단하게 정리한 뒤 프로젝트에 돌입하겠다. 📒 useCallback - Memoization 이 필요한 이유? React 컴포넌트가 렌더링(부모 렌더링, state 변경 등) 될 때마다, 내부의 함수들도 새로 선언한다는 단점이 있다. 여기서 state와 무관한 함수들의 재선언을 최소화하여 메모리 낭비를 줄이는 최적화의 목적으로 이 Hooks 들이 사용되는 것이다. - 문법 useCallback 은 컴..
-
[React.js] Hooks - useReducerFront-End(Web)/React - 프레임워크(React, Next) 2020. 12. 26. 04:16
React 미니 프로젝트들을 수행하다보니, useContext, useReducer 사용을 하라는 미션이 주어졌다. 이 개념에 대한 선행학습을 해봤다. 📒 useReducer useContext와 마찬가지로 통합적인 state 관리를 위한 Hooks다. useReducer는 useState의 대체함수로 생각할 수 있다. Redux의 Reducer, Action 과 그 동작성격이 매우 유사하다고 느껴졌다. - 문법 React 공식 사이트의 useReducer 로 카운터를 구현한 예제를 인용했다. const initialState = {count: 0}; function reducer(state, action) { switch (action.type) { case 'increment': return {cou..
-
[React.js] Hooks - useContext (Context API)Front-End(Web)/React - 프레임워크(React, Next) 2020. 12. 25. 20:33
React 미니 프로젝트들을 수행하다보니, useContext, useReducer 사용을 하라는 미션이 주어졌다. 이 개념에 대한 선행학습을 해봤다. 📒 React Context useContext 훅을 공부하기 전에, React의 Context 개념에 대해 우선 이해를 할 필요가 있다. 1. Context 개념 React App은 많은 컴포넌트들로 구성되어있고, 어떤 정보(props 값이나 함수)는 여러 컴포넌트를 거쳐 전달되는 경우가 존재한다. 이러한 정보들을 전역적으로 사용하기 위해 Context에서 이를 관리 및 공유해주며, 이를 사용하기 위한 기능을 Context API라 한다. - 언제 Context를 써야 할까? 전역적(global) 데이터 공유에 특화된 방법으로, 로그인 유저 데이터, 설..
-
[Javascript] Iteration ProtocolFront-End(Web)/Javascript 2020. 12. 17. 20:45
🤔 서론 for 반복문을 사용하던 중, 객체에서 for - in 은 key값을 반환하지만, for - of 문에선 value 값이 반환되지 않았다. 또한, 'Uncaught TypeError: obj is not iterable' 라는 에러가 발생하는 것을 확인했다. for - of 문을 확실히 이해하려면, Iteration, Iterable, Iterator 에 관해 정리할 필요성을 느껴 별도 포스팅을 시작했다. 📒 Iteration Protocol - Iteration(반복) (ES6 추가) 이터러블 객체가 for - or문, 전개연산자(spread, ...) 등 순회동작 하도록 만든 규약을 Iteration Protocol 이라고 한다. 혹은 모든 객체를 이터러블로 만들 수 있는 규약을 의미한다. ..
-
[Javascript] Class(클래스) 기본Front-End(Web)/Javascript 2020. 12. 16. 22:56
위코드 Replit 과제중, Class 개념에 대해 정리가 필요하다고 생각해서 글을 쓰게 되었다. 📒 class 란? - 객체지향(OOP, Object-Oriented Programming) 객체지향 프로그래밍이란, 프로그램을 객체(Object)들로 구성하고 서로 상호작용을 통해 구현하는 방법을 의미한다. 객체에 변수나 함수를 저장한 뒤 이를 반복적으로 사용하고자 하는 개념으로, 이 객체를 편리하게 생성하는 템플릿이 바로 Class인 것이다. - class 정의 class를 "특별한 함수" 라고 설명한다. class 선언과 표현식으로 정의할 수 있다.(실제로 ES6 전에는 함수가 class를 대체했다.) 1) class 선언 ES6부터 class 개념이 도입되면서, class는 아래와 같이 'class ..