728x90

HTTP/2 에 대한 이야기들 중 근래에 가장 논란이 되고 있는 것 중 하나가 TLS 에 대한 요구사항일 것 같습니다. 처음 SPDY / HTTP/2 에 대한 이야기가 나오면서 TLS 가 필수 조건이라는 소식에 이제 웹 환경이 완전히 Secure 로 넘어간다는 생각들을 많이 했었습니다. 그런데 결국 TLS 를 이용해야만 한다는 것은 연결을 만드는 과정에 오버헤드가 발생한다는 것이고 Let's Encrypt 등의 도움에도 불구하고 서비스 혹은 상황에 따라 부담이 될 수 있는 여지가 있었습니다.


이 때문에 HTTP/2 Working Group 에서는 암호화 되지 않은 HTTP/2 프로토콜 스펙에 대한 이야기가 오가고 있었고 정확한 시점은 확인해 보지 못했지만 TLS 의 지원이 필수는 아닌 것으로 정리된 것 같습니다. 스펙상으로 이부분은 h2c 라는 용어로 통칭되고 있고 TLS 터널링을 이용하지 않은 Non-encrypted 전송에 대한 이야기라고 이해하시면 되겠습니다 (자세한 이야기는 여기에 : https://http2.github.io/faq/#does-http2-require-encryption)




다만 표준의 진행이 이렇게 가고 있다 하더라도 브라우저들이 HTTP/2 스펙을 구현한 상황을 확인해 보면 이야기는 다소 달라집니다. 현재까지 HTTP/2 를 지원하는 것으로 알려진 모든 브라우저들은 HTTP/2 프로토콜 이용의 조건으로 TLS Handshake 를 전제하고 있습니다. 웹 컨텐츠를 소화하는 방식이 웹 브라우저만 있는 것은 아니겠지만, 대다수가 브라우저 기반이라고 가정했을 때 원본 서버에서 HTTP/2 를 이용하기 위한 전제조건으로 TLS 를 제공해야 한다는 것은 변함이 없을 것 같습니다.


참고 : http://caniuse.com/#search=http2


- NoPD -


728x90
728x90

에디터를 여러가지 사용하다 보니 각 에디터마다 조금씩 다른 특성을 기억하기가 참 쉽지 않습니다. 그래서... 개인적으로 필요할 때마다 찾았던 내용들을 기록 차원에서 남겨봅니다. 혹여나 누군가 검색하다 이 글을 발견하게 되면 일말의 도움이라도 되길 기대하며...


[ 하고싶은 일 ]

잘 정제되어 나오지 않는 API 의 결과물을 가공하고 싶습니다. 

한줄로 연결되어 있는 문자열을 특정한 구분자를 기준으로 줄바꿈 할 수 있을까요?


[ 이렇게 하세요 ]

Sublime Text 의 Replace 기능을 이용해서 간단히 처리할 수 있습니다.

예를 들어 CSV 형태의 문자열이라면 "1, 2, 3, 4, 5" 의 식이겠지요

구분자가 ", " 이므로 이를 \n 으로 치환하면 됩니다.




참 쉽죠?



728x90
728x90

윈도 환경에서는 그렇게 많이 사용되지 않지만 맥이나 리눅스 등의 환경에서는 컬(curl) 명령이 무척 자주 사용됩니다. curl 명령을 이용해서 간단한 HTTP 요청을 쉽게 만들고 요청(Request), 응답(Response) 헤더는 물론이고 전달되는 데이터까지 쉽게 살펴볼 수 있기 때문입니다. 하지만 curl 명령을 이용해서 큰 사이즈의 JSON 응답을 내려주는 API 를 조회하는 경우 그 내용을 살펴보기가 다소 쉽지 않다는 단점이 있습니다. 때문에 JSON Formatter 나 유사한 기능을 제공하는 편집기로 본문을 가공하여 확인해야만 했습니다. 

 

오늘 소개해드리는 커맨드라인 툴인 jq 는 이런 불편을 제거해주기 위한 훌륭한 도구가 될 것 같습니다. Github 에 소스코드가 공개되어 있는 jq 는 awk 나 grep 처럼 파이프(Pipe)를 이용하여 응답 컨텐츠에 포함된 JSON 형태의 데이터를 전달, 가공하여 리턴해주는 역할을 하게 됩니다. 이를 통해 번거롭게 JSON 형태의 데이터를 재가공할 필요 없이 터미널 상에서 curl 명령을 약간 바꾸는 것만으로 쉽게 JSON 을 확인할 수 있게 됩니다. 백문이 불여일견이니 한번 사용예를 보도록 하겠습니다. 

 

 

시험용 서버가 준비되지 않아 쉽게 쓸 수 있는 블로그스팟의 피드를 JSON 형태로 받아보기로 하겠습니다. 개인의 블로그에 영향을 주지 않도록 구글블로그의 공식 채널을 이용해봤습니다. 복사해서 붙여넣기 쉽도록 위의 명령을 다시 적어드리면 curl -v "https://googleblog.blogspot.kr/feeds/posts/default?alt=json" | head -n 10 이 되겠습니다. 캡쳐에서는 빠졌습니다만 less 도 연결해 주시는 것이 정신 건강에 좋습니다. jq 를 이용하지 않았기 때문에 원본 서버가 전달해주는 컨텐츠를 그대로 표현하게 되겠죠?

 

 

네, 상당히 사람 프랜들리하지 않은 결과가 나왔습니다. 180k 바이트가 넘는 컨텐츠이기 때문에 한줄로 연결된 데이터를 보는 것은 사실상 불가능하고 외부 JSON Pretty Formatter 를 이용하거나 편집기를 이용해서 보기 좋게 바꿔야 합니다. 하지만 매번 그렇게 하는 것도 참 번거로울 거라는 생각이 딱 들죠? 이럴때 유용한 커맨드라인 툴이 바로 jq 입니다. 이제 파이프를 이용하여 jq 로 응답 결과를 전달해서 간편하게 데이터를 가공해 보도록 하겠습니다. 

 

 

여기서도 친절하게 명령을 다시 적어드려 보겠습니다. curl -v "https://googleblog.blogspot.kr/feeds/posts/default?alt=json" | jq '.' | head -n 10 이 바로 명령입니다. 앞선 명령과의 차이는 파이프로 연결된 jq '.' 가 추가된 정도입니다. 하지만 결과는 정말 아릅답게 출력이 된 모습을 볼 수 있습니다. curl 명령을 이용해서 디버깅을 하거나 테스트를 수행하는 경우에 정말 간편하게 응답을 해석할 수 있게 된 것입니다. jq 는 다양한 운영체제용으로 준비되어 있어 공식 웹사이트나 github 에서 필요한 환경에 맞는 소스코드/실행파일을 다운로드 받으실 수 있습니다. 

 

 

 

 

jq로 JSON 쉽게 다루기(1), 반복되는 배열에서 특정 속성 뽑아내기

JSON을 다루는 것은 개발자에게는 숙명입니다. 그래도 SOAP 보다 편리하고 쉽다는게 어디냐며 위로해 보지만 할 때마다 새롭고 매번 처음 보는 것 같이 헤메는 것이 또한 JSON 다루기의 특징이기도

ondemand.tistory.com

 

커맨드라인 JSON Pretty Formatter - jq 공식 웹사이트 방문하기 [바로가기]

 

2016/01/13 - 마이크로소프트 윈도10, 학생용 버전 10% 할인 프로모션

2015/12/24 - Node v4.2.4 (LTS) 버전이 새로 업데이트 되었습니다

2015/11/19 - 비주얼 스튜디오 코드(Visual Studio Code), 깃허브를 통해 오픈소스로 공개!

2015/10/26 - 마이크로소프트, 닷넷 코어(.NET Core) 및 ASP.NET 5 취약점 포상 프로그램 실시

2015/10/02 - 마이크로소프트 애져(Azure), 아카마이(Akamai)를 통한 CDN 서비스 제공 발표

2015/09/21 - TinyPNG 를 이용하여 PNG/JPG 이미지를 동적으로 가공하기

 

728x90
728x90

연초가 되면 여기저기서 학생 할인이나 아카데미 할인 프로모션이 많이 진행됩니다. 직장인이 된 이후 부터는 이런 혜택을 별로 받아볼 기회가 없습니다만 "학생"의 범주에 들어가는 아이들이 생기면서 부터는 또 관심이 가는게 사실입니다. 근래에 맥 환경에서 작업을 많이 하다보니 윈도 운영체제에 대한 욕심이 별로 없는 상태이지만 가족들에게는 여전히 윈도가 더 편한 운영체제라는 생각을 가지고 있습니다.


마이크로소프트에서는 새해를 맞이하여 신학기를 맞는 학생들, 특히 대학생들을 대상으로 프로모션을 여럿 진행하고 있는 것 같습니다. 대학생들 사이에서도 이제 맥을 사용하는 경우가 많이 늘어난 것으로 알고 있지만 여전히 윈도도 사랑받고 있습니다. 윈도 운영체제의 최신 버전인 윈도10을 10% 할인 구매할 수 있는 혜택은 학생들만이 누릴 수 있는 메리트이니 꼼꼼히 살펴보시면 좋을 것 같네요






웹 사이트 상에 게시된 가격이 10% 할인을 반영한 가격인지는 확인해 봐야겠습니다만, 부가가치세(VAT)를 포함한 윈도10 홈 에디션을 154,800원 혹은 여기서 10% 추가 할인된 가격으로 결재될 것으로 추정됩니다. 설명에 나와 있는 것처럼 학생에 대해서는 자격 확인 과정이 필요할 수 있다는 점도 인지하고 계시면 좋을 것 같네요! 


참고로 기존에 윈도7, 8 또는 8.1 운영체제를 설치하여 사용중인 PC 가 있다면 여전히 무상 업그레이드가 가능합니다. 아마 많은 분들이 이미 작년 하반기에 진행된 윈도10 무료 업그레이드는 OTA 로 다운로드 받아 업데이트 하셨겠습니다만 혹시 놓치고 있었다면 학생 및 교직원 스토어를 통해서도 다운로드 링크를 제공 받으실 수 있습니다. 


역대 윈도 운영체제중 가장 안정적이고 진보적인 것으로 평가받고 있는 윈도10. 학생이라면 조금 더 할인된 가격으로 판매되고 있는 프로모션 시즌을 놓치면 안되겠죠? 폴리글랏 프로그래밍이 화두인 시대, 운영체제 역시 이것저것 다 경험해보고 다룰 줄 아는 능력이 필요한 시대인 것 같습니다. 


마이크로소프트 학생 및 교직원 스토어에서 윈도 운영체제 10% 할인 구매하기 [바로가기]



728x90

+ Recent posts