목공책 하나 들이셔요~

레이블이 IT인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IT인 게시물을 표시합니다. 모든 게시물 표시

2015년 9월 26일 토요일

새로 나온 공구들 : 혁신과 과잉 사이

컴퓨터와 인터넷이 발명된 지 채 100년도 되지 않았는데, IT 기술은 이제 우리 삶에서 필수적인 요소가 되어 버렸습니다.

IT 기술은 그 자체로도 혁신이지만, 새로운 지식과 기술을 모아 데이터베이스로 조직화하고 쉽게 검색할 수 있게 해주기 때문에, 다른 과학 기술 분야를 획기적으로 발전시키는 매개체 역할을 하기도 합니다.

통신, 금융, 공장, 교통, 전력 등의 다양한 산업 분야에서 IT 기술이 접목되고 있고 이를 통해 새로운 제품과 서비스들이 만들어 졌는데, 유독 공구 분야에 있어서는 아직까지 별다른 뉴스가 없었습니다.

최신 IT 기술이 접목된 드릴... 이런게 왜 필요한지도 의문이구요.

그런데 그것이 드디어 나왔습니다.  이것이 혁신일지 과잉일지 한번 보시죠.

2014년 12월 1일 월요일

구글 Blogger 검색에서 글 제목이 먼저 보이게 하려면?

제 블로그를 <다음>에서 <구글 블로거>로 옮기면서 삽질한 경험들을 조금씩 정리해서 공개하고 있습니다.  오늘은 그 중에서 검색 유입을 늘릴 수 있는 간단한 조치를 소개드릴까 합니다.

블로그를 처음 개설하고 방문자를 기다리는 마음은, 마치 가게를 오픈하고 손님을 기다리는 마음과 같습니다.  사람들의 왕래가 많은 길거리에 위치하는 것도 중요하고,  가게의 간판이나 캐치 프레이즈도 사람들의 시선을 끌도록 해야 합니다.  가장 중요한 것은 무엇을 하는 곳인지 한눈에 알아볼 수 있도록 하는 겁니다.

2014년 11월 17일 월요일

블루투스 이어폰 VPULSE H2 사용기

블로그에 올렸다시피 저는 "걸어서 살빼자!" 프로젝트를 3개월째 진행하고 있습니다.  그냥 걷기만 하면 심심하기 때문에 다양한 걷기 코스를 개발하였고,  주변의 맛집도 찾았습니다.   하지만 지루한 걷기를 가장 잘 버티게 해주는 건 <팟캐스트>입니다.

지금까지는 스마트폰에 유선 이어폰을 연결해서 들었는데,  선이 걸리적 거리는게 불편한 데다가 단선이 빈번하게 발생하여 이어폰만 네번을 바꿨습니다.  더 이상은 안되겠다 싶어서 충전의 불편함을 감수하고 무선 블루투스 헤드셋을 사기로 했습니다.

2014년 11월 10일 월요일

구글 Blogger에 나눔고딕 폰트 적용하기

윈도우즈95가 발표되면서 같이 딸려나온 <굴림체> 폰트,  지금까지도 가장 많이 쓰이는 폰트입니다.  윈도우즈8이 나온 지금도 별다르게 지정하지 않는 경우 한글 폰트는 굴림체로 나옵니다.  오랫동안 사용해서 친숙하기는 하지만...  디자인적인 관점에서는 미흡함이 없지 않습니다.  가독성도 좀 떨어지는 편이구요.

이후 윈도우즈 비스타와 함께 딸려온 <맑은고딕>이 한때 유행을 타기도 했는데,  요즘은 네이버에서 개발하고 무료로 배포하는 <나눔고딕>과 <나눔명조>가 대세인 듯 합니다.  저도 거의 모든 문서와 웹브라우저 세팅에서 나눔고딕, 나눔명조, 나눔고딕코딩 폰트를 사용하고 있습니다.

이 글에서는 구글 블로거(Blogger)에서 나눔고딕을 기본 폰트로 변경하는 법에 대해서 알아 보겠습니다.   사실 다음 블로그에서 가장 큰 불만 중 하나가 이 나눔고딕을 사용할 수 없다는 것이었습니다.

2014년 11월 7일 금요일

구글 Blogger 댓글 알림 받기

아시다시피 제 블로그 Bittersweet Story는 <다음>에서 시작되었습니다.  그런데 최근 제 블로그를 구글 블로거로 옮겼습니다.  새로 이사한 곳에 적응하느라 좀 정신 없었지만 하나하나 문제를 해결해가며 자리잡고 있습니다.  구글 블로거에 정착하면서 나름 팁같은 걸 모아서 정리해 볼까 합니다.  오늘은 첫 순서로 댓글 알림에 대한 겁니다.

다음 블로그에 있을 때는 게시글에 댓글이 달리면 스마트폰에 깔린 <다음앱>을 통해 알림이 왔었죠.  그래서 거의 실시간으로 방문자와 댓글 대화가 가능했는데,  구글 블로거에는 아무리 찾아도 그런 기능이 없더군요.  구글 블로거 공식앱을 스마트폰에 깔았지만 댓글 알림 기능은 없었습니다.

2014년 10월 13일 월요일

구글 지도에 내 경로 표시하기

"걸어서 살빼자!" 프로젝트를 시작한 지 두달이 다 되어 갑니다. 워낙에 게으르고 식탐이 많은 저로서는 운동해서 살을 뺀다는 게 참으로 어려운 일입니다. 하지만 운동이라 생각하지 않고, 제가 주로 활동하는 동네 주변을 탐방한다는 생각으로 걸어다니니 쏠쏠한 재미가 있더군요.

요즘은 시간날 때마다 <다음지도>를 띄워놓고 걷기 코스를 연구합니다. 공원과 가로수가 좋은 길들을 연결하여 코스를 만들어 보고 계획을 세워 실제 그 길을 걸어보면 나름 재미가 있습니다. 그래서 그 길에 저만의 이름도 붙이고, 블로그에 쓸 꼭지도 만들고요. 어떤 블로거분들은 블로그에 올릴 거리를 만들기 위해서 여행하고 맛집 탐방을 한다고 하는데... 저도 그 심정이 이해됩니다.



2014년 10월 10일 금요일

Java Scripting API 둘러보기 #4

이 글은 Java 6를 기준으로 쓰여진 Jeff Friesen의 "Taming Mustang, Part 2: Scripting API Tour"를 번역하고 Java 8에 맞게 수정한 것입니다. 원문은 다음을 참고하세요.

http://www.informit.com/articles/article.aspx?p=696621

Compilable 인터페이스로 실행속도 향상시키기

일반적으로 스크립트 엔진은 스크립트를 인터프리터(interpreter) 방식으로 실행합니다. 인터프리터는 보통 스크립트를 파싱하여 중간코드(intermediate code)로 변환하고, 뒷단의 실행 모듈이 이 중간코드를 실행합니다. 동일한 스크립트를 실행할 때마다 파싱하여 중간코드로 변환하는 과정이 반복되어야 하기 때문에, 스크립트의 실행속도가 느립니다.


2014년 10월 6일 월요일

Java Scripting API 둘러보기 #3

이 글은 Java 6를 기준으로 쓰여진 Jeff Friesen의 "Taming Mustang, Part 2: Scripting API Tour"를 번역하고 Java 8에 맞게 수정한 것입니다. 원문은 다음을 참고하세요.

http://www.informit.com/articles/article.aspx?p=696621

바인딩과 스코프 이해하기

ScriptEngine의 put()과 get()함수를 이용하여 객체의 상태를 저장하고 가져오는 이면에는 Bindings 인터페이스를 구현하고 있는 바인딩 객체가 역할을 하고 있습니다. Scripting API에는 Bindings 인터페이스를 구현한 SimpleBindings 클래스도 제공되고 있습니다. Bindings 인터페이스는 java.util.Map 인터페이스를 확장(extend)한 것이라 맵과 같이 스트링 키와 그와 연결된 객체값들이 구조화되어 있습니다.



2014년 10월 3일 금요일

Java Scripting API 둘러보기 #2

이 글은 Java 6를 기준으로 쓰여진 Jeff Friesen의 "Taming Mustang, Part 2: Scripting API Tour"를 번역하고 Java 8에 맞게 수정한 것입니다. 원문은 다음을 참고하세요.

http://www.informit.com/articles/article.aspx?p=696621

문자열에 담긴 스크립트 실행하기

스크립트 엔진은 ScriptEngine 인터페이스를 구현하고 있습니다. 보통은 AbstractScriptEngine 클래스를 계승하여 스크립트 엔진을 만드는데, 이 AbstractScriptEngine 클래스도 ScriptEngine 인터페이스를 구현하고 있습니다. ScriptEngine 인터페이스에는 6개의 eval()함수가 제공되며, 이를 통해 스크립트를 실행할 수 있습니다.

2014년 9월 29일 월요일

Java Scripting API 둘러보기 #1

요즘 Java Scripting API를 이용한 프로젝트를 진행 중이어서 관련하여 도움받았던 텍스트를 번역해서 몇회에 나누어 올립니다. 원 글은 Jeff Friesen이 2007년에 작성한 것이며 당시 새로 발표된 Java 6에 이 Scripting API가 채택되어 이 내용을 소개한 글입니다. 제목은 "Taming Mustang, Part 2: Scripting API Tour"입니다.

Java 6의 코드명이 Mustang 즉 야생마였습니다. Taming Mustang은 야생마 길들이기라는 뜻입니다. 지금은 Java 8이 나왔기 때문에 다소 옛날 내용이긴 합니다만 API 자체는 거의 변화가 없기 때문에 여전히 유효한 내용입니다. 예제 코드들은 Java 8 환경에서 다시 검증하고, Java 8에 맞는 내용도 몇몇 보강하도록 하겠습니다. 원문의 URL은 다음과 같습니다.

http://www.informit.com/articles/article.aspx?p=696621

2014년 9월 8일 월요일

Google Talk로 XMPP 배우기 #3

이 글은 Adarsh Ramamurthy가 작성한 "Fun with XMPP and Google Talk, Part 2"를 기반으로 번역하고 내용을 추가한 것입니다. 원문은 하나의 글이지만 내용이 길어서 이를 둘로 나누었고, 이 글은 그 뒷부분입니다.  원문은 아래 링크를 확인하세요.

http://www.adarshr.com/papers/xmpp2

어플리케이션 개발을 위한 XMPP 라이브러리

XMPP 어플리케이션을 개발하기에 앞서, 쉽게 사용할 수 있는 XMPP 라이브러리들이 있는지 먼저 살펴보는 것이 좋겠습니다. XMPP 라이브러는 여러개 있는데 각각 다른 언어를 지원하며, 또 각기 다른 라이선스 정책을 가지고 있습니다. 다행히도 몇몇 라이브러리들은 무료로 사용할 수 있습니다. 이 라이브러리들은 XMPP의 모든 기능을 구현하고 있을 뿐 아니라, 몇몇 유용한 컴포넌트들을 제공하기도 합니다.


2014년 9월 1일 월요일

Google Talk로 XMPP 배우기 #2

이 글은 Adarsh Ramamurthy가 작성한 "Fun with XMPP and Google Talk, Part 2"를 기반으로 번역하고 내용을 추가한 것입니다. 원문은 하나의 글이지만 내용이 길어서 이를 둘로 나눕니다.  원문은 아래 링크를 확인하세요.

http://www.adarshr.com/papers/xmpp2

지난 글에서 XMPP(Jabber) 프로토콜의 아주 기본적인 내용에 대해서 살펴 보았습니다. 그리고 Google Talk 서버(talk.google.com)와 원시적으로 대화하는 방법도 보았습니다. 흥미로웠을 걸로 기대합니다.



2014년 8월 25일 월요일

Goole Talk로 XMPP 배우기 #1

이 글은 Adarsh Ramamurthy가 작성한 "Fun with XMPP and Google Talk"를 기반으로 번역하고 내용을 추가한 것입니다. 총 두 편의 글이며 그 첫번째 입니다. 2007년에 작성된 것이라 좀 오래된 내용이긴 하지만, 의외로 XMPP에 대한 튜토리얼을 찾기 어렵네요. 신규로 진행하는 프로젝트에서 XMPP를 사용해야 해서 알아 본 내용입니다.  원문은 아래 링크를 확인하세요.

http://www.adarshr.com/papers/xmpp

Google Talk에 로그인 해 본적이 있으신가요? 그러면서 이면에서 어떤 일이 생기는지 궁금하지는 않으시던가요? 당신이 타이핑하는 문자들을 가지고 이 조그만 어플리케이션이 어떻게 요리하는지 생각해 본 적이 있나요? 어떻게 상대방이 타이핑을 하고 있는지 당신에게 알려주는 걸까요? 어떻게 상대방이 자리에 있는지를 실시간으로 알려주는 걸까요?

어느날 그 궁금증이 한계에 이르렀을때 저는 그것을 파헤쳐 보기로 했습니다. 이 두편의 기사를 통해 Google Talk이 어떻게 통신하는지를 찾아나서는 스릴 넘치는 모험을 담아 보겠습니다.

2014년 8월 18일 월요일

목공에 도움되는 스마트폰 앱들

IT쪽 만큼 트렌드의 변화가 빠른 분야도 없습니다. 한동안 정보 검색 기기로서 덩치 큰 PC와 랩탑이 중심을 차지하고 있는 동안에도, 손바닥만한 크기의 PDA가 모바일 결제 등의 분야에서 제한적으로 사용되었습니다. 하지만 이 PDA 역시 정보 검색기기로서의 성격이 강했기에 모두들 작은 PC라고 여겼습니다.

하지만 아이폰으로 시작된 스마트폰의 패러다임 변화는 이전과는 사못 다른 양상입니다. 여러가지 측면에서 설명을 달 수 있지만 저는 스마트폰에 다양한 센서들이 추가되었다는데 주목합니다. 대표적으로 화면에 부착된 터치센서는 유저 인터페이스의 혁신을 가져왔지요. 하지만 이 외에도 다양한 용도로 사용될 수 있는 센서들이 추가되었습니다.

2014년 8월 11일 월요일

구글은 니가 어딜 다니는지 다 안다!

귀차니즈머를 위한 구글스토리

디지털 카메라가 보급되면서 아마츄어들도 어딜 나가면 엄청난 양의 사진을 찍습니다. 개중에는 우연히(?) 멋지게 나온 사진들도 있지만, 촛점이 잘못된 사진, 노출이 잘못된 사진, 아이가 움직여 얼굴이 뭉개진 사진 등 맘에 들지 않는 사진이 반은 넘을 겁니다. 놀러갔다 와서 이 많은 사진들 중에서 잘 찍힌 사진과 잘못 찍힌 사진을 골라내는 것도 큰 일입니다.

이런게 귀찮은 아마츄어 사진가들을 위해 구글+에 "스토리"라는 기능을 추가했다고 구글이 밝히고 있습니다. 스토리 기능은 일련의 사진들에서 잘 나온 것들을 알아서 추리고 이를 시간 순으로 배치하며 위치 정보까지 접목하여 실감나는 스마트 사진 앨범을 만들어 줍니다. 긴 말 필요없고 이 링크를 클릭하여 구글+ 스토리 예제를 보시기 바랍니다. 요즘 트렌드인 좌우스크롤 컨텐츠 입니다.

2014년 8월 4일 월요일

사진 저장 서비스로서의 구글+

구글+에는 무한대로 사진을 저장할 수 있다

디지털 카메라가 보급되면서 개인이 생산하는 사진의 수는 매우 많아졌고 이를 어떻게 보관하고 꺼내 보는지가 큰 이슈입니다. 이 문제를 해결하기 위한 가장 최근의 솔루션은 클라우드(Cloud) 서비스입니다. 클라우드는 스마트폰, 타블렛, 디지털 카메라, PC 등 다양한 장비로부터 미디어를 제공받거나 미디어를 볼 수 있게 해 줍니다. 그리고 빅데이타 기술의 발전과 저장매체 가격의 하락으로 대용량 서비스도 가능해 졌습니다. 그래서 서비스 제공자들이 경쟁적으로 상당한 량의 기본 무료 용량을 제공하고 있습니다.

2014년 6월 27일 금요일

[TLS] SSL에 대해 알아보아요~

이 글은 Oracle에서 제공하는 Java CAPS Documentation 중에서 "Secure Sockets Layer (SSL) Overview"라는 글을 번역하고 내용을 보강하였습니다. 최근에 TLS Client Authentication 코드를 개발하던 와중에 보안과 관련된 내용을 공부하게 되었는데 그 중에 짧지만 큰 도움을 줬던 문서라서 소개 드립니다. 원문은 아래 링크를 확인하세요

http://docs.oracle.com/cd/E21454_01/html/821-2544/cnfg_ssl-overview_c.html


2014년 6월 20일 금요일

cron으로 프로세스 관리하기

제 업무는 주로 리눅스에서 동작하는 서버(데몬, daemon)를 개발하는 것입니다. 잘 작성된 서버 프로그램은 일단 시작되면 시스템을 끄기 전까지는 다운되지 않고 그 역할을 잘 수행해야 합니다. 그런데 버그없는 프로그램 없다고... 때로는 예상하지 못한 이유로 프로세스가 죽기도 하고, 메모리 누수(memory leak) 때문에 정기적으로 프로세스를 재시작해야 할 경우도 있습니다.

게다가 납품하는 시스템이 외부에서는 접근이 불가능한 보안 네트웍 내부에 있는 경우 불의의 사태로 프로세스가 다운되었을 경우 자동으로 재시작하는 방법이 있어야 합니다.

2014년 6월 13일 금요일

SSH 자동 로그인하기

예전에는 유닉스 계열 OS에서 원격 접속을 하기 위해서 Telnet을 많이 이용했습니다. Telnet이 처음 개발된 것이 1969년이니 이 프로그램은 보기 드문 천연기념물 급입니다. 그 당시만 해도 제한적인 사람들만이 네트워크에 연결할 수 있었기 때문에 보안에 관한 고려사항이 없었습니다. 주고 받는 명령 뿐 아니라 심지어 로그인 계정과 암호까지도 평문으로 전달되었습니다. 그래서 해커들은 패킷 분석기를 통해 시스템의 암호를 쉽게 알아낼 수 있었습니다.

Telnet의 취약한 보안 문제를 해결하기 위해 여러가지 대안이 나왔지만 가장 대중적인 대체품은 1995년에 발표된 Secure Shell(이하 SSH)입니다. SSH는 1999년 OpenSSH라는 오픈소스 프로젝트가 릴리즈되면서 대중화되기 시작했으며 현재 사용되는 거의 모든 SSH 구현체는 바로 이 OpenSSH입니다.

2014년 5월 30일 금요일

Expect를 이용한 sftp 자동화

프로젝트를 하다 보면 이런 일 많습니다. war파일을 빌드하고 서버에 올리고, 수정 사항 생겨서 또 빌드하고 서버에 올리고... 이런 작업이 계속 반복됩니다. 그나마 서버 하나에 올리는 것이면 참을만 하지만, 동일한 파일을 10개의 서버에 올려야 한다면 끔찍해 집니다.

발명의 어머니는 게으름이라고 했나요? 단순 반복 작업으로 지쳐갈 때면 이걸 자동화할 방법이 없나... 하고 찾아보게 됩니다. 요즘은 대부분 sftp를 사용하는데 sftp의 경우 보안이 강화된 파일 전송 방법이다 보니 서버의 계정과 암호를 자동으로 입력하지 못하게 되어 있습니다. (물론 SSH 키를 사용하는 방법으로 로그인 과정을 회피할 수 있지만, 이건 다음 글에서 소개 드리도록 하겠습니다)