728x90
애플이 얼마전 끝난 WWDC (World Wide Developer Conference) 에서 새로운 언어인 Swift 를 발표했습니다. Swift 는 기존의 Objective-C 와 마찬가지로 Apple Foundation Framework 에 기반하고 있는 언어입니다. Xcode 6 에서부터 지원이 되며 Objective-C 와 혼용하여 개발이 가능한 스크립트 스타일의 언어라고 보면 될 것 같습니다.

Swift 는 이제 막 발표된 언어이기 때문에 공부를 하기 위한 자료가 많지 않습니다. 이럴때는 공식 자료로 배포되고 있는 것을 찾아보는게 좋은데요, 역시 애플이 아이북스(iBooks)에 공식 튜토리얼을 올려두었습니다. 영문 버전으로만 배포되고 있어서 조금 아쉽지만 일단 가장 기본이 되는 레퍼런스로 쓰면 좋을 것 같습니다.


애플 스위프트(Swift) 공식 문서 다운로드 받기 [바로가기]


영어로 공부하는 것이 가장 좋습니다만 부담되시는 분들은 한글로 번역작업이 진행된 스위트프(Swift) 언어 개발문서 페이지를 참고하시면 좋을 것 같습니다. 아직 자세히 살펴보지는 못했으나 OSX Dev 의 멤버분들이 의기투합하여 공동 프로젝트로 진행한 번역 산출물로 퀄리티가 괜찮을 것 같습니다. 


스위트프 언어 개발문서 한글화 프로젝트 살펴보기 [바로가기]


이제 스위프트에 푹 빠져볼 시간입니다. 첫장을 펼치고 공부를 시작해 볼까요 -_-;; 

- NoPD -

 
728x90
728x90
요즘 웹 업계가 난리입니다. 사실상 표준처럼 사용되고 있는 오픈소스 라이브러리인 OpenSSL 에서 취약점이 발견되면서 SSL 터널링과 관계 없이 사용자의 민감한 정보가 노출될 수 있는 문제가 확인되었기 때문입니다. OpenSSL 라이브러리에 대한 패치와 기존에 발급된 인증서 갱신도 중요하지만 Heartbleed 가 왜 이리 큰 이슈가 되는지 아는 것도 중요해 보입니다.

워낙 관련된 문서들이 많이 나왔고 테크 블로그나 IT 전문 매체에서도 잘 다루어 준 덕분에 이해하기 어렵지 않지만 누군가에게 이걸 다시 설명하라고 하면 구차하고 잡다한 이야기를 늘어놓게 되지요. 간단하게 정리된 웹 사이트가 있어서 소개해 드리면서 해당 사이트가 그림으로 이해하기 쉽게 그려둔 그림을 공유해 봅니다. 이해가 아주 깔끔하게 되네요!

출처 : Forumsys (http://www.forumsys.com/api-security/how-to-fix-openssl-heartbleed-security-flaw/)

 
평상시 사용자들이 브라우저로 TLS/SSL (쉽게 말해 HTTPS 요청이라고 생각하시면 됩니다) 터널링을 맺고 나면 OpenSSL 라이브러리는 생성된 세션이 유효함을 확인하기 위해 5바이트의 HELLO 메세지를 전송하는 Heartbeat (심장박동?) 를 전달하게 됩니다. 클라이언트 (보통 브라우저겠죠) 와 서버는 지속적으로 이 행위(?)를 반복하며 채널을 유지합니다.

출처 : Forumsys (http://www.forumsys.com/api-security/how-to-fix-openssl-heartbleed-security-flaw/)


그런데 이번에 발견된 OpenSSL 의 문제점은 Heartbeat 를 5바이트 이상으로 전송하더라도 이에 대해서 서버가 같은 바이트 크기만큼 메모리의 정보를 읽어서 응답하는 데에 있습니다. 악의적인 사용자가 서버의 메모리에 저장된 특정한 주소의 정보들을 쉽게 추출해낼 수 있는 방법이 생긴 것이지요. 이의 해결을 위해서는 OpenSSL 라이브러리를 갱신하고 발급된 인증서를 재발급 받는 등의 절차가 필요합니다. 보다 자세한 내용은 원문을 참고하시기 바랍니다!





728x90
728x90
파이썬은 2.x 대와 3.x 대가 있는데, 서로 호환성이 없음
일반적으로 많이 사용되는 2.x 대를 설치

- 설치안내 : http://python.org/download/releases/2.7.6/


파이썬 패키지 관리도구 : easy_install, pip
pip 는 easy_install 을 먼저 설치하고 난 뒤 easy_install 을 이용해서 설치

- 설치안내 : https://pypi.python.org/pypi/setuptools
- 설치방법 : $ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
- PIP 설치방법 : $ easy_install pip

환경 구성파일은 사용자 계정 루트의 .bash 혹은 .bash_profile 에 추가하면 됨.
윈도와 다르게 세미콜론이 아니라 콜론으로 경로들을 구분하는 점에 주의
wget 설치를 위해서는 homebrew 등의 도구 사용 (참고 : 2013/07/19 - Mac OS 에는 왜 apt-get 이나 yum 명령어가 없을까?)

파이썬에서의 웹 개발 프레임워크는 django 가 많이 사용됨

- 설치방법 : $ pip install django

개발도구는 Aptana 를 사용하는 것으로!

- NoPD -
728x90
728x90
팀 버너스리경이 인터넷에 엑세스 하는 방법의 하나로 월드 와이드 웹(World Wide Web)을 주창한 이래 웹은 이제 인터넷의 핵심이 되었습니다. 일상에서 일어나는 정말 많은 네트워크 연결은 인터넷을 통해서 일어나고 있습니다. 트위터에서 새로운 소식을 듣고 페이스북에 친구들과 사진을 공유하는 것 뿐만 아니라 부모님과 영상통화를 하고 동영상으로 인기있는 TV 프로그램을 보는 것도 모두 인터넷을 통해 이루어지고 있습니다.

그런데, 이런 인터넷의 폭발적인 사용을 뒷받침 해주고 있는 HTTP 프로토콜(Hyper Text Transfer Protocol)은 그다지 효과적인 프로토콜이 아닙니다. HTTP 의 첫 버전이었던 HTTP/1.0 은 단순히 서버와 사용자간에 하나의 연결만을 맺어주는 수준이었고 단일 서버에서 복수의 가상 웹 사이트를 운영할 수 있는 기능도 없었습니다. 이러한 단점을 개선한 HTTP/1.1 은 동시에 여러개의 연결을 맺을 수 있고 가상 호스트에 대한 지원이 가능해졌지만 너무 단순하게 만들어진 나머지 효율적인 웹 트랜잭션의 처리를 위해서는 추가적인 많은 작업들을 해주어야 했습니다

출처 : The Telegraph (http://goo.gl/gVQw3)



시간이 흘러 바야흐로 21세기로 접어들면서 인터넷은 이제 단순히 컴퓨터를 위한 기술이 아니라 수많은 스마트 기기들과 사물들까지 연결하는 하이퍼커넥티드(Hyper Connected) 세상을 만들어 가고 있습니다. 사물인터넷(IoT, Internet of Things)이라는 용어는 그런 네트웍의 복잡성과 연결된 기기의 수를 이야기 해주고 있고 빅 데이터(Big Data)는 이런 네트웍을 통해서 발생되고 있는 데이터의 규모를 발해주는 대표적인 단어들입니다

우리가 웹을 통해 요청을 하나 만들때 마다(HTTP Request) 전력이 소모되고 있다는 사실을 인지해 본 적이 있나요? 불필요한 트랜잭션 처리를 위해서 서버와 클라이언트의 브라우저 혹은 스마트 기기에서 동작하는 앱이 전기 혹은 베터리를 소모하고 있다는 생각을 해본적 있나요? 더 많은 기기들(스마트폰, 패드, 컴퓨터, 센서 등)이 더 많은 방법으로(브라우저, 스크립트, 앱 등) 인터넷에 연결되고 있는 작금의 트래픽 폭발을 효율적으로 조정하고 더 빠른 사용자 속도를 제공하는 것에 대한 고민에서 HTTP/2.0 은 출발했습니다.

구글이 추진하고 있는 SPDY 와 이를 근간으로 마이크로소프트가 SPDY 혹은 Web Socket 기반으로 준비중인 Microsoft S+M 은 HTTP/2.0 의 기본 골격이 되어 결국 최종적으로 만들어질 표준에 전체 혹은 일부가 녹아들어갈 것입니다. 이들의 노력으로 만들어지고 있는 HTTP/2.0 은 앞으로 우리의 인터넷, 웹웹을 어떻게 바꿔 나갈까요? IETF 에서 공개한 프로토콜 Draft (http://tools.ietf.org/html/draft-ietf-httpbis-http2-04) 를 바탕으로 어떤것들이 바뀌고 어떤 변화가 생길 것인지를 하나씩 알아보도록 하겠습니다.

- NoPD -
728x90

+ Recent posts