전체 글
뉴스 댓글 안 보기: 정보는 명령이다 ⏐ 일상 에세이 ⏐ 26
뉴스를 보는 일은 꼭 필요할지도 모르지만 뉴스 댓글은 안 보는 게 더 좋다. 생각을 획일화시키기 때문이다. 물론 언론 기사가 생각의 프레임을 먼저 제한하는 것도 사실이다. 그런데 정작 그러한 프레임을 지적하는(혹은 더 나은 생각과 판단을 제공하는) 역할을 할 수 있는, 기사 만큼이나 많이 노출되는 댓글은 그저 극단적으로 치우쳤을 때가 많다. 조중동이 나올 때, 한경오가 나올 때, 미통당, 더민주당이 나올 때 등등. 대부분의 댓글들의 반응은 포털 사이트 별로 정해져있다. 포털 사이트들은 이러한 댓글 섹션을 없애는 게 낫지 않을까? 얼마 전 다음은 연예인 기사에서 댓글 목록을 삭제했다. 악플로 연예인들이 받는 고통을 감안해서다. 정치나 사회 섹션도 댓글을 없애도 되지 않을까? 그곳에서 과연 얼마나 그럴싸한 ..
Node.js와 브라우저의 차이점 (번역)
Node.js와 브라우저의 차이점은 무엇일까요? Node.js와 브라우저는 모두 프로그래밍 언어로 자바스크립트를 사용합니다. 그러나 브라우저에서 실행되는 앱을 만드는 것과 Node.js 앱을 만드는 것은 완전히 다른 일입니다. Node.js와 브라우저 모두 언제나 자바스크립트를 사용하지만, 몇 가지 차이점은 현격한 차이를 만들어 냅니다. 브라우저에서는 대부분 DOM 또는 쿠키와 같은 다른 웹 플랫폼 API와 상호작용하게 됩니다. 물론, Node.js에는 그런 것들이 존재하지 않습니다. Node.js에는 브라우저에서 제공되는 document, window과 같은 다른 객체들이 존재하지 않습니다. 그러나 브라우저에는 Node.js가 모듈을 통해 제공하는 파일 접근 기능과 같은 API들이 없습니다. 또 다른 ..
자바스크립트 기본 개념 공부 내용 정리
1. 자바스크립트 기초 자바스크립트란? 자바스크립트 변수란? 자바스크립트 데이터 유형 자바스크립트 표현식과 연산자 자바스크립트 논리 연산자 2. 자바스크립트 함수 자바스크립트 함수란? 자바스크립트 화살표 함수 자바스크립트 고차 함수란? 자바스크립트 returing과 mutating이란? 자바스크립트 스코프란? 자바스크립트 함수 호이스팅이란? 3. 자바스크립트 객체와 메소드 자바스크립트 배열 속성 및 메소드 자바스크립트 객체란? 자바스크립트 객체 인스턴스란? 자바스크립트 map이란? 4. 자바스크립트 조건문 자바스크립트 if 조건문이란? 5. 자바스크립트 반복문 자바스크립트 for ... in 구문 정리 자바스크립트 do while 반복문이란? 6. 자바스크립트 이해 객체 지향 프로그래밍이란? 자바스크립트..
서른, 생일 ⏐ 일상 에세이 ⏐ 25
'휘갈겨 쓴 이 글을 다시 고쳐쓰지는 않으려 한다. 계절처럼 때로는 그저 흘러가야 할 것이므로.' 오늘은 나의 생일이다. 최선을 다해왔다고 믿었던 지난 시간들을 되돌아 본다. 부끄럽다. 많은 것을 알았다 생각했지만, 나는 아무것도 알지 못하였다. 생의 비극은 그것이 결국 죽음으로 끝나기 때문이 아니라, 죽음을 앞두지 않고는 좀처럼 삶을 마주하지 못하기 때문이다. 시간은 계절처럼 흘러간다. 내 나이도 이제 꽉찬 서른이 되었다. 나이를 계절에 비유할 수 있다면, 지금의 나는 어떤 계절을 지나고 있는 것일까? 모든 계절의 소중함은 그것이 소중한 이들과 각기 다른 순간의 결을 빚어낼 수 있다는 데 있다. 그러니 따스한 봄날이 아니더라도, 선선한 가을 날이 아니더라도 우리는 모든 계절에 함께 행복할 수 있다. 그..
자바스크립트 호이스팅이란?
자바스크립트에서 호이스팅(hoisting)이란 무엇일까? 호이스팅을 이해하려면 스코프의 개념과 전역 변수, 지역 변수의 의미를 이해해야 한다. 이번 포스팅에서는 변수 호이스팅과, var, let, const 키워드의 사용, 함수 호이스팅에 대해 정리해 보려 한다. 자바스크립트 변수 호이스팅 자바스크립트는 기본적으로 위에서 아래로 차례차례 코드를 실행해 간다. 따라서 변수를 선언하기 전에, 변수를 호출하면 오류가 발생해야 한다. 그러나 자바스크립트의 호이스팅 기능은 모든 변수 선언문이 해당 스코프의 최상단으로 끌어 올려 처리한다. console.log(bear); // undefined bear = "A market is in bearish trend."; console.log(bear); // "A ma..
Returing과 Mutating 차이점 (정리 중)
returning과 mutating의 차이를 보자. 아래의 push 메소드는 기존의 배열을 mutating 하고, 값도 return한다. let pets = [ {name: "Meowsalot", species: "cat", age: 2}, {name: "Barksalot", species: "dog", age: 3}, {name: "Purssloud", species: "cat", age: 8} ] pets.push({name: "Puppster", species: "dog", age: 1}) console.log(pets); returing은 새로운 배열을 반환하는 것이고 mutating은 기존의 배열을 변화시키거나 수정하는 것이다. 그러나 push와 다르게 mutating하지 않는 메소드가 있다. ..
자바스크립트 고차 함수(higher-order function)란?
자바스크립트에서 고차 함수란 (1) 함수를 아규먼트로 받거나 (2) 함수를 결과로 리턴하는 함수다. (1) 함수를 아규먼트로 받는 고차 함수의 예 document.addEventListener("click", greeting); function greeting() { return alert("Hello, world!") } (2) 함수를 결과로 리턴하는 고차 함수의 예 function creatMultiplier(multiplier) { return function(x) { return x * multiplier } } let doubleMe = creatMultiplier(2); let tripleMe = creatMultiplier(3); let quadrupleMe = creatMultiplier(..
[JavaScript] ④ 자바스크립트 객체란 무엇일까?
자바스크립트는 객체 기반 언어다. 자바스크립트는 객체 기반 프로그래밍 언어이며, 원시 값을 제외한 모든 값은 객체다. 즉, 함수, 배열, 정규 표현식 등이 모두 객체다. 객체는 프로퍼티(property)로 구성되며, 프로퍼티는 키(key)와 값(value)로 구성된다. 프로퍼티의 값이 함수일 경우 이를 메소드(method)라 한다. 객체의 의해 비유를 통해 우선 객체의 개념을 이해해보자. 우리는 실생활에서 객체의 예시를 살펴볼 수 있다. 집에서 키우는 고양이, 사용 중인 키보드, 스마트폰 등이 모두 객체다. 이러한 객체들은 상태(state)를 갖거나 행동(behavior)을 한다. 예를 들어, 고양이의 경우 이름, 눈동자 색, 종, 꼬리 모양 등의 상태와 더불어 꾹꾹이, 뛰어 오르기, 잠자기 등의 행동을..