자바스크립트

📚 CS/알고리즘 (JS)

[알고리즘] 버블정렬 (자바스크립트)

데이터를 정렬할 수 있는 방법은 무수히 많고, 각 알고리즘은 장단점을 갖고 있다. 같은 결과값을 갖더라도 결과를 내기까지의 과정이 제각기 다르다. 특정 상황에 유난히 잘 작동하는 정렬 방법이 존재하고, 이를 잘 활용하게 하기 위함 버블 정렬 자바스크립트 내장 정렬 메서드 array.sort() : num1 - num2 가 양수를 반환하면 num2가 앞에, 음수를 반환하면 num1이 앞에 온다. 숫자 뿐 아니라 문자열으 길이를 음수/양수로 구분하여 정렬할수도 있다. function numberCompare(num1,num2){ return num1 - num2; } [ 6, 4, 16,10 ].sort(numberCompare); 개념 현재 항목과 다음 항목을 한 번씩 비교하여 교환. 제일 끝에서부터 차례..

💻 Web

[웹/브라우저] DOM

What, exactly, is the DOM?과 해당 원문의 번역본을 학습한 후 정리한 글입니다. 웹 페이지가 만들어지는 방법 원본 HTML 문서를 읽어들인 후, 스타일을 입혀 뷰 포트에 표시하는 과정을 Critical Rendering Path라고 한다. 이 과정은 크게 두 단계로 나뉘어 진다. 첫 번째로 읽어들인 문자를 파싱하여 어떤 내용을 렌더링할지 결정하며, 두 번째로 브라우저에서 렌더링을 수행한다. 첫 번째 단계를 통해 렌더 트리가 생성되는데, 이는 HTML 요소(DOM)와 관련 스타일 요소(CSSOM)로 구성된다. DOM이란 DOM(Document Object Model)은 웹 페이지에 대한 인터페이스로, HTML 문서의 구조와 내용을 다양한 프로그램에서 사용할 수 있게 한 객체 기반 표현이..

📚 CS/알고리즘 (JS)

[알고리즘] 빅오 표기법과 배열, 객체의 성능 평가 (자바스크립트)

1. 빅오 표기법 1-1. 무수한 알고리즘 해결책에 대한 평가 기준 performance.now()를 통한 시간 차이 측정 컴퓨터의 연산 갯수 측정 1-2. 빅오 시간 복잡도 입력에 따른 연산 시간의 관계성 측정, 다소 추상적인 말이지만 '큰 흐름'에 집중 상수곱, 합의 연산은 단순화 1-3. 빅오 공간 복잡도 입력에 따라 차지하는 메모리의 관계성 측정 (공간 할당) Boolean, Numbers, undefiend, null은 상수 복잡도 O(1) (단순화 가능) String, Array, Object는 선형 복잡도 O(N) 1-4. 로그 지수함수의 역 대부분의 정렬, 탐색 알고리즘과 같이 로그 복잡도를 갖는 알고리즘들이 존재 2. 배열과 오브젝트의 성능 평가 2-1. 자바스크립트 기본 요소들의 성능 ..

📚 CS

[CS] 디자인 패턴 (싱글톤, 팩토리, 전략, 옵저버)

1.1 디자인 패턴 디자인 패턴? 프로그램 설계간 발생했던 문제점들을 객체 간의 상호 관계 등을 따져 해결할 수 있게 만들어 놓은 규약 1.1.1 싱글톤 패턴 하나의 클래스에 하나의 인스턴스만 가지는 패턴. 보통 DB 연결 모듈에 사용된다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용을 줄일 수 있다. 단 의존성이 높아진다는 단점이 있다. 자바스크립트에서의 싱글톤 패턴 class Singleton { constructor() { if (!Singleton.instance) { Singleton.instance = this } return Singleton.instance } getInstance() { return this } } ..

황재웅 Jaeppetto
'자바스크립트' 태그의 글 목록