自分をコントロールしないと
心の動き
好きにならないといけないものは、どれだけ頑張っても好きになれなかった。
結局、どっちでも良いけど、何となくやりたくなるものが一番長続きしている。
自分をコントロールするというのはここ三年くらいのテーマだが、
全くと言って良いほどうまく言っていない。
自分というものは抑えつけようとしても、辛いだけでうまく乗りこなさないとならないものかもしれない。
どこから来るのか
自分をコントロールしたいという欲求はどこから来るのか。
根源としては自信の無さがあると思っている、自分をコントロールせず、思いのままに動かすと、
必ず堕落し、まともな人間になることができない。
だからこそ自分で自分を律し、正しい道へと導く必要がある。
大きくはそんなところかと思っている。
ただ、もう自分は自分を律しきれるものではないと思っている、
できることはただただ転ばないように気を配る程度で後はなるようになるしかないのかもしれない。
それは不安だが、すごく楽なことかもしれない。
Microsoft Cognitive Service -
試しに使ってみた
社内ハッカソンで使うかもしれないので、認識精度を確かめるためにデータを入れてみた。
Computer Vision — 画像処理および画像分析 | Microsoft Azure
意外といけるやんですな。
本当はAWSの AWS Rekognitionを試したかったんだけど、政治的にダメそう。
まぁAzureの方が試しやすいデモページがあるのはありがたい。
スマホ依存を離れたい
イノベーションのジレンマ
www.slideshare.net
面白かった。特に途中のイノベーションのジレンマの項目は最高にあるある話だった。
うちの会社も意思決定を合理的に進めようという向きが強く、合理的ではない意思決定や不確実性に弱い人が多いなという印象。
自分はあまり厳密にエンジニア的なマインドセットは持ってないなぁ、と思った。
割と物事を確率的にみる向きがある。多分アナログゲームプレイ歴が長い影響な気がする。
確率的な判断は合理的な意思決定と非常に相性が悪い。
成功するし、失敗するかもしれないけど、成功する可能性が高い気がするからやってみたいという考えになる。
そこに対して理論を積み重ねないと合理的な判断をしたい人は取り合ってくれないが、合理的な判断を会議の上にいくらしても別に確率が高くなるわけじゃない。
頭悪いなぁ、と思うんだが、マインドセットの問題と思うと理解できる。
残念だけど、向いてない
とても残念なことに、今の仕事は多分向いてない。
意見の合意が取られていることが最善の世界とか、無理。
なんで偉いのかよくわかんない人の腑に落ちない意見に左右されるとか、おかしいでしょ。
AnsibleでEC2サーバーを立ててApacheを導入するところまで。
概要
AWS上にEC2サーバーを立て、そこにApacheをインストールするところまで。
事前準備
pythonにboto/boto3を入れる
AnsibleはPythonで動いており、pythonのAWSライブラリである。botoを利用してawsにアクセスするため
pip install boto boto3
AWS環境の事前準備
export AWS_ACCESS_KEY_ID='< マネジメントコンソールで取得したやつ >' export AWS_SECRET_ACCESS_KEY='< マネジメントコンソールで取得したやつ >'
- EC2用のkeypairを作成し、ダウンロードしておく
作成したインスタンスにそのままアクセスできるように。
/.ssh/keypair.pemとして配置しておく。
Ansibleで作成することもできるが今回の本題ではないので省略。
Ansibleの設定
homahi-2:ansible homahi$ tree . . ├── ansible.cfg ├── aws.retry ├── aws.yml ├── hosts ├── roles │ ├── apache │ │ └── tasks │ │ └── main.yml │ └── ec2 │ └── tasks │ └── main.yml ├── site.yml └── ssh_config
最終的にこんな感じにする。
Ansibleでやること
EC2を立てるまでと、Apacheを入れる部分は別のplaybookにした。
AWSの設定
hosts
[localhost] 127.0.0.1 [localhost:vars] # /usr/bin/pythonというデフォルトパスを通常はみてしまう ansible_python_interpreter=/Users/homahi/.pyenv/shims/python
ansible_python_interpreterはpyenvなどでデフォルトとpythonのパスが異なる時に必要になる。
これが無いと/usr/bin/pythonとかを見に行ってこける。
ちょっと詰まった。
aws.yml
- hosts: localhost connection: local gather_facts: no roles: - role: ec2
roles/ec2/tasks
- name: セキュリティグループを作成 ec2_group: name: Test Security Group description: server security group region: us-east-1 rules: - proto: tcp from_port: 22 to_port: 22 cidr_ip: """my_ip""" - proto: tcp from_port: 80 to_port: 80 cidr_ip: """my_ip""" rules_egress: - proto: all from_port: 0 to_port: 65535 cidr_ip: 0.0.0.0/0 - name: EC2を作成する ec2: image: ami-8c1be5f6 instance_type: t2.micro key_name: keypair group: Test Security Group wait: yes wait_timeout: 300 region: us-east-1 register: _ec2 - debug: var=_ec2 - name: SSHで接続できるようになるまで待機 wait_for: port=22 host="{{ item.public_ip }}" timeout=300 state=started with_items: "{{_ec2.instances}}"
ansible-playbook aws.yml -i hosts
これで22,80番portのみが自分のサイトに対して開いているEC2が立つ。 本当はdinamic inventoryで動的にIPを取得したいけど、今回は対象外。
Apacheを入れる
site.yml
- hosts: web become: yes remote_user: ec2-user roles: - role: apache
hosts(追記)
[web] webserver
ssh_config
Host webserver HostName <<EC2のipアドレス>> Port 22 User ec2-user IdentityFile ~/.ssh/keypair.pem
ansible.cfg
[ssh_connection] control_path = %(directory)s/%%h-%%r ssh_args = -o ControlMaster=auto -o ControlPersist=60s -F ssh_config
ansible-playbook site.yml -i hosts
正常に動けば、EC2にApacheが入っていることが確認できる。
Macでansibleを使えるようにする
pyenvを入れる
Macには標準でPythonが入っているが、pyenvで環境ごと管理したい
git clone git://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
python2.7を入れる
3系じゃないのは3系だとAWS系のコマンドで使えないものがあったため
pyenv install 2.7.14 pyenv global 2.7.14
Ansibleを入れる
最初pipで入れるかと思ったらhomebrewで入れられたみたい。
brew install ansible
$ ansible --version ansible 2.4.1.0 config file = None configured module search path = [u'/Users/homahi/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/Cellar/ansible/2.4.1.0/libexec/lib/python2.7/site-packages/ansible executable location = /usr/local/bin/ansible python version = 2.7.14 (default, Sep 25 2017, 09:53:22) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] ````