[시티팝] 真夜中のドア ~ Stay With Me
·
🗄️ Archived/🦶 비개발
https://www.youtube.com/watch?v=nuU2YHtxMik 📍제목/연도真夜中のドア ~ Stay With Me (1979)한밤중의 문 📍가수松原 みき (마츠바라 미키)📍가사To you... yes, my love to you Yes my love to you you, to you 私は私 貴方は貴方と나는 나고 너는 너라고昨夜言ってた そんな気もするわ어젯밤에 말했었지 그런 것 같기도 해 グレイのジャケットに회색 재킷에 見覚えがある コーヒーのしみ본적 있는 커피 얼룩이 相変らずなのね여전하구나 ショーウィンドウに 二人映れば쇼윈도에 둘이 비춰지면 Stay with me... 真夜中のドアをたたき한밤중에 문을 두드리며 帰らないでと泣いた가지 말라고 울었던 あの季節が 今 目の前그 계절이 지금 눈 앞에 S..
[React] 불필요한 리렌더링 제거하기
·
✏️ Study/⚛️ React
📍useMemo 로 객체 or 배열로 인한 불필요한 리렌더링 제거const Pagination = ({ pagesNumbers }) => { const augmentedValues = pagesNumbers.map(page => page.number + 2); return ;}; 보기엔 문제가 없어보이지만…객체 또는 배열이 컴포넌트 내부에서 선언되면, 매 렌더링마다 별도의 인스턴스로 간주된다동일한 데이터를 갖고 있어도 리렌더링을 유발메모리 주소가 달라지기 때문이는 각 컴포넌트마다 새로운 계산을 필요로하며 그에 따라 렌더링도 늦어짐.. useMemo Hooks를 통해 계산 결과를 메모이제이션할 수 있다const Pagination = ({ pagesNumbers}) => { const augment..
프로그래머스 < 요격 시스템 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/181188 📍알고리즘 분류 - 그리디 📍문제 풀이 [시작 좌표, 종료 좌표] 가 배열로 주어진다 const targets = [ [4, 5], [4, 8], [10, 14], [11, 13], [5, 12], [3, 7], [1, 4], ]; 이 좌표들을 선으로 그었을 때, 모든 수평선을 수직으로 가로지르는데 필요한 최소한의 수직선의 갯수를 구하면 된다. 그림으로 나타내면, 아래처럼 표현할 수 있는데, 겹치지 않는 수평선이 총 3개 이므로, 최소 3개의 수직선이 필요하다. 겹치지 않는 수평선인지 아닌지를 빠르게 파악하려면, 모든 좌표들을 종료지점을 기준으로 오름차순 정렬한 후, 순서대로 ..
프로그래머스 < 개인정보 수집 유효기간 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/150370 📍알고리즘 분류 - 구현 📍문제 풀이 - 약관 A, B, C 에 따라 각각 유효 개월 수가 자연수로 주어진다 - 최초 개인정보 수집 일자가 2021.05.02 처럼 문자열로 주어지고, 어떤 약관 종류인지 주어진다 - 오늘 날짜가 2021.05.02 처럼 문자열로 주어진다 이 때, 각 개인정보 수집 일자에 대해서, 약관의 개월 수에 따라 오늘 시점에서 파기해야 할 수집 일자 번호를 반환한다 1. 최초 개인정보 수집일자에다 유효 개월 수를 더해 최대 보유 가능 일자를 구한다 2. 최대 보유 가능 일자가 오늘 날짜보다 작으면 파기해야 하므로 결과에 추가한다 주의할 점 오늘은 2022..
프로그래머의 뇌 - 8. 명명을 잘하는 방법
·
✒️Notes/📕공부기록
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 2. 신속한 코드 분석 3. 프로그래밍 문법 빠르게 배우기 4. 복잡한 코드를 읽는 방법 2장 | 코드에 대해 생각하기 5. 코드를 더 깊이있게 이해하기 6. 코딩 문제해결을 더 잘하려면 7. 생각의 버그 3장 | 좋은 코드 작성하기 8. 명명을 잘하는 방법 📍이름이 중요한 이유 ✅식별자에는 타입, 변수, 메서드, 함수 등이 있으며, 식별자 이름이 중요한 이유는 대표적으로 4가지가 있다 1. 이름은 코드베이스의 상당 부분을 차지 예) 200만 줄의 코드에서 토큰의 33%, 문자열의 72%가 식별자에 해당 2. 코드 리뷰 시 이름의 역할 - 코드 리뷰 때도 식별자 이름이 자주 언급됨 - 평균적으..
프로그래머의 뇌 - 7. 생각의 버그
·
✒️Notes/📕공부기록
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 2. 신속한 코드 분석 3. 프로그래밍 문법 빠르게 배우기 4. 복잡한 코드를 읽는 방법 2장 | 코드에 대해 생각하기 5. 코드를 더 깊이있게 이해하기 6. 코딩 문제해결을 더 잘하려면 7. 생각의 버그 📍왜 2번째 프로그래밍 언어가 1번째 보다 쉬울까? ✅전이(transfer) 이미 배운 지식이 다른 영역에서 유용하게 사용됨 근거리 전이 : 자바와 C# 처럼 가까운(비슷한) 영역 사이의 지식이 전이 원거리 전이 : C와 파이썬처럼 먼 영역 사이의 지식의 전이 => 근거리 전이가 일어날 가능성이 더 높다 ✅LTM에 저장된 프로그래밍 지식이 새로운 프로그래밍 개념을 배우는데 도움이 되는 형태 ..
프로그래머의 뇌 - 6. 코딩 문제해결을 더 잘하려면
·
✒️Notes/📕공부기록
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 2. 신속한 코드 분석 3. 프로그래밍 문법 빠르게 배우기 4. 복잡한 코드를 읽는 방법 2장 | 코드에 대해 생각하기 5. 코드를 더 깊이있게 이해하기 6. 코딩 문제해결을 더 잘하려면 📍요약 ✅문제를 표현하는 방법은 문제에 대한 생각에 큰 영향을 미칠 수 있다 예) 고객을 리스트와 집합으로 표현하는 방법이 고객 객체를 저장하고 분석하는 방법에 영향을 줄 수 있다 ✅멘탈 모델 - 문제를 생각할 때 형성하는 정신적 표상 - 사람은 서로 경쟁하는 여러개의 정신 모델을 가질 수 있다 ✅개념적 기계 - 실제 컴퓨터가 어떻게 기능하는지를 추상적으로 표현한 것 - 기존의 스키마타(기억과 LTM)를 프로..
비제어 컴포넌트 vs 제어 컴포넌트
·
✏️ Study/⚛️ React
📍비교 ✅비제어 컴포넌트 (uncontrolled) - 로컬 변수만을 갖는 컴포넌트 - 부모 컴포넌트가 영향을 줄 수 없음 ✅제어 컴포넌트 (controlled) - 컴포넌트의 중요한 정보가 props에 의해 구동됨 - 부모 컴포넌트가 props를 통해 이 컴포넌트를 완전히 제어 컴포넌트 대신 element에도 적용할 수 있다 📍비제어 input element 예시 - 전통적인 HTML의 form 입력과 비슷 - Form 컴포넌트는 input에서 값을 "pull" 해와야 함 (예 - form 제출 전에) 예) input element의 실시간으로 바뀌는 값을 ref 를 통해서 구할 수 있음 const FormComponent = () => { const inputEl = useRef(null); retu..