2016年11月27日日曜日

i18n

'internationalization'のことを'i18n'と略すらしい。
由来は、初めの'i'から最後の'n'までの中に'18'文字'入って'いるからだとか。
確かに長いよね。

2016年11月23日水曜日

<Linux>uniqコマンドでソートする理由

最近、無知無能を実感します。$ cat file | sort | uniq ってしょっちゅう実行してたけど、なんでsortが必要か理解していなかった。
sortする必要性があるのは、uniqコマンドは隣接行しか確認しないからですね。sortしないと重複行が消えない。

man uniqの結果をベタ貼り

The uniq utility reads the specified input_file comparing adjacent lines, 
and writes a copy of each unique input line to the output_file.  

和訳してみた

uniqコマンドは隣接行を比較しつつ入力ファイルを読み込み、ユニークな入力行のコピーを出力ファイルに書き込みます。

標準出力なども、shellがuniqを実行して、ファイルをOSに渡して出力させているってことなのかな。
いつも「~コマンドを叩くと標準出力に..が出る」みたいな言い方をしてしまうけど、正確に言うと
「ターミナル→shell→OS→スクリーン」ですかね。

<Linux>chmod [u|g|o|a]<+|-><w|x|r> file

さすがにchmod +xはよく使うので、+とrwxはそれぞれの権限を付与するというのは知っている。

しかし、chmod u+x fileと書かれた時に、「?」となったので、メモとして投稿します。
パーミッションは、所有者ユーザー・グループ・その他のユーザにそれぞれ設定できて、
u+ / o- とパーミッションの付与・剥奪の対象を選択できる。
指定がなければ、a+ / a- と同じで全てに対して操作する。

2016年11月22日火曜日

<Linux>which -aなんて使ったことなかった。。。

何事もマニュアルや公式ドキュメント当たって調べてみるべきですね。
perlの本読んでたらwhich -a perlと載っていました。
whichコマンドにもオプションが存在していたって知らなかった。。。

-a オプションをつけると、引数に指定したコマンド(実行ファイル)の場所を全て列挙する。
javaなど、複数のバージョンの実行ファイルなどあった場合に、全てのファイルの位置が出るそうです。
デフォルトは一番初めのもののみ。

以下、自分の環境での man whichのベタ張りです。
NAME
     which -- locate a program file in the user's path

SYNOPSIS
     which [-as] program ...

DESCRIPTION
     The which utility takes a list of command names and searches 
     the path for each executable file that would be run had these commands actually been
     invoked.

     The following options are available:

     -a      List all instances of executables found (instead of just the first one of each).

     -s      No output, just return 0 if any of the executables are found, or 1 if none are found.

     Some shells may provide a builtin which command which is similar or identical to this utility.  
     Consult the builtin(1) manual page.

SEE ALSO
     builtin(1), csh(1), find(1), locate(1), whereis(1)

HISTORY
     The which command first appeared in FreeBSD 2.1.

AUTHORS
     The which utility was originally written in Perl and was contributed 
     by Wolfram Schneider .  The current version of which was
     rewritten in C by Daniel Papasian .

ちなみに、引数は複数取れるというのは今日初めて知りました。

$ which java perl
/usr/bin/java
/usr/bin/perl

2016年11月20日日曜日

<Java>printlnで出力される改行コード

勘違いしていたので、メモメモ...
「JavaのPrintStdeamクラスのprintlnメソッドで出力される改行コードは、OSにより異なる」

Write Once, Run everywhere.
というのがJavaの言語思想にあるってことは、わかってても、
\nがどのOSでも同じように解釈されるのかと、かんつがいしておりました。

そもそも\nと\rが意味することを理解していなかった。

改行コード略字英語日本語訳採用しているOS
\rCRCarrige Return復帰UNIX, Linux系, Mac OS
\nLFLine Feed改行(※紛らわしいので英語で読みたい)Windows
\r\nCR+LFCarrige Return + Line Feed旧Mac OS

2016年11月19日土曜日

<Java>BigDecimal

軽い投稿。
3年ぐらい前にOracle Java Programmer Certificationの試験を受けたことがありますが、その時にまったく勉強した記憶がなかったBigDecimal。
コンストラクタの引数は文字列として数字を書かないと、誤差が出てしまうんですね。

BigDecimal bd = new BigDecimal("1.0");

2016年11月13日日曜日

マウス分解してみた

タイトル通りマウスを分解してみた。
電気・回路は全然わかんないけど、とりあえずやってみようと。
これまでの分解経験は壊れた電子辞書ぐらいです。

今回のお相手は、こちら
iBUFFALO 無線(2.4GHz)光学式マウス 3ボタンタイプ ブルー BSMOW10BL

マウスホイールが付いているだけのワイヤレスマウスです。
シンプルで悪くなかったです。
しかしながら、前の会社にUSB受信機を置いてきてしまったので、お役御免になりました。。。

まず一番上のカバーを外します。

次に中蓋を外します。

開けてみるとネジで止めているみたいですが、裏から見てネジは見えなかった。
どうやって作ってるんでしょう?

反対側

針金は乾電池のプラス極とつながっているみたいです。
クリックした時につながっているスイッチはKailhというメーカーみたいです。

回路のCI3とかU3とかわかんないなぁ。暇になったら調べます。

核兵器禁止決議を採択 国連総会、日本は反対

核兵器禁止決議を採択 国連総会、日本は反対(日経新聞電子版)
核兵器禁止決議を採択(ニュースで英会話)
核禁止条約 交渉開始へ  国連委決議、日本反対(東京新聞)

いやはや、日本って面白いな。この決議に賛成できないとは。
軍事面ではアメリカと協調しているので、アメリカのアドバンテージを損なうこの決議には反対せざるをえない。

まず、核兵器があるべきかっていうと、下記の理由で核兵器は廃絶すべきだと思います。

  • 放射能汚染を伴う
  • 多数の民間人も犠牲になる


<採択への反応>

  • 棄権・・・中国、インドなど16カ国
  • 反対・・・米国、英国、フランス、ロシアなどの核保有国、38カ国
  • 賛成・・・核兵器を保有しないオーストリアやメキシコなど123か国

主要な国を見ている限り、核を持っていれば危険か反対、それ以外は賛成してますかね。
核兵器の抑止力が高いことや、制作・維持費用が高いことの裏返しでしょうか。

しかし、核の傘には入らないで、国の軍事的な安全を確保するのって難しそうだな。。。
国内で、ある程度地理的に分散させて軍備配置するとか、東南アジア・オセアニア諸国と友好関係を維持・構築してアメリカへの依存度を下げるとかですかね?自分でもどうすべきか全然わからないので、暇なときに考えます。

官僚の無謬性

バイリンガルニュースというポッドキャストを聞いていたら、マミさんがぽろっと話していた。
官僚は「自分たちは間違えを犯さない」という暗黙の前提を持っている、というのが官僚の無謬性です。

自己イメージ(エフィカシーとかいうだっけ?)というのはある程度大事だと思います。
ただ、「自分たちは間違えを犯さない」ということが全員の共通認識となり、それが組織の目的よりも優先されるような事態となったら、誤った行動をとるようになってしまうかもしれないですね。

2016年11月6日日曜日

GUのレジ

日進月歩。日々テクノジーは進化してきますね。
UNIQLOの姉妹ブランドであるGUで本日お買い物してきましたが、
セルフレジにびっくり。

いやセルフレジ自体は珍しくないのですが、
(東京大田区大森の西友さんで使ったことあるし、多分、多分コストコさんとか外資のスーパーは積極的に使ってるんとちゃう?)
GUのレジは、扉の中に買い物かごをおいてボタン押すだけで全ての商品を読み込んだんですよ!

というわけで、ググってみると、RFID(ICタグ)使ってるんですね。
(参考:GUのセルフレジを体感 時間短縮で満足度UP ファストリ)

「ユニクロ」などを展開するファーストリテイリングが、「ジーユー」の4店舗でセルフレジの試験運用を始めた。セルフレジはRFID(ICタグ)を活用したもので、購入者自身がハンガーなどを外して、レジ備え付けのボックスに商品を入れれば、より短時間で精算が可能になるという画期的なサービス。

〜中略〜

さらにタグには、商品を生産しないまま持ち出すとゲートでブザーが鳴る防犯機能もあり、万引などの犯罪の抑止効果もあるという。

〜中略〜

「ICタグは通常の値札よりも高価な上、1店舗当たり約4~5万枚が必要なため、この入れ替え費用はばかになりません。レジ自体も数百万円の初期費用が掛かるので、簡単に拡大することは今の段階では考えていません」と長谷リーダー。
ようは大きなくくりでいうと、SUICAなどと同じ技術を使っているということ。
(※ 細かい規格は違うかもしれない。。。type a, type b, felicaのどれなのかな)

商売の観点で面白いのは、自分が行ったGUは上野のジーユー御徒町店なのですが、
こちらはビルの5,6階に入っています。 同じビルの1-4階を占める、GUと同時にオープンしたユニクロ 御徒町店では、
レジはセルフではなく、通常のレジです。
UNIQLOブランドでの統一性の観点や、GUでの運営費の低減や万引き抑止の目的から、 セルフレジの導入はGUだけなのかと思っています。
参考記事の時系列から、ジーユー御徒町店は2014年4月25日の開店当時はセルフレジではなく、
2015年5月以降にセルフレジを導入した模様です。
そのことから費用に見合う効果は出ているのではないかと穿っています。

参考記事:

新聞読まないと。。。「ポケモンGO」による死亡事故で実刑判決

恥ずかしながら新聞読んでないので、ネットサーフィンしていてニュースにびっくりすることになる

「ポケモンGO」による死亡事故で実刑判決

こちらのシンク出版 という会社様のサイトでたまたま見かけました。
以下引用:

さる8月23日午後7時半ごろ、徳島市で軽ワゴン車を運転していた男性が「ポケモンGO」に気を取られたため、道路を横断していた女性2人に気づかずはねて1人を死亡させ、もう1人に重傷を負わせる事故がありました。

 この事故は、「ポケモンGO」による初めての死亡事故として話題になりましたが、このほど自動車運転処罰法違反の罪に問われた男性に対する判決があり、徳島地裁では禁錮1年2月(求刑禁錮1年8月)の実刑判決を言い渡しました。

 判決のなかで、裁判官は「『ながらスマホ』による前方不注視で、直線道路で被害者にまったく気づかない過失は非常に大きい。単純な過失とは一線を画する」と述べています。

 車を乗っているときには、当然前方の進路などを見て安全確認をしながら運転していますが、運転中にスマートフォンで「ポケモンGO」をするということは、明らかに安全確認をする意思がないということになり、こうした厳しい判決になったのだと思います。

 「ポケモンGO」に限らず、運転中はわき見運転につながるゲームは絶対にしないようにしてください。

引用終わり:
交通事故は確率的に起きるものですが、「ポケモンGO」はいただけないですね

スイスチーズモデル

そういえば、ヒューマンエラーに関する資料で見たことあるなぁという単語。
たまたまネットを漂っていたら目にしました。

ある望ましくない結果や事故に対して、1つの対策では抜け漏れが出る可能性はあるが、
複数の対策を重ねることで、いづれかの対策で発生を防ぐことができるという考えのことです。

2016年11月4日金曜日

<Linux>crontabってファイル読み込めるんですね

知らないことばかりですわ、全く

crontabコマンドってバックアップファイルから設定を反映することができるなんて。。。

今までおどおどcrontab -e やらcrontab -l を打っていたのがアホらしい。

manを読んでもしっかり書いてあるしね


SYNOPSIS
     crontab [-u user] file
     crontab [-u user] { -l | -r | -e }

DESCRIPTION
...
     The first form of this command is used to install a new crontab from some named file or standard input if
     the pseudo-filename `-' is given.

2016年11月3日木曜日

Wayback Machine

沈黙のWebマーケティング Webマーケッター ボーンの逆襲という本で紹介されていた、ウェブサイトの過去の状態を確認できるWebサービス。

試しにグーグルのURL入れてみたところ、毎日ストックされているみたいでした。
デザインの微妙な変化を確認できました。

Wayback Machine