iOSDev, zsh을 이용한 pngquant 스크립트.


zsh 의 기능 중 “**/*.png” 를 응용해서 recursive 하게 하위 디렉토리까지 pngquant 를
적용할 수 있게 만듬.

옵션은 각자에 맞게 수정이 필요.
“-s1 –quality 100” 는 적용 시간은 오래 걸리지만 최상 image quality 를 위한 옵션임.

pngquant -s1 --quality 100 **/*.png --ext .png --force

참고 URL :
http://stackoverflow.com/questions/9647920/recursively-batch-process-files-with-pngquant/9649214#9649214

KDE, “kde-open” command


KDE’s mac-like “open” command is “kde-open”.
ex)
$ kde-open keepass.kdbx

OS X Man Pages – open
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/open.1.html

Resolved, TextMate 2, ‘gem_original_require’ : no such file to load — json (LoadError)


아래 내용은 참고 사항입니다.


[62/293] Generate ‘/Users/x/build/Te...extMate/about/Contributions.html’…
FAILED: bin/gen_html > /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html~ -h Applications/TextMate/templates/header.html -f Applications/TextMate/templates/footer.html Applications/TextMate/about/Contributions.md Applications/TextMate/references.md && mv /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html~ /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./bin/gen_credits.rb:18
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from (erb):11
from bin/gen_html:104
from bin/gen_html:104:in `open'
from bin/gen_html:104
[62/293] Copy ‘"Frameworks/OakTextVi...esources/Bookmark Hover Add.pdf"’…
ninja: build stopped: subcommand failed.

저는 MacPorts 를 사용하기 때문에 ruby에 필요한 것들을 port로 설치하고
Ruby.framework의 ruby 실행 파일을 port 의 ruby 후 위 에러가 해결되었습니다.


xcave@x% cd /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin
xcave@x% ls -al
total 64
drwxr-xr-x 10 root wheel 340 11 16 06:09 ./
drwxr-xr-x 5 root wheel 170 9 7 22:44 ../
lrwxr-xr-x 1 root wheel 18 11 16 06:08 erb@ -> /opt/local/bin/erb
lrwxr-xr-x 1 root wheel 18 11 16 06:08 gem@ -> /opt/local/bin/gem
lrwxr-xr-x 1 root wheel 18 11 16 06:08 irb@ -> /opt/local/bin/irb
lrwxr-xr-x 1 root wheel 19 11 16 06:08 rake@ -> /opt/local/bin/rake
lrwxr-xr-x 1 root wheel 19 11 16 06:08 rdoc@ -> /opt/local/bin/rdoc
lrwxr-xr-x 1 root wheel 17 11 16 06:08 ri@ -> /opt/local/bin/ri
lrwxr-xr-x 1 root wheel 19 11 16 06:09 ruby@ -> /opt/local/bin/ruby
lrwxr-xr-x 1 root wheel 21 11 16 06:09 testrb@ -> /opt/local/bin/testrb

iOSDev, ImageOptim, 이미지 최적화, 앱 속도 크기 향상.


“iOSdev, PNG 최적화 스크립트.( pngcrush + advpngidat )” https://lum7671.wordpress.com/2011/11/16/iosdev-png-%EC%B5%9C%EC%A0%81%ED%99%94-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-pngcrush-advpngidat/
글에 이여서 2탄으로 ImageOptim 앱에 대한 사용법이다.

1. 설치

http://imageoptim.com 에서 ImageOptim.app 을 다운 받고 /Applications 에 Drag & Drop 으로 설치를 한다.

2. 사용법

맥에서 앱을 실행하면 아래와 같은 윈도우 창이 뜬다.
이미지 파일을 Drag & Drop 으로 올려 놓으면 동작을 하며
자동으로 처리 이미지는 최적화된 새 이미지로 바꿔지게 된다.

또는

open -a ImageOptim.app *.png

와 같이 터미널에서 편리하게 실행 할 수도 있다.

3. 스크립트


#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# 작성자 : 장두현
# 버 전 : 1.1
# 작성일 : 2012-03-08
# 수정일 : 2012-08-21
#
# * 맥 GUI용 : ImageOptim ( http://imageoptim.com/ )
#
# 사용법 :
# ./run_imageoptim.sh
# - 현재 디렉토리 이하 디렉토리 안의 모든 png 를 변환한다.
#
# 참고 : https://github.com/scribd/Xcode-OptimizePNG
#

cust_echo() {
echo -e "$1 $2"
}

APP_IMAGEOPTIM="/Applications/ImageOptim.app"

if [ ! -d "$APP_IMAGEOPTIM" ];then
cust_echo "요구사항체크:" "\nImageOptim.app 이 /Applications 디렉토리에 없습니다.\nImageOptim ( http://imageoptim.com/ ) 에서 어플리케이션을 받아서 설치하세요."
exit 0
fi

process_png()
{
cd $1
open -a ImageOptim.app *.png
}

DIR_PWD=$(pwd)

for directory in $(find $DIR_PWD -type d -print)
do
process_png $directory
done

4. 스크립트 사용법

이하 디렉토리에 있는 모든 png 파일을 ImageOptim.app 으로 최적화 한다.

예) Resource/Images/ 디렉토리 안의 png 파일을 최적화 하려면,
cd Resource
./run_imageoptim.sh

하면 된다.

※ 스크립트는 참고 용 임. 좀 더 다듬으면 거나 자신의 환경에 맞게 고치시길… 🙂

추가 Apple Developer 관련 링크 :
https://developer.apple.com/library/ios/qa/qa1681/_index.html#//apple_ref/doc/uid/DTS40009883

$ xcrun -sdk iphoneos pngcrush \
-revert-iphone-optimizations -q Local.png Local-standard.png

cmake, About advanced mode of ccmake.


ccmake에서 왼쪽은 일반모드, 오른쪽은 전문가모드(Advenced mode) 이다.
일반모드와 전문가모드는 키보드 “t”를 입력해서 토글(toggle)된다.

* 전문가 모드(Advenced mode)에서 “CMAKE_VERBOSE_MAKEFILE” 켜기(ON).

cmake는 기본적으로 컴파일 과정을 압축된 형태로 색을 입혀서 이쁘게 보여준다.
때로는 Makefile 에서 보여줬던 자세한 컴파일 내용이 보고 싶을 때가 있다.

$ make VERBOSE=1

또는

CMAKE_VERBOSE_MAKEFILE=ON

를 ccmake 에서 수정 가능하다.
전문가모드(Advenced mode)에 보면 해당 옵션이 OFF로 되있는 것을 볼 수 있다.

참고 :
CMake FAQ – Is there an option to produce more ‘verbose’ compiling?

CMake 이글루스 이전 글 – http://lum7671.egloos.com/tag/cmake

– 끝 –

iPhone, xmppframework 컴파일 참고사항.


xmppframework URL : http://code.google.com/p/xmppframework/

필요 Framework
1. CoreLocation.framework
2. libresolv.dylib
3. CoreData.framework
4. SystemConfiguration.framework
5. CFNetwork.framework

추가 필요 Framework
1. facebook-ios-sdk ( http://developers.facebook.com/docs/guides/mobile/ )

Linux, Emacs 내장입력기 사용하기. (외장입력기 끄기)


$HOME/.Xresources (없으면 만들고) 에 “Emacs.useXIM: off” 를 추가 해준다.


$ cat $HOME/.Xresources
...
Emacs.useXIM: off

참고,
예전에 이글루스에 쓴글, 다른 방법…
개미나라 : Emacs, 자체 입력기(input method) 사용하기.

– 끝 –