2015년 1월 10일 토요일

Android폰에서 IFTTT 사용하기

Android에서 IFTTT를 설치하고 계정을 활성화 하니, 새로운 channel이 여러개 생기는데, 아이폰에서는 가능하지 않은 것들이다.


  • Android Device
    • Android powers devices that are beautiful and available in many shapes and sizes. Unlock new functionality for each of your devices with the Android Device Channel.
  • Android Location
    • The Location Channel is a native Android Channel that allows Recipes to use information from cellular, Wi-Fi and GPS networks to determine your approximate location.
  • Android Notifications
    • The Notifications Channel is a native Android Channel that sends short message alerts to your devices.
  • Android Phone Call
    • The Phone Call Channel is a native Android Channel that provides a set of Triggers and Actions built around calls placed to and from your phone.
  • Android Photos
    • The Photos Channel is a native Android Channel that allows you to use your device's camera and photo gallery in Recipes.
    • Note: Active Android Photos Recipes upload all new photos taken on your device.
  • Android SMS
    • The SMS Channel is a native Android Channel that allows you to receive Short Message Service (SMS) messages on your device and send messages to other phone numbers.
    • Note: Standard carrier rates may apply.
  • Android Wear
    • Android Wear organizes your information, suggests what you need, and shows it to you before you even ask.

번호 정보를 이용해서 스팸인지 미리 알 수 있는 '후후' 같은 서비스나 통화 내역 녹음 같은 기능 때문에, 메인 폰으로는 안드로이드 폰이 좋다. 그런데, 카메라.. 카메라 때문에.. 아이폰을 놓을 수가 없다.

Python에서 로그 설정

기본적인 코드 구성.


2015년 1월 5일 월요일

오랜만에 C++ 코드를 보고 있다

오랜만에 C++ 코드를 보고 있다. 게다가 C++11. 마지막으로 C++ 코드를 작성한 때가 언젠가 기억이 나지 않는다. 처음 C++를 사용한 때는 학부에서 OS과목을 들을 때. 학기말 프로젝트를 C++로 작성해서 냈었다. 운영체제의 스케쥴링을 시뮬레이션 하는 프로그램이었던 것으로 기억한다. 최근 C++11을 보니, 추가된 것들이 많다. 하나씩 찾아서 보고 있다.

코드 읽기를 위해 사용하는 도구는 Source Insight. 오랜만에 찾아서 다운로드하고 설치했는데, 인터페이스도 그대로고, 홈페이지 디자인도 아주 오래되어 보인다. 그래도 여전히 최고의 소스코드 읽기 도구. (그런데, 파이썬은 지원이 안되네?)

2015년 1월 1일 목요일

지난 3년간 사용한 도구나 기술들

새로운 한 해가 시작되는 마당에 지난 3년간 내가 사용해왔던 것들을 한번 적어본다.

  • iOS development
    • Xcode
    • Objective-C with Cocoa Touch Framework
  • Android development
    • ADT
    • Java
  • Web / Server development
    • Google AppEngine using Python
    • Flask (Python Web Framework)
    • Celery (Distributed Task Queue, Python)
    • JavaScript
    • PHP
    • jQuery
    • AngularJS
  • Image Editing
    • GIMP
    • Pixelmator

오늘의 읽을 거리

https://medium.com/lets-make-things/the-origin-of-product-hunt-7acb09e2593a

http://www.insight.co.kr/view.php?ArtNo=11752

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20141211171916

특정 IP를 nginx 접속 차단하기

아침에 서버 로그 그래프를 보니, 다운로드 페이지로의 접속 횟수가 엄청나다. 로그를 확인하니, 상하이쪽 IP 주소에서 계속 접속을 하고 있다.

nginx.conf에 include /etc/nginx/conf.d/blockips.conf를 만들고 nginx.conf에서 include를 했다.

nginx.conf:

http {
...

    # BLOCK SPAMMERS IP ADDRESS
    include /etc/nginx/conf.d/blockips.conf;
}

blockips.conf:

deny XXX.XXX.XXX.XXX;

nginx를 다시 시작하기 전에 nginx -t로 설정파일을 테스트해 본 후 재 시작.

그런데, 이렇게 하면 nginx에서 접속 처리를 하기 때문에 로그에는 계속 남고, 시스템 자원을 이용하게 된다.

더 앞쪽에서 막기 위해 iptables 사용:

sudo iptables -A INPUT -s XXX.XXX.XXX.XXX -j DROP