코드스테이츠
-
시간을 효율적으로 쓰는 코딩 방법 (feat. 입산 금지)studying coding 2020. 7. 6. 00:48
2주 프로젝트를 진행하며 내 가장 큰 문제는 중구난방이라는 것을 깨달았다. 마이페이지를 구현하는 중, 마이페이지에 들어 가야 하는 기능들을 여러가지 늘어 놓고 이것 저것 조금씩 건드리다가 머리가 터질 것 같아 아무것도 못 건드리겠는 상황에 봉착했다. 그렇게 멘붕이 온 도중에 현재 나의 상황을 팀 채팅방에 토로했더니 페어가 도와주겠다고 연락이 왔다. 고마운 페어분을 통해서 문제를 해결하는 방법에 대해서 제대로 배운 것 같아 기록해보려고 한다. 문제가 해결이 안될 때 일단 넘어가고 다른 문제부터 해결하는 것도 중요하지만 그게 반복될 경우 중구난방이 되어 버린다. 일단 해결해야할 하나의 과제를 정하고 그 과제를 쪼개고 나눈다. 차근차근 하나의 코드를 고치고 이 고친 코드를 어디서 확인해볼 수 있을지 생각해본다..
-
코딩을 공부하며 / 부트캠프를 하면서 드는 갖가지 생각들 정리studying coding 2020. 7. 5. 01:06
코딩을 배우기 시작한지 벌써 5개월이 지났다. 배우면서 오만가지 얕은 철학들과 깨달음들을 얻었는데, 오빠랑 떠들 때만 신나게 그것들에 대해서 이야기 하고 따로 기록해두지 않았었다. 그런데 오늘 동기분의 TIL 블로그를 보면서 나도 덩달아 힘이 되고 감명 깊은 부분들이 많아서 기억나는 것들만 따로 기록해보려고 한다. 코딩을 배우며 좌절하고 있는 어떤 누군가에게는 이 글이 공감이 되고 힘이 될 수 있기를 바라며. 2주 프로젝트를 하면서 드는 생각 일단 나에게 긴장이 너무 많이 떨어져 있었다는 것을 여실히 깨달은 2주 프로젝트였다. 부트캠프에서 가장 중요한 것은 멘탈관리라는 말이 나에게는 독이 된 것 같다. 멘탈관리에만 너무 신경을 쓴 나머지(?) 실력 향상보다 자기합리화가 우선이 되어버렸다. 멘탈관리가 중요..
-
콜백 (callback)concept/javascript 2020. 5. 27. 02:43
대표 예시 setTimeout에서 실행되는 함수 안에서 일어나는 연산들을 가져오기 //함수 표현식 function helloWorld (callback) { setTimeout(()=>{ var a = 'hello'; var b = 'world'; callback(a + b) // { console.log(value) }) //결과는 undefined가 나오고 2초 후에 helloworld 가 나온다. 먼저 undefined가 나오는 이유는 function helloWorld의 리턴값이 없기 때문이다. 그리고 undefined가 호출 된 후 함수 내부에서 setTimeout이 실행되고 있어서 2초의 시간이 소요된다. setTimeout 안에는 callback 함수가 실행되고 있다. (**여기 콜백함수가 ..
-
time complexity (시간 복잡도)concept/data structure 2020. 5. 16. 00:29
참고 : 코드스테이츠 이머시브 강의 complexity analysis (복잡도분석) : 알고리즘이 그것을 푸는데 있어서 시간과 공간을 얼마나 차지하는지 나타내는 지표 시간과 공간이 무한정으로 있다면? 알파고는 만들기 쉽다. 플레이 가능한 모든 가짓수를 계산하면 됨 그렇지만 시간과 공간이 어마어마하게 필요하겠지? 바둑판은 19x19 = 381가지 플레이 무한정의 경우의 수가 나올 수 있기 때문이다!!! 그렇기 때문에 시간복잡도를 고려해서 메모리를 적게 쓰는 코드를 쓰는 것이 중요하다는 것을 알고 포스팅을 시작해본다. 시간과 배열이 주어졌다. 여기서 두 수의 가장 큰 차이를 구하라. 주어진 배열 : [2, 5, …, 16] 첫번째 방법 모든 숫자를 비교한다. 2, 5, 6, ... 이렇게 계산했을 때 시간..
-
Subclassing - understanding prototype chain (Object.create()의 활용법)concept/javascript 2020. 5. 10. 01:49
출처 : 코드스테이츠 내가 볼려고 기록해놓는 블로그 이 포스팅은 ES6의 Class가 어떻게 작동하는지 그 원리를 알아보는 포스팅이다. ES6가 나오기 전에는 이런 방식으로 상속관계를 만들어줬다. 먼저 1. 부모-자식 상속관계에 대해서 자세히 알아보고 2. 이것을 HTML에서 활용하는 방법 3. Object.create()를 활용해 상속관계를 만드는 방법을 알아볼 것이다. 1. 부모-자식 상속관계 먼저 부모자식 상속관계에 대해서는 이 2장의 슬라이드로 한 눈에 볼 수 있다. 즉, Human.prototype 과 steve.__proto__가 같은 것이다. __proto__들은 자신의 부모의 특성을 상속받는다. 그런데 모든 객체는 Object 이다! 그래서 객체들은 Object의 특성들을 상속받는 것이다...
-
node.js / NVM / NPMconcept/server 2020. 4. 30. 17:15
node.js는? 자바스크립트의 run time 환경이다! 런타임이란? 프로그래밍 언어가 구동되는 환경 : 프로그램 그러니까 쉽게 말하면, 지금까지는 자바스크립트를 크롬 등의 브라우저에서 사용해 왔다. 하지만 브라우저 밖의 상황에서도 유저가 사용할 수 있도록 만든 것이 node.js라는 것! 이게 왜 필요한가? 파일시스템을 다루고, 서버를 만들 때 용이한 것이다. 단순히 run time을 넘어 자바스크립트의 각종 도구들을 이용할 수 있게 도와주는 역할도 한다! php, jsp, Django, Ruby on rails 가 node.js의 경쟁기술들이라고 할 수 있다. 그래서 이 node.js 를 어떻게 사용하느냐? 먼저, 설치가 필요하다. 설치에 대한 자세한 내용은 https://nodejs.org/ko/..
-
객체 지향 JavaScript (Class)concept/javascript 2020. 4. 2. 22:17
하나의 모델이 되는 청사진(blueprint)를 만들고, 그 청사진을 바탕으로 한 객체(object)를 만드는 프로그래밍 패턴 ES5 클래스는 함수로 정의할 수 있다. function Car (brand, name, color) { // 인스턴스가 만들어질 때 실행되는 코드 this.brand = brand; this.name = name; this.color = color; } // => 클래스 속성의 정의 Car.prototype.refuel = function() { // 연료 공급을 구현하는 코드 } Car.prototype.drive = function() { // 운전을 구현하는 코드 } // => 클래스 메소드의 정의 ES6 에서는 class 라는 키워드를 이용해서 정의할 수 있다.ES6 에..