본문 바로가기

보다 빠르고 안전한 https 통신을 위한 트릭 - OCSP 와 OCSP Stapling 대세는 https 입니다. 새로운 http 표준인 http/2 (aka h2) 는 Clear Text 에 관한 규약을 가지고 있긴 하지만 시장에 있는 대부분의 브라우저들은 TLS 기반의 통신을 http/2 를 이용하기 위한 기본 조건으로 내걸고 있습니다. 프로토콜의 변화 뿐만 아니라 렛츠인크립트(Let's Encrypt)와 같은 무료 인증서 배포가 대중화되기 시작하면서 스트리밍(Streaming)과 같이 레이턴시(Latency)에 민감한 부문을 제외하면 전반적인 https 로의 전이가 그리 오래 걸릴 것 같지는 않습니다. WWDC 2016 에서 애플은 ATS 에 대한 정책 강화를 통해, 앱의 인터넷 구간 통신 프로토콜로 https 를 강제하기 시작했습니다. 자세한 글을 [이곳에서] 읽으실 수 있습니다. ..
HTTP 응답의 캐시 관련 헤더는 어떤 값을 어떻게 넣는 것이 좋을까? 웹 서버의 응답은 브라우저나 프록시, CDN 등 모든 계층에 있어서 중요한 값입니다. 특히 컨텐츠가 캐시되어야 하는 경우 혹은 캐시되지 말아야 하는 경우에 대하여 정확한 지시자(Directive)를 내려주지 않으면 잘못된 정보가 캐시되고 다른 사용자들과 공유되어 보안사고나 정보 유출이 있을수도 있고, 엉뚱한 컨텐츠가 캐시되어 제대로된 서비스가 제공되지 못할 수도 있습니다. 따라서, 정확한 헤더와 적절한 지시자를 내려주는 것이 중요합니다. 공개되어 있는 완성된 제품 (예: 워드프레스) 을 이용하는 경우에는 솔루션이 적절한 헤더 값으로 응답을 합니다만 직접 모든 것을 개발한 웹 서버, 웹 서비스라면 필요한 값을 적절히 지정해주어야 합니다. 단순한듯 복잡한 HTTP 헤더의 세계이기에 어떤 값을 어떻게 써야하는..
웹 사이트의 Frond End 성능 최적화는 왜 중요하고 어떻게 해야 할까? 최근 멀티 폼팩터 디바이스들이 사용자들에 의해 사용되면서 웹 사이트 개발, 서비스 하는 분들의 고민이 참 많습니다. 웹 사이트는 결국 사용자 브라우저 입장에서는 HTML 과 CSS 그리고 여러가지의 Resource File 로 구성된 집합체입니다. 웹 사이트를 제대로 최적화하기 위해서는 내 서비스가 가지고 있는 약점이 무엇이고 어떻게 개선할 수 있을지를 찾아내는 것이 중요하다 하겠습니다. 슬라이드 쉐어에서 발견한 자바까페(JavaCafe) 김흥래 님이 정리해서 올려주신 슬라이드 자료는 (13회 자바 개발자 컨퍼런스에서 사용된 자료인 것 같습니다) 그동안 본 자료들 중에서도 가장 쉽고 임팩트 있게 설명해주신 자료라 생각되어 공유해 봅니다. 슬라이드만 공유되어 있어서 실제 세션 발표하시면서 해주셨을 이야기가..
node.js - express 모듈 : 정적인 메세지를 출력해보자 node.js 의 다양한 라우팅 모듈들 중 가장 사랑받고 있는 모듈이 express 가 아닐까 싶습니다. 사용법이 간단하지만 상당히 훌륭한 기능을 제공하고 있기 때문에 애용하는 분들이 줄어들지 않는 것 같습니다. 새로 간단한 웹 페이지를 구성할 일이 생겨서 간만에 express 를 다시 만지다 보니 버전이 올라가면서 바뀐 부분도 있고 헷갈리는 부분도 있어서 기록삼아 남겨둡니다. $ npm install express express 를 이용하기 위해서는 우선 node.js 가 설치되어 있어야 하고 npm 을 통해서 express 를 설치해야 합니다. 레파지토리를 통해 express 의 설치가 완료되면 간단한 코드를 이용하여 정적인 메세지를 출력해 봄으로써 설치가 잘 되었는지, 기본적인 사용법이 어떻게 되는..
자바스크립트 비교 구문의 재미있는 동작들, Javascript Equality Table 자바스크립트는 참 편리한 스크립트 언어이지만 다른 한편으로는 이해하기 힘든 녀석이기도 합니다. 이유인 즉선 너무 유연하게 사용할 수 있다보니 가끔 일반적인 언어, 컴퓨터 상식으로는 "왜 이렇게 동작하지?" 하는 경우들이 있기 때문입니다. 가장 대표적인 것이 조건 비교문을 이용하여 변수나 객체를 비교할때 입니다. 잘 동작할 것으로 생각했던 구문들이 정상적인 동작을 하지 않거나 예상치 못한 반응을 한다면 혹시 아래 표에 나온 경우중 하나가 아닌지 잘 살펴봐야 합니다. 아래 표는 http://dorey.github.io/JavaScript-Equality-Table/ 에서 업어왔습니다 Boolean 값인 True 와 1은 같은 값일까요? 그리고 True 와 "1"은 같은 값일까요? 조금 더 나아가 True 와..
[웹사이트/튜닝] 세계 각지에서 내 웹사이트의 속도를 측정해보자 - Webpagetest.org 웹 사이트 혹은 웹 서비스를 글로벌 사용자들을 대상으로 제공하고자 할 때 가장 걸리는 것이 바로 속도문제입니다. 내 서버가 어디에 위치하고 있느냐에 따라 엔드유저가 접근하는 시간이 달라질 수 밖에 없기 때문입니다. 아마존과 같은 클라우드 인프라 서비스는 세계 여러곳에 지역(Region) 센터를 두고 있어 이런 문제점을 어느정도 해결할 수 있게 해주고 돈을 조금 들인다면 아카마이와 같은 CDN 서비스를 통해 손쉽게 웹 트레픽의 속도를 보장할 수 있습니다. 그렇지만 개인 개발자라던가 아직 서비스에 대한 클라우드 인프라 투자, CDN 전송망의 사용이 힘든 상황이라면 얘기가 조금 다릅니다. 이런 경우라면 최대한 웹 사이트를 최적화하여 HTTP 세션이 맺어지는 불가피한 오버헤드를 제외한 나머지 웹 컨텐츠, 오브젝..
OAuth 가 도대체 무얼까? 이미 아시는 분들은 패스하셔도 되는 포스팅입니다. ^^ OAuth 라고 들어보신 분들 많으시죠? 하지만 관련한 도큐멘테이션을 하나씩 읽으려고 하다 보면 몇 장 못넘기고 포기하신 분들도 꽤 많을 것 같습니다. 트위터 서드파티 라이브러리를 검색하다가 많은 라이브러리들이 LinkedIn 의 에반젤리스트가 작성한 OAuth 에 대한 가이드를 올려둔 슬라이드 쉐어를 많이 공유하고 있더군요. 그래서 가볍게 업어 왔습니다 ^^ 한번 읽으면 잘 이해 안되는 부분도 많겠지만 두번, 세번 읽으면 감이 좀 오실지도 모르겠습니다! (사실 저도 감잡고 있다는 ㅋ) 어떠신가요? 그래도 간단하게 설명된 축에 속하는 문서라고 생각됩니다. 실제로 OAuth 인증을 받는 코드를 만들어 가시면서 보다 세세한 부분들을 보게 되시겠지만 큰 ..
RIA 세상의 새로운 도전, Silver Light 4 / 김영욱 Evangelist 윈도우 폰 7 의 출시가 세달 정도 앞으로 다가왔습니다. 수많은 사람들이 새로운 세상을 꿈꾸며 윈도우 폰 7 을 기다리고 있을 것 같습니다. 이미 알려진 것처럼 윈도우 폰 7 에서는 C# 와 Silver Light 이 핵심 기술로 자리잡고 있습니다. 기존의 윈도우 모바일로 개발된 많은 UI / UX 들은 재활용되기 힘든 상황이지만 비지니스 로직이 C# 으로 되어 있다면 그나마 조금 나을 것 같습니다. 윈도우 폰 7 어플리케이션 개발을 위해 우리가 공부해야 할 것들이 참 많아 보입니다. 월간 마이크로소프트紙에도 6월부터 8월까지 세달에 걸쳐 윈도우 폰 7 개발 기초 강좌가 진행중이니 이걸 먼저 참조하면 좋을 것 같구요, 그 외 Silver Light 4 자체에 대한 학습을 위해 개론성격의 강의를 MS 의 ..
ASP.NET 4.0 의 새로운 기능들 (김수영 MVP) 간만에 MS 쪽 기술 Follow-Up 을 다시 시작했습니다. 그동안 회사 업무니 뭐니 바빴다가 이제 정신 좀 차리면서 따라 잡을거 따라잡고 하는 중이네요. 아직도 머릿속엔 alloc / init 이 가득차 있지만 이제는 멀티 트랙으로 움직여야 할 시기가 된 것 같네요 :-) 올해 초에 온라인으로 개최한 한국 마이크로소프트의 개발자 컨퍼런스 동영상 중 몇가지를 좀 공유할까 합니다. MSDN 에 있는 링크 영상이 너무 사이즈가 작아서... 조금만 더 키워 보고자 하는 것이 첫번째 이유지만 여튼... 좋은 것은 나눠야 배가 되니까요 :-) - NoPD -
HTML5 - Web SQL Database 를 통한 로컬 DB 엑세스 어쩌다보니 요즘 HTML 5 에 본의 아닌 관심을 가지고 있습니다. 시류는 앱(App)의 시대라 앱에 비중을 두는게 맞으나 결국 중기적으로 웹(Web)이 다시 중심을 가져갈 수 밖에 없는 시황(?)이라 적절히 밸런스를 유지해야 할 것 같습니다 ㅎ. 1. HTML 5 공식 스펙문서 : http://dev.w3.org/html5/webdatabase/ 2. Safari 에서 Web SQL 사용 : http://tinyurl.com/2c2dkcb 3. 1번의 간략/핵심 버전 : http://openbit.co.uk/?p=135 핵심은 구글 Gears 나 뭐 모종의 로컬 DB 엔진을 쓰지 않고도 HTML 5 의 기본 스펙을 이용해서 로컬 저장공간을 만들 수 있되, 얘들이 다들 잘 알고 있는 SQL 문으로 핸들링..