목록TIL (34)
백고등어 개발 블로그
오늘 한 일 chatterBox client 스프린트를 진행했다. 스프린트를 진행하며 AJAX를 통한 비동기 요청에 대해서 알게됐고, 실제로 HTTP통신이 어떻게 동작하는지 간단하게 알게 되었다.
오늘 한 일 동기와 비동기에 관해서 다시 생각해보았다. 동기와 비동기, 블락킹와 논블락킹은 절차지향과 객체지향과 같이 개념일뿐이고, 그것을 코드로 표현하다보니 자바스크립트의 콜백으로 표현이 가능할뿐이다 그리고 콜백의 단점을 보완하기 위해 문법적으로 Promise, async/await 키워드가 나왔다 이벤트 루프의 동작으로 설명하자면 callstack 영역은 동기영역, webAPI 영역은 비동기영역으로 말할 수 있다 비동기적으로 동작하는 특정 함수들인 setTimeout, setInterval, AJAX 등등은 내부적으로 처리되는 순서에 따라서 동작되는 순서가 달라질 수 있다 그렇게 뒤죽박죽으로 실행되는 순서를 순차적으로 실행할 수 있도록 하는 방법은 자바스크립트의 콜백(callback)만 사용해서 해결..
오늘 한 일 자바스크립트의 비동기 처리에 관해 학습했다. callback 을 이용한 비동기 함수의 전달 방법과 콜백 지옥을 해결하기위한 비동기 처리 객체인 Promise 와 Promise 의 단점을 보완한 async/await 키워드에 관련해서 학습했다.
오늘 한 일 오늘 N-Queens 문제를 풀었다 N-Queens란? n*n 체스판에 n 개의 퀸을 배치할 때 각각의 퀸들이 서로의 공격범위에 들어오지 않도록 배치할 수 있는 방법이 몇가지가 있는지 알아내야하는 문제이다 문제를 해결하기 위해 생각해야할 것들을 아래와 같이 정리해보았다. 1. 퀸의 공격범위를 어떻게 구현할 것인가? 2. 다음 퀸을 배치할 때 기존에 배치된 퀸의 공격범위에 들어왔을 때 어떻게 처리해야할지? 3. n 개의 모든 퀸들이 서로를 공격하지 않는 배치방법이 하나 발견되고 나서 그다음 배치를 구성할 때 어떻게 기존의 배치와 다르게 구성할 수 있을지? 4. 어떻게보면 n*n 체스판의 모든 칸들을 검사해야하는데 어떻게 모든 칸을 검사할 수 있을지?
오늘 한 일 부트 캠프 과정을 함께 진행하면서 뵙게된 분의 코드를 함께 살펴보면서 새로운 것을 알게 되었다 현재 이벤트가 발생한 객체를 삭제하는 방법에 대해 알게 되었는데 아래의 코드를 사용하면 된다 function childClickDOM0(event) { log("Child click DOM0, removing"); this.parentNode.removeChild(this); } *물론 이벤트 호출 함수에 따라서 this 는 달라진다! 참고 : stackoverflow.com/questions/2732818/if-you-delete-a-dom-element-do-any-events-that-started-with-that-element-contin
오늘 한 일 자바스크립트의 프로토타입과 클래스 키워드를 사용하여 BeesBeesBees 문제를 풀어보았다 프로토타입을 이용하여 상속을 어떻게 구현하는지 알았고, 자바스크립트 ES6부터 도입된 class 키워드를 사용하여 프로토타입의 단점을 보완하는 방법을 배웠다
오늘 한 일 객체지향 프로그래밍에 관해 학습했다. 객체지향 프로그래밍에 대해 알아가면서 절차지향 프로그래밍에 대해서도 알게되었다 두가지 개념을 알게되었을 때 느낀것은 객체지향과 절차지향은 프로그래밍이 발전하면서 나오게된 "개념" 즉 "이론"들이며, 절차또는 객체를 지향할뿐 무조건 정답은 아니라는 것이다 또한 객체지향까지의 발전과정을 간단히 봤을 때 프로그래밍의 방식이 인간친화적인 방식으로 발전한다는 느낌을 받았고 그 과정에서 추상화라는 개념이 들어간 것 같다 결론은 객체지향 프로그래밍의 방식이 실생활에서 이미 사용되는 부분이 많았고 그러한 부분들을 코드로 표현할 때 어떻게 표현할지 생각하면 프로그래밍이 좀더 수월해질것 같다는 것이고 그것이 곧 객체지향 프로그래밍이라는 것이다
오늘 한 일 자료구조 스프린트 과제를 완료한 후 제출했다 그래프, 트리, 이진 탐색 트리를 구현하는 동안에 어떤 기능에 적용하면 좋을지 계속 생각했다 일단 지금 드는 생각은 자료구조와 좀더 친해져야겠다는 생각이다......
오늘 한 일 연결 리스트, 해쉬 테이블, 그래프, 트리, 이진 탐색 트리를 학습하고 구현했다 연결 리스트, 해쉬 테이블, 그래프, 트리와 이진 탐색 트리를 공부하고 구현하느라 3-4일이 어떻게 지나갔는지 잘 모르겠다(오늘까지 합쳐서) 초반 스택과 큐에서 자신감을 얻고 연결 리스트에서 자신감이 떨어진 후, 해쉬 테이블에서 죽었다가 살아났다 그 기운으로 그래프, 트리, 이진 탐색 트리를 방금 끝냈다 우선 중요한건 지금은 조금 머리를 식혀야할 것 같지만 다음날이 어떻게 될지 기대되면서도 잘 모르겠다 주말에 자료구조와 관련된 내용을 전체적으로 정리를 해야겠다.....