動かざることバグの如し

近づきたいよ 君の理想に

Jupyter Notebookでサジェストが出るようにする

残念ながらJupyterのデフォルトだと変数や関数のサジェストが出てこない。

でーたさいえんてぃすとの人たちはこんな辛いものを使っているのかと思っていたが、拡張機能をインストールするとできるようになる

拡張機能のインストール

Jupyter notebook extensionsをインストール

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

拡張機能の有効化

Jupyter Notebookを再起動して、 http://localhost:8888/nbextensions にアクセス

たくさんチェックボックスがあるが、「Hinterland」にチェックを入れる。

するとサジェストが出るようになる。やったね!

PHP + utf8mb4のMySQLにDB接続ができないとき

環境

MySQLに接続できない

PHPからPDO経由でMySQLへ接続しようとしてもうまくいかない。

PDOException: SQLSTATE[HY000] [102] Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/) in ****

utf8のDBには正しく接続されるので文字コードが問題っぽいところまではわかったが、そのサーバーからMySQLのコマンド経由だと普通にログインもできるし表示でもできる。むむむ

解決策

どうやらPHPからMySQLに接続するライブラリを変えなきゃいけないらしく、MySQL Native Driverってやつに変えたらいけた

まずは既存のライブラリをアンインストール

yum remove php71w-mysql

MySQL Native Driverのライブラリをインストール

yum install php71w-mysqlnd

service php-fpm restart してphp -mにいればおk

違いは?

今まではlibmysqlclient(MySQL クライアントサーバーライブラリ)が主流だったが、実はPHP 5.3以降はmysqlnd(MySQL ネイティブドライバ)も組み込まれており、今はmysqlndのほうがオススメっぽい。まぁ今時utf8mb4ですし

詳細な比較は公式ドキュメントを参照

http://php.net/manual/ja/mysqlinfo.library.choosing.phpphp.net

参考リンク

Pythonでmake sure the Graphviz executables are on your systems' PATH

環境

エラーの内容

import mglearn
mglearn.plots.plot_animal_tree()

ってやると

ExecutableNotFound: failed to execute ['dot', '-Tpng', '-O', 'tmp'], make sure the Graphviz executables are on your systems' PATH

ってエラーになる。 pip install graphviz は実行済み

対策

graphviz本体?を別途インストールする必要がある

Macなら

brew install graphviz

Ubuntuなら

apt install graphviz
import mglearn
import matplotlib.pyplot as plt
mglearn.plots.plot_animal_tree()
plt.show()

f:id:thr3a:20171210152443p:plain

できた

Kindleをリセットすると再度ログインが出来なくなる問題

完全にバグでしょこれ

環境

症状

どうもAmazonの2段階認証を設定しているとKindleをリセット→再度アカウントログインができなくなる。パスワードも2段階認証のコードも絶対合ってるのにアイコンがクルクル回って10秒後にはまたログインページに飛ばされる。再起動しても無理

解決策

要は2段階認証を使わないログインをするしかない()

https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201962400www.amazon.co.jp

AmazonバイスまたはKindle無料アプリの登録画面で、パスワードの末尾にセキュリティコードを追加して入力します。
たとえば、パスワードが「abcdef」で、セキュリティコードが「12345」の場合、
パスワードのフォームには「abcdef12345」と入力します。
上記の手順を行うと、Amazonアカウントへのサインインが完了します。

これは初めて知ったが、「パスワード+セキュリティーコード」で2段階認証相当のログインができる。これでログインできた

参考

他の方でも同じ症状起きてるっぽいし早く直してほしい。。ゴミセールしてる場合じゃないでしょ