MacでJPGファイルで自炊してZIP化

今までWindowsScanSnapを使用して自炊を行ってきました。
Macで自炊するにはどうするか設定してみました。

またPDF形式で作成してきましたが、漫画などはJPGをZIPで固めたファイルの方がiPadiPhoneでの表示切り替えが早いと思ったので出力形式はJPGをZIP化したもので作成しました。

作成するにはツールとかがなくて困るかなと思いましたが、やってみると標準アプリで十分でした。Macいいです。
まず一冊分JPG形式でファイルを作成します。
表紙は1回で取り込みます。たいてい長さが足りなくなるので長尺モードで取り込みます。SnanSnapのボタン長押し→取り込み。
表紙2枚、裏表紙2枚の計四枚のJPGに分割します。プレビューで対応できます。
画像を範囲指定してコピー(Option-c) → 新規作成(Option-n) → 保存(Option-s) →フォルダを指定して形式はJPEGで保存します。

表紙ファイルはファイル名の並び順が日付のファイル名より上、裏表紙は日付のファイル名より下になるように命名します。

例:4分割したファイル名の指定は以下にしました。
12.jpg | 11.jpg | h24.jpg | h23.jpg

もとの1枚で取り込んだ表紙画像は削除します。
Finderでは以下のように表示されます。

ZIP化にはAutomatorを使用します。以下の作業はワークフローで対応できます。

やりたい事:
1.指定したフォルダ内の画像のファイル名を連番に変更
2.ZIPファイル作成
3.画像フォルダ内ファイルをすべて削除


Automatorで画像の置いてある入力フォルダを指定します。決まった場所を新規変数で入力しておきます。
フォルダ内のファイル名を連番に変更します。

アーカイブを作成します。ZIPファイルの作成先フォルダをしています。
ファイル名を都度変更できるように「ワークフローの実行時にこのアクションを表示」にチェックを入れます。


ZIPファイル作成後、JPGファイルは削除します。先ほど登録した変数を使用します。


また、それまでの入力は無視します。右クリック(Option押しながら)で「入力を無視」を指定します。

作成したワークフローは適当なフォルダに保存します。
私は以下のフォルダに作成しました。
ユーザー/ライブラリ/Workflows/

実行時はZIPのファイル名を入力します。

MacでEmacsでJDEEを設定する

何を思ったかMacBookAirを購入してみました。プライベートでは初Macです。
いや、iPadを使っていますがその分PCに触れる時間が減ってきたため、開発者としてはイカンだろ。と思った次第です。

使い勝手はとてもよいです。
長年使っているWindowsより調べたいことが直感的に探せる、標準ソフトで使えるものが既に多く揃っている、何よりかっこいいです。

WindowsではMeadowを使っていますが、標準のキーバインドEmacsに近いのもよいです。

さて開発ツールとしてCocoa Emacsが良さそうなので入れてみました。(XCodeは当然先に入れました)

JDEEに必要なライブラリをダウンロードします。

JDEE, CEDET, ELIB

私はホームの以下の場所に解凍しました。

~/emacs/lisp/cedet-1.0
~/emacs/lisp/elib-1.13-pkg
~/emacs/lisp/jdee-2.4.0.1

javaコンパイル時に使用するtools.jarはMacにはないとのことなのでjde.elのソースを変更。

	  (if (eq system-type 'darwin)
	      "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar"
	    "lib/tools.jar")
	  (jde-get-jdk-dir))))

cedetはMakeがあるので実行。

make
make install

あとは~/.emacs/init.elを設定。パスを追加した後バイトコンパイルを実行。

;; cedet
;(load-library "cedet")
(load-library "~/emacs/lisp/cedet-1.0/common/cedet.el")
(global-ede-mode 1)
;(semantic-mode 1)

(setenv "JAVA_HOME" "/Library/Java/Home")
(setenv "ANT_HOME" "/usr/share/java/ant-1.8.1")
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/jdee-2.4.0.1/lisp"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/common"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/semantic"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/eieio"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/speedbar"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/cogre"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/ede"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/srecode"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/elib-1.13-pkg/lisp/elib"))

(require 'cedet)
(require 'jde)
(setq compilation-window-height 8)

(require 'jde-ant)
(setq jde-ant-enable-find t)
(setq jde-ant-home "/usr/share/java/ant-1.8.1")
(setq jde-ant-program "/usr/bin/ant")
(setq jde-ant-read-target t)
(setq jde-build-function (quote (jde-ant-build)))

適当なJavaソースでjde-compile実行。できた。

MacでEmacsでJDEEを設定する

何を思ったかMacBookAirを購入してみました。プライベートでは初Macです。
いや、iPadを使っていますがその分PCに触れる時間が減ってきたため、開発者としてはイカンだろ。と思った次第です。

使い勝手はとてもよいです。
長年使っているWindowsより調べたいことが直感に探せる、標準ソフトで使えるものが既に多く揃っている、何よりかっこいいです。

WindowsではMeadowを使っていますが、標準のキーバインドEmacsに近いのもよいです。

さて開発ツールとしてCocoa Emacsが良さそうなので入れてみました。(XCodeは当然先に入れました)

JDEEに必要なライブラリを必要なライブラリをダウンロードします。

JDEE, CEDET, ELIB

私はホームの以下の場所に解凍しました。

~/emacs/lisp/cedet-1.0
~/emacs/lisp/elib-1.13-pkg
~/emacs/lisp/jdee-2.4.0.1

javaコンパイル時に使用するtools.jarはMacにはないとのことなのでjde.elのソースを変更。

	  (if (eq system-type 'darwin)
	      "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar"
	    "lib/tools.jar")
	  (jde-get-jdk-dir))))

cedetはMakeがあるので実行。

make
make install

あとは~/.emacs/init.elを設定。パスを追加した後バイトコンパイルを実行。

;; cedet
;(load-library "cedet")
(load-library "~/emacs/lisp/cedet-1.0/common/cedet.el")
(global-ede-mode 1)
;(semantic-mode 1)

(setenv "JAVA_HOME" "/Library/Java/Home")
(setenv "ANT_HOME" "/usr/share/java/ant-1.8.1")
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/jdee-2.4.0.1/lisp"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/common"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/semantic"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/eieio"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/speedbar"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/cogre"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/ede"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/srecode"))
(add-to-list 'load-path (expand-file-name "~/emacs/lisp/elib-1.13-pkg/lisp/elib"))

(require 'cedet)
(require 'jde)
(setq compilation-window-height 8)

(require 'jde-ant)
(setq jde-ant-enable-find t)
(setq jde-ant-home "/usr/share/java/ant-1.8.1")
(setq jde-ant-program "/usr/bin/ant")
(setq jde-ant-read-target t)
(setq jde-build-function (quote (jde-ant-build)))

適当なJavaソースでjde-compile実行。できた。

jQuery-ui autocompleteの使い方(複数パラメータ入力 and JSON配列読み込み)

ちまたで使われているWeb画面での入力補完を私もやってみたかったのです。

ライブラリは使いやすくて奥深い、jQueryjQueryで使える入力補完のライブラリを探しました。
jQueryUIのautocompleteがよさそうです。

http://jqueryui.com/

ajaxでサーバーに複数フォーム項目のデータを送信したかったのです。入力中のフォームの値はtermオプションで自動的にパラメータが追加されています。他のフォームの値をパラメータとして追加で渡したかったのです。
なおかつJSON配列でデータを受け取るようにしたかったのです。
サンプル:
["京都","京橋","京田辺"]

単純にURLにGETパラメータで追加しようとしてもできませんでした。関数ロード時の値が登録されていました。入力補完の実行時にパラメータを渡したいのです。
jQueryで$.ajax()関数を使用するのがよさそうでした。

$(function(){
    $("#name").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "data.json",
                dataType: "json",
                data: {
                    term: request.term,
                    org: $("#org").val()
                },
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            label: item,
                            value: item
                        }
                    }))
                }
            })
        }
    })
});

successは悩みました。実現は割とシンプルにできました。
動作できました!

はてなダイアリー初体験

初めてはてなダイアリーを使います。
まずは書き方から練習しよう。

連番

  1. うの
  2. どす
  3. とれす

javaのソース

import java.io.*;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
$(function() {
})