
부모님 일을 도와서 라즈베리파이로 이미지 업로드/조회 서버를 구축해야 할 일이 생겼다. 머신러닝 부트캠프 접수도 끝나서 여유 시간을 이용해서 해보기로 했다. 간단한 기능이라 1~2주면 끝날 것 같다는 생각이다. (이렇게 잡으면 항상 두 배는 걸리던데 ㅎㅎ..) 라즈베리 파이는 사실 처음 써봤는데, 이 작은 걸로 리눅스가 돌아간다고 한다. 이걸로 재밌는 일들을 많이 해볼 수 있을 것 같다. 찾아보니까 IoT 스마트홈 DIY나 개인 서버로 많이 쓰는 것 같다. 먼저 라즈베리파이에 라즈베리 파이 OS를 설치해야 한다. 데비안 기반 리눅스인데 라즈베리 파이에 맞게 최적화나 편의기능이 들어가 있는 것 같다. 뭐 우분투도 돌아간다고는 하는데 제조사에서 공식적으로 지원하는 게 최고라고 생각해서 라즈베리 파이 OS를 ..
기록을 남겨야겠다고 오랫동안 생각해왔는데, 제일 좋은 곳이 어디일까 하다가 만만한(..) 티스토리를 다시 사용하기로 했다. 군대에서 배운 게 하나 있다면, 최고의 선택지를 선택하기 위해 아주 오래 고민하는 것보다, 일단 하나를 선택해서 시작해 보는 것이 좋다는 것이다. 특히 언제든지 선택지를 바꿀 수 있는 거라면. 그래서 velog도 있고 medium도 있고 github.io도 있고 notion(+oopy)도 있지만 전부터 사용해서 그래도 방문자가 약간은 있는 티스토리로 결정했다. 군대에서 뵈었던 멋진 분들도 티스토리 블로그를 사용하고 있기도 했고.. 사실 노션으로 일기와 배운 내용을 정리하고 있긴 했지만, 외부에 뭔가 '내가 이런 걸 하고 있다'라고 알리고 의견을 나눌 채널이 하나쯤 필요하다고 생각했다..
https://poiemaweb.com/es6-block-scope let, const | PoiemaWeb ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다. var 키워드로 선언된 변수는 아래와 같은 특징이 있다. 이는 다른 언어와는 다른 특징으로 주의를 기울이지 않으면 poiemaweb.com ES6의 변경점을 주제별로 작동 원리까지 포함해 작성한 좋은 글이 있었다. let: 블록 레벨 스코프를 가짐 들어가기 전에: 배경지식 - 자바스크립트 실행 컨텍스트의 원리https://poiemaweb.com/js-execution-context Execution Context | PoiemaWeb Execution Context(실행 컨텍스트)는 scope, hoisting,..
6장. 객체지향 프로그래밍 공통된 함수 객체(메서드)를 객체마다 생성하면 메모리 낭비 프로토타입 객체에 함수를 정의하자. 더글라스 크락포드식 메서드 정의 방법 Function.prototype.method = function (name, func) { this.prototype[name] = func; } function Person(arg) { this.name = arg; } Person.method("setName", function (value) { this.name = value; }) Person.method("getName",function () { return this.name; }) let me = new Person("me"); let you = new Person("you"); con..
진도가 느려진다. 이해가 안 가더라도 다시 찾아올 수 있도록 정리만 해 놓고 빠르게 넘어가자 실행 컨텍스트 c의 함수 호출 스택과 비슷 현재 실행되는 컨텍스트에서 이 컨텍스트와 관련 없는 실행 코드가 실행되면 (전역 코드, eval() 함수로 실행되는 코드, 함수 안의 코드) 새로운 컨텍스트가 생성되어 스택에 들어가고 제어권이 그 컨텍스트로 이동한다. 생성 과정 1. 활성 객체(=변수 객체) 생성 2. argument 객체 생성 (활성 객체는 arguments 프로퍼티로 이 객체 참조) 3. 스코프 체인 생성 (생성된 활성 객체가 스코프 체인 맨 앞에 추가) 4. 변수 생성 (instantiation), 값이 넘겨지지 않았으면 undefined가 할당 주의: 초기화(initialization)은 나중에 ..
this 바인딩 메서드(객체의 프로퍼티 중 함수인 것): 해당 메서드를 호출한 객체 (메서드를 가진 객체가 아님!!) 함수: 전역 객체 (브라우저에서 실행하는 경우 window 객체, Node.js와 같은 자바스크립트 런타임 환경에서는 global 객체) 내부 함수(함수 안의 함수): 정의되지 않음 -> let that = this; 사용, 명시적인 this 바인딩을 위한 call/apply/bind var val = 100; let myObj = { val: 1, func1: function () { this.val += 1; console.log('func1() called. this.val : ' + this.val); func2 = function () { this.val += 1; console..