JavaScript로 Stack구현 자바스크립트로 Stack을 구현해 보았다. Stack개념을 떠올리면 먼저 배열을 떠올릴 수 있다. 스택은 Last in First out 구조로 되어있다. 즉 가장 최근 자료는 꼭대기에 있으며, 가장 처음 자료는 맨 밑바닥에 있다. 박스를 차례대로 차곡차곡 쌓는다고 생각하면 이해 하기 수월하다. 가장 마지막에 쌓은 박스가 가장 위에 있을 것이며, 맨 밑바닥에 있는 박스가 처음 놓은 박스이다. cf) shift, unshift는 stack과 관련없이 연습으로 작성해 보았습니다. //stack const Stack = (function () { function Stack() { this.top = null; this.count = 0; } function Node(data..
/* Hash Table */ const HashTable = (function () { function HashTable(max) { this.max = max; this.storage = []; } function Hash(string, max) { let hash = 0; for (let i = 0; i < string.length; i++) { hash += string[i].charCodeAt(); } this.index = hash % max; } HashTable.prototype.add = function (key, value) { const hash = new Hash(key, this.max); const index = hash.index; const storage = this.stor..
throttle 메소드는 정해진 시간마다 console을 찍는다. const $button = document.createElement('button'); document.body.append($button) $button.textContent = 'click'; let count = 0; let timeId; $button.addEventListener('click', function () { count++; if (!timeId) { timeId = setTimeout(() => { console.log('clicked ', count); timeId = null; }, 500); } }) debounce메소드는 마지막 클릭에 대한 것을 반환한다. const $button = document.crea..
JavaScript로 이미지파일을 불러오고 html화면에 띄우는 방법이다. input, button, img 태그를 사용하여 버튼을 누르면 이미지를 업로드하여 화면에 띄울 것이다. 먼저 JavaScript로 이미지 파일 불러오기를 어떻게 해야할까? input 태그에 type을 "file"로 지정해 준다. 보내기 보내기를 클릭하면 file 주소를 가져오는 방법은 다음과 같다. document.querySelector("#sendButton").addEventListener('click',()=>{ let selectFile = document.querySelector("#inputImage").files[0]; console.log(selectFile); }) 파일을 선택하고 보내기를 클릭하면 consol..
내가 읽은 개리마커스의 세번째 책인 클루지에 대해서 써보려고 한다. (내가 느낀 주관적인 글이다.) 개리 마커스 책은 읽기 어려운게 사실이다. 하지만 그의 글은 철저히 객관적인 관점에서 써져 있다. 많은 논문과 책을 참고한 것이 보인다. 책을 읽으면서 만약 논문 같은 글을 잘읽는 사람은 재밌게 읽을 것이란 생각을 해보았다. ㅋㅋ 책이 말하는 바는 사람의 진화가 완벽하지 않다는 것이다. 완벽하지 않으므로 생각 또한 합리적으로(완벽하게) 생각하지 못한 다는 것이다. 책에서는 여러가지 오류를 들었다. 읽으면서 맞장구 치고 동감하는 오류들이 꽤 많았다. 마지막장 전까지 그런 오류들을 설명하고 마지막 장에 이런 오류들을 어떻게 회피 할 수 있는지 작가는 말하고 있다. 클루지에서 말하는 오류를 피하기 위한 13가지..