본문 바로가기

Dev.

(341)
대기업이 하면 다 잘못된 일이라고 생각하는 것 같다. / 한국어 맞춤법 검사기와 관련하여 대기업이 하면 다 횡포다? 한국어 맞춤법 검사기 논란 16.08.17 부산대학교 권혁철 교수님이 개발하신 한국어 맞춤법 검사기가 화두에 올랐다. 26년 동안 개발해온 한국어 맞춤법 검사기를 다음카카오에서 리버스 엔지니어링을 통해 무료 API로 공개했다는 것 때문이다. 상황을 정리해보자면, 다음과 같다. Fact 1 : 부산대에 한국어정보처리연구실을 만드신 권혁철 교수님는 26년 동안 한국어 맞춤법 검사기를 만들었다. Fact 2 : 현재 그것을 은행에 팔면서 수익을 내고 있었다. 물론 검사기의 사용자 99%는 무료 사용자이다. Fiction : 그런데 그 맞춤법 검사기를 다음 카카오에서 리버스 엔지니어링을 통해서, 속된 말로는 그대로 배껴서 무료 API로 제공했다. 다음 측에서는 리버스 엔지니어링을 통해..
[TodoMVC] Step 1. 각 JS 파일 모듈화하고 의존성 관계 확립하기 Step 1. 각 JS 파일 모듈화하고 의존성 관계 확립하기첫번째 단계. 코드를 작성할 모듈들을 준비하고,각각의 관계와 역할을 정리해두자. 우선, app.js 파일을 작성한다.app.js code>123456789101112(function(){ 'use strict'; function App(){ console.log('App created!'); this.storage = new app.Storage(name); this.model = new app.Model(this.storage); this.template = new app.Template(); this.view = new app.View(this.template); this.controller = new app.Controller(this.mo..
[TodoMVC] TodoList based MVC Project with VanillaJS / To do MVC 만들기 프로젝트 Intro TodoList Project based MVC with Vanilla JS 프로젝트 시작 배경 프론트엔드 분야에서 빼놓을 수 없는 자바스크립트를 중점적으로 공부하고 있는데, 무엇인가를 직접 만드는 것보다 좋은 공부는 없다고 생각하여, 무엇을 만들지 고민하던 중에, 정말 정말 유명한 Todo List를 만들어보자고 생각했습니다. 지난 포스팅에서는 html, css, javascript 를 이용하여, 아무 구조도 갖추고 있지 않은 To do list 프로젝트로 만들어봤습니다. ( >> Todo list Basic >> ) 하지만 이번에는 To do list에 MVC 구조를 적용하여 보다 유지보수성이 높고 구조를 갖춘 To do MVC를 만드는 프로젝트입니다. To do MVC 공식 홈페이지에서는 각종 프레..
AMP ( Accelerated Mobile Pages ) AMP ( Accelerated Mobile Pages ) AMP는 우리나라말로는 빠른 게재 모바일 페이지로 Accelerated Mobile Pages의 줄임말이다. 모바일 웹의 중요성이 증대되는 가운데, 빠른 UX를 제공하기 위한 웹페이지를 만드는 오픈소스이다. 웹이 애플과 페이스북의 플랫폼으로 종속되는 현상을 막고자 구글이 주도하여 개발한 새로운 플랫폼이다. 컨텐츠가 어느 특정 플랫폼으로 종속될수록, 오픈 웹은 죽어가게 된다. 최근들어서 모바일의 영향력이 증대되면서, 페이스북 같은 특정 플랫폼으로 컨텐츠가 집중되고 있다. 왜? 빠르니까. 모바일에서의 웹은 그리 빠른 성능을 보이지 못한다. 반면 Native App들은 모바일 환경에서 태어났기 때문에 빠른 성능을 자랑한다. 이 점을 앞세워 특정 플랫폼..
자바스크립트 기본서에 대해서, Basic JavaScript for Beginner 자바스크립트의 영역이 날로 넓어지고 있습니다.일전에는 클라이언트 영역에서 팝업창을 띄우고 사용자들과 약간의 인터랙션을 위해 사용되었던 언어였다면, 현재는 클라이언트를 넘어 서버 측까지 확장을 하였고, 모바일 앱개발까지 그 영역을 뻗치고 있는 언어입니다. Node.js의 등장으로 이제는 IoT 영역에서도 활약을 하고 있는 요즘 가장 Hot한 언어라고 볼 수 있습니다. (하태하태!) 또 Python이라는 언어와 함께, 개발 입문자들이 처음에 접하기 쉽다는 이유로, 언어에 대한 진입 장벽이 낮다는 이유로 많은 사람들이 배우려고 하는 언어입니다. (사실, 저는 이 의견에 동의하지는 않습니다…) 그래서 제가 직접 접해본 자바스크립트에 대한 의견을 정리해보았습니다. 시중에 출시되는 자바스크립트 관련 도서들이 정말 ..
Common JS, AMD Common JS 의존성 관리 문제에는 단지 어떤 의존성 관리 시스템을 이용할 수 있느냐의 문제 뿐만 아니라 성능 문제도 끼어있다. 브라우저는 모든 자바스크립트 파일을 HTTP 요청을 보내야 하는 것이다. 각 연결을 이용하려면 HTTP 헤더, 쿠키, 다른 TCP 핸드셰이크 시작 등의 오버헤드가 따른다. 애플리케이션이 SSL을 이용한다면 상황은 더 심각해진다 Common JS 모듈을 선언하는 방법은 상당히 직관적이다. 기본적으로 명칭 공간을 이용하며 각 모듈은 인터프리터가 정의한 exports 오브젝트에 변수를 추가하여 외부에 공개할 수 있다 모듈에 명칭 공간을 적용했으므로 Node.js 같은 모든 CommonJs 호환 자바스크립트 인터프리터에서 이 코드를 사용할 수 있는 것이다. AMD AMD는 동적로딩..
서버 사이드 렌더링 그리고 클라이언트 사이드 렌더링 클라이언트 사이드 렌더링 & 서버 사이드 렌더링 "렌더링의 현주소 모바일의 시대가 도래하면서, 모바일 환경에 맞춰진 웹 페이지 즉 모바일 웹에 대한 니즈가 폭발적으로 증가했고 그에 따른 성능 이슈도 함께 거론되었다. 데스크탑에 비해 성능이 낮은 모바일, 스마트폰을 통해 웹 페이지를 출력하기 위해서는 기존에 있었던 방식과는 다른 접근이 필요했고 그에 따라서 Singla Page web Application 기법 (SPA)이 등장하게 되었다. SPA는 브라우저에 로드되고 난 뒤에 페이지 전체를 서버에 요청하는 것이 아니라 최초 한번 페이지 전체를 로딩한 이후 부터는 데이터만 변경하여 사용할 수 있는 웹 애플리케이션을 의미한다. 전통적인 웹 방식( 서버 사이드 렌더링 )은 이 SPA 방식에 비해 성능 문제를 ..
[그로스 해커] 프로그래머, 더이상 프로그래밍만 하지 않는다. 그로스 해킹이란?(Growth Hacking) 그로스 해킹 ( Growth Hack ) 현재와 미래의 마케팅이라고 불리는 그로스 해킹에 대해서 알아보자. 그로스 해킹이란 무엇인가, What? 개발적인 면에서 고민하고, 상품/서비스의 개선사항을 모니터링 하면서 그 상품/서비스를 성장시키는 것을 말한다. 즉, 기술과 마케팅의 여러 실행을 통한 성공이라는 교집합을 이끌어내는 것이다. 마케팅에만 한정되는 것이 아니라, 정확한 자기 상태 파악 및 계발에도 유용하게 이용될 수 있는 부분이다. 그로스 해커는 누구인가, Who? 그로스 해커는 마케터와 엔지니어가 결합된 형태로, 우리 제품의 고객을 어떻게 확보할 수 있는가 라는 전통적인 질문에 A/B 테스트. 랜딩 페이지, 구전 요소, 이메일 도달율, 오픈 그래프 등을 사용하여 답을 제시하는 사람이다. 제품을 만들..