出戻りSEの楽しい育児日記

ごく普通のSEの育児とお仕事の日記 たいしたことは書いてない

barcode4jでチェックディジットが不一致だとIllegalArgumentExceptionになる

 

リリースを明後日に控えたある日、本番環境で突如発生した
java.lang.IllegalArgumentException: Checksum is bad (0). Expected: 4」。
知っている人なら↑みてピンときそうなものの、
寡聞にしてバーコードの生成処理に詳しくないので、
使用していた「barcode4j」のクラスファイルをデコンパイルするに至りました。

……DBに持ってる文字列でバーコード画像を作る処理だったんですが、
お客さんが間違ったデータ打ち込んだだけだった……

チェックディジットのアルゴリズムは↓でお勉強しました。
http://www.dsri.jp/jan/check_digit.html

 

世の中知らないことがいっぱいだな~~(白い目)

postgresの再インストール時は一旦アカウント削除する

もらったPCのアカウントにすでにpostgres入っていたのでそのまま使ったれ~~と思っていたけど、パスワードが分かんなかった…
ローカルからの接続をtrustにするとかごちゃごちゃやってもなんかダメだったからサクっと再インストールすることに。

 

postgresのアカウントをPCから削除
 →残っているアカウントがあると、それを使おうとしてパスワード不一致のエラーとなる。ので、アカウントを削除する。
  コマンドプロンプトをAdministratorで立ち上げて以下のコマンドを実行
  net user postgres /delete


Cortanaでcmdって入れShif+Ctrl+Enterすると、アドミン権限で立ち上げてくれるの知らなった。便利!

「あたしお母さんだから」レビュー。

話題になってたから「あたしお母さんだから」の歌詞を見たんですが最初の感想は「こりゃだめだ」でした。

ダメな点を技術者らしく箇条書きします。(こないだうけた研修で”技術者はすーぐ箇条書きする、ちゃんとストーリーにしないと伝わらない”と言われたけどまあ、技術者だもんしゃーない)

 

・たくさんのお母さんから出たバラバラの「大変エピソード」を一人のお母さんのエピソード(のように見える)にしてしまった点

 ⇒作詞者、「実際にお母さんから貰ってエピソードなのに…」と嘆いてたとのことですが、集約した時点で文脈変わっちゃうって…

・子供が出来たからやめたことは強制されたことではなく、取捨選択の結果でしかない。「眠いまま朝5時に起きる」ことと「たっぷり寝てスッピンで園に送りにいく」ことを天秤にかけることが出来る。少なくともこの平成も終わろうかと言う現代では、お母さん自身がそれを選び取ることが出来る

 ⇒Twitterにおける「あたしお母さんだけど」のトレンド化

 ⇒「大変エピソード」の背景を描かなかったことで、そこに取捨選択があったかどうかわからず、強制されたように見えてしまっている。たとえば歌詞にあるエピソード「大好きなおかずあげるの」が「(私だって食べたいのに我慢して)」なのか「(自分で食べて満足するより喜ぶ子の笑顔が見たいから)」なのか伝わらない

 ⇒歌詞にお父さんが出てこないのも、「お母さんがやるか、お父さんがやるか」の選択の経緯のオミット

 ⇒そして、子供に会いたいというの取捨選択の結果なんだよね。

・そもそも、不平不満にも見える「大変エピソード」を並べ立て、さいごに「でもお母さんになれてよかった、だってあなたに会えたから」と唐突に歌われても説得力なくない?

 ⇒「子供の寝顔を見て」「初めてあんよができて」「ぎゅーってして!と言われて」とか、お母さんになれてよかったと思う瞬間はもっとポジティブなエピソードの後にくるものでは?

 ⇒この辺の展開がマズいせいで「呪いの歌」って言われちゃってるのでは

 

個人的には、「もしお母さんになる前に戻れたら」という考えすら出てこない。

個人差があるらしいけどホルモンの関係で妊娠出産関連のことって忘れやすくなるものと聞いた。辛い・痛いをバッチリ覚えてたら次の子を産まない=人類増えないから。セルフィッシュジーンの働き…。

 

ちなみに「あたしお母さんだから」で考えると、「化学調味料の入った顆粒出汁は多くて週2、基本毎日削り節からお味噌汁を作るわ」くらいしか出てこなかった。

仕事だってパートじゃなくてもなんとかなるし、朝は7時まで寝てるし、でも好きなおかずでも子が喜ぶならそっちの方が嬉しいからあげちゃうかな。

 

 

あと「あたし」って言うのやめれ

最近使ったコマンドめも

結局のところ、黒い画面が最強なのである

使う時は全部まず「cd {フォルダパス}」で場所移動してからね。


■拡張子の一括変換(*.JPEGにマッチするすべてのファイルを、~.JPGに名前変更する)
ren *.JPEG *.JPG

■拡張子で検索(*.gifのファイルを検索)
dir /B *.gif

■フォルダの中のファイルも一覧表示
dir /S /B

■プロセスID付きでネットの状態一覧
netstat -nao

■PID1230を強制終了
TASKKILL /PID 1230 /F

Javaでフォルダ内のファイルごとフォルダ削除したい場合はdeleteDirectoryが便利

File.deleteは中身があるとFalseが返ってきてしれっと終わるから…

なのですが、org.apache.commonsにいると思ったらいなかった。
Tomcat7ではdeleteDirectoryはutil.http.fileuploadにいた。。。

ので、こいつをimportしておく↓
org.apache.tomcat.util.http.fileupload.FileUtils

ディレクトリ削除系のメソッドはこんな感じに

// 例えばこんなフォルダがあるとして
String path = System.getProperty("user.dir") + File.separator + "tmp";
File dir = new File(path);
dir.mkdir;

// こんなファイルを作るとして
File newfile = new File(path + "¥¥newfile.txt");
newfile.createNewFile();

// FileUtilsならファイルごとフォルダ削除可能
FileUtils.deleteDirectory(dir);

// フォルダ内のファイルを全部削除(フォルダは残す)のも一発
// deleteDirectoryは↓をしてからFileクラスのdeleteをしている
FileUtils.cleanDirectory(dir);

// 指定されたパスのものを削除する。パスがフォルダだったら中身ごと(サブディレクトリも)削除する。
// Boolean型で成否を返すFile.delete()と違い、削除できなかった場合は例外が発生する
FileUtils.forceDelete(dir);

 

BOM付UTF-8のCSVをCakeで

お盆前にリリースが重なったりでバタバタしました。

お盆は実家&義実家にトータル1週間帰省。
プールしたり、海に行ったり、近所の池に亀(大好き)を見にいったりと楽しく過ごした赤子、休み明けの現在見事に保育園登園拒否になりましたorz

 

*


PHPとのお付き合い4か月目。ちょっとお友達になれてきた今日この頃です。
先日、cakephpでBOM付UTF-8CSV吐くという処理を書きました。
初歩的なことなんですが「fgetcsvのサンプルならたくさん見つかるのに…」ってなったのでメモ。

cakephpのFile ユーティリティクラスでBOM付UTF-8

//ファイルのインスタンス生成
$file = new File(<ファイルパス>);

//ファイルを作成
$file->create();

//BOM文字をパッキングして出力
$bom=pack('C*',0xEF,0xBB,0xBF);
$file->append($bom);
$file->append(<出力する文字列>);

//必要に応じてUTF-8に文字列を変換したり
$file->append(mb_convert_encoding(<出力する文字列>, "UTF-8", <変換前の文字コード>));

 

 

Excelで開いたときに「001」とかが「1」になっちゃうのの対策とExcel上の表示★

  • 囲み文字を"から'に変更→'001'
  • タブ文字を追加→001 (テキストエディタ上では001<tab文字>)
  • タブ区切り、UTF-16LE BOM付きで出力して拡張子はcsvに偽装(ただしあくまで偽装。厳密にはTSV)

 

新人さん「BOMってなんですか」

私「バイトオーダー…なんだっけド忘れした…」 ※マーク

 

週3で在宅勤務したい

赤子っていうやつぁ、どうしてこうもすぐ熱を出すのか。
(「保育園入れてるからだろ3歳まで家で見ろ」とか言わないで泣いちゃう)
そして熱が出ていてもたいていの場合元気。
うちの子はまだお喋りはしませんが、言葉よりも雄弁に「外に連れていけ」と要求する。

(ボディランゲージが激しすぎて、保育園の先生に「qさんとこベビーサインとか教えてるんですか?」て言われたけど特に何もしていないw)

 

さて先日、子が熱を出したとき、初めて在宅勤務しました。

自分は頭のオンオフ切り替えが苦手なタイプだと思ってたので、在宅勤務だと仕事にならないんじゃないかと心配したんですが、1時間もすると慣れました。
むしろ、「子が昼寝している間になにがなんでもこの機能完成させる…!」というある意味オフィスにいる時よりも切羽詰まった気持ちで仕事をしたためか、普段より進捗上がった気がします。どうなのそれ…

むしろ週3くらいで在宅勤務したい。「通勤時間って勿体ないんだなぁ…」と痛感したのです。

片道1時間の電車は、本を読んだり音楽を聴いたり刀剣乱舞をしたりするのにちょうどいいなと思っていたんですが、いや圧倒的に無駄だった。
通勤時間がなければあと2時間仕事できるやん。

 

通勤時間もですが、関東に引っ越してきて「家賃、高ッ!!」と思ってから、都内に開発用のオフィス設けてるのが本当に賃料の無駄遣いでは…? みたいな気持ちでもやもやもします。

 

在宅勤務の障壁というと、やはり労働管理なんだろうとおもうのですが、なんかうまいこと解消できないのかなぁ。

PCの操作ログ取るとか、仕事中はずっとカメラ付きでスカイプ立ち上げておいて誰かが確認するとか…?

一番いいのは成果物ベースだと思うんですが、スキルのばらつきとかどう吸収したらいいんだろう。新人さん入って来た時とかどうOJTするんだろう。調べ物とかロジック考えてるときとかどう成果として定量化したらいいんだろう。

フルリモートの会社ってどうやってるのかなぁ~。

 

夫や、友人にも何人かいますが、オフィスに出て人と話したり、オフと完全に環境を切り離さないと力が出ない~ってタイプの人も勿論いる。

赤ちゃんの性格にもよるし。私が不良母過ぎてつむじの横で普段からPC触っているからか、子が状況に慣れていて楽に在宅勤務できた面もある。

これが構って構って欲求の強い赤ちゃんだと大変だろう。

(子にもそういう欲求がないわけではない。夕方以降はべったりです。)


どちらでも選択できるのがベストなんだけどなぁと思う。

 

 

オチが思いつかない、ただの日記のようだ…