728x90

터미널에서 다량의 로그, 텍스트 파일을 핸들링 할때 awk 명령을 파이프로 연결하여 작업하는 경우가 많습니다. 예를 들어 텍스트 파일의 첫번째 컬럼이 "A" 인 행의 세번째 필드를 출력하는 방법은 대략 아래와 같을겁니다.


$ cat sample.txt | awk '$1=="A" {print $3}'


그런데 가끔은 특정한 조건을 만족하는 행의 모든 내용을 출력하고 싶을 때가 있습니다. 컬럼이 몇 개 안된다고 하면 print 명령으로 모든 컬럼을 지정하면 되겠지만 컬럼이 많다면 쉽지 않습니다. 이때는 print 의 파라메터로 $0 을 넘기면 모든 컬럼이 출력되게 됩니다.


$ cat sample.txt | awk '$1=="A" {print $0}'


자주 사용하지 않으면 잊어버리기 때문에 기억을 위해 남겨둡니다.


- NoPD -

728x90
728x90

미국시간으로 4월 29일 부터 3일간 샌프란시스코에서 마이크로소프트의 개발자 컨퍼런스인 빌드(Build) 2015가 개최됩니다. 예년의 행사가 그러했듯 이번 행사도 다양한 주제로 마이크로소프트의 기술을 비롯하여 업계의 동향을 알아볼 수 있는 알찬 세션들이 준비된 것 같습니다. 직접 현장에서 참석하지 못하는 아쉬움은 채널9 등 여러 채널을 통해서 달래야 할 것 같습니다. 너무 많은 주제가 다루어지기 때문에 무턱대고 세션 제목만 보고 뛰어들기 보다는 마이크로소프트가 가이드하는 난이도에 따라 세션을 선택하면 좋을 것 같습니다.





워낙 다양한 주제가 다루어지기 때문에 어떤 특정한 주제가 핵심이다라고 말하긴 힘들겠습니다만 여러 사업들 중에서 가장 순항을 하고 있는 애져(Azure)와 곧 출시될 윈도10(Windows 10)이 많은 주제들의 중심에 서 있는 건 확실해 보입니다. 두가지 주제가 아무래도 개발자들이나 IT 종사자들 사이에서 가장 관심있는 주제가 될 수 밖에 없나 봅니다. 마이크로소프트 입장에서도 강한 녀석들이 더 강해질 수 있도록 지원사격 하는 것이 당연한 이치일 것이겠구요!



한편 너무 많은 세션들을 어떻게 골라서 들어야 할지 모르겠다 싶으시다면 빌드 모바일 앱을 이용해서 알람도 미리 받고 스케쥴링도 해보시면 도움이 많이 된다고 합니다. 저도 아직 써보지는 않았지만 빌드 컨퍼런스 참여하는 분들에서부터 원격으로 듣는 분들까지 스케쥴링을 위해서는 필수적으로 쓰면 좋은 앱이라고 하니 한번 이용해 보시기 바랍니다!


채널9에서 빌드 컨퍼런스 일정 등 자세히 살펴보기 [바로가기]

빌드 2015 공식 웹사이트 [바로가기]

빌드 공식 모바일 앱 다운로드 [바로가기]



728x90
728x90

인터넷과 네트워크의 속도는 점점 빨라지고 있습니다. 유선망은 물론이고 무선망 역시 엄청난 비율로 대역폭과 전송속도가 빨라지고 있습니다. 하지만 이에 발맞추어 웹 기반의 컨텐츠들은 점점 더 사이즈가 커지고 있을뿐만 아니라 동영상, 이미지, 동적인 구성으로 리치(Rich)해지고 있으며 여러 서비스들이 서로 Open API 등으로 얽히면서 성능을 최적화 하는 것이 점점 어려워지고 있습니다. 필요해 의해 기능구성이 끝난 웹 사이트가 보다 최적의 속도를 낼 수 있도록 하려면 만들어진 산출물을 잘 분석하는 것이 중요합니다.


야후(Yahoo)를 비롯한 유수의 IT 기업들은 웹 사이트를 최적화 하기 위한 여러가지 방법들을 제시하고 있습니다. 각 브라우저가 제공 가능한 최대 동시 접속 도메인의 수를 활용하는 도메인 샤딩(Domain Sharding)을 제안하고 자바스크립트나 CSS 를 가능한 범위에서 인라인(Inline)처리하고 미니피케이션(Minification)을 적용하는 것이 대표적입니다. 하지만 이런 최적화 작업이 서드 파티(3rd Party) 플러그 인이라던가 라이브러리에 적용되어야 하는 경우를 먼저 발라내는 것이 중요합니다.





리퀘스트 맵 제너레이터(Request Map Generator)는 현재 웹 사이트가 어떤 컨텐츠들을 어떠한 도메인과 서비스에서 연동하고 있는지를 분석해주는 도구입니다. 단순히 텍스트를 중심으로 분석해주는 것이 아니라 분석된 결과를 미려하고 인터렉티브한 결과 페이지로 제공하기 때문에 분석의 재미까지 더해주는 도구입니다. 대표적인 웹 사이트 성능측정 도구인 웹페이지테스트(Webpagetest.org)를 근간으로 만들어진 서비스이기 때문에 분석 결과는 무척 신뢰할만합니다.


단순히 웹 사이트를 워터폴 차트(Water-fall) 만으로 분석하고 최적화 할 포인트를 찾아내는 것이 지루했다면 리퀘스트 맵 제너레이터를 이용해서 재미있는 분석을 해보시는 건 어떨까요? 분석 결과를 적절히 캡쳐해서 분석 보고서에 활용한다면 주변 분들이나 보스에게도 사랑받는 개발자, 운영자가 될 수 있을 것만 같습니다. 웹 사이트 성능 분석~ 어렵지 않아요!





naver.com 분석결과



리퀘스트 맵 제너레이터로 웹 사이트 분석해보기 [바로가기]



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

+ Recent posts