アジアの極東で魔法にかけられている。

学生エンジニア(見習い)です。Railsとか

pipenvで管理しているdjangoのプロジェクトでpycharmの補完が効かなかった

概要

プロジェクト初期にインストールしたライブラリの補完は効くのだが、
最近インストールしたライブラリの補完が効かなくなってしまった。
Pycharmを使うとご丁寧に↓のようなunresolved referenceエラーを表示してくれるので、しばらく無視していたのだが
f:id:xim0608:20180915220528p:plain
ライブラリを入れ替えた時に、エラーが増えたので対応してみた

解決

pycharmのProject Interpreterpipenvで生成されるvirtualenvが一致していなかったのが原因であった。

  1. pipenvプロジェクトのvirtualenvの場所を$ pipenv --venvで調べる
  2. pycharmのproject interpreterを、[Preferences]→[Project:~~]→[Project Interpreter] で再設定 Pipenv: Python Dev Workflow for Humans — pipenv 2018.7.1.dev0 documentation

プロジェクトの再読み込み後、referenceエラーが消えた

参考

まず↓を試してみました。。上記で解決しなければ参考にしてください qiita.com

Raspberry Pi 3でLDAPサーバーを構築する

ハマった箇所が多かったので備忘録 OSはRaspbian Jessie Lite

1. hostnameを変更する

設定したhostnameが初期のdc(Domain Component)になるので変更する
たとえば、hostnameをldapie.example.comにした場合はdc=example,dc=comと設定される
/etc/host/etc/hostnameを手動で変更する
or
$ sudo raspi-configからメニューの2番目Network Options -> Hostnameで変更

2. slapdをインストールする

$ sudo apt-get update
$ sudo apt-get install -y slapd ldap-utils
インストール中にadminパスワードを聞かれるので入力する

3. テスト

$ ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn を実行すると

dn: dc=example,dc=com

dn: cn=admin,dc=example,dc=com

databaseが作成されたことがわかる

4. 構築する

f:id:xim0608:20180414141222j:plain
上図のように構築してみる
structure.ldifファイルを作成し、内容を以下のようにする

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: users

dn: ou=administrators,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: administrators

dn: ou=students,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: students

参考サイト

www.instructables.com

Raspberry Pi Setting up the openLDAP Server - YouTube

jupyter notebookのショートカットキー

基本的には、jupyter notebookのメニューにあるHelp→Keyboard Shortcutsで確認できる
f:id:xim0608:20171010090208p:plain で初めて気づいたんですが、jupyterにはコマンドモードと編集モードがあるそうな

コマンドモードと編集モード

viと同じ感じです。 コマンドモードにはEscキーで入ることができ、セルの左側が青色になります。 編集モードはEnterキーで入ることができ、セルの左側が緑色になります。

よく使うであろうショートカット

全部書くとキリないので、よく使いそうなやつだけ書き出します。

編集モード

キー 機能
Shift + Enter 選択中のセルを実行して、下のセルを選択する
Ctrl + Enter 選択中のセルを実行する

エディットモード

キー 機能
Y 選択中のセルをコードに変更する
M 選択中のセルをマークダウンに変更する

こんなもん?

え、少なすぎじゃないかって? 私にはまだこれくらいで十分なのです。。 まあ思い出した時に追記します

はてなブログのGoogle Analyticsの設定

はてなブログ始めたので、まだアクセスないけどGoogle Analyticsの設定ぐらいしてみるかということで、手順を書き残しておきます。

1. Google Analyticsのアカウント取得

Google アナリティクス - モバイル、プレミアム、無料のウェブサイト解析 – Google
上のリンクのページの少し下にGoogle Analyticsのご利用開始ボタンがあるので、そこからアカウントを作成する。 ブログの情報を以下のように入力する。
(オンラインコミュニティでいいのか。。。。)
f:id:xim0608:20171010020115p:plain

データ共有設定も以下のようにすべてチェックを入れた。
f:id:xim0608:20171010014818p:plain

2. Google AnalyticsのトラッキングIDを入手

1が終了すると、トラッキングコードが表示されているページにリダイレクトされるので、 下の画像の黒塗りの部分(UA-9けたの数字-数字)をコピーする f:id:xim0608:20171010020258p:plain

3. はてなブログに設定する

ブログの管理画面の設定→詳細設定のタブにある f:id:xim0608:20171010015636p:plain に先ほどコピーしたトラッキングIDを貼り付ける。

4. 完了!

まあ設定したところでアクセスないので、もうしばらく様子見てみたいと思います。

jupyter notebookを立ち上げるdockerコマンド

いつも忘れる上に、意味がよくわからなくなるので、備忘録として残しておく
基本的につかうのは以下のコマンド

docker run -d -p 8888:8888 -v $(pwd):/home/jovyan/work jupyter/scipy-notebook start-notebook.sh --NotebookApp.token=''

-d

コンテナをバックグラウンドで起動するためのオプション

-p

ポートフォワードのオプション
外からアクセスするポート番号:コンテナ内部のポート番号

-v

コンテナを実行しているホストマシン上のディレクトリを、コンテナ内のディレクトリにマウントできる
ホストのディレクトリ:コンテナ内のディレクト

start-notebook.sh

このスクリプト--NotebookApp.token=''などのjupyterのcommand lineオプションをコンテナ立ち上げ時に渡すことができる
* ちなみにオプションは→を参考にJupyter command line options

おわりに

参考

Google翻訳ってすばらしいですね
dockerのdocsを読んでいたら、Docker 17.06から--mountオプションが使えるようになって
-vオプションより--mountオプションをおすすめするよ」という記述を見つけた
時間があるときにこれについて書いてみようかな。 docs.docker.com