개발자 되는 중/개발 공부 40

후발대 강의 memoization - React.memo, useCallback, useMemo (최적화)

리액트에서 리렌더링 될 때 1. state 변경될 때 2. props가 변경되었을 때 3. 부모 컴포넌트가 변경되면 자식 컴포넌트도 같이 리렌더링 memoiztion 종류 3가지 1. React.memo는 컴포넌트를 캐싱(메모이제이션) 2. useCallback은 함수를 캐싱(메모이제이션) 3. useMemo는 값을 캐싱(메모이제이션) 어떤 값? 객체, 배열, 함수 (변화가 없을 시 캐시로 저장해주었다가 같이 리렌더링 되지 않고 캐시에서 가져온다.) React.memo import {memo} from "react" export deafault memo (Box1) useCallback memo 해놓은 컴포넌트가 다시 렌더링 되었다... 왜? 프롭스가 바껴서 , 근데 함수 자체는 변하지 않았는데? 왜? ..

후발대 - 기술 면접 대비

기술면접 대비 MPA: 클라이언트 사이드에서 브라우저에 무언가를 요청할 때 마다 HTML 파일 전체를 서버에서 받아와서 화면에 뿌려준다. 껌뻑거리는 것을 볼 수 있다. SPA: 클라이언트 사이드에서 브라우저에 무언가를 요청하면 처음 한번은 HTML 전체를 서버에서 받아오지만 그 이후 부분적으로 변경하거나, 페이지 이동을 할 때 서버에서 받아오는 것이 아니라 내 컴퓨터에서 자바스크립트를 이용하여 화면에 뿌려주는 것. 껌벅거리지 않음 DOM: HTML 요소를 브라우저에서 객체화하여 트리형태로 만들어준 것. 하나하나를 노드라고 부른다. 가상 DOM: DOM이랑 완전히 똑같은 복사본, but API가 없다. getelementbyId, div.create와 같은 것. 그래서 엄청 가볍다. DOM은 자바스크립트 ..

TIL 제대로 쓰는 법

TIL 쓰는 이유 채용은 앎의 증명이다 성장, 성실함, 흡수력을 보여줘야 한다. TIL은 그런 것을 잘 보여줄 수 있다. 내가 공부한 것 아는 것을 까먹지 않게 해준다. TIL은 면접의 답안지 TIL 쓰는 법 문시해알 어떤 문제가 있었는지 어떤 시도를 했는지 - 자세히 어떻게 해결했는지 뭘 새롭게 알았는지 - 자세히 약간 삭막하게 쓰는 개발자가 많다 근데 프론트 엔드 개발자인 경우는 블로그가 예쁘다. - 그것 자체로 포트폴리오 쓸 필요 없는 내용 - 감성글 - 예쁘게 꾸미기, 이모티콘 - 강의노트 복붙, 요약 - 코드 통째로 넣기 WIL 쓰는 법 핵심은 2개 - 알게 된 점 총정리 - 목표 TIL 의 회고: 이번주 알게 된 점 총정리 다음주 목표 세우기 이번 주 목표 달성여부

React 심화 강의

Redux Toolkit yarn add react-redux @reduxjs/toolkit DevTool redux dev tools 라는 기능이 있다. 디버깅 할 때 좋다. 구글 웹 스토어에서 다운 받는 기능이다. https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=ko 우리가 toolKit 다운 받을 때 이미 devTools도 다운받았다 = toolKit 안 깔면 devTools 설정 따로 해줘야한다. thunk immer JSON 서버 프론트 엔드 만들 때 임시로 서버 역할을 하는 것 mock 데이터를 가지고 있다. yarn add json-server 백 엔드 서버이기 때문에 리액트..

애자일 방법론 특강

코드의 달인되는 법 1. 꾸준한 반복 2. 실력을 개선하려는 동기 3. 구체적인 피드백을 적절한 시기에 => 적절한 시기란 짧고 빈번할 수록 좋다. 피드백 잘 하는, 받는 법 피드백 하는 사람 비난 비판 없이 피드백 받는 사람 실력이 제자리 걸음인 이유는? 의도적 수련이 필요하다 가장 중요한 것은 알아차림 = 메타인지 지속적으로 자신의 감정을 살피고 지금 지루한지 불안한지 알아채야한다. 실력 >>> 작업 난이도 => 지루함 직업 난이도 >>> 실력 => 불안함 몰입 상태에 들어가야한다. 실력과 작업 난이도가 비슷한 수준이면 몰입이 된다. 1만 시간의 법칙의 함정 그냥 반복하는게 아니라 의도적 수련을 하는 시간이 1만 시간이 되야한다. 탁월한 개발자는 어떤 사람일까? 1. 높은 대인 능력 2. - 주어진 ..

CS 특강 - CPU

cpu memory disk 컴퓨터를 이루는 3대장 cpu는 cpu를 제외한 모든 유닛을 관장한다. 컴퓨터는 특성 cpu는 n개의 resgister로 이루어져있다. 코어 X N 무어의 법칙 왜 코어를 여러개 만들었을까? 하나로는 발열이 너무 심해서 회로가 타들어 갈 정도 코어 - 협의 코어의 성능 향상엔 본질적인 한계가 있다. 차라리 multi 만들자 state = register 이다. 멀티하게 상태를 가진다. cpu는 ALU 산술논리연산 CU controll unit = 리얼 뇌 프로그램A를 클릭하면 cpu에게 연산을 하라고 시킨다. 명령 접수는 cu가 받아준다. 그 다음 fetch 한다. 어딘가 쌓인다 그다음에 해석한다. ALI에게 토스 일거리받음 산술논리연산한다 연산한 결과를 프로그램에 보내고 프..

스파르타 알고리즘 - Python 1주차

01. 오늘 배울 것 알고리즘이란 어떤 문제가 있을 때 그것을 해결하기 위한 여러 동작의 모임이다 문제를 해결하는 가장 효율적인 방법을 찾으려 한다 알고리즘을 공부하는 이유 1. 좋은 개발자 되려고 좋은개발자가 되려면 좋은 프로그램을 구현할 줄 알아야한다. 특정 자료구조나 접근방법을 사용하면 좋은 프로그램을 만들 수 있다. 이건 배워야 할 수 있는 거다. 개발과는 별개 2. 좋은 회사 취직하려고 코딩테스트를 통과하려고 이번 강의를 다 들으면 충분히 해결할 수 있을 것 하지만 취업하고 나서는 만들어진거 가져다 쓴다 1~5주차 배울것 1. 시간/공간 복잡도/ 알고리즘 구현력기르기 2.어레이, 링크드 리스트(코딩테스트 단골주제)/ 이분탐색, 재귀 3.정렬, 스택, 큐, 해쉬 4. 힙, BFS, DFS, Dyn..