vimconf2018行って来ました

f:id:blux:20181127081256j:plain

真面目なレポートは他の皆さんがやっていただけるので なるべく楽しい感じにしようと思ったら結果こうなった。 中身があまりないですね…しかも詰め込みすぎ…絶望…

真面目なレポートも書こうと思ったけどこれ書いて力尽きた。 次からはテキストだけにしよう、、、

virtualenv使い方備忘録

前回の記事( https://blux.hatenablog.com/entry/2018/10/18/000347 )で多大な感謝と自分への戒めとして壮大なポエムを書いたわけですが、肝心の対応方法 を書いていなかった。

無事にpythonが使えるようになったかと思いきや、ansibleが動かなくなった。

ポエム記事しか書かなかった自分は、結局どうすればいいかわからなくなった。おい!

 

というわけで自分のメモ用に改めて書きます。

 

環境:ubuntu 16.04LTS

 

まずvirtualenv環境の作り方。

 

$ cd hoge

$ virtualenv -p python3.5 ansiblevenv

この-pでpythonを指定しないとデフォルトのpython(例: /usr/bin/python)が使われてしまいます。

ちゃんとvirtualenv環境のpythonとpipが使われていることを確認します

$ which python3

$ /hoge/bin/python3

$ pip3 --version

$ pip 18.1 from /hoge/ansiblevenv/lib/python3.5/site-packages/pip

 

ちなみに-pを忘れると以下のようになる。

$ which python3
$ /usr/bin/python3
$ pip3 --version
$ pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

pipのバージョンまじでNANDEYANEN

おそらくこれは私の環境が壊れているからだと思います。

これのせいで色々ハマったんだ…

さて、あとはvirtualenv環境でansibleをインストールします

$ source /hoge/ansiblevenv/bin/activate

$ pip3 install ansible

$ ansible --version

ansible 2.7.1
config file = /hoge/.ansible.cfg
configured module search path = ['/hoge/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /hoge/ansiblevenv/lib/python3.5/site-packages/ansible
executable location = /hoge/ansiblevenv/bin/ansible
python version = 3.5.2 (default, Nov 23 2017, 16:37:01)

はい!うまくansiblevenv環境内にansibleがインストールできましたね。

ほかにpipでインストールしたモジュールも同様に環境毎にインストールすると良いです。

ちなみにvirtualenvで新しい環境を作るときに古い記事だと

virtualenv --no-site-packages

と書いてありますが、今はグローバルサイトのパッケージ(例:/usr/lib/python2.7/site-packages)をデフォルトでインストールしない

という設定に変わったようなので、逆にグローバルサイトのパッケージをインストールしたい場合は以下のように指定します。

virtualenv --system-site-packages

詳しくは公式ドキュメントに記載されています。

User Guide — virtualenv 16.0.0 documentation

モヒカンのみんないつもありがと!!  

 

python使うならvirtualenv入れろ自分

python使うなら仮想環境使おうよと昨日の自分に言いたい。

python使いはじめの頃virtualenvなどの仮想環境を使うべきか?と調べたとき、python2と3を切り替えるみたいな状況じゃなければ仮想環境いらないのではという記述を見た。

python3しか使わない。そこに間違いはない。そして仮想環境を入れずに今日まで来た。

 

今日、pgadminを入れたらaws cliが使えなくなった😨

sslモジュールがない→pipのバージョンが古すぎてsslモジュールが入れられない→sslモジュールがないのでpipのバージョンを上げられない

デッドロック…‼

 

恐ろしい、本当に恐ろしい🤮

私は今ansibleを使うなどpythonとは切っても切れない仲だというのに。

 

こんなとき、仮想環境環境を使っていれば、壊れたpipはぽいぽーい!

で終わってただろう。

でも、私はそれをやっていなかった。

 

python2や3を切り替えるかどうかではなく、うっかりpython環境を変える(不意に何かをインストールしてしまう)かどうか(ひいては自分のうっかりさん度合い)でpythonの仮想環境を選択してほしい。

 

今日の私はそう思う。

 

色々調べたりアドバイスをもらったもののローカル環境を復帰することはできませんでした(pythonがOSに依存してる可能性もあるためクリーンインストールもできず)

ただvirtualenvを入れたら解決したんです!新しいpipもインストールできたんです!!

おかげでaws cli模使えるようになりました😭😭😭

協力してくれたモヒカンのメンバー本当に本当にありがとうございました!!!!!!

 

 

一瞬にしてnetlifyでhttpsサイトを作る

メモ帳でhtmlのタグを打っていたかつてはタグ職人(※インターネット老人会用語)だった私ですが、100万年ぶりにサイトを作ってみようと思いました。

色々話聞いたり考えたりしていたのですが、ちょうど「netlifyめっちゃええで!!!!!」っていうブログの記事を読んで触発されたのでとりあえず始めてみようかなと。3分でサイト作れるとか言ってるし。

 

netlifyに登録してhttpsサイトを作る

 

f:id:blux:20180920215155p:plain

 

はい!メインページですね、「Get started for free」をクリックします

 

f:id:blux:20180920215426p:plain

 サインアップします。

 

f:id:blux:20181008214059p:plain

何も登録されていないよ、という画面に出ます。

ここで適当なフォルダの下にindex.htmlというファイルを作り、そのフォルダをドラッグ&ドロップします。

 

するとどうでしょう!

f:id:blux:20181008215604p:plain

 

なんと一瞬にしてサイトが出来上がります。

初めはランダム文字列でサイトのURL(https://elastic-yalow...)が出来上がっているのがわかると思います。

URLにアクセスしてみると

f:id:blux:20181008215639p:plain

 

本当3分でできた...

自動でhttpsになっているという。素晴らしい。

 

デバッグ神社を粘土で建てました

粘土でデバッグ神社を建てた話です。

 

きっかけ:ビルドが全然通らない!!!!!何事!!!!!って時に、エンジニア仲間から「神社建てたら?」と言われました。

「そうだね、建てるね!!!」ということでその日の晩に粘土を購入し、1時間くらいで作りました。

 

f:id:blux:20180903214707j:plain

 

はい。おとうふくんデバッグ神社。

もうガタガタですね!!!一応神田明神を見ながら作ったんですけどね!!

ちなみにこれ300gの粘土をまるまる使い切りました。

乾くのに2,3日かかった。あとめちゃ重い。

あとでググって見たら針金を入れるなど軽量化する方法はいくらでもあるみたいですね。ははは

 

しかし見ての通りおとうふくんも白ければ神社も白いわけです。

完成すると物足りなくなるわけで…

 

というわけで着色します!!!

 

使う絵の具はこちら!!!

 

f:id:blux:20180903214727j:plain

 

 

f:id:blux:20180903214717j:plain

 

 

f:id:blux:20180903214720j:plain

 

 ガンダム見たことないのにサザビーレッドとか使ってすいません。

けどとてもいい色ですよね。

おとうふくん神社はサザビーレッド!!

 

f:id:blux:20180903214713j:plain

 

 はい、着色開始します!!

汚いですね。

下に敷いているのはカッター板です。

机を粘土で汚したら怒られたので対策です。

 

f:id:blux:20180903214730j:plain

 

いい感じの緑〜!

後ろでバナナくわえてる星野源が写り込んでいますが気にしないでください。

新曲アドリブのPVは三浦大知が振り付けしてるのでみんな見てね。

星野源 - アイデア【Music Video】 - YouTube

 

f:id:blux:20180903214734j:plain

 

金色もいい感じ!!

しかしこれわかりますか?屋根の裏を塗っているんですけど、めちゃくちゃ難しいですね。

先に色塗ってからくっつけた方がよかったんじゃないかって思いましたがしょうがないです。

絶妙な筆使いで屋根の裏を塗っていきます。

多分1時間くらい屋根の裏塗ってた。

 

f:id:blux:20180903214737j:plain

 

いい感じですね〜

色を塗ると改めて作りのあらさがバレますね。

まあしょうがない

 

f:id:blux:20180903214745j:plain

 

というわけではい完成!!!!

神田明神を模したおとうふくん神社完成です!!!

色ぬりは4時間くらいかかりました。

いや〜楽しかった!

 

しかし、ここで終わりではありません。

完成した神社の写真を母親に送ったところ、「賽銭箱送るね」と。

賽銭箱…?

 

f:id:blux:20180903214701j:plain

 

賽銭箱と手洗い場となんか銅像みたいなやつきた!!!!!!

母よ、どこで手に入れたんだ…

f:id:blux:20180903214653j:plain

しかも賽銭箱に500円入ってるじゃん…

母よ…

 

というわけで無事完成です!楽しかった〜〜!

kaggleをはじめてみた1

kaggleはじめてみたメモ。

きっかけ

Deep learningの勉強やりたいな〜と思って「ゼロから作るDeep Learning」とか読んでいるのですが、ぼんやりしか理解できている気がしない。

そんな時に「kaggleって学習にいいらしい」と聞いたので、はじめて見ようと思いました。

登録方法

Kaggle: Your Home for Data Science

こちらにアクセスし、右上の「Sign in」からメールアドレスを入力してユーザー登録する。

 

ログインしてみる

f:id:blux:20180815225040p:plain

 

はい。ログイン画面です。

って、デフォルトのプロフィール画像可愛すぎじゃない!?!?あひる???

f:id:blux:20180815225139p:plain

これだよ!!この「人間たちを見守ってきました」

みたいな顔!!!可愛すぎ!!!

でも画像はあとで変えたいと思います。

 

さて、このあとどうすればいいんでしょう。

右側に謎のマークとNoviceって書いてあるところをクリックしてみます。

f:id:blux:20180815225428p:plain

どうやら自分が活動した内容によってバッジみたいなのがレベルアップしていくみたいですね。

この丸四つのバッチがSFっぽくていいですね。

ひとまずContributorを目指したいと思います。

 

日本語に訳すと

・プロフィール

・あなたの所在地

・あなたの職業

・あなたの組織

・SMS認証

・1script1実行

・コンペに1つ出す

・コメントを一つつける

・賛成票を1票投じる(stackoverflowみたいなQAやフィードバック用の掲示板みたいなのがあるので、そこの何かに賛成票を入れるってことかなと…)

 

電話番号登録しないといけないというところで少し尻込みしてしまいますね。

 

まずはscriptを一つ実行するところからはじめたいと思います。

ドキュメントなどを読み、また次回ということで続きます。

technology radar 2018 のnewをかじってみた

technology radar 2018が出ましたね。

www.thoughtworks.com

 

毎年眺めてはいるものの、ちゃんと知らない技術を調べたことがなかったので、「new」となっているもののうち、興味のあるやつ(理解できるやつ)をいくつか調べてみました。

newではないですがkubernetesがadoptになり、おお〜と思いました。あと.net core。すごいね。

 

TECHNIQUES

hosted identity management as a service

  • 認証のSAAS
  • 自前で認証抱えるの辛くない?マイクロサービスなんかはサービス同士が認証し合わないといけないでしょ?という背景
  • Auth0やOktaというサービスがある
  • レガシーシステムの雇用者ID(認証)と関係がある、と書かれている。

Jupyter for automated testing

  • その名の通りjupyterを使ったテスト自動化
  • jupyterとはwebブラウザ上で動く高機能エディタ
  • データが重い場合や、性能試験などの静的コンテンツに依存する場合に使われる
  • pythonは確かに高機能だが、テストが複雑になる場合jupyterが有用とのこと

 

TOOLS

HELM

  • Kubernetes用のパッケージマネージャ https://helm.sh/
  • まずkubernetesを知らないと読んだだけではワードが全然わからない
  • kubernetesをchartという単位でパッケージ化されている。公式なchartリポジトリが存在し、プライベートリポジトリを作成することも可能。これをhelmコマンドで操作する

wiremock

  • マイクロサービスでサービス間のテストが必要な時に利用できるモック用フレームワーク
  • 簡単で強力らしい

Headless firefox

  • headless chromeならぬheadless firefox
  • headless chromeと同様UIがなくても使用できる

 

PLATFORMS

Aws fargate

  • docker-as-a-service
  • US-East-1 regionのみ
  • サーバーやクラスターの管理が不要でコンテナ実行可能

Web bluetooth

  • ブラウザからbluetoothが操作可能
  • bluetooth経由でwebサイトとデバイス間でやりとり可能
  • これまでbluetoothはネイティブアプリを開発する必要があったが、API経由で操作が可能になった

 

LANGUAGE & FRAMEWORK

troposphere

  • AWS cloudformationのJSONを書くためのpythonライブラリ
  • 容易にJSONのエラーをキャッチし、型チェックを行い、テストを実施し、AWSのリソースをDRYにすることが特徴

RASA

 

以上です。

 

マイクロサービス、コンテナが流行りにのっている!って感じですね。

ブロックチェーン技術をまだわかっていないので取り上げませんでしたが、いくつかnewに入っていましたね。

せっかく買ったブロックチェーンの本を読まなきゃな〜!