Just another Ruby porter,

〜2015年7月上旬〜


<Older(,) | Newer(.)> | Recent(/)>> | RDF

2015-07-01 (Wed)

著者名がない

そういうケースもあるよな。
なんで名無しのコレクションができるのかと思ったら当たり前だ。
その時はファイル名に著者名も入れとけば、
いちいち設定しなくてもいいじゃんと思っていたわけで。
こういうときはディレクトリ名なら問題ないわけか。
著者名がない場合はディレクトリ名とすればいいわけだが、
そんな処理をsqlで書くのが面倒だ。

% sqlite3 books.db 'select ifnull(author,substr(file_path,instr(file_path,"/")+1,length(file_path)-length(file_name)-instr(file_path,"/")-1)) from books'

やっぱ著者名をつけ直したほうがよさげだ。


2015-07-02 (Thu)

sqlite3のtrigger

今日もSony Reader。triggerはお手軽だけど設定した後に追加された文書しか有効ではない。
すでに登録されてるものはどうすればいいのか?
一度PCに退避してDBも消せば初期化されるので、
その状態でtriggerを設定して戻せばいけそうだ。
しかし数百MBもあるしなんか頭悪い。
books.dbだけいじればいいわけで、booksテーブルを初期化しちゃうのがいいかもしれない。

% sqlite3 books.db 'delete from books'

でうまくいった。ちゃんと再構築してくれるのでそのついでにtriggerが発火する。
ああ、だったらtriggerじゃなくてsqlite3で直接実行するのもありか。
ふりがなとかもつけられるし。いやふりがなはあってもあまり意味ない。


2015-07-03 (Fri)

Smart J:COM Boxソフトウェアバージョン ver.3.35

長いタイトルが横スクロールするようになり気づいた。
変更点。

フォルダの位置を末尾にしたかったのでこの変更はうれしいが、
メニューが増えて一括操作への動線が遠くなったが難点。
もっと動きが速ければ気にならないんだろうけど。


2015-07-04 (Sat)

InstapaperでePub

久し振りにInstapaperでePubに変換しようとしたら、
かなり様変わりしていて方法が見つからない。
昔は右にサイドバーがあってKindleとかePubのボタンがあったよね。
いろいろ探しまくって試行錯誤してやっと発見。
右上の自分のメールアドレスをクリックして、
Download...を選べば出てきた。
で、相変わらず日本語が化けるePubができあがってげんなりしている。


2015-07-05 (Sun)

zshのブレース展開

いつのまにかbashと同じように{a..c}がa b cに展開されるようになっていた。

% echo $ZSH_VERSION {a..c}
5.0.2 {a..c}

5.0.2では展開されない。

% echo $ZSH_VERSION {a..c} 
5.0.7 a b c

5.0.7ではされる。 ZSHのRelease Notesには書かれてないような。


2015-07-06 (Mon)

zshでdate

昨日のzshの release noteを見てたら5.0.6で気になる記述が。

Another new prompt feature is the %. escape within time strings, for example %D{%H:%M:%S.%.}. It provides zero-padded decimal fractions of second; by default milliseconds are shown, but the number of digits may be indicated from 1 to 6, e.g. "%6.". (Note this is part of the extensions to strftime() formats rather than basic prompt escapes.)

%Nじゃなくて%.なんだな。

% date +%T.%3N;date +%T.%3N             
01:04:52.435
01:04:52.437
% date +%T.%3N;echo ${(%)${:-%D{%T.%.}}}
01:04:54.867
01:04:54.868

なんかすごくそれっぽい。ビルトインなだけに速いわけだ。


2015-07-07 (Tue)

zshでdateをちょっと修正

適当に試行錯誤した結果なので余計な${}が入っていた。

${(%)${:-%D{%T.%.}}}

この内側の${}が不要。

% echo ${(%):-%D{%T.%.}}
01:34:57.657

ちょっと説明しておくと(%)がprompt sequenceの展開。

%
    Expand  all  %  escapes  in  the resulting words in the same way as in prompts
    (see EXPANSION OF PROMPT SEQUENCES in zshmisc(1)). If this flag is given twice,
    full prompt expansion is done on  the  resulting words, depending on the
    setting of the PROMPT_PERCENT, PROMPT_SUBST and PROMPT_BANG options.

それと:-での変数展開時には変数名を省略することもできる。

${name-word}
${name:-word}
    If name is set, or in the second form is non-null, then  substitute  its
    value;  otherwise  substitute word.  In the second form name may be omitted, in
    which case word is always substituted.

実はprint -Pでprompt sequenceの展開ができるのでもっと簡単に書ける。

% print -P %D{%T.%.} 
01:39:27.587

2015-07-08 (Wed)

Windows7のデスクトップに突然「最近表示した場所」が表示されるようになった

確かにどこかのフォルダをいじってるときにふとボタンを押したが、
なんでデスクトップに居座るのか?
これが右クリックを押しても消せる気配すらない。
しかしぐぐるとなぜかいっぱいヒットするわけで、
しかも解決方法も同じだ。なぜか表示されることもあるらしい。
いやいやこれバグだろ。というわけであとは
デスクトップに「最近表示した場所」が表示されるを参照。


2015-07-09 (Thu)

DynamoDBのbatchWriteItem

ドキュメントを読むとDeleteRequestとPutRequestが仲良く並んでいるので、
当然混在できると思い機会を伺っていたが、
結局のところだめらしい。

ValidationException: Supplied AttributeValue has more than one datatypes set, must contain exactly one of the supported datatypes

言われてしまう。まあ、英語をよく読めばちゃんと書いてあるのであった。

  1. You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

2015-07-10 (Fri)

Inoreader APIがエラーになる

なんかいつの間にかアプリを登録してAppIdを取得しないといけない仕様になっていた。
取得は簡単で設定のアプリ開発で新しいアプリを作るをクリックして適当に名前をつければいいだけ。
あとはHeaderにAppId:とAppKey:を設定すればok。
10分ごとに起動したとして2APIを使っても1日288回なので1万回とかいう制限は全然問題ないな。
実際は1時間だし。


<Older(,) | Newer(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!