Amazon LinuxにMeCabとPython3バインディングをインストールする手順

時間がかかったので手順を残す。

公式サイト

http://taku910.github.io/mecab/

インストール手順

MeCab本体

wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE"
tar zxvf mecab-0.996.tar.gz
cd mecab-0.996
./configure
make
make check
sudo make install

辞書

wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM"
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
make
sudo make install

Pythonバインディング

pip-3.5 install mecab-python3 --user
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
sudo ldconfig

サンプルコード

import sys
import MeCab


mecab = MeCab.Tagger('')

text = 'すもももももももものうち'
mecab.parse('') #これがないと文字列がGCされてしまう?
node = mecab.parseToNode(text)
while node:
    word = node.surface
    pos = node.feature
    print('{0} , {1}'.format(word, pos))
    node = node.next

MeCab以外の選択肢

Janomeという形態素解析器はpip install janomeでインストールできるので手軽に利用できる。

Welcome to janome’s documentation! (Japanese) — Janome v0.3 documentation (ja)

参考にしたページ

http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd

MacBook Proのスリープ中のバッテリー消費が激しいので調べた

前はそんなこと無かったと思うけど、いつからか夜スリープして朝復帰すると30%ぐらいバッテリーが消費している状態になっていたので、少し調べてみた。 pmsetコマンドでスリープモードの変更ができるそうなので、変更してみた。

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/pmset.1.html

上記のマニュアルによるとスリープモードは以下3種類存在する。

  • 0 メモリの内容をディスクに退避しない?従来からのスリープ
  • 3 メモリの内容をディスクに退避する。ラップトップのデフォルト
  • 25 メモリの内容をディスクに書き出し、メモリへの給電を切る?復帰が一番遅いが、スリープ中のバッテリー消費は一番少ない
$ pmset -g 

で現在の値を確認できる。3が設定されていたので、以下コマンドで0に変更した。

$ sudo pmset -a hibernatemode 0

これで3%ぐらいしか消費しなくなった。

改善したがついでに色々調べたところ、pmsetでスリープモード以外の設定値も変更できるらしい。

また以下コマンドでスリープ中に復帰したログを確認できるそう。

$ log show --style syslog | fgrep "Wake reason"

追記

改善した、と思ったのは勘違いだった?ようで、朝確認すると30%程度消費している状態に戻ってしまった。 他の設定も確認してみる

追記2

以下を実行した。

$ sudo pmset -a hibernatemode 25

追記3

まだ一晩しか様子を見てないが、朝起きてバッテリーを確認すると100%(全く消費してない)だった。 電源ボタンを押さないと復帰しなくなったけど、バッテリーが無くなってシャットダウンすることがなくなりそうなので良かった。

CSRの作り方

毎回ググってるので一旦まとめておく。

基本的には以下のページに全て書いてある

https://knowledge.symantec.com/jp/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=SO23384

秘密鍵作成

openssl genrsa -des3 -out private.key 2048

CSR作成

openssl req -new -key private.key -out server.csr

パスフレーズ解除

openssl rsa -in private.key -out private.key_passoff.key 

CSRの内容確認

openssl req -in server.csr -noout -text

fishに切り替えた

今までzshを使ってたけど、SierraにバージョンアップしてからMacが異常終了したりフリーズするような問題が頻発していたので、OSをTimeMachineからではなくクリーンインストールする事にした。 ついでにfishに切り替えたのでログを残しておく。

ちなみにクリーンインストール後は問題が発生しなくなった。

以下手順

fishインストール

$ brew install fish

ghqインストール

$ brew install go
$ go get github.com/motemen/ghq

iTerm2の設定

zsh から fish にした - HsbtDiary(2017-04-21)

上記を参考に以下の通りiTerm2の設定をした。

f:id:saito400:20170429080447p:plain

fishermanインストール

GitHub - fisherman/fisherman: A concurrent plugin manager for fish

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher

fzf,fish-ghq,zのインストール

GitHub - junegunn/fzf: A command-line fuzzy finder written in Go

GitHub - motemen/ghq: Remote repository management made easy

GitHub - fisherman/z: Pure-fish z directory jumping

$ brew install fzf

$ fisher install fzf decors/fish-ghq z

プロンプト設定

.config/fish/functions/fish_prompt.fishを編集して設定できるように見えたが、webの設定ツールがあったのでそれを使った。 fish_configを実行するとwebの設定画面が立ち上がる。今回はRobbyrussellを選択した。

参考にしたサイト

zsh から fish にした - HsbtDiary(2017-04-21)

「 ビジネススクールでは学べない 世界最先端の経営学」読んだ

読んだ。以下自分の頭に残った点。

経営学の使い方

理論研究から ある法則が一般的にあてはまりやすいかどうか 思考の羅針盤として使われるべき。

MBAの教科書がアップデートされない原因

数十年ぐらいMBAの教科書は大きくアップデートされてないそう。以下のような理由によるらしい。

  • 経営学の研究者は新しい知を生み出し、評価の高い経営学の学術誌(Aジャーナル)に掲載される事が評価につながる。学術的な知見のツール化は学術実績として認められない

  • ビジネススクールは実務家を対象としているので、学術的な理論ではなく実務で使えそうな基本的なツールを紹介している。

  • 経営学者にはツール化のインセンティブがないので、研究が進んでも教科書には反映されない。

上記からアップデータされないんだそう。

一方でハーバード・ビジネス・レビュー、MIT Sloan Management Reviewなどは実務家向けの雑誌なので、経営学者の評価にはつながらないものの、研究で得られた知見を実務に橋渡しする論文もあるので読んだ方が良いそう。

評価の高い経営学の学術誌(Aジャーナル)

  • Journal of International Business Studies

  • Strategic Management Journal

最近アカデミーオブマネジメントにより創刊された学術誌「Academy ob Management Discoveries」は「Practically useful」と「Regorous」を追求することを目指しているそう。

経営学の科学化

世界の経営学は社会科学の側面を重視しているそうで、統計分析や実験、コンピューター・シミュレーションで仮説が正しいかを確認している。一方でインタビューなどの定性調査を実施する事例分析も必要だそう。

たしか「なぜビジネス書は間違うのか」という本の中で「ヴィジョナリーカンパニー」は良い事書いてあるけどアンケートによる調査なのでハロー効果の影響を払拭しきれておらず、科学的では無いと書かれていた。

メタ・アナリシス

過去の統計分析の結果をさらに総括する手法。例えばダイバーシティと組織パフォーマンスの関連についての論文が100本あったとして、50本が良い影響がある、50本が悪い影響があるという結果が出ていたとする。 その場合に100本の論文全てに対して改めて統計的な分析をする手法。

市場の型によって戦略を変える

戦略

  • ポーターの競争戦略(SCP戦略) 代表的なフレームワークはポジショニング戦略で、競合と比べてどのような製品・サービスを提供していくかをかんがえる。ポジションは「差別化戦略」とコスト削減の「コストリーダーシップ戦略」に分かれ、両方を同時に実現するのは難しいと言われている。

  • リソースベーストビュー(RBV) 「企業の競争優位に重要なのは、製品・サービスのポジションではなく、企業の持つ経営資源(リソース)にある」とする考え方。 経営資源の代表例は人材や技術。

  • リアルオプション 投資の柔軟性を高めよう、とするやり方。例えば部分的に投資し、成功しそうになったら全力で投資するなど。リーンスタートアップが近いのでは。

市場

  • IO(Industrial Organization)型 参入障壁が高い、寡占、緩やかに差別化されている業界。 SCPが有効。参入障壁をどう上げるか、ポジショニングどうするかが問題。

  • チェンバレン型 参入障壁が比較的低く、ある程度差別化しながらそれなりに競争する業界。 自社の技術力やサービス力に注目するRBVが有効。

  • シュンペーター型 ITなど、不確実性が高い、技術の進歩が早い、ニーズが変化しやすい業界。 SCPやRBVは競争環境や自社のリソースは当面変化しないことを前提としているので通用しない。 リアルオプションが有効かもしれない。

ダイバーシティと組織パフォーマンスについて

ダイバーシティには2種類ある。

  • デモグラフィー型 性別、国籍、年齢など。

  • タスク型 能力、経験の多様性

デモグラフィー型のダイバーシティは組織パフォーマンスを低下させ、タスク型は向上させる。

フォルトライン理論 組織内グループの境界線。デモグラフィーが多次元で多様であれば組織内の軋轢が減り、組織パフォーマンスが高まる。

中途半端なダイバーシティはフォルトラインが発生してしまうのでマイナスになる。

「みんなの意見」は案外正しい」という本に小さな集団でもダイバーシティは大切だと書いてあった気がする。 同質的な集団だと今までうまく行っていたやり方が通用しなくなった時に誰も答えを持っていない為ダイバーシティが重要だと理解していたが、小さな集団でも同質性が高いと間違った結論を出してしまう確率が高くなってしまう為重要だということだった。ダイバーシティが高くても一人の人の発言力が特に強い場合は無意味だとも書いてあった。これはワンマン社長とその他大勢の経営陣の関係を想像するとわかりやすいと思う。

内発的動機と外発的動機

モチベーション3.0でも同様の内容が書いてあったきがするけど、外発的動機(給料や評価など)より内発的動機(やりがいなど)が効果的なんだそう。

某経営者が書かれた本に成果が出たら給料が上がる形のメリハリのある制度が良いと書いてあった記憶があるが、これによるとその制度はマイナスになる。 このあたりは生存者バイアスと言えるのではと思う。

ちなみに経営学者は1流の論文紙に掲載される事により評価されるとのことだが、それは外発的動機なんじゃないかと思った。

Kindle Fire買った

今まではKindle Paperwhiteを使ってたが、安かったのでKindle Fire(16G, HDではない)を買った。

Kindle Paperwhiteはe-inkなので目に優しく、寝る前に読んでも目が冴えたりしないという事なので、主にベッドで活用している。

軽いし目に優しいのでこの使い方だといまのところKindle Paperwhiteは何の不満も感じてなかった。

しかし自炊したPDFをKindle Paperwhiteで読もうとしたときに文字がにじむという問題が発生した。 またPaperwhiteだと拡大縮小の反応が若干遅いためそのままでは読みにくかった。何か設定をミスっているのか、mobiに変換してみたもののにじみは解消できず、結局紙の積読が電子版の積読に変換されただけの状態になってしまっていた。

このPDFをKindle FireAcrobat Readerで読んで見たところ、にじまずに表示された。またページ送りや拡大縮小が早い。

Paperwhite

f:id:saito400:20161217114630p:plain

Fire

f:id:saito400:20161217114628p:plain

Kindle FireでPDFを読む場合はPerfect Viewerの評判が良いようだが、いまのところAcrobat Readerで不満を感じてないので試してない。

※その後Perfect Viewer入れたけど個人的にはAcrobat Readerのが使いやすい

感想

寝る前やじっくり読書する場合はPaperwhite、電車の中とかランチ中など時間が無い時に少しずつ読み進めるような場合はFireという形で使い分けると良さそう。

OSSのツールで脆弱性診断した

以下のツールでEC2上に構築したWebアプリケーションの脆弱性診断を行った。

今回は2つのツールを利用した。

実施した脆弱性診断

今回は以下2種類の診断を実施した。

プラットフォーム診断

微妙に人や会社によって定義が違ってそうな気がするが、OSやネットワーク機器に対しての脆弱性診断だと思ってる。 Vulsはおそらくこっちだと思う。

Webアプリケーション診断

名前の通りWebアプリケーションに対しての脆弱性診断。 OWASP ZAPはZAP is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications ということなので、こっちらしい。

使ったツール

OWASP ZAP

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

https://github.com/zaproxy/zap-core-help/wiki

Vuls

https://github.com/future-architect/vuls

Vulnerability scanner for Linux/FreeBSD, agentless, written in golang. 

実施手順

OWASP ZAP

今回は手動で診断を実施した。

以下に今回の手順を記載したが、Proxyとしてテストをする場合はセットアップのコストはほぼかからなかった。

qiita.com

Vuls

公式のドキュメントが丁寧なので、その通りに進めたら完了した。

https://github.com/future-architect/vuls

今回は手動でテストを実施したが、自動的に定期的に実行できる形にして行きたい。

感想

今回使った2つは1〜2日もあれば十分実施できるほどセットアップが楽だったので、初めてサービスを立ち上げる場合など、工数とキャッシュアウトを抑えてセキュリティの不安を取り除きたいという場合は良いのではと思った。

ただ有償の脆弱性診断サービスの診断結果と比較してないので、どれだけ差が出るかはわからない。

センシティブなデータを扱うシステムなど、状況により有償の脆弱性診断を検討した方が良さそう。