2016年3月31日木曜日

Microsoftのオープン化が進む

Windowsでついに、Bashが使えるようになるとは。

Build 2016で驚きの発表―Microsoftはこの夏Windows 10でBashシェルをサポート

Dosはどうなるんだろう。
ひとまずは、そのまま使えると思うのだが、いずれなくなるのだろうか。
てか、Windowsもいずれ、Linuxのディストリビューションみたいな感じになったりするかもね。
今の時代は、OSは無償は当たり前だから、どうしてもオープンよりになるしかないんだろうな。

やっぱ、独自フォーマット戦略はホント、昔のビジネスのやり方だと思う。
今はプラットフォームは、オープンになってきて、サービスかコンテンツで勝負なのでしょうよ。
プラットフォームでも、手数料を取って行ったところも手数料をなくしたり、代わりに同種の手数料なしのサービスが出てきたりするから。(楽天の対抗サービスとしてBaseだったり)
プラットフォームで手数料と取るビジネスっていうのも長続きはしないんだろうね。

2016年3月29日火曜日

Apple vs FBIの行方

以前にFBIがAppleに対して銃乱射事件の容疑者のiPhoneのアンロックについて記事を書いたのだが。

Apple vs FBI

どうやら、FBIは自力で、iPhoneのアンロックができたらしい。

司法省、対Apple訴訟を取り下げ―テロ容疑者のiPhoneはFBIがアンロックに成功

凄いぞ、さすがFBIだ。
FBIには、凄腕エンジニアがいるのだろうか。
てか、FBIは、Appleはおろか、Google、Microsoftの技術にも対抗できたりするのだろうか。
それとも、Appleのロックが甘かったのか。
なんか、あっさりとセキュリティのロックの解除がなされた気がするが。
もしかして、裏で誰かApple関係者がFBIに協力したのかな。

2016年3月28日月曜日

プログラマー35歳定年説

プログラマー35定年説ってあるが、私は37歳で、まだ現役プログラマーだ。
30歳ぐらいから、このまま少しプログラマーを続けれるのかな。と思っていた。
前職は、SIerの下請け企業だったので、退職前の数年はどちらかというと、管理側の仕事の割合が多くなったいた。現職では管理の仕事はなくて、ほとんどプログラミングだ。
ちなみに、社会人になってからの仕事の役割は、経験年数ごとでは、次のような感じ。

■1年目(2000年)
 先輩が作成したプログラムのテストとバグ表の記入。テストは単体テスト、組合テスト、総合テスト。(テストの試験項目リストは、先輩が作ってくれた。)
 プログラミングの改造作業(Power Builderっていうプログラミング言語だった。)
 そして、テストの試験項目リストも自分で作成するようになった。
 また、1年目はクライアントサーバシステムの開発のみだった。

■2年目(2001年)
 プログラミングの新規開発をPerlで行う。
 プログラミングの新規開発をWebpage Generetorというプログラミング言語で行う。
 (ASPとJSPみたいに、htmlに専用のタグを入れることで、htmlを動的に表示させるプログラミング言語だった。)
 プログラミングの新規開発をJavaで行う。フレームワークのStrutsを使う。
 2年目からWebシステムの開発が主になってきた。Perlはプログラミングしやすかったし、Javaでプログラミングをするのは、とても楽しかった。そして、Strutsはあまり普及してない時に、使っていたりした。このころは、Strutsすげえ。と思っていたし、Javaが好きだったなぁ。

■3年目(2002年)
 内部仕様書(プログラム仕様書)の作業を行うようになる。
 仕事は、Java + StrutsのWebシステムの開発が主だった。

■4年目(2003年)
 外部仕様書のの作業を行うようになる。
 仕事は、Java + 色々なフレームワークでのWebシステムの開発だった。
 国産のフレームワークだとcFrameworkとかあったなぁ。今はどうなんだろう。

■5年目(2004年)
 システム開発の作業見積書を作成するようになる。
 仕事は、前年に引き続きJava + 色々なフレームワークでのWebシステムの開発だった。

■6年目(2005年)
 前年から特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 仕事は、前年に引き続きJava + 色々なフレームワークでのWebシステムの開発だった。

■7年目(2006年)
 引き続き、特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 そういえば、中国の人と一緒に仕事した。
仕事は、前年に引き続きJava + 色々なフレームワークでのWebシステムの開発だった。

■8年目(2007年)
 引き続き、特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 仕事は、前年に引き続きJava + SeasarでのWebシステムの開発だった。
 SeasarはTeedaという、JavaServerFacesのフレームワークを使用した。
 Seasarは凄くわかりやすいフレームワークだった。当時感動したのを覚えている。

■9年目(2008年)
 プロジェクト管理するようになった。だいたい2、3人の作業担当者を管理していた。
 スケジュールを作成して、品質管理をするようになった。
 仕様書の作成や、プログラミングをする時間がほとんどなくなってきた。
 週に1時間も自分の実作業をしてなかったと思う。
 進捗管理や懸案事項の整理と、作業担当者が作成した仕様書やプログラムをレビューしていた。

■10年目(2009年)
 前年から特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 仕事は、Java + StrutsのWebシステムの開発が主だった。
 Strutsの仕事は、断続的にあったな。長いよ。

■11年目(2010年)
 引き続き、特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 仕事は、Java + StrutsのWebシステムの開発や、Androidアプリの開発。
 Androidアプリの開発では、管理でなくて、久しぶりにプログラミングばかりしていた。楽しかった。確か、Androidのversionなんて、1.6とかだったよ。

■12年目(2011年)
 引き続き、特に新しく増えた役割(仕様書作成とか、見積作成とか)はなかったはず。
 仕事は、Java + StrutsのWebシステムの開発や、C#でのクライアントサーバシステムの開発だった。
 C#も、管理でなくて、プログラミングばかりしてた。その時にVisual Studioいいじゃん。って思った。

 ■13年目(2012年)
 会社を辞めた。カナダのトロントに語学留学してた。

■14年目(2013年)から今まで
 スマートフォン(AndroidとiOS)のアプリの開発をしている。
 少し、WebのAPIの開発もしている。


13年目(2012年)に前職を辞めたのは、プログラミングの仕事の割合が少なくなってきたからだね。やっぱり技術に関わるのが少なくなると、良い仕事ができないと思うし、
10年目(2009年)ぐらいに、リーマンショックの影響で、仕事が少くなって会社で待機みたいな人がいたりしたけど、すぐに仕事が割り当てられるのって、技術屋だったと記憶している。年配のマネージャーとかはいらないんだよ。自分はそうなりたくないから、そして、SIer系の仕事は、年をとったら、単価の関係で、プログラマーでなくマネージャーの仕事をやらざるをえないだよ。
プログラマーの単価よりマネージャーの単価は高い。
そして、年とった人の給料は高くなる。
だから、年をとったら、マネージャーにさせられるんだよ。
なので、SIer系の仕事でないITの仕事に関わろうとして、今はSIer系以外の仕事で、プログラムばっかり書いている。
まだ、プログラマーを辞めることは考えてない。これからも続けるだろう。
生涯現役のつもり。(甘いかな。)

そして、最近、仕事で使用しているプログラミング言語は、C#、Java、JavaScriptが主だね。
少し、VBAだったり、Phpをプログラミングするときもある。
趣味で使用しているプログラミング言語はJavaScriptだね。Nodeをいじっているよ。

2016年3月27日日曜日

使われなくなるEメール

どんどんEメールが使われなくなっているみたいだ。

モバイル最若年層では、Eメールが死につつある

自分は仕事で、Eメールを使用しているが、最近はチャットも使用するようになっている。
使用しているのは、Charworkだ。

Eメールは、フォーマルな感じでメール本文に「お世話になります。」みたいなものを含めるけど、チャットの場合は要件のみを率直に伝える感じだね。チャットの方がちょっとしたことを確認しやすい。なので、お決まりのご挨拶みたいなのが不要になるので、当然時間も短縮できる。
ただ、軽く言えない重要な約束などは、Eメールでお決まりのご挨拶があって、言葉を選んで本文を作成する。
まぁ、自分はそんな感じで使い分けている。

使う人によっては、Eメールもチャットもフォーマルな感じでお堅い使い方しているかも
どうなんだろう。

また。Eメールは送信した内容は、変更できないけど、チャットのメッセージは後から変更できるのはいいと思う。(ちなみにCharworkの場合。他のチャットサービスはどうなんだろう。)

チャットのサービスだと、個人的には、Slackのデザインはいいなぁ。と、すごく使いやすいなぁ。と思っている。
でも、自分のまわりにSlack使う人がいないんだよな。

まぁ、ここまでは、仕事のことだったんだけど、プライベートだとEメールは使う機会が少なくなってきたな。と。週1回ぐらい親への連絡で使用するくらいか。
親はLINEとかFacebookは使わないし、知らないからね。
連絡するのに使うのは、Facebookの割合が多くて、その次にLINE。 そしてEメール かな。

Eメールより、チャットやSNSの方が楽だから、Eメールが使われなくなったんだろう。

2016年3月24日木曜日

BlackBerry PlayBookのいいところ

BlackBerryには、BlackBerry PlayBookという7インチディスプレイのタブレットがあります。

ワタクシは、それを所有しています。
えっ、なにに使うかって?
ただの音楽プレーヤーですね。
iPadやAndroidのタブレットと比べると、BlackBerry PlayBookの優位なところは、ほとんどないんだよ。

ワタクシが所有しているBlackBerry Playの写真ですが、
タブレット用のスタンドに置いてます。


で、このタブレットの上側の写真なんですけど


ただ一つだけ、BlackBerry PlayBookいいな!と思うのはこれです。
音楽の再生(一時停止も兼用)ボタン、前の曲、次の曲のボタンがあるのです。
なので、"Music" っていう音楽再生アプリを立ち上げた状態で
画面が省電力モードになって、画面に何も表示されなくなった時に、再生、前の曲、次の曲のボタンを押すことで、"Music" アプリを操作可能なんです。
でも、気にいっているところは、これだけ。

あとは、アプリの少ないですし...使う用途がないんだよ。
せっかくなので、BlackBerry PlayBookのスクリーンショットをお見せしよう。

ホーム画面はこんな感じ。



"Music" っていう音楽再生アプリ



Twitterを起動すると・・・



Twitterのネイティヴアプリでなく、ブラウザが起動して、Twitterのサイトが表示されるのです。BlackBerryはこの手のアプリというか、ランチャーアイコンだけあるけど、ブラウザを起動のショートカットのアプリをたまに見かけます。Youtubeもそうだし。

ただ、BlackBerry PlayBookのFacebookアプリは、ネイティヴアプリです。
ただし、よく異常終了するけど。また、UIが古いから、すごく昔からアプリ自体が更新されてないんでしょう。


次に、BlackBerry World(iOSのAppStore、AndroidのGoogle Playに相当するアプリ)です。





どうです?iPhoneとかAndroid使っている人からすると、知らないアプリばかりで、別世界でしょうよ。
てか、BlackBerry PlayBookを持っている人を見たことないね。
そんで、発売されたのは、2011年4月19日。日本語入力はできません。(自分の知る限り。)

BlackBerry PlayBook

物好きな方は、お試しあれ。

2016年3月23日水曜日

iPhone SEのサイズは正義

iPhone SEが発表された。iPhone 5と同じく、4インチディスプレイ。
もう、これでスマートフォンの大型化をすることは、なくなるんだろう。
てか、iPhone 6 Plusについては、は5.5インチディスプレイのファブレットだ。
でも、携帯電話なんだけどね。

お待ちかねのiPhone SEが発表、昔みたいに手に収まる4インチ

やっぱり、iPhone 6とか、iPhone 6 Plusは、でかいよ。
片手で操作する時に、親指でタップしようとしたら、画面上側が届かんよ。
画面全体を下げる機能もあるけど、そこまでするより、親指が届く端末を使った方がいいでしょ。

また、自分は仕事でiOSとAndroidのアプリ開発しているけど、動作確認で使用する実機は、大きいスマートフォンは使わない。
だって、作業効率悪いでしょ。ストレス溜まるし。

iOSの場合、プログラムの動作確認で使用する実機は、iPod Touch、iPad Airとかの高スペックでないかつ、画面サイズがそれほど大きくないものを使っている。(iPadはタブレットなので、でかいのは仕方ない。)

高スペックでない端末を選んでいるのは、高スペックの端末でなくても、作成したプログラムが重くなく、スムーズに動作できることを確認するためだ。
iPhone 6とは、iPhone 6 Plusの確認は、シミュレータで動作確認する程度だな。
画面サイズが他の端末と違うから、画面表示が問題ないかを確認するぐらいか。

ただ、Androidの場合は、ほとんど実機で確認だな。
Androidのシミューレタは動作が思い。使いにくいからだ。(動作が軽いといわれてるシミューレータもあるのだが、個人的には、そこまで良いとは思わない。)

なお、個人的にはNexus 6は開発で使用しづらい。背面が丸くなっており、机の上に置いて、Nexus 6の画面をタップするとぐらつくからだ。この状態で、テストしている時に早めにタップしている時に、ぐらついて、ミスタップしたりするし、すごくストレスが溜まる。なので、Nexus 6は極力使用を避けている。

また、iOS9.3だったり、Xcode7.3がリリースされていたので、会社に出社して、早速アップデートした。

iOS 9.3、今日からダウンロード可能―夜間モード追加、ヘルス、CarPlayなど強化

で、なぜか、iOS9.3にアップデートした端末が、アクティベートに失敗した。
iOS9.3がリリースされたばかりだから、サーバーが混雑しているかな。と思い、
iOS9.3にアップデートした端末自身からでなく、その端末をMacに接続して、MacからiTunesを起動して、AppleIdにサインインしたら、問題なくiOS9.3にアップデートした端末のアクティベートができた。なんだったんだろう。

2016年3月21日月曜日

BlackBerry Twitterのアップデート後のBBM接続のセットアップを回避させる

BlackBerryのTwitterアプリの更新が通知されてました。


Facebookアプリの時のように、アップデートした後で、アップデードするんじゃなかった。ってことがないように、アップデード前に、アップデート内容とレビューを見てみます。






更新内容を見るからに、Facebookアプリのように、ただのブラウザのショートカットになることはなさそうだ。

では、レビューを見てみよう。


あら、アップデート後のアプリ起動で、BBM設定が終わらないらしい。
だめじゃん。実際どうなるんだろう。試してみよう。

アップデートをしてみる。




さて、アップデートが終わったらので、アプリを開いてみよう。


ありゃ、"BBMに接続してます" のダイアログが表示されたままになる。
キャンセルをタップして、アプリを起動し直しても同じ。

じゃ、この問題をどう解消させるのか、Google先生に聞いてみる。

すると・・・

次のサイトが見つかった。

http://forums.crackberry.com/blackberry-10-os-f269/twitter-app-bb-10-updated-1066604/

そして、次のようにコメントがある。



まず、

Hi guys, after updating Twitter the app can't connect to BBM and I have to press cancel to enter on the timeline. Are you facing the same inconvenience??? Many thanks!

だってよ。
やっぱり、BBM接続のダイアログが出続けるんだ。
そして、

Got the same issue

Go to settings app permission
Connect to BBM and turn off the twitter BBM connect and it will stop trying

なるほど、TwitterアプリのBBM接続の設定を無効にすればいいのか?
また、

Is there a fix for this—other than tapping Cancel or removing the permission?

BBM接続を無効以外の解決方法があるのかと?
そしたら、

Apparently more fixes are coming next month according to John Chen's tweet.

ふーん。John ChenのTweetを見てみよう。




ともかく、来月にまた、Twitterアプリのアップデートがあるんだ。
それで、今回の問題も解決されているかもしれないんだな。

ひとまず、Twitterアプリ起動後に、BBM接続のダイアログが表示したままになるのを回避したいから、TwitterアプリのBBM接続の設定を変更してみよう。

端末のブラックベリーマークのボタンを押して
"設定" をタップ


"セキュリティーとプライバシー" をタップ


"アプリケーションの権限" をタップ


"Twitter" をタップ


すると、"BBMに接続" が有効になっている。


なので、"BBMに接続" を無効にする。


そして、Twitterアプリを起動すると、BBM接続のダイアログが表示されなくなった。
ひとまず、Twitterは使えるな。
BBM接続の問題解決については、来月のTwitterアプリのアップデート後にまた、確認してみるとするか。




2016年3月18日金曜日

人間に見えないものが見える人工知能

近日、AiphaGoが最強の囲碁プレーヤーに勝利したことが、報じられている。
いずれ、囲碁以外のものも徐々に、人工知能が人間に勝るようになってくる。
というか、人間が勝てるものってなくなるんじゃないの?
そして、人間が考えもしなかった事を人工知能が考えるようになる。
だから、人工知能が発明を行うようにもなるんだろう。

Google曰く:囲碁チャンピオンを破ることで、人工知能が「人間に見えない答を見つけられる」ことを示した

発明する人が少なくなるよ。最先端の人工知能を所有しているところが勝ち組になるよ。
特許とか発明とかが、どっかの人工知能に集中するかもね。
あと、人工知能に負けてなくなる職業って、どんだけだろう。

政治家、評論家、教師、審判、カウンセラーとかも、人工知能でできるようになって、
農業、狩猟、建築などもロボットがするようになったら、
人間の仕事ってなくなるよね。

人生遊ぶだけになるだろう。仕事しても人工知能のロボットに勝てないから。
あえてあるとすれば、人工知能に勝てないけど、仕事するみたいな。
生産性悪いけど、農作物作るとか。
もう、仕事っていうより、趣味になるけど。
仕事って何ですか?って時代になるよね。

BlackBerryのFacebookのアップデートは最低

BlackBerry World(BlackBerryでのiOSのApp Store、AndroidのGoogle Playのようなもの)でFacebookアプリのアップデートがあったので、アップデートしてみました。
動かしてみましょう。


Facebookのランチャーアイコンをタップする。すると・・・




Facebookアプリ起動したはずが、Webブラウザが起動して、Facebookのモバイルサイトが開くじゃん。嘘だろ!!!

おかしいな。と思いつつ、BlackBerry WorldのFacebookアプリの詳細とレビューを見てみる。

まず、詳細から。


旧バージョンのFacebookは2016年3月31日に動作が終了するため、・・・だって、じゃ、やっぱり、アップデートが必要なのか。


新しい更新で、"ブラウザベースのFacebook UXを導入" って、ブラウザベースやなくて、ブラウザで動作しているだけですから!!!ネイティヴアプリで動作ではないですよ。
しかも、"Facebookに関連するBlaceBerry Hubエントリーを削除" って、何たること。マジか!悪夢だ。

では、レビューを見る。


"先にレビュー見ればよかった。"って、自分もです。
"いくらなんでもHub機能無くすようなバカはしないと思ってた僕がバカだった…" って、これも自分もです。


もう、総スカンですね。

ということで、やっぱり、Facebookアプリ起動すると、Facebookのネイティヴアプリでなく、Webブラウザが起動して、Facebookのモバイルサイトが開くのか。
しかも、BlackBerry Hubも、通知もなくなるなんて。すごい不便だよ。
BlackBerry使うのやめよかな。また、Androidにするかな。

BlackBerry Hubって、すごい便利なのに。
次のスクリーンショットみたいに、通知された情報がアプリごとでなくて、BlackBerry Hubで、一元化できる上に、履歴を遡れるから、すごい楽だったのに。



あと、物理キーボードのショートカットも便利なんだよね。
自分は f キー長押しでFacebook、t キー長押しでTwitterを起動するようにしているね。
やっぱ、いいスマートフォンなのに。

でも、BlackBerryを使う人が少ないから、Facebookに見限られたのかな。
BlackBerryから別のスマホに移り替えするか、検討しよう。

2016年3月16日水曜日

Bitcoinは、まだ早すぎ。

MicrosoftがWindowsストアでBitcoinの取扱いを終了していたらしい。

Microsoft、WindowsストアのBitcoin取扱いを静かに終了【追記あり】

まだ、Bitcoin普及していないから、一時的に取扱いを中止したのかもしれない。
早すぎたんだと思うけど、どうなんだろう。Google Grassも早すぎたと思っているけど。
普通に考えたら、デジタルマネーの方が便利でしょ。また、Bitcoinを使えるようにするじゃないの。
まぁ、Bitcoinじゃなくても、デジタルマネーを使うようにするでしょ。

ちなみに、日本国内だと、どこでBitcoinを使用できるのかをググると、次のサイトが見つかった。

http://jpbitcoin.com/shops

日本国内で使用されているのって、通信販売:23件、実店舗:53件か。(2016年3月5日現在掲載数)

ほとんど知らないサイトばっかりだな。知っているのって、DMM.COMぐらい。
まだ、これだけって、bitcoin普及してないよね。自分の周りでも、Bitcoin使った。なんて言ってる人なんていないし。
デジタルマネーの普及はもう少し時間が必要だと思う。

音声認識の人工知能について思う

スティーブ・ウォズニアック氏がAmazon EchoのAlexaがお気に入りらしい。


確かに、音声認識の人工知能のデバイスで、人間がAlexaに声で指示出したら、音楽はかけるてくれるし、質問に回答してくれるし、Uberを呼んでくれるし、ピザ注文できるし、ネット通販(Amazon?)もできるみたいだし、便利だよね。

って、Siriは、余り使わないのかな?元Appleの人なのに。まぁ、確かにスマホより、置いてあるスピーカーの筐体に、指示出す方が便利な気がするが。とにかく、Amazon Echoいいよね。

ところで、音声認識の人工知能ってビックデータを溜め込んでいる会社じゃないとサービスを提供できないよね。たとえば、新規ベンチャー企業が音声認識の人工知能に、新規参入って、難しいでしょ。
音声認識の判断にどうしてもビックデータが必要だもんね。そして、そのビックデータを所有している会社って、誰でも知っている巨大IT企業だもんな。現在、音声認識の人工知能っていえば、AppleのSiri、Google、MicorosoftのCortana、そして、AmazonのAlexa。
ビックデータっていうか、検索というとGoogleって気がするが、どうなんだろう。
音声認識の判断のためには、データが多い方がいいのは間違いないと思うが。
現時点で、どれが、使いやすさで飛び抜けているとかは、わからない。てか、AppleのSiri、Googleしか使ったことないし、長い時間使ってもいないしね。
数年したら、これらの会社でも、音声認識の人工知能のサービスを続けたり、止めてたりして、勝者がはっきりしているだろうね。

2016年3月12日土曜日

プリンタで印刷した指紋でスマホの指紋認証

プリンタで印刷した指紋でスマホの指紋認証をできるらしい。

スマホの指紋認証をインクジェットプリンターで印刷した指紋で突破

切断した指でも、指紋認証を突破できないのにね。
ただ、印刷に使用したインクは特殊なものらしいけど。
スマホの指紋認証もできるようになってから、まだ数年だし、まだセキュリティ的に抜け道があるだろう。
てか、指紋認証されるスマホはリコールされたり、ソフトウェアアップデートで対応するとかするんだろうか。

2016年3月10日木曜日

MicrosoftがEclipseを

MicrosoftがEclipse Foundationに参加するらしい。

ますますオープンソースづくMicrosoft、今度はEclipse Foundationに参加

Microsoftはオープンソースに力入れているなぁ。
自社で、Visual Studioってい素晴らしいIDEの製品があるのに、Eclipseにも手を出すのか。
個人的には、Visual Studioは使いやすくて好きだな。Eclipseはまぁまぁかな。動作が重たいし、フリーズする時があるし。まぁ便利だけどね。
そういえば、自分はJavaプログラミング始めた時は、Eclipseなんて知らなかった。JBuilderを使用していた。Versionは4だったかな。2001年ぐらい。そんでJBuilderは有料だった。で、2003ぐらいにEclipseを知って、使い始めた。Versionは2だったかな。その時にすごいなと思ったのは、JBuilderは有料なのに、Eclipseは無料だったことだね。それまでは、自分のまわりのJavaプログラマーはJBuilderか、テキストエディタで開発していたよ。でもEclipseが出てから、JBuilderを使っていた人はEclipseを使うようになっていったな。そんで、JBuilderを見なくなったな。

2016年3月9日水曜日

SQL ServerのLinux版が出るのか

SQL ServerのLinux版が出るみたい。次の記事に書いてある。

Microsoft、SQL ServerのLinux版を提供

てか、SQL ServerがLinux版で使えてなんかいいことあるのか?他のRDBと比べてなんかいいことあるのか?性能とかセキュリティとかで勝るものがあるならいいが、そんなこと聞いたことないし、過去にWindows環境でSQL ServerをDBMSで、開発してた時に苦労したんだが、初期設定で、ダーティーリードが有効じゃないんだよ。お互いのトランザクションがSQLのUPDATEでなくて、デットロックが発生するんだよ。つまりこんな感じ。

トランザクションで、データAとBを更新しようとした場合に
端末1はデータA、Bの順番でデータを更新しようとして、うまくいけばデータを更新完了としたいのだが、端末2がデータB、Aの順番でデータを更新しようとして、うまくいけばデータ更新完了とした場合に

(1)端末1 データAを更新(UPDATE)して、データAをロック。で、データBを更新しようとするが、
その前に…
(2)端末2 データBを更新(UPDATE)して、データBをロック。で、データAを更新しようとするが、データAがロックされているので、待ちのままになって、デッドロックが発生する。

となり、このような場合は、お互いがUPDATEを行うとデッドロックが発生する。これは普通に発生するデッドロックだ。
だけど、SQL Serverだと、お互いがUPDATEを行う場合でなくても、片方がUPDATEで、片方がSELECTでもデッドロックが発生するんだ。
なぜかというと、ダーティリードが初期設定で、有効になってないからだ。
ダーティリードって、UPDATE行った時に、更新完了(トランザクション終了)までの間に、更新をおこなった自分自身以外は、更新以前の内容のデータを取り扱えるようにする。(更新前のデータを、どこかに退避しておいて、更新をおこなった自分以外に更新前のデータを参照できるようにする。)そのようにして、更新中のデータのロック待ちを防ぐことができる。

だけど、SQLServerはそのダーティーリードが初期設定で有効になってないせいで、デッドロックが発生して、調査にすごく時間がかかった思い出がある。
SQLServerはの初期設定で、READ_COMMITTED_SNAPSHOTがOFFになっている。ダーティーリードを有効にしたければ、READ_COMMITTED_SNAPSHOTをONにさせる。
多分、READ_COMMITTED_SNAPSHOTをONにすると、更新前のデータを更新データと別に退避する必要があり、負荷がかかるので、SQL Serverでは初期設定で、READ_COMMITTED_SNAPSHOTをOFFにして、負荷を軽減していると思う。

自分はRDBを使用してたのが、Oracleばっかりで、ダーティーリードが当たり前だったので、SQL ServerでUpdateとSelectでデッドロックが発生した時は、信じられなかったし、調査に苦労したよ。



2016年3月8日火曜日

メールアドレスの@

メールアドレスの@を決めた方が亡くなられた。
てか、今まで全然意識したことなかったので、メールアドレスの@を決めた人を知らなかった。

メールアドレスの「@」を決めたレイ・トムリンソン、74歳で死去

レイ・トムリンソン@メールの父、死去

メールアドレスの@のことなんて、なぜそうなったのかを考えたことすらなかった。ただ、@ = at で直感的で分かりやすいな。と思うくらい。
自分が社会人になったのは2000年で、入社したら当たり前のように、メールアドレスが割り当てられていたし、当たり前にEメールを使っていた。
十数年IT業界に携わっているが、今回のメールアドレスの@もそうだが、当たり前使っているもので、どのような経緯で誕生したのかを知らなかったりする。実務に直結しないから、考えもしないからな。
でも、メールアドレスの@の誕生話みたいなのは、調べたら結構面白いな。
ちなみに、その時に仕事で使用していたOSはWindows98SEだった。
会社は、新品のPCを新人の自分に使用されてくれた。なので、会社の部署配属初日は、部署の方の挨拶及び紹介と、箱からPCを取り出して、PCのセッティングをしたのを覚えている。

2016年3月7日月曜日

ビッグデータってなんでもありなんだな。

いろんなセンサで検知したデータでを、ビッグデータに含めてトラブルを回避させるって凄いな。次の記事に書いてた。

「機械の声」を捉えてトラブルを未然に予測。IoT×ビッグデータがもたらすインサイト

過去に発生したトラブルに該当する条件に遭遇したら、トラブルが発生するかもしれない警告が通知される。もしくは防止策が自動で動作するわけだ。
温度、湿度、光度、音量とか、様々なデータによりトラブル発生の条件が判断可能になり、トラブル回避が可能になるだろうね。
過去に発生したトラブルだったら、次回から発生しなくて済む可能性がグンと上がるんだ。
人間の直感とか経験値とかは、歯が立たなくなる。人口知能を持ったロボットとか作られて、ターミーネータみたいのが出てきても不思議じゃないな。

2016年3月6日日曜日

無人のコンビニ

無人のコンビニのことが、次の記事に書いてある。

無人のコンビニ、お客さんのスマホが店員代わりに

スウェーデンに無人のコンビニがあるのか。
現在の技術だったら、無人のコンビニがあっても全然不思議じゃない。
Amazonの受け取りとか、電気代や水道料金などの支払いをコンビニでするのも、特に人がいなくても、機械で実現可能でしょ。てか、そうなるだろうね。
飲食店のウェイターとかだって、人間じゃなくロボットになるだろうね。

2016年3月5日土曜日

Hands Freeいいね

Hands Freeっていう、支払いサービスはすごい。次の記事に書いてある。

Google、スマートフォンをポケットに入れたまま支払いができるPOSシステムの実験開始

記事にも書いてあるが、Hands Freeだと、支払いは次のようになる。

ユーザーが店に入ると専用POSレジはモニター・エリア内に新たなスマートフォンが存在することを認識する。システムはあらかじめHands Freeに関連づけられたクレジットカードからの支払いの準備をする。ユーザーは店のキャッシャーにI’ll pay with Googleと言い、同時に姓名の頭文字を告げる。キャッシャーがそれを打ち込むだけで支払いは完了

すごい便利じゃん。Apple Payみたいに、iPhoneを取り出さなくいいってのがいいね。
まさしく、Hands Freeだよ。

こんな便利なサービス、早く普及すればいいのに。

日本って、お店での支払いがほとんど現金なんだよね。カナダで生活していたときに思ったことだけど、カナダだったらスーパー、スタバ、マクドナルド、飲食店とかで、支払いするときは、クレジットカードを使うんだよね。飲食店のチップとかもクレジットカードで支払うし。それで、クレジットカード便利じゃん。って思ってた。今の時代スマートフォンがあって、Hands Freeなことは当たり前になるんだから、早く便利になった方がいい。現金なんて持ち歩きたくないね。

さらに、将来はApple PayとかHands Freeみたいにスマートフォンを持たないで、顔認識か指紋認証で支払いすれば、もっと便利だしセキュリティ的にもいいと思うし、近い将来そうなるだろうな。



2016年3月3日木曜日

火星に向いているかもしれない

朝型の人は、火星に向いてないらしい。なぜかというと火星の1日の時間は、地球の1日の時間より長いからだと。という内容が次の記事に書いてあった。

火星に向いているのは、遅寝遅起きで肉を食べる人

実際に、体内時計の動きが地球の24時間よりも速いマウスが、地球の自転と同期する体内時計を持つマウスよりも長生きしないらしい。
あと、ベジタリアンとか、食事制限する人も火星に向かないようなことを書いてあるな。
自分は、朝型人間でないし、肉食べるので、火星に向いているということか。
火星への向き不向きの条件は、他にいろいろ、あるんだろうな。
重力が違うから、ある一定の筋肉がないとダメだとか。気圧も違うから、血圧が高すぎたり、低すぎたりするとダメとか。
実際に、火星に移住するときに、今の時代に想像もしてないことが起こるんだろう。

自動走行車が事故したことについて思う

次の記事でGoogleの自動走行車が事故ったことが書かれて思ったこと

Googleの自動走行車、AI運転中に接触事故を起こす

この事故は珍しいケースの上に、接近しているバスが停止または減速するから、自動運転のままで大丈夫だろうって判断した人のヒューマンエラーじゃないの?
てか、まだ珍しいケースは自動運転でなく人間が対応しないといけないのか。
接触したバスもGoogleの自動走行車ってみれば分かると思うんだが、警戒しなかったのか、それとも自動走行車を信用していたのだろうか。

ともあれ、今回の事故のようなパターンは事故しないように、自動走行車のソフトウェアの改善するんだろうな。
それにしても、大きな事故でなくてよかったとは思う。

2016年3月1日火曜日

脳の刺激で瞬間学習って凄い。

次の記事を見て思ったが、脳に刺激を与えると飛行技術の改善されたんだと。
また、「脳刺激は運転教習や学力テストの予備校、言語学習等のクラスにも適用が可能だ」だってさ。

脳刺激を使ってマトリックスのように瞬間学習する方法が開発された

これらは、良い刺激の場合で、逆に悪い刺激もあるんだろうな。
てか、刺激って何だろう。自分は電気ショックみたいなものかなと思うが。
それとも、暑さや寒さ、音量、光かな?
でも、刺激で学習能力が高まることが、一般化したら未来の人間は平均的に賢くなるな。
それどころか、人間以外の生物にも脳に刺激を与えて賢くなると、将来、人間と動物が会話とかありえるかもしれん。

そして、当然であるが、いずれは、マトリックスみたいなのを体験できる世界になるんだろうな。