2018年2月26日月曜日

A4サイズの無地ノートまとめ(2018)

友人がA4サイズで無地のノートを探していたので、自分なりに調べてみたものをまとめてみました。

コクヨ ノ-201W(40枚) 360円くらい
http://www.kokuyo-st.co.jp/stationery/campus/lineup/tokusyu.html
 コクヨノートの定番ブランド「キャンパス」シリーズを扱っている文房具店なら、一番置いてある可能性が高いもの。無線綴じノート。私の地元のドンキでは置いてなかったが、友人の近くのドンキにはあったという。需要の差ですかね。

コクヨ ス-T223W-M(40枚リング) 480円くらい
http://www.kokuyo-st.co.jp/stationery/otona-campus/campus-plain.html
 いわゆる「大人キャンパス」シリーズ。ツインリングノート。切り離すとA4ジャストサイズになるので、サイズとしてはやや大きめでしょうか。

マルマン N225ES スパイラルノート A4無地(80枚) 530円くらい
http://www.e-maruman.co.jp/products/detail.php?product_id=2748
 マルマンといえばスケッチブックの印象が強いんですが、ノートもありますね。スパイラルリングノートで、切り離すとA4ジャストサイズになるという。コクヨと比べると枚数で圧倒してる感じです。

ツバメノート A4白無地(40枚) 390円くらい
http://www.tsubamenote.co.jp/product.html#tokua4
 糸綴じノート。これ見たことあります! と思ってよく調べてみると、フールス紙を使って作っている大学ノートは、大学生協オリジナルとか、マルゴノート(アルファファイブ)とか、MDSとか、どこも似たようなデザインなんですね。歴史ある風貌なのか…… そんな中でA4無地なのはこれくらい?

個人的に、collegeシリーズやKTノートでおなじみのキョクトウがA4無地を出していなかったのが意外でした。KTノートA4無地糸綴じ60枚とか丁度隙間っぽいですが、需要がイマイチなのかも知れません。

2017年11月11日土曜日

PAD図を描くツール PadTools がすごい

 構造型プログラミングを学ぶとき、処理の流れを図示して整理するために、フローチャートなどといったダイアグラムをよく書きます。

 このときに用いる作図ツールとしては dia が有名で、フローチャートやUMLの一部のダイアグラムは、これがあれば何とか作図出来るのですが、PAD (Problem Analysis Diagram, プログラム構造表記法) については、どうもdiaのテンプレートが見当たりません。SDL (Specification and Description Language) はあるのですが、PADは国産だし、しょうがないかな、と思っていました。

 ところが、PadTools なるPAD作図ソフトウェアがあるじゃないですか。しかもJavaで。

PadTools 1.4 
https://knaou.github.io/padtools/

 このツールの素晴らしいところは、PAD図を書くために、SPD (Simple PAD Description) 文というものを書かせるんです。 これ、疑似コードにとても近い存在なんですよね。ということは、このツールでPADが書ける=処理の流れが書ける=プログラミングも出来る、はず、という素晴らしい連携が期待出来るわけです。

 但し構造化プログラミング向けなので、オブジェクト指向プログラミングの場合は素直にUMLを使うことを考えた方が良いでしょう。関数型プログラミングの場合は…もしかして図から入ることがない、のかな? 

というわけで PadTools おすすめです。Package化したい。

2017年10月1日日曜日

BSD date で日付文字列を書き換える

BSD date コマンドでは、オプション -j を付け、-f と + のオプションを使うことで、OSの日付を設定することなく、日付文字列を書き換えることが出来ますね。(LANG=C が前提です。)

% date
Sun Oct  1 00:08:38 JST 2017
% date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H"
17100100

で、FreeBSD snapshot manager を使っていると、zfs のスナップショットを世代番号で作ってくれるのですが、何時のものなのかが、ちょっとわかりにくい。実際は、こう書けば日付が出てくるわけです。

% zfs get creation zfspool/home@daily.0
NAME                  PROPERTY  VALUE                  SOURCE
zfspool/home@daily.0  creation  Sun Oct  1  0:00 2017  -
% zfs get -H -o value creation zfspool/home@daily.0
Sun Oct  1  0:00 2017
% zfs get -H -o value creation zfspool/home@daily.1
Sat Sep 30  0:00 2017

ってことは、

% date -j -f "%a %b %d %T %Y" "`zfs get -H -o value creation zfspool/home@daily.0`"+%y%m%d%H"
17100100
% date -j -f "%a %b %d %T %Y" "`zfs get -H -o value creation zfspool/home@daily.1`"+%y%m%d%H"
17093000

なんて具合に日付文字列を取り出せるわけです。FreeBSD snapshot manager と zfs send で差分バックアップしたい、でもファイル名をどうしたらいいか分からない、と悩んでいたんですが、これで何とかなりそう。

ちなみにLANGがC以外だと…

% setenv LANG ja_JP.UTF-8
% date
2017年 10月 1日 日曜日 00時23分52秒 JST
% date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H"
Failed conversion of ``2017年 10月 1日 日曜日 00時23分54秒 JST'' using format ``%a %b %d %T %Z %Y''
date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
            [-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format]

% setenv LANG C
% date
Sun Oct  1 00:24:06 JST 2017
% date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H"
17100100

まあ、こんなもんです。