読者です 読者をやめる 読者になる 読者になる

ゆるりと立派な大人になるために

元組み込みソフトウェアエンジニア、あれこれを書いていこうと思います。TOEICは915点

Windowsでlinuxコマンド使いたいなら、git bashで十分じゃないかな。

 

自分はWindowsユーザーです。

 

windowsユーザーのwebサービス開発者は一日に何度も、

Linuxwindowsを行き来しますよね。

 

そんな時、コマンドプロンプトでやってしまいがちなのは、

C:\Users\Hiroki>ls -la
'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

 

 あっ。。。

 

linuxコマンドになれてしまうと、windowsでコマンドで操作するのが

とっても苦痛です。

 

そこでおすすめなのが、これ。

 

git-for-windows.github.io

 

windows上でgitが使えるようにするものですが、

一緒にインストールされるgit bashが優れものです。

 

もう、 ls も怖くない。

$ ls -la
total 2748
drwxr-xr-x    1 Hiroki   Administ    16384 Feb  4 23:43 .
dr-xr-xr-x    1 Hiroki   Administ     4096 Dec  6 19:30 ..
drwxr-xr-x    1 Hiroki   Administ     4096 Feb  5 22:36 .VirtualBox
drwxr-xr-x    1 Hiroki   Administ     4096 Oct 18  2014 .android
-rw-r--r--    1 Hiroki   Administ     2061 Feb  5 07:43 .bash_history
drwxr-xr-x    1 Hiroki   Administ        0 May  7  2015 .config
drwxr-xr-x    1 Hiroki   Administ        0 Aug 10  2014 .gem
drwxr-xr-x    1 Hiroki   Administ     8192 Aug 27 10:43 .gimp-2.8
-rw-r--r--    1 Hiroki   Administ      266 Sep  2 22:20 .gitconfig
-rw-r--r--    1 Hiroki   Administ       44 Jan 26 21:57 .lesshst
drwxr-xr-x    1 Hiroki   Administ     4096 Sep  1 17:58 .ssh

 

パイプもできちゃうし、grep もできちゃう。

 

$ ls -la | grep centos
drwxr-xr-x    1 Hiroki   Administ     4096 Jan 27 22:43 centos7
drwxr-xr-x    1 Hiroki   Administ     4096 Jan 30 03:44 centos72

 

 vi , cat, find もできちゃいます。

 

 

もう、dirに切り替えなくていいんです。

 

って事で、最近git bashwindowsを操作してますよ。

 

 

WindowsにVagrantいれてみる1

Vagrantという開発環境を気軽に構築できるツールがあるらしいので、

インストールして使ってみる。

 

実際の開発環境はVirtualBox上に作りますが、

その環境を簡単に作成、削除、コピーできるツールVagrantです。

 

まずは安定のドットインストール、

概要掴むのには一番手っ取り早いと思います。

Vagrant入門 (全13回) - プログラミングならドットインストール

 

Vagrantをインストール

Vagrant

 

VirtualBoxをインストール

Oracle VM VirtualBox

 

インストールし終わったら、まずはboxを追加します。

これはOSのイメージファイルみたいなもので、

A list of base boxes for Vagrant - Vagrantbox.es でいっぱい配布されてます。

 

追加コマンドは下記の通り。

 vagrant box add [title] [URL]

 

os一覧からcentosを選択してaddしてみる。

 vagrant box add centos7 https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

 

確認コマンドはlist

$ vagrant box list
centos7             (virtualbox, 0)
hashicorp/precise64 (virtualbox, 1.1.0)

 cetnos7がaddされている事が分かります。

 

後は、os毎に専用のフォルダを作って、

vagrant initで初期化し、

$ mkdir centos7
$ cd centos7
$ vagrant init centos7

 

vagrant upをして、OSを起動させる。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos72_default_1454082865789_75402
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...

 

centosにログインしたい場合は、

vagran sshでログインできる。

$ vagrant ssh
[vagrant@localhost ~]$ pwd
/home/vagrant

 

わずか15分くらいで、centos環境を用意できちゃいます。

 

さらにos上でいろいろとインストールして、

その環境を配布したい場合は、vagrant packageでカスタマイズされたboxを作成できちゃいます。詳しくは下記にのってます。

 

Vagrantのboxに少しだけ手を加えたものをboxとして取っておきたい - Qiita

 

細かい使い方は、また紹介します。

 

jQueryメモ。 ゆっくり消すfadeout

 

jQueryを使ってある要素をゆっくり消したい場合、

 

$('#something').fadeOut('slow');

 

でゆっくり消せます。

 

ポイント1

fadeout ではなく、fadeOut

あたり前かもしれないけど、大文字小文字は区別されます。

 

ポイント2

数値でしていする場合は、''を外す。

これも当たり前ですが、fadeOut(2000);

とかでミリ秒数を指定して消せます。

数値なので、' '(シングルクォーテーション)や

" "(ダブルクォーテーション)はいりません。

 

fadeOut('2000')とか書いてるサイトがいくつかあって、

えっまじ!?って思ったけど、やっぱりできなかったです。

 

何はともあれ、公式をちゃんと確認します。

.fadeOut() | jQuery API Documentation

 

 

 

茅場町 コワーキングスペースに行ってきた。

 

東京駅から少しあるいて、茅場町にあるコーワキングスペースCo-edoに

行ってみた。

 

 

f:id:simplestreet:20160105220645j:plain

 

プログラマーの人が多いという噂と、勉強会を開きやすいという事で

下見という感じで行ってきました。

 

 

以下、感想。

- なんかワイワイ、がやがやしてる。

- 勉強会を積極的に応援してくれる。

前もって申告しとけば、ある程度の席数は確保してくれるらしい。

- 2時間500円、終日1000円と、都内では結構安いと思う。

- 100円でドトールの自販機コーヒーが飲める。

- 来てる人達がほとんど、ごりごりとプログラミングしてる。

- いきなり目の前の人がお弁当箱だして、食べ始めたので驚いた。

- お酒飲んでる人もいる。

 

なんか、自由って感じでした。

 

以前、私が利用していた六本木ヒルズライブラリーみたいな静けさを求めている人は合わないかもしれないです。図書館的な静けさはないです。

六本木ヒルズライブラリーの会員になってみました。 - ゆるりと立派な大人になるために

 

 

ワイワイガヤガヤしてたけど、不思議と嫌では無かったです。

技術的な話をしてたからかもしれない。

 

 

プログラミングの勉強会開くには便利そうです。

Jqueryメモ

最近よくjQueryを使うので、メモ的に残します。

 

・oneメソッド

one(type, [data], fn) - jQuery 日本語リファレンス

 

oneに指定されてるfunctionを一回実行すると、unbindしてくれて二度と実行しないようにしてくれる。一回だけボタンをクリックしたら、その後はクリック動作を受け付けないようにするのに便利。

 

・eachメソッド

 phpのforeach的に動作してくれるメソッド

each(callback) - jQuery 日本語リファレンス

セレクタで指定した要素が複数あった場合、eachを付けるだけで

グルグル回してくれるので、非常に便利。

 

・triggerメソッド

プログラム的に無理矢理イベントを発生させる事ができる。

trigger(type, [data]) - jQuery 日本語リファレンス

 

・まとめ

上記3つを合体させて、以下のようなプログラムが作れます。

 idがallimageの要素をクリックすると、idがresultTableの要素内にあるすべてのaタグ(detailクラス付き)のクリックアクションが1.2秒おきに発生します。

 

普段はphpばっかり書いてるけど、たまにはjqueryも楽しい。

 

 

(**) javascriptってsleepがないんですね。知らなかったよ。

ドトールは落ち着く

 

ドトールによく行く。

 

 

仕事の後のくいっっと一杯はうまいと言うけれど。

 

 

何かをやり遂げた後の、一杯のカフェラテは最高だ。

 

 

特に人が少ない時間帯、おひとり様で一人の時間を楽しんでる人が多い時間帯が、

僕はとっても落ちつく。 20:00~21:00くらいかな。

 

 

 

 

家とは別の場所に、休める空間を用意するのは

とっても良い事なんだろう。

 

 

今日、ジャーマンドックを頼んだらケチャップがついてきた。

かれこれ10年くらいは通い詰めてるけど、ケチャップがついてきたのは初めてだ。

 

f:id:simplestreet:20151230110649j:plain

 

 

指が写ってごめんなさい。

ケチャップもらえるみたいです。知らなかった。

 

 

 

 

とにかく、ジャーマンドックとカフェラテを頂き、

まぁ今日も頑張れそうな気がする。

 

 

 

Cloud vision apiを使ってみた。 part4 ~LOGO_DETECTION~

 

cloud vision apiを使ってみた。

 

今回で最後にします。

 

LOGO_DETECTION

文字通り、logoを検知するapi

 

画像①

f:id:simplestreet:20151224230226j:plain

 

    "logoAnnotations": [
        {
          "mid": "/m/01jtml",
          "description": "Adidas",
          "score": 0.65040034,
          "boundingPoly": {    

 Adidas。検知できてます。

 

 

 画像② マックダーーーナー。

f:id:simplestreet:20090722145052j:plain

 
"responses": [
    {}
  ]
}

 何もなし。

 

画像③

f:id:simplestreet:20151224230232p:plain

      "logoAnnotations": [
        {
          "mid": "/m/0lwkh",
          "description": "Nike",
          "score": 0.58140534,
          "boundingPoly": {

 Nike が返ってきてます。

 

 

いろいろと画像を試しましたが、文字が入ってるものは検知できました。

なので、ほぼTEXT_DETECTIONと変わりませんね。

 

Image Sentiment Analysis

Vision API can analyze emotional facial attributes of people in your images, like joy, sorrow and anger. Combine this with object detection and product logo detection, so you can assess how people feel about your logo.

 超訳)

 Vision APIは顔の表情から感情を解析します。object detection や logo detectionと合わせて、人々があなたのlogoをどのように感じているかわかります。

 

と、言っておりますが、

人がLOGOの付いたTシャツ着て、走ってる写真も試しましたが、

どれもうまく検知してくれませんでした。

LOGO_DETECTIONとはいうものの、TEXT_DETECTIONの域は越えられていないような気がします。

 

 

 

まとめ

いろんなDETECTIONを試しましたが、結局まともに利用できるのは

LABEL_DETECTIONだけかなっていう感じです。ただそのLABELでさえも、

想像の範囲内っていうか、”なんでこんなに検知できるんだーー”って感じる物ではありませんでした。

 

なんかオープンソースをささっと集めて来て、web apiとして使えるようにしただけって感じです。

 

スマホで利用している音声認識くらいの精度を期待していただけに、残念な結果になりました。

 

まぁ簡単にできるので、興味のある方は

 Cloud vision apiを使ってみた。 part1 に貼ってあるphpのプログラムで試してみてください。