웹 개발자 도구의 역사

웹디자인의 역사는 뭐 웹디자인 관련 블로그만 검색해도 질리게 나온다.

하지만 웹 디자인을 발전시키게 해준 초석인 웹 개발자 환경의 역사는 구글링을 해봐도 잘 안나왔다.

이 얼마나 슬픈 일인가 개발자들이여!

그래서 내가 정리해준다.

1. 넷스케이프에도 개발자 도구는 있었다.

이 글 보는사람들 중 넷스케이프에 신경쓴 개발자가 몇 있을지는 나도 모르겠지만, 때는 1998년이다.

솔직히 넷스케이프 시절에 필자는 초딩이였다. 그때는 모뎀 인터넷 시절이었고, 인터넷이 종량제이며, 인터넷을 할려면 전화를 못받는다는 단점 때문에 상당히 제한적이었지만, 그래도 나름 문화컬쳐였다. 

그런 초딩 시절에 넷스케이프 4 에 자바스크립트 디버거가 있었는데, John Bandhauer 가 개발한 자바스크립트 디버거는 그때당시 자바스크립트는 그저 옵션에 불과했지만, 자바스크립트 개발하는데 있어서 생산성을 촉진시킨 하나의 유물인 것은 확실하다.


2. Venkman Javascript Debugger.

Venkman Debugger

이 기술을 넷스케이프가 모질라로 올인하면서 디버깅 기술까지 전수받았는데, 2001년 출시한 모질라 기반 자바스크립트 디버거를 Venkman Javascript Debugger 라 불렀다.

이녀석의 강점은 모질라 기반임에도 불구하고 크로스 플랫폼에서도 디버깅 환경을 제공하고자 하는 노력이었다,

그래서 Ajax 가 뜰 때 당시에 이 역사가 재조명되었지만, 다른 개발자 도구가 워낙에 좋아서 거기서 그치는 비운의 도구였다.

debugger; 키워드를 ECMA 표준으로 등재시킨 툴이였고, 별도의 프로세스로 돌아갔어도 불여우가 역시 개발자를 위한 브라우저구나 하는 무릎 탁 치게 하는 기원이였다고 해도 과언이 아니었다.

자세한 내용은 링크를 참고하라. : https://developer.mozilla.org/ko/docs/Venkman

3. DOM 시각화.

당신의 웹 어플리케이션에 동적으로 컨텐츠를 넣었다가 갑자기 레이아웃이 깨졌다면, 어떻게 모니터링하고 대처했을까?

분명 테이블이 잘 만들어진것 같은데 테이블이 무너져 보인다면, 소스를 다시 보면서 캐치해야 하니..

하지만 기존 웹브라우저는 잡아내는 방법이 너무나 제한적이었다. 소스 보기를 해도 원 소스를 보여주지 동적으로 추가된 곳까지 신경써주지는 않았으니까. 어찌나 불편했을까? 뭐.. 한국은 액티브엑스가 동적 컨텐츠를 제공하는데 아주 잘 활용해서 말이 통할려나 모르겠지만.

이것을 해냈다. 해냈어. 불여우가해냈어!

View Source Chart

DOM Inspector. 우리말로는 DOM 검사기.

DOM 검사기는 DOM 구조를 트리 구조로 시각화해서 눈으로 보여주는 아주 획기적인 도구였다.

이 도구 덕분에 테이블 등에 엉뚱한 태그가 들어가서 테이블 구조가 깨지는 문제를 손쉽게 해결할 수 있었고,

동적으로 컨텐츠가 들어갔어도 바로 볼 수 있었다.

XML에 비해 HTML은 엄격하지 않아서 물론 잘못 코딩해도 보이긴 하지만, 레이아웃 깨졌거나 뭐 엉뚱한 글자가 페이지여 보여서 컴플레인 들어오면 이젠 두렵지 않은 도구가 되었다.

하지만 한국은 이때도 액티브엑스 전성기라서 우리나라 웹 페이지는 저 구조에 크게 신경쓰지 않았거나,

테이블 기반 구조로 저게 필요한 상황을 만들었음에도 깨지기만 하면 정말 고치기 힘든 웹 사이트 구조를 만들어냈다.

그래도 저게 있어서 한국의 지랄같이 테이블 의존성 구조에서 어느정도 벗어날 수 있었지만, 그 은혜를 모른다.

정말 테이블 태그로 만든 레이아웃은 미관엔 좋았지만.. 개발과 유지보수가 어려운 단점은 피할 수 없었다.

그게 왜냐면, 디자이너들이 나모 웹에디터같은 위지윅 개발도구에 의지하고, 개발자조차도 거기에 의지한 탓이다.

그나마 테이블은 미리보기에도 그대로 볼 수 있었기 때문이었고, CSS 표현력이 제한적이라서 div 기반의 레이아웃에서 잘 보여준다는 보장이 없었으니까.

그래서 이때 웹 개발 비용이 부담된건 사실이다. 아무리 편해도 그게 한계가 있다는 것을 여실히 보여준 트랜드였던 것이다.

쪽팔리게 개발자가 나모웹에디터나 쓰고.. 으이구..

이제 Ajax 이후 하드코딩의 시대가 도래했는데, 이 DOM 검사기 도구는 하늘이 내려준 선물임은 확실하다.

4. Web Developer for Firefox.

불여우가 왜 웹 개발자를 위한 브라우저인지 다시한번 마음에 새기는 혁신(?)이 왔는데, 

하나의 작은 툴바에서부터 시작됐다. Chris Pederick 이 만든 Web Devloper toolbar 였는데, 웹 개발자를 위한 편의성 도구들을 제공하여 웹 개발에 도움을 주게 만든 일등공신이었다.

이 툴바의 강점은 Disable CSS와 Disable Javascript 기능인데, 이는 크로스 플랫폼, 크로스 브라우징 보기, 그리고 CSS가 적용되지 않은 경우와, 자바스크립트가 비활성화된 브라우저의 경우, 그리고 시맨틱과 웹 접근성 개발에 도움을 주는 기능들이 한자리에 모여서 웹 개발자들에게는 없어서는 안될 도구로 성장했다.

2003년 첫 릴리즈 이후 계속 버전업 해가면서 기능과 성능 최적화가 되고, 처음엔 미약했지만 끝은 비대한 웹개발자에겐 모르면 간첩인 도구가 됐다.

근데 한국의 경우 웹접근성이 주목받은 때가 2010년이다. 외국에 비해 7~8년 늦은 접근성이다. 비즈니스와 편의성에만 추구한 나머지 웹취약계층과 접근성은 개나 줘버렸었다. 가뜩이나 IE에만 신경썼는데 오죽했을까? 인종차별 인종차별 소리지르면서 정적 한국이 내가 보기엔 존나 차별하는것 같다.

그렇다고.

5. 개발자 도구의 시작, Firebug.

불여우가 왜 괜히 웹 개발자를 위한 브라우저일까? 애초부터 그렇게 시작한 거다.

한국에 IE와 불여우, 크롬 3대장이 웹 시장을 주름잡기 시작했는데, 불여우가 일반인에게 쓰기 어려운 브라우저인 이유가 바로 이런 개발자 환경에 신경쓴 환경이기도 하다.

어쨌든, 개발자 도구의 표준안을 마련한 도구, Firebug다.

Firebug HTML Tree

하지만 Firebug가 처음부터 표준안을 선도한 것은 아니었다. 버전 0.2 에서는 자바스크립트 콘솔과 CSS 구조, 선택한 DOM의 속성을 제공한 게 전부였다.

0.3 에서는 DOM 기능에 충실하게 출시해서 DOM 이벤트와 속성, 해당 적용된 DOM의 CSS 속성들도 볼 수 있게 됐다.

그리고 혁신을 이루어낸 것은 버전 0.4 부터인데,

0.3을 기점으로 자체 DOM 검사기를 포함하는 것으로 시작해서, 자바스크립트에 표준 바람을 불게 만든 console 객체를 출시했다. 비록 Firebug 밖에 되지 않았지만, 혁신을 이루게 한 건 사실이다. 귀찮게 로그성 데이터를 DOM에 뿌릴 필요 없었고, 정보도 바로바로 볼 수 있었던 덕에 많은 웹 개발자에게 Firebug는 이제 없어선 안될 도구가 되고, console 객체 또한 조금 늦지만 ECMA 표준에 등재된 쾌거를 이루었다.

그리고 이 주목받은 기능을 등에 업고 1.0을 출시했을 때는 상용 도구로 개발될 예정이었으나, 불여우에 왠 뜬금없는 상용 툴? 뚝.

아 미안. 그냥 공짜임. 콜! 오픈소스다. BSD로. 아주 좋소!

어쨌든, 지금의 Firebug 화면과 유사하게 나온다. 콘솔과 DOM 검사기, CSS와 스크립트 디버거, 그리고 DOM 객체 구조와 네트워크 타이밍까지. 웹 개발에 있어서 제공하는 모든 것들을 제공했다.

현재는 쿠키와 프로파일러, 설정 등 다양한 기능들이 커뮤니티를 통해 제공했다.

그리고 웹 사이트 성능 측정 도구인 YSlow. 웹 개발자라면 다 아는 도구다. 야후까지 가세해서 Firebug는 웹 개발자가 모르면 간첩.

그리고 이에 힘입어 Firebug Lite 까지 출시했는데, Firebug를 다른 브라우저에서 돌리고 웹개발에 편의성을 주도록 개발한 녀석이다.

그래서 오페라 브라우저에 신경쓰는 웹 개발자에겐 가뭄에 비같은 도구로 잘 활용했었다. 지금은 오페라도 자체 개발자 도구 제공해서 상관은 없지만.

IE에게는 가뭄에 산성비같은 도구였다. Firebug가 느리기 때문인데, 이는 Firebug 문제가 아니라 JScript 엔진이 병신같아서 그런 거다. 엔진 자체가 느려 터졌다고.

하지만 IE 8부터 자체 개발자 도구가 생겼으니 굳이 고민을 할 필요는 없어보인다.

현재는 불여우에 자체 개발자 도구로 제공하고, Firebug 보다 더 빠른 성능을 제공해 주지만, 아직도 많은 불여우 기반 웹 개발자는 Firebug를 쓰고 있다.

여담으로, Firebug 또한 한국에서 최고의 개발자 도구로 주목받았을 땐 한글화해준 고마운 사람이 있었다, 하지만 그는 누군지 모르고, 게다가 현재는 Firebug 한글화가 진행되지 않고 있다.

그래서 현재 Firebug 는 받으면 영어로 나오며, Firebug 공식 홈페이지에 한글화 번역자는 등재되지 않고 있다.

왜죠?

6. 개발자 도구의 반격, Internet Explorer.

한국인이야 알다시피 IE는 웹 환경의 혁신(?)을 불러일으킨 브라우저다. 하지만 너무 자체적으로 표준으로만 만들었다 보니 다른 브라우저에서 안되고, 액티브엑스 때문에 갈라파고스화를 만들어낸 주범이었다.

물론 이것도 마소가 독점하려고 일부러 그렇게 만든건 맞다. 하지만 IE의 보안성 부재와 불여우의 선전, 그리고 구글까지 웹 브라우저를 만들고 나서려고 하니 마소에게 똥줄타지 않을 수가 없다보니…

IE 7을 출시했다. 사용자 측면에서는 탭 브라우징이 끝이다. 시발. 장난하냐?

그리고 IE 7의 실패를 맛본 마소는 이번엔 IE 8 을 출시했다. 물론 욕나오는 브라우저긴 하다. 버그 작렬과 쳐진 성능. 즉, IE 6에 익숙했던 똥컴에게 IE8은 지랄같은 존재였던 것이다.

하지만 마소가 이제 점점 웹표준 수순을 밟고 가려는 의도가 점점 보이고 있는 웹브라우저였고,

마소도 몇몇 기술을 웹 표준에 등록했는데, 대표적인 기술이 localStorage 다.querySelector 도 있긴 한데 제한적이니…

참고로 Ajax를 만들어게 이룩한건 IE의 ActiveX 였지만, 모질라의 XMLHttpRequest가 채택되고, IE에서는 XMLDOM 액티브엑스의 래퍼(Wrapper)로 쓰였다.

그리고 IE 8에서 F12를 누르면 개발자 도구가 나오는데, 혁신을 이루게 만든 하나의 기능이 있었는데 바로 “프로파일러”다.

자바스크립트 프로파일러는, 수집하는 동안 사용자가 브라우징하는 동안에 이벤트와 속성, 함수 호출 내역을 기록하는 기능인데, 사실 이걸 재대로 쓰는 개발자는 많지 않지만, 동적 UI 편의성 모니터링과 개선에 이만한 기능이 없다.

그리고 자바스크립트 디버거 성능이 장난이 아니었다. 비주얼 스튜디오로 나태한 디버거를 만들어낸 마소 답게, 비주얼 스튜디오 좀 만졌다면 IE 자스 디버거는 이보다 편할 수 없을 것이다. 굳이 안만져봤다 해도 상당히 좋은 기능으로 자리매김하였다.

하지만 IE 개발자 도구의 단점이 이런 장점을 덮어버렸는데,

DOM 검사기를 제공한 건 잘한 일이지만 동적이지 못한 단점이 있다. 즉, DOM 변경에 대응을 하지 않았다는 것이다. 수동으로 새로고침을 해야지 그 결과를 볼 수 있다. 상당히 불편한 기능이다.

그리고 자바스크립트 콘솔을 제공하는데, Firebug 가 다른 콘솔은 객체만 치면 객체의 대략적인 속성이나 constructor 가 뭔지 알 수라도 있는데, IE에서는 그저 [object] 로 나온다. 시발 어쩌라고.

그리고 네트워크 탭이 없었다. 물론 Fiddler 가 그 역할을 대신해주긴 했지만, Ajax나 동적 스크립트, 그리고 누락된 리소스 알아내는데 Fiddler 켜야 하니 불편하지 않을 수 없었다.

그리하여 IE 9에는 네트워크 탭이 생겼는데, 이녀석인 프로파일러처럼 개발자가 키면 수집하고 안키면 수집 안하는 식이다.

이는 어찌보면 편하기도 하고 불편하기도 한데, 내가 쓴 바로는 그닥 불편하지 않고, 필요한 경우에만 켰다가 필요없는 경우에 끄는 기능도 괜찮다고 생각한다. 키고 끄는게 가능하지만 조금 불편한 감이 있는 Firebug와, 아예 수집만 주구장촹 하는 웹키트 기반에 비해서 IE는 IE만의 특징이 있다고 보면 된다.

IE 10까지 별다른 진척 없다가 IE 11에서 개발자 도구가 플랫 UI를 안고 탈바꿈 하였는데, IE 11의 DOM 검사기는 이제 수동으로 새로고침 안해도 변경되면 반영하게 됐다. 그 외 나머진 별 다를거 없고.

그리고 UI 응답성 테스트가 생겼는데. 그냥 YSlow 비슷하다 보면 된다. 일종의 프로파일러다. UI가 렌더링된 시간을 기록하여 시각적 결과를 제공해준다. 이건 잘만든 기능이다.

이렇게 IE의 개발자 도구도 강력해지긴 했는데, 아직도 고질적인 문제는 IE는 각 버전마다 렌더링이.. 시발.. 아주그냥.. 시발..

7. Webkit, 개발자 도구로 대동단결.

맥으로 웹개발하는 사람이라면 알겠지만, 사파리나 크롬이나 개발자 도구는 똑같이 생겼다. 그 이유인 즉슨, 둘 다 사용하는 엔진인 웹키트가 개발자 도구를 대동단결했으니까. (웹키트 엔진에 번들로 제공한다고.)

웹키트의 개발자 도구는 조금 늦은 감이 있다. 웹키트 자체 DOM 검사기가 2006년에 소개됐으니까.

하지만 초기에 기능이 워낙 강력해서 Firebug 보다 나았던 시절도 있었다는 것.

왜냐면 이녀석은 시각적 효과가 화려하게 제공되고, 자바스크립트 콘솔이 강력했다. 자동완성을 먼저 지원했기 때문이다.

사실 IE 8과 비슷한 시기에 웹키트 기반 개발자 도구가 대중에 공개됐는데, Firebug 에 비해 이녀석은 아예 그냥 모든 사이트라면 F12 만 누르면 죄다 수집하고 분석하고 기록한다.

어찌보면 편하기도 하지만, 프레임으로 지속적으로 불러오는 웹 사이트 구조라면 계속 수집해서 목록이 늘어날수록 성능이 떨어지는 단점이 있다. 이는 어쩔 수 없다.

그래서 조금은 불편한 감이 있기도 하다. 왜냐면 Firebug 와는 달리 특정 기능만 키고 끌 수가 없으니까.

그래도 나름 웹키트 다운 면모가 있다.

그리고 사파리와 크롬은 결국 개발자 도구도 다른 길로 걷게 되는데, 사파리는 웹키트의 주를 이루니 웹키트 흘러가는대로 가지만, 크롬은 웹키트 변형 엔진인 블링크를 만들어 쓰기 시작해서 지금도 비슷하게 생겼지만 점점 달라지고 있다는거.

8. 마치며.

사실 각 플랫폼별로 나열했기 때문에 누가 먼저 하고 그다음 누가 했는지 햇갈릴 것이다. 그건 필자도 인정한다.

한가지 분명한 사실은, 넷스케이프에서 가장 먼저 개발자 도구를 만들기 시작했고, 그 전신을 이어받은 모질라가 먼저 개발자 도구를 만들고 선도한 것은 틀림없는 사실이다.

불여우가 웹 개발자를 위한 브라우저라고 누차 강조한 이유가 그 역사를 달고 태어났기 때문이라고 나는 자신있게 말한다.

어쨌든, 이렇게 개발자 도구가 서로 경쟁하고 선도하고 발전하면서, 웹 개발이 이렇게 발전할 수 있었던게 아닐까 싶다.

웹 디자인도, 웹 개발에 초석이 되지 않았다면, 가뜩이나 웹 디자인에 가장 많은 의존을 하는 CSS 개발도 어려웠을 것이다.

생산성도 향상되고 디자인도 여러가지로 화려해졌지만, 그렇다고 단가가 낮아진 건 아니다.

클라이언트가 요구하는 건 점점 더 다양해지고, 이를 수용할 수 있는 웹 디자이너와 개발자는 그만한 가치가 있기 때문이다.

이렇듯 웹 개발자 도구는, 절대 무시해선 안될 도구다. 특히 웹 개발자는 더. 액티브엑스? 몰라. 그딴거.

개발자 도구. 고맙게 쓰자.

composite / 2014년 2월 10일 / 미분류 / 0 Comments

HTML5 API 정리 프로젝트 1

그렇다. 앞서 포스트에서 설명했듯이 나도 몰랐던 API가 우후죽순 생겼다.

하지만 앞으로도 계속 제안되고, 표준으로 등록되는 API가 많아질 것이다.
왜냐면 아직 표준 확정이 아니고 W3C에서도 Working Draft 상태거던!
이지랄을 하니 HTML5 과 HTML5.1 분리하자고 W3C에서 난리 브루스를 친다.

좋다. 그렇다면 현재 제안되어 Editor’s Draft 라도 나온 API를 알아보도록 한다.

물론 이미 알려져서 많은 이들이 알고 있는 API도 많지만, 나조차도 몰랐던 API가 속속 들이대기 시작할 것이다.

  • Fullscreen API 많이들 알거다. HTML5 게임이나 프리젠테이션을 위한 전체 화면.
  • Page Visibility API 말이 거창하지 그냥 다들 알고있는 모든 태그에 hidden 속성이다. style.display=’none’ 이냐 아니냐.
    하지만 더 특징은 hidden 속성 변경에 따른 이벤트를 제공한다는 점이다.
  • getUserMedia API 이것도 많이 알려져 있듯이 카메라에서 나오는 데이터를 HTML 미디어 표현 요소 <canvas>나 <video> 로 전달할 수 있는 API다.
  • Battery API 이건 순전히 모바일을 위한 API다. 뭐.. 제공해봐야 딸랑 배터리 얼마나 남음이겠지만. 아.. 노트북도 있지.
  • Link prefetching 별거 없고 그냥 미리 불러올 URL만 지정해서 해당 페이지로 이동할때 로딩 없이 바로 이동하는 목적이 있다.
  • WebMIDI 순수 웹으로 미디를 재생한다. 참고로 추억의 게임 포트리스2 블루가 음악이 MIDI 인데, 이걸 돌릴 수 있다. 근데 원본 가지고 있는 이가 얼마나 될런지 모르겠다. 근데 한국은 이런거 관심 없나보다. 추후 내가 포스팅 올리겠다.
  • Vibrate API 말그대로 진동 API로, 스마트폰의 진동 기능과 연동하는 API다. 현재 안드로이드 크롬 베타와 안드로이드 불여우가 지원하고 있다고 한다. 이제 순수웹으로 딜… 아니다.
  • History API 브라우저의 뒤로가기 앞으로가기 뿐만이 아니라 URL과 해시를 갖고 놀 수 있는 API로 뭐 많이들 알려져 있으니 패스.
  • Drag n Drop 요소 드래그앤 드롭. 물론 스크립트로 만든 드래그앤 드롭에 비하면 좀 엉성하지만 모든 환경에 지원하려면 이렇게 해야지. 많이 알려진 기능이다.
  • Geolocation 걍 GPS잖아. 알잖아. 내가 굳이 설명해줘야되?
  • Offline 인터넷 안되도 문서는 봐야겠지? 가지고 댕기면서 뭔가는 해야겠지? 그럼 이거야.
  • Messaging 다른 도메인인라고 스크립트 막는다? 응 그건 맞아. 하지만 이제 간단하게 서로를 전달이라도 할 수 있다는점.
  • Web Workers 자바나 닷넷의 쓰레드 역할. 백그라운드 실행을 담당할 API다. 구버전 IE야 지원을 안하지 그래도 웹오피스에서 이게 무거운 처리에 1등공신이다. 이제 무거운 스크립트를 직접 실행할 필요 없다. 이녀석에게 맡기면 브라우저가 얼지 않고 계속 즐길 수 있다.
  • Storage 단순한 저장 기능이다. 그 이상 그 이하도 아니다. 세팅값 저장에 이만한 거 없고 IE 8부터 지원한다. 당장 채용해도 된다. 근데 이벤트도 있는데 이건 안타깝게도 IE 지원은 안한다.
  • Indexed database 순수 웹상의 DB다. 당연히 도메인 단위로 쓸 수 있다. 하지만 NoSQL이다. 이거 이전에 SQL DB로 지정된 Web SQL Database 도 있긴 하지만 접근성이 떨어지고 기술적인 한계로 표준에서 배재된지 오래다. 이것도 많이 알려져 있으니 알아서 찾아봐.
  • Web sockets 존나게 많이 알려져있고 순수 웹으로 만드는 채팅 등 실시간 소켓통신의 선두주자 웹소켓이다. 구글링해라. 내손아프다. 기쁜소식 하나 알려줄까? 이녀석의 인기가 하늘을 치솟다보니 많은 참여와 수정으로 이제 거의 표준 확정이 되가고 있다.
  • Server-Sent Events7 푸시 알림의 HTML5 버전이라고 보면 된다. 한국에서는 웹소켓 때문에 얘기 묻혔지만 무시하지 마라. 구현이 쉽고 polyfill이 쉽게 제공되기 때문에 웹 사이트상의 푸시 알림이나, 실시간 정보 알리미에 이만한 API가 없다.
  • Microdata 시맨틱 정보 수집에 특화된 API다. 검색 잘되라고. 광고에 관심있다면 이것을 눈여겨보는것도 좋은 선택이다.
  • File API 어쩌다 보니 표준이 됐다. 좀 늦게나마 표준에 포함되서 다행이지. 파일을 말 그대로 다루는 API다. 물론 사용자 컴퓨터에 있는 파일을 맘대로 다룰 수 없고, 사용자가 파일을 요청해야만 다룰 수 있다. 그래봤자 예제는 업로드 뿐.
  • Web Notifications 알리미 API다. 현재 크롬에서 재대로 지원하고 있다. 당연히 사용자 승인이 요구되지만, 이 API가 있다면 CRM, 그룹웨어 같은 엔터프라이즈급 고객/자원관리 어플리케이션에 레드불이 날개를 달아준다.
수집하기 왜이렇게 힘드냐.. W3C 한국지사에 멜좀 보내야겠다. 정리하기 빡세네..

<

p>

composite / 2014년 2월 6일 / 미분류 / 0 Comments

composite / 2014년 1월 27일 / 미분류 / 0 Comments

편의점 군대버거 비교

한 방송에 군대 홍보인지 뭔지 하여튼 무슨 방송과 군대리아 썰이 유행이 되면서 군대리아 상품이 올랐고,

거기에 질세라 편의점에서 각기 다른 군대버거를 출시했다.

세븐일레븐같은 경우 군대 컨셉을 가진 버거가 가장 일찍 나왔으며, 이번 진짜사나이란 프로 방송 이후 군대리아 찾는 사람이 늘면서 군대리아 컨셉의 버거를 개발, 출시한 듯 하다.

  1. CU – 추억의맛 진짜사나이버거 오리지날

가격 – ?

구성 – 야채샐러드, 패티, 잼

총평 – 쨈맛이 강하고 밸런스가 붕괴된 맛. CU는 일반 햄버거가 나을 듯 하다.

별점 – 1 / 5

  1. 세븐일레븐 – 이수근 이등병버거 군대리아

가격 – 1600원

구성 – 야채샐러드, 패티, 잼

총평 – 야채가 패티의 밸런스를 유지하면서 식감을 자극하지만 무언가 빠진 느낌이 든다.

별점 – 2.5 / 5

  1. GS25 – 진짜사나이 군대리아

가격 – 1600원

구성 – 가공샐러드, 패티, 잼, 치즈

총평 – 조금이나마 군대리아를 재현한 듯한 구성과 맛. 야채샐러드는 없지만 충분한 커버.

별점 – 3.5 / 5

  1. 미니스톱은 출시했는지 모름.

내가 왜 이걸 먹어봤나? 단순히 군대리아 향수 때문은 아니다. 일단 나는 편의점을 가끔 들르는데, 거기서 새로운 게 나오면 한번 먹어보고 보는 편이다. 물론 혼자서 못먹거나 술, 담배 등은 빼고. 담배는 근데 먹는게 아니잖아. 어자피 담배 피지도 않지만.

순서는 내가 먹어본 순서다. 나온 순서가 아니다. 나온 순으로 치자면 2->1->3 이다.

주의 : 편의점 즉석식품은 첨가물이 많이 들어있기 때문에 밥처럼 자주 먹는 습관은 건강에 문제를 일으킬 수 있으므로 땡길때 가끔 먹는 편이 좋다.

(나처럼 과거에 매일 아침마다 편의점음식 주기적으로 먹다가 살찌지 말라고.)

composite / 2014년 1월 24일 / 미분류 / 0 Comments

cutoff prevention

5년 이상된 internet meme 지만 지금도 많이 쓰이는데 소개한 곳이 없어서 내가 소개한다.

우리말로 말그대로 “짤림방지” 다. 짤방이라 해도 된다. 비슷한 개념이니까.

우리나라의 짤방은 디씨에 갤러리 게시판 특성상 사진이나 그림 안올리면 짤리기 때문에 글 안짤리려고 별 의미없는 그림 올린게 유래됐다.

그에 반해 미국은 유튜브로 몇 초밖에 안되는 병맛영상을 만들어 보여주는데, 너무 짧으면 아예 안틀어져서 보여주기 어려워 쓸데없는 그림이나 영상으로 몇초 더 연장시키려고 한 게 유래라고 한다.

유래와 사용은 비슷하지만 목적은 틀리다. 하지만 그래도 “짤리지 않으려고” 애를 쓴 거라는건 공통적인 사실이다.

이 유행은 Internet meme 중 하나이다. 5년전에 Team Fortress 란 게임이 유행하고 나서 그들의 캐릭터로 웃기는 영상에서 이 cutoff prevention 을 많이 써서 많이 유명해졌다. 물론 그밖에 짧고 병맛 영상에도 많이 쓴다.

composite / 2014년 1월 24일 / 미분류 / 0 Comments

비즈니스를 위한 node-webkit 데모를 지금 공개한다!

비즈니스에 node-webkit 를 관심가져야 하는 이유를 글 올렸었다.

하지만 아직도 망설이거나 개소리라고 하는 인간들 있을거다. 내가 다 안다.

그래서 준비했다. 나는 결과물을 통해 주장을 증명하고, 근거를 제시한다.

더이상 긴 말 안하겠다. 프로젝트 가서 설치법 및 실행법 보고 체험하라.

https://github.com/composite/NodePlatform

XPlatform 같은 비즈니스 CRUD를 순수 웹과 node-webkit 로 구현했다.

끝.

윈도우 사용자를 내가 열심히 배려했다. 단일실행파일 배포한다.

http://www.solidfiles.com/d/c5df88cb09/

다운받고 실행만 하면 된다. 소스? 프로젝트 사이트 가라니까 좀.

다른 운영체제? 미안하지만 회사컴에 맥이나 리눅스가 없어서.

composite / 2014년 1월 15일 / 미분류 / 2 Comments

임베디드 JSON 기반 Document DB – EJDB

아마 모바일에서 아는 사람은 쓸 것이다. 모바일에 딱좋은 저장소가 딱히 없는데, 이녀석이 딱좋거든. JSON 짱짱맨.

http://ejdb.org/

MongoDB 같은 임베디드 DB를 지향한다고 한다. 그래서 그런지 BSON 표준을 사용하고 있다.

Tokyo Cabinet 소스를 사용해서 만들었다.

도쿄캐비넷이 뭐냐고? 고전적인 NoSQL DB이다. 한국에서는 잠잠했다가 NoSQL 이 뜨면서 쁑 튀어나온 게 한국이 왜 DB를 SQL에만 의존하는지 보여주는 대목 되겠다. 뭐.. 리눅스에서 빌드해서 써야 하는 귀차니즘도 한몫 했지만.

됐고. 이걸 왜 소개하냐? 모바일이야 뭐 쓴사람은 안다. 우왕ㅋ굳ㅋ.

그렇다면 이걸 당신의 앱에 접목한다면 어떨까? 당! 신! 앱!

EJDB는 아래 언어에 바인딩 되어 있다.

나온 순서대로 기록하니 해당되는 언어에 쓰면 되겠다.

원래 C언어이기 때문에 유의해서 쓰도록 한다.

커뮤니티 참여이지만 공식 패키지이기 때문에 믿고 쓰도록 하자.

EJDB나 토쿄 캐비넷이 수동으로 빌드해야 한다고 윈도우 유저들이여 서운해 마라. 윈도우 프리빌드 패키지가 있다.

참고로 node.js 모듈이 기본이기 때문에 node.js 개발자는 걍 써!

닷넷과 자바 개발자의 경우 메모리 걱정으로 임시 저장소나 캐시 등이 걱정된다면 이 솔루션을 고려해 보는것도 좋다.

근데 닷넷은 4 이상이 요구된다. 자바는 1.6 이상이다. 닷넷개발자들 ASP.NET MVC 3 이상이 아니면 “아아 울고싶어라…”

composite / 2014년 1월 13일 / 미분류 / 0 Comments

데스크탑 앱의 홀릭, Brackets-shell 빌드하기 자료 소개.

뭐.. 내컴이 윈도우라 지랄같을 뿐이다.

일단 Brackets-shell 로 데스크탑 앱 개발하기 위해 고군분투를 할 것이다.

어도비에서 직접 지원을 하고 있고, 크로미움 기반이며, 소스가 MIT이기 때문이다.

Node-webkit 는 네이티브 플러그인 지원 측면에서 차별화된 양상을 보이지만,

bracket-shell 은 기존 node 네이티브 플러그인을 갖다 쓰거나 당신의 씨뿔뿔로 만든 라이브러리를 같이 쳐넣을 수 있기 때문에 더 주목을 받지 않은가 싶다.

이 링크를 참고하면 내가 왜 이리 씨뿔뿔부렸는지 알 것이다. 물론 영문이다.

http://clintberry.com/2013/native-desktop-javascript/

https://github.com/joelrbrandt/brackets-simple-node (이건 예제)

게다가 기본이 크롬리스 윈도우(테두리 없다고)이고, API가 안정적으로 제공되고 있는 측면이 힘을 발휘한 듯 하다.

어찌됐던 간에. Brackets-shell 을 빌드하여 커스텀 앱을 만드는 여러가지 팁이 있으니 소개해 보겠다.

나는 윈도우 기준으로 빌드를 할 거기 때문이고, 그리고 그렇게 할 것이기에, 윈도우 빌드방법 및 후기를 내가 직접 겪어봐서 올리도록 하겠다.

지금 나온 팁들은 죄다 맥 기준이다. 어도비는 맥에서 짱먹었으니.

http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/ (영문)

http://steamboatlabs.com/blog/brackets-native-desktop-apps-with-html-js-css/ (영문)

http://uiandwe.tistory.com/891 (한글 용자 등장, 물론 맥.)

어느 프레임워크를 선택할 지는 당신 마음이지만, 응용 프로그램의 다양성과 웹의 생산성 둘을 합친 비즈니스 앱의 강점은 내 블로그에 잘 설명되 있으니 보도록.

http://blog.hazard.kr/117

데스크탑 앱 만들기. 조또 없다.

근데 시발 Windows SDK가 안깔려…

composite / 2014년 1월 10일 / 미분류 / 0 Comments

요즘 웹디자인 대세는 점점 되돌아가는 방향으로 가는 것인가?

아마 앞으로 나간 디자인은 글로시 디자인(Glossy Design)인 것 같다. 확실히 미래지향적으로 느껴지는 디자인이었으니.

PNG의 보급과 CSS 의 입지가 커짐으로써 같이 주목받고 유행했던 디자인이었다. 2012년까지는.

그리고 2013년 플랫 디자인으로 유행을 했는데..

이제는 디자인 패턴이 되돌아보자는 차원인지.. 모르겠다.

물론 이게 나쁜것만은 아니다. 디자이너는 원래 유행을 좇는 종특을 가지고 있다고 하면 디자이너가 나 죽여 팰 것이고.

유행을 만들던 따르던 그건 당신 마음이지만 일단 유행은 그렇다고.

그리고 2013년 후반기부터 플랫 디자인에 힘입어 새로운 패턴이 등장했으니 바로 카드 디자인이다.

님들 페북이나 튓터 많이 하잖아. 글 하나하나마다 영역이 분리돼있지? 그게 카드 디자인이라고. 납득 ㅇㅇ?

어쨌든, 왜 카드 디자인이 2014년 디자인을 유행할 아이템인 것인가?

간단하다. 나 따라해봐.

  1. 니 명함을 본다.
  2. 니 명함을 스마트폰에다 갖다대본다
  3. 올ㅋ

그렇다. 카드 디자인은 모바일 장치에도 대응할 수 있고, 글 하나하나 영역이 뚜렷하기 때문에 어렵지 않게 볼 수 있다는 장점이 있다.

플랫 디자인은 영역이 “공백의 미” 라면, 카드 디자인은 “영역의 미” 인 것이다.

이 카드 디자인의 첫 상용화의 신호탄은 페이스북인가? 아니다. 의외로 새로운 서비스가 신호탄을 때렸다. 핀터레스트다. 사진 기반 소셜. 여자들이 모르면 간첩인 서비스다. (몰랐다구여? 죄송해여.)

페이스북도 사실 카드 디자인을 반영한 것 맞지만, 글로시도, 플랫도 아닌, 뭔가 리트로하고 심플하며 조금이나마 입체감 있는 디자인 패턴이 주류였다. 물론 지금은 IOS 7 신호탄 때릴때 플랫한 카드 디자인을 채용했다. 좀 됐지만.

구글도 이미 이를 따라갔고, 구글쁠라쓰 가면 카드 디자인이 담긴 메시지가 당신을 반길 것이다.

하지만 역시 디자이너의 글이 내 글보다 더 와닿을 것이다. 아래 글을 참고하라.

http://insideintercom.io/why-cards-are-the-future-of-the-web/ (원문)

http://radiofun.tumblr.com/post/60843934125/why-cards-are-the-future-of-the-web (한글번역)

비디자이너가 카드 디자인이 왜 유행인지 한번 내가 납득시켜주겠다.

쿠폰 봐봐. 존나 눈에 확들어오지? 그거야.

카드 디자인의 핵심을 다시한번 짚어보고 끝내겠다.

  • 정보 전달의 집중성.
  • 다양한 활용 능력.
  • 작지만 많은 것을 담을 수 있는 수용력.

ㅇㅋ?

이해 못하겠으면 내가 링크한데 가보랑께?

그럼 끝. 개발자가 존나 나불대봐야 디자이너와 개발자는 논란의 시발점이지. 물론 나처럼 안싸우는 사이도 있긴 하지만.

이렇게 기존에 실생활에 쓰던 디자인이 웹 디자인의 중심이 되고 있다.

그래서 나는 되돌아가는 방향으로 가고 있나 의심을 해봤다.

근데.. 되돌아간다기보다는 되짚어본다가 맞는 것 같다.

카드라고 해서 옛디자인으로 돌아가는 건 아니다. 디자인은 계속 진보되고 있는 사실은 확실하다. 베충이도 이해시켜줄까? 이게 팩트라고.

기존의 것에서 활용하는 것으로 시작된 웹 디자인. 플랫디자인부터 시작해서 카드 디자인,

이제 다음 디자인은 어디서 발견할 것인가? 이목을 집중시킬 만 하다.

진짜 끝.

composite / 2014년 1월 10일 / 미분류 / 0 Comments