JavaScript

    Shuffle에 대해서

    shuffle이라는 말은 임의로 섞는다는 의미이다. mp3에서 임의로 노래의 순서를 섞어서 플레이할 때 사용되기도 한다. 더 많은 내용은 키워드 'random permutation'혹은 'the algorithm shuffles the sequence' 으로 살펴볼 수 있다. 아래는 그 이론에 대한 내용과 구현에 대해서 살펴본다. shuffle 이론들 1. Fisher-Yates shuffle def shuffle(a): n = len(a) for i in range(n - 1): # i from 0 to n-2, inclusive. j = random.randrange(i, n) # j from i to n-1, inclusive. a[i], a[j] = a[j], a[i] # swap a[i] and..

    공간복잡도와 javascript array function에 대해서

    공간복잡도와 javascript array function에 대해서

    1. 공간복잡도란, 프로세스가 동작하면서 사용하는 메모리의 총량을 의미한다. ( 선언한 변수 byte + 동적으로 사용되는 byte) 1) Stack과 Heap 저장공간 일반적인 메모리의 공간은 Stack과 Heap으로 나뉘어진다. Javascript에서는 두 공간을 어떻게 사용할까? Stack에는 원시값(const)와 객체의 참조변수가 저장되고 Heap에는 객체의 데이터가 저장된다. 1-1) 원시값 아래와 같이 선언된 변수들은 Stack에 쌓이게 된다. const name = 'hklee' const age = 33 const isMale = true 1-2) 객체 아래와 같이 선언된 변수들은 참조변수는 Stack에 쌓이고 데이터는 Heap에 쌓인다. // res(stack) ----> ['1', '2..

    업비트 차트 크게 보기 (javascript)

    업비트 차트 크게 보기 (javascript)

    업비트 화면의 width가 제한이 걸려있어서 차트를 보기가 너무 힘들다. 그래서 아래와 같이 간단하게 개발자도구를 사용해서 창의 크기를 키워서 사용한다. 1. F12키를 눌러서 개발자도구를 열고, 'Console'탭을 활성화 시킨다. 2. Console에서 아래 코드를 복붙한다. document.getElementsByClassName('mainB')[0].style.width="100%" document.getElementsByClassName('ty01')[0].style.width="calc(100% - 400px)" document.getElementsByClassName('halfB')[0].style.width="1000px" document.getElementsByClassName('half..

    Javascript로 setInterval구현시 chrome에서 inactive tab일 때의 동작

    Javascript로 setInterval구현시 chrome에서 inactive tab일 때의 동작

    제목이 이상하다.. 다시 풀어서 말하면 Javascript로 milliseconds timer을 구현했을 때, Chrome에서 동작 시키고 새로운 탭을 만들어서 이동하면 timer가 멈추는 현상에 대한 글이다. 결론부터 말하면 1000ms 미만일 때는 inactive tab 상황에서는 동작이 안되게 설계되어 있다. 따라서 milliseconds을 만들려면 setInterval을 별도로 돌리던지 아니면 다른 방법을 강구해야할것이다. Timeouts in inactive tabs throttled to >=1000ms https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Reasons_for_delays_lo..

    javascript로 linked list 만들기 (느낌대로)

    javascript로 linked list 만들기 (느낌대로)

    Linked List on Javascript class Node, class LinkedList 를 만들고 push, pop, printall, size 함수를 만든다아래는 코드 전문이다. class Node { constructor(data) { this.data = data; this.next = null; } } class LinkedList { constructor() { this.root = null; this.curNode = null; this.size = 0; } push(data) { const node = new Node(data); if (this.root == null) { this.root = node; this.curNode = node; } else { this.curNode..

    [javascript] chapter6. Objects _발번역

    CHAPTER 6 : Objects JavaScript’s fundamental datatype is the object. An object is a composite value: it ag-gregates multiple values (primitive values or other objects) and allows you to store andretrieve those values by name. An object is an unordered collection of properties, eachof which has a name and a value. Property names are strings, so we can say that objectsmap strings to values. This s..