일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준
- 4주 프로젝트
- 회고
- javascript
- 타임어택
- 렛츠기릿 자바스크립트
- til
- js
- 알고리즘
- python
- 리덕스
- 제로초
- 타입스크립트
- 2주 프로젝트
- Async
- 리트코드
- 파이썬
- 코어 자바스크립트
- 리액트
- 타입스크립트 올인원
- 정재남
- 손에 익히며 배우는 네트워크 첫걸음
- LeetCode
- SQL 고득점 Kit
- codestates
- 토익
- 자바스크립트
- 프로그래머스
- 코드스테이츠
- programmers
- Today
- Total
목록전체 글 (484)
Jerry
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NE3f4/btsMeKcz5uM/yfOX8N3iMhDx8CXobGFV70/img.png)
캐싱: 캐싱은 자주 사용하는 데이터나 연산 결과를 임시 저장소(Cache)에 저장해, 동일한 요청이 들어왔을 때 저장된 값을 반환하여 성능을 향상시키는 기법 특징주로 디스크 I/O, 네트워크 요청, DB 조회 등과 같은 비싼 연산 비용을 줄이기 위해 사용됨캐시 계층(Cache Layer) 를 두어 속도가 빠른 저장소(RAM, SSD 등)에 데이터를 저장일반적으로 범용적인 데이터 저장소로 활용됨 예시 웹 브라우저 캐시: 방문한 웹사이트의 이미지, CSS, JavaScript 파일을 저장하여 다시 방문할 때 빠르게 로드데이터베이스 캐시: Redis나 Memcached 같은 인메모리 캐시를 사용하여 데이터베이스 조회 부담을 줄임CPU 캐시: 프로세서가 자주 사용하는 데이터를 L1, L2, L3 캐시에 저장하여..
#페이지라우팅- 경로에 따라 알맞은 페이지를 렌더링 하는 과정- /new -> new 페이지 렌더링Multi Page Application (MPA)- 애초에 서버가 여러 개의 페이지를 가지고 있음- 많은 서비스가 사용하는 전통적인 방식서버 사이드 렌더링 vs MPA- 서비가 여러 개의 페이지를 가지고 있는 것이 후자- 브라우저가 페이지 요청을 했을 때, 해당 페이지를 응답해주는 것이 전자But, 리액트는 이 방식을 따르지 않음- 페이지 이동이 매끄럽지 않고 비 효율적임- 다수의 사용자 접속 시, 서버의 부하가 심해 짐-SPA(Single Page Application)- 페이지 이동이 매끄럽고 효율적임- 다수의 사용자가 접속해도 크게 상관 없음- 필요한 요소만 교체동적 경로(Dynamic Segment..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Wkgyd/btsLbXKXtu4/TllyjHymyNeeV3IQuDnJe1/img.png)
#useReducer- 컴포넌트 내부에 새로운 State를 생성하는 React Hook- 모든 useState는 useReducer로 대체 가능- 상태 관리 코드를 컴포넌트 외부로 분리할 수 있음 #최적화- 웹 서비스의 성능을 개선하는 모든 행위를 일컫음- 아주 단순한 것부터 아주 어려운 방법까지 매우 다양함일반적인 웹 서비스 최적화 방법- 서버의 응답속도 개선- 이미지, 폰트, 코드 파일 등의 정적 파일 로딩 개선- 불필요한 네트워크 요청 줄임- ...React App 내부의 최적화 방법- 컴포넌트 내부의 불 필요한 연산 방지- 컴포넌트 내부의 불 필요한 함수 재생성 방지- 컴포넌트의 불 필요한 리렌더링 방지 #useMemo- "메모이제이션" 기법을 기반으로 불 필요한 연산을 최적화 하는 리..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yczwb/btsHzbsPjOL/AeELNLkqBax5kydlxs9Kq0/img.png)
https://leetcode.com/problems/remove-element/ . 오늘풀어본 문제는 " Remove Element " 이다.주어진 리스트 안에 있는 숫자형 원소들 중 주어진 값(val)과 다른 값을 in-place 방식으로 구현해주는 문제이다. 풀이1 - Two Pointerclass Solution: def removeElement(self, nums: List[int], val: int) -> int: slow = 0 for fast in range(len(nums)): if nums[fast] != val: nums[slow] = nums[fast] slow += 1 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b0A7NT/btsHxFncPth/bxACiVVRMqmdv0dwKlwMyK/img.png)
https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/ 오늘풀어본 문제는 " Remove Duplicates from Sorted Array" 이다.문제에서 요구하는 것은 오름차순으로 정렬되고 정수로 이뤄진 배열이 주어진다. 주어진 배열에서 중복된 요소를 제거하여 각 고유한 요소가 한 번만 나타내도록 해야한다. 단, in-place 방식으로 구현해야 한다. 풀이 #1 - Two Pointer 알고리즘class Solution: def removeDuplicates(self, nums: List[int]) -> int: slow = 0 for fast in range(len(nu..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cJtdOr/btsHyCpragT/32eJIXAPtVpofOJjxk3KXK/img.png)
https://leetcode.com/problems/merge-two-sorted-lists/description/ 오늘풀어본 문제는 " Merge Two Sorted Lists" 이다.파라미터로 두 개의 싱글 링크드리스트가 주어진다. 간단히 말하면, 두 링크드리스트를 합쳐야한다(merge). 단, 정렬된 상태로 말이다(sorted). 풀이 #1 - Iteration# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeTwoList..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/IzMNb/btsHxAkX9Zz/jW2iBwWbaiZ8T6yX20ADGK/img.png)
https://leetcode.com/problems/valid-parentheses/description/ 오늘풀어본 문제는 " Valid Parentheses" 이다.주어진 괄호 3가지 유형, 대괄호([ ]), 중괄호({ }), 소괄호(( ))을 일정 조건에 부합하지는 여부를 판단하는 문제이다. 풀이 #1 - 딕셔너리(dictionary) + Stackclass Solution: def isValid(self, s: str) -> bool: stack = [] brackets = { "]": "[", "}": "{", ")": "(", } for bracket in s: ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dCbceY/btsHvrCBtDI/UmphRCUrOSnYOLVuDpd1A1/img.png)
https://leetcode.com/problems/longest-common-prefix/description/ 오늘 풀어본 문제는 " Longest Common Prefix" 이다.주어진 리스트 안에 있는 문자열들 간에 가장 긴 공통 접두어를 출력하는 것이다. 풀이 #1 - Loop + Filterclass Solution: def longestCommonPrefix(self, strs: List[str]) -> str: minStr = min(strs, key=len) if len(strs) == 0 or len(strs) == 1 or len(minStr) == 0: return minStr for i in range(len(minStr))..