본문 바로가기

전체 글

(215)
Isomorphism vs Universal JavaScript https://medium.com/@ghengeveld/isomorphism-vs-universal-javascript-4b47fb481beb#.ldhznr24c TL;DR: Isomophism은 상태 손실 없이 클라이언트 측 렌더링과 서버 측 렌더링 간에 원활하게 전환하는 기능적 측면입니다. Universal은 JavaScript 코드의 특정 부분이 여러 환경에서 실행될 수 있다는 사실을 강조하기 위해 사용되는 용어입니다. Airbnb의 Spike Brehm이 Isomorphic JavaScript라는 용어를 대중화한 이후로 사람들은 Isomorphic JavaScript 애플리케이션이 있다는 것이 정확히 무엇을 의미하는지, 그리고 애플리케이션을 구축하는데 필요한 것이 무엇인지에 대해 혼란스러워 했습니..
가장 빨리 만나는 스벨트 | 5장 ~ 10장 반응성(reactivity) 반응성이란 관심있는 무언가에 반응하여 동작하는 것을 말합니다. 인터넷 브라우저의 크기에 반응하여 그에 맞는 페이지 형태를 보여주는 것을 리액티브 웹(reactive web)이라고 합니다. 이렇게 무언가에 반응하여 동작하는 것에 대하여 "리액티브하다" 또는 "반응형이다"라고 말합니다. 스벨트에서는 컴포넌트의 스크립트 블록 안에서 선언한 배열, 객체, 문자열 및 숫자 변수 모두 반응성을 가집니다. 센서의 감지 대상을 반응형 데이터(reactive data), 또는 반응형 변수라고 부릅니다. 센서 동작의 트리거에 해당하는 것이 스벨트에서는 할당(assignment)입니다. 할당은 연산자(=)을 사용하여 반응형 데이터에 값을 변경하면 그만입니다. 트리거가 일어나면 센서가 감지하고 동..
가장 빨리 만나는 스벨트 | 1장 ~ 4장 스벨트 소개 스벨트는 새로운 프레임워크입니다. 직관적이고 짧은 문법으로 양방향 바인딩(two-way binding)과 리액티비티 코드를 작성할 수 있어 빠르고 쉽게 앱을 만들 수 있습니다. 스벨트는 동시에 컴파일러입니다. 스벨트를 사용하기 위해 코드에 형태로 js를 삽입하거나 import나 require를 이용하여 모듈 형태로 포함시키지 않습니다. 스벨트 컴파일러가 우리가 작성한 코드를 순수한 자바스크립트 코드로 변환해줍니다. 또한, 가상 돔 같은 추상화 계층을 만들어 내지 않고 일반적인 프레임워크가 런타임에 할 일을 빌드 시에 해결하면서 사용자의 브라우저 부하를 최소화합니다. {a} + {b} = {a + b} input 값이 변하면 a,b 변수가 자동으로 되도록 bind:value={변수} 형태로 선..
혼자 공부하는 컴퓨터 구조 + 운영체제 | 12장 ~ 끝 프로세스 동기화 동시다발적으로 실행되는 많은 프로세스는 서로 데이터를 주고받으며 협력하며 실행될 수 있습니다. 예를 들어 워드 프로세스서에는 사용자로부터 입력을 받는 프로세스와 입력한 내용의 맞춤법을 검사하는 프로세스, 입력한 내용을 화면에 출력해 주는 프로세스 등이 있습니다. 이 프로세스들은 각기 다른 독립적인 프로세스이지만 공동의 목표를 위해 협력하는 존재입니다. 이렇게 협력적으로 실행되는 프로세스들은 아무렇게나 마구 동시에 실행해서는 안됩니다. 올바른 실행을 위해서는 동기화가 필요합니다. 프로세스 동기화란 프로세스들 사이의 수행 시기를 맞추는 것을 의미합니다. - 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기 - 상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 상..
혼자 공부하는 컴퓨터구조 + 운영체제 | 9장 ~ 11장 9장 운영체제 모든 프로그램은 하드웨어를 필요로 합니다. 이미지를 하드 디스크에 저장하는 프로그램은 하드디스크를 필요로 합니다. 이때 프로그램 실행에 마땅히 필요한 요소들을 가리켜 시스템 자원, 혹은 줄여서 자원이라고 합니다. CPU, 메모리, 보조 기억장치, 입출력 장치 등과 같은 컴퓨터 부품들은 모두 자원이라고 볼 수 있습니다. 즉 모든 프로그램은 실행되기 위해 반드시 자원이 필요합니다. 여기서 실행할 프로그램에 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이 바로 운영체제입니다. 운영체제는 인터넷 브라우저, 게임과 같은 프로그램이기 때문에 여느 프로그램과 마찬가지로 메모리에 적재되어야 합니다. 다만 운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 ..
혼자 공부하는 컴퓨터 구조 + 운영체제 | 1장 ~ 3장 1장 컴퓨터 구조 시작하기 개발할 때 문제없이 작동했던 코드가 실제 사용자들에게 선보이는 자리에서는 작동하지 않는 상황은 비일비재합니다. 이 경우 분명 코드상의 문법적인 우류만이 원인은 아닐 겁니다. 프로그래밍 언어의 문법만 알고 있는 살마에게 컴퓨터 코드를 입력하면 어찌어찌 알아서 결과물을 툭 내놓는 '미지의 대생'일 테니까요. 결국 이들은 컴퓨터라는 기계에 코드를 입력만 할 수 있을 뿐 그 이상을 하기는 어렵습니다. 하지만 컴퓨터 구조를 이해하고 있으면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있습니다. 컴퓨터 내부를 거리낌 없이 들여다보며 더 좋은 해결책을 고민할 겁니다. 왜냐하면 이런 사고가 가능한 이들에게 컴퓨터란 '미지의 대상'이 아닌 '분석의 대상'일 테니..
You Might Not Need Redux https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367 You Might Not Need Redux People often choose Redux before they need it. “What if our app doesn’t scale without it?” Later, developers frown at the indirection Redux… medium.com 2016.09.20 사람들은 종종 Redux가 필요하기전에 선택합니다. 우리 앱이 리덕스 없이 확장할 수 있다면? 나중에, 개발자들은 필요없는 리덕스의 도입에 눈쌀을 찌푸립니다. 간단한 기능을 작동시키기 위해 내가 왜 세개의 파일을 만져야하는가? 사람들은 React, R..
소프트 스킬 | 11 ~ 20장 정리 이렇게 독립하라 직장을 그만두기 전에 확실한 계획부터 세워라. 어떤 사업을 꿈꾸든지 부업으로 먼저 시작하라. 당신을 지탱해줄 충분한 부수입거리가 생긴 뒤에 도전하라. 회사를 위해 일하느라 매일같이 출근하다보면 자기를 위해 일하는게 훨씬 더 쉽고 즐거울 거라고 생각한다. 물론 자기를 위해 일하면 큰 보람을 느낄 수 있다. 하지만 일이 엄청나게 많아진다. 특히 초기에는 더욱 많다. 사업은 보통 실패한다. 첫 사업은 특히 그렇다. 사업으로 생계를 유지할 정도로 자리를 잡으려면 여러 차례 실패를 겪은 뒤에라야 가능하다. 열심히 모은 돈을 한번에 써버리길 바라는가. 아니면 자리 잡을 때까지 기회가 여러번 있기를 바라는가? 프리랜서로 일하기 프리랜서가 되고 싶은 마음이 있다고 해도 막상 실천하기는 어렵다. 어떻게 ..