일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- vue3
- http3
- Cypress
- caching
- devtools
- vue-cli
- csr
- SSR
- Testing
- rendering
- 비동기
- import.meta.env
- https
- web vital
- typeScript
- msw
- api test
- JavaScript
- 선택자
- custom command
- vue
- CloudFlare
- CSS
- ts error
- TLS
- e2e
- svelte
- ViTE
- aws
- QUIC
- Today
- Total
목록Knowledge/Programming (4)
Develop Note by J.S.

Memory Leak, GC에 이어 GC에서 걸러지지 않은 Memory Leak의 유형 및 식별 방법에 대하여 알아보겠습니다. 1. Memory Leak 유형 1) 선언되지 않은 변수의 참조 또는 참조가 없는 변수를 생성 - 선언되지 않은 변수를 참조한 경우에는 컴파일 과정에서 전역 객체(Root)에서 새 변수를 생성합니다. function foo(){ this.message = 'I am accidental variable'; } foo(); Mark-and-Sheep 알고리즘에서는 Root를 가리키는 변수는 항상 active 상태이기 때문에 GC가 이를 제거할 수 없어 메모리 누수가 발생합니다. - 코딩 시점에 사용되지 않거나 선언없이 참조한 코드를 삭제하거나, 자바스크립트의 use strict Mo..

Window와 Mac OS의 Default 개행문자 차이로 Build 시 linebreak Erorr가 발생됩니다. 아래는 해당 이슈에 대한 두 가지 해결방법입니다. 1. IDE 및 Git Config Setting Ex. Webstorm IDE git config --global core.eol lf // mac LF 기준 git config --global core.autocrlf input // LF를 line ending 으로 사용 -> 이후 Local Repository 삭제 후 다시 git clone 시 오류 해결 2. eslint Option 설정 // .eslintrc.js module.exports = { ... rules : { 'linebreak-style' : 0 } }

1. Memory Leak - 개발자가 의도하지 않은 메모리가 더 이상 사용되지 않음에도 해제되지 않고 지속적으로 메모리를 점유하고 있는 현상을 말하며, 이로 인한 버그발생 및 서비스장애를 발생시킵니다. - 대표적인 메모리 관련 이슈는 3가지 유형으로 나타납니다. 1) 페이지가 시간이 지남에 따라 느려지는 현상 - 주요원인 : Memory Leak 2) 페이지가 처음부터 일관적으로 느리거나, 급작스럽게 느려지는 현상 - 주요원인 : Memory Bloat(메모리 팽창)으로 볼수 있으며 메모리 소비의 급작스런 증가로 발생 3) 페이지가 끊키는 현상 - 주요원인 : GC가 너무 자주 발생되는 경우 2. Memory Lifecycle 메모리 생명주기 : 할당 -> 사용 -> 해제 3. 메모리 구조(V8 Eng..

[속도느림/ 구현단순] 1. 선택정렬 : 0부터 n번째 자리에 순서대로 최솟값을 찾아 앞에 배치 2. 삽입정렬 : 배열의 두번째 index부터 시작하여 앞 index값과 비교해 더 작은 수일 경우 지속적으로 swap하여 앞으로 끌어오는 정렬 3. 버블정렬 : 배열([0,1], [1,2], [2,3])앞뒤 두 index를 비교하며 swap [속도빠름/ 구현복잡] 1. 합병정렬 : 배열 중앙기준 지속적으로 반으로 나눈 후 새로운 배열을 할당한 뒤 기존 나뉜 쌍으로 부분배열의 값 중 작은값을 채워넣는 방식 2. 셀 정렬 : 배열길이/2 만큼의 간격을 늘리고 간격수만큼 배열을 나눈뒤 각 배열을 삽입정렬한다. 이후 기존 간격/2하여 동일하게 반복 3. 퀵 정렬 : 분할, 정복, 결합 3단계로 나뉜다. 0 inde..