[TIL] 2022-07-01 / 75일차 (Context API) 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

[TIL] 2022-07-01 / 75일차 (Context API)

중간 프로젝트가 끝나고 React 심화 수업을 수강함과 동시에 과제가 시작되었다. 과제는 강사님 회사에서 진행하는 과제로 재활용할 수 있는 컴포넌트를 만드는 연습을 하기 위해 내준 것 같다. 강의 내용이 어려워서 강의보다는 얼른 과제를 끝내고 싶은 마음에 빠르게 과제부터 진행했다. 어느 정도 완성은 했지만 재활용할 수 있는 컴포넌트를 만들었냐고 물어보면 아니라고 말할 것 같다. 아직까진 추상화 개념이 어렵다. 많은 연습이 필요할 것 같다. 과제를 진행하면서 Context API를 도입하고자 했다. 사실 이 과제에서 Context API가 필요하냐 하면 그렇지 않다. 큰 프로젝트도 아니고 간단한 컴포넌트라서 불필요하다. 중간 팀 프로젝트를 진행할 때 User 객체를 전역적으로 관리하며 Context API..

2022.07.01 게시됨

[TIL] 2022-06-28 / 72일차 (SPA역사와 SSR) 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

[TIL] 2022-06-28 / 72일차 (SPA역사와 SSR)

Vue와 React 강의를 듣고, Vue 과제(영화 검색)와 중간 팀 프로젝트(React)를 진행하면서 SPA 프레임워크를 접하고 다루게 되었다. SPA 프레임워크를 사용하는데 SPA에 대해 이해하고 Next.js 강의를 들으면서 SSR이 무엇인지 알아야 할 필요성을 느껴 어떤 배경에서 등장했는지 어떻게 동작하는지 대략적으로 정리를 했다. SPA(Single Page Application)의 역사 MPA (Multi Page Application) MPA(Multi Page Application)의 동작 순서는 다음과 같다. 1. 사용자가 브라우저를 통해 특정 요청을 보낸다. (그림상으로 1번 post에 대한 요청) 2. 서버는 요청을 받고, 데이터를 가공해 HTML을 생성한다. 3. 그 후 브라우저로 ..

2022.06.28 게시됨

프로그래머스 데브코스 중간 팀 프로젝트 회고 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

프로그래머스 데브코스 중간 팀 프로젝트 회고

중간 팀 프로젝트 아이디어 선정 및 초기 논의 사항 6월 6일부터 6월 22일까지 중간 팀 프로젝트를 진행했다. 간단한 프로젝트 소개 내용은 다음과 같다(팀 노션 페이지에 작성된 초안이다). 6월 7일 오프라인 미팅에서 브레인스토밍 끝에 팀원끼리 생각해낸 아이디어이다. 구인구직 등에서 시작해 PC방 게임에 관한 얘기가 언급되었다. 자연스럽게 PC방, 게임으로 주제가 전환되었고 아이디어를 생각해내기 시작했다. 처음에는 피슐랭가이드(PC방에 미슐랭 가이드를 붙여 PC방 리뷰 시스템으로 가자!) 아이디어를 채택하려 했으나, API 여건이나 현재 주어진 시간을 고려했을 때 힘들 것 같아 같이 게임할 파트너를 구하는 목적의 서비스를 하자고 얘기가 나왔고 최종안으로 채택되었다. 주요 기능으로 3가지를 꼽고 프로젝트..

2022.06.27 게시됨

[TIL] 2022-06-23 / Day 69 (타입스크립트 기본 문법) 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

[TIL] 2022-06-23 / Day 69 (타입스크립트 기본 문법)

중간 프로젝트(SNS 만들기)가 끝나고 오랜만에 강의를 다시 듣게 되었다. 처음 접하게 된 타입스크립트에 대해 간략하게나마 정리를 했다. 프로젝트 회고도 곧 정리해서 작성할 계획이다. 오늘 배운 내용 타입스크립트 타입 + 자바스크립트. 타입이 적용된 자바스크립트이다. 장점 안정성 가독성 명시적으로 타입을 지정해 사용하기 때문에 안정성이 높아진다. 컴파일 단계에서 미리 오류를 감지할 수 있기 때문이다. 자바스크립트는 타입 없이 사용하기 때문에 높은 자유도가 있지만, 직접 실행해보고 테스트하기 전까지는 오류를 감지하기 어렵다. 타입을 명시적으로 지정했기 때문에 실수를 줄일 수 있다. 타입을 명시적으로 작성했기 때문에 타입을 보고 무엇인지 알아보기가 쉽다. 네이밍만으로 유추하기 힘들다거나 다른 사람이 작성한 ..

2022.06.23 게시됨

[TIL] 2022-06-01 / 53일차 (React - Hook 3) 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

[TIL] 2022-06-01 / 53일차 (React - Hook 3)

오늘 배운 내용 useMemo Hooks API Reference – React A JavaScript library for building user interfaces ko.reactjs.org useMemo는 최적화를 위해 사용하는 Hook이다. 컴포넌트가 리 렌더링 된다는 것은 Function 컴포넌트를 호출하는 것과 동일하다. 만약 리 렌더링이 여러 번 일어난다는 것은 함수가 매번 다시 실행되고 내부의 선언된 변수와 함수가 그때마다 다시 선언되고 실행된다는 의미다. 그렇다면 리 렌더링(re-rendering)은 언제 발생하는가? 함수 컴포넌트는 자신의 state가 변경될 때 re-rendering 한다. 부모 컴포넌트로부터 받는 props가 변경될 때 re-rendering 한다. 부모 컴포넌트의..

2022.06.01 게시됨

[TIL] 2022-05-28 / (React - Hook 2) 포스팅 썸네일 이미지

프로그래머스/데브코스 프론트엔드

[TIL] 2022-05-28 / (React - Hook 2)

오늘 배운 내용 useRef useRef는 언제 사용하는가? Javascript에서 DOM Selector 함수를 사용하여 DOM에 직접적인 접근을 하는 것처럼, React에서는 이 기능을 useRef가 대체하고 있다. 간단한 예제를 살펴보자. import { useRef } from 'react'; function App() { const inputRef = useRef(null); return ( inputRef.current.focus()}>Click Here! ); } export default App; input 태그가 있고, button 태그가 있는 기본적인 구조다. button을 클릭하게 되면, input 태그에 focus를 주는 구조이다. Javascript에서 DOM에 접근하기 위해서는 ..

2022.05.28 게시됨