背景
……そこで、せっかくですから、私のルーツであるインフラ系に立ち返り、法律に詳しいインフラエンジニアになるべく(なんだそれは)、独自に技能の研鑽を始めることにしました。
そして、夜は司法書士試験の勉強です。もうパーフェクトですよね。私はリーガテックの神になる、これはもう、間違いがございません。
それをQiitaに投稿する目的は、
- 同じような習熟度の仲間が見れば役に立つ
- アウトプットをした方が定着する
というだけです。頑張ってまいります!
PJ概要
諸元 | 内容 |
---|---|
言語 | python |
インフラ | heroku |
目的 | slack連繋のチャットボット |
現在、私が簡単に設計したものを同期が作ってくれたアプリがあり、内容としては上記の表のような感じです。
しかしながら、heroku環境では500時間しか無料では動かせないようであり、止まってしまいました。そこで、**AWSの研鑽も兼ねて、これをAWSに移行してみよう!**というチャレンジをします。
JupyterLabの便利なショートカット
アプリ側の実装者・同期さまの環境はJupyterLab(Anacondaに附属しているのですね。初めて知りました)。まずはこれを理解せねばなりません。
コマンド | 結果 |
---|---|
Shift+Etr | セル内のコードを実行して下に追加 |
Ctrl+Etr | セル内のコードを実行 |
D^2 | セルを削除 |
A | 上にセルを追加 |
B | 下にセルを追加 |
Ctr+/ | コメントアウト |
途中まで書いてTab | オートコンプリートによる補完 |
他にもここを叩くと色々出てくるようです。すごい。
その他気になった点はこんな感じです。
(分かりやすいReadme.mdに助かる。。。)
- どうも、terminalみたいなイメージで使って良いようmasu.Chromeから開くとあたかもクラウドサービスのような感じになりますが、実際にはローカルホストで動いてます。
-
.ipynb
はあくまでもノートブック。実行ファイル部分を出力するには、メニューからexport as executable
。すると、実行できない部分はコメントアウトされた状態で、`.pyが出力されるよ。 -
Variable Inspector
というextensionはおすすめ。インストールしたら右クリックで使えるよ。
わからない!
JLabを見渡しつつ、本体となるpythonのコードも読み込みます。
いくつか、見覚えのない点が、、
import Botって?
from slackbot.bot import Bot, respond_to
という記載が。importは分かるのですが、Botって何でしょう。
respond_toも聞いたことが。。ない。。
from slackbot.bot import Bot
これが根拠となっていそう。ここで、from
とimport
の区別ができていない自分に気づく……
……
Pythonでライブラリやモジュールを読み込む際には「import」および「from」を使いますが、この2つは使い方がややこしく、違いをあまり分からずに使っている方もいると思います。
ですよね〜!(下記参考文献より)
……ということで、モジュールをバイパスしてクラスとか関数を直接importする指令だったみたい。
やったぜ。
defってなんだ!?
pythonはちょっとだけやったことがあったのですが……defという表現を使った覚えがありません。
鍛錬が足りませんね。これも調べます。
色々みましたがこれが格別に分かりやすいです。
いままで、classは使ったことがありましたがdefは使っていませんでした。VB.netで世界観が止まっていたのだと実感します。
classより細かい単位化ができるということですね!
###この辺でpythonコードを読解
疑問点はこれで解消したので、ここで同期さまが書いてくれたコードを読解!しようと思います。
……なんか理解できた気がします!
###気になった点
Spreadsheetからデータを取ってくるコードの冗長性が高そうです。
効率化できないか次回以降検討してみます!
###次回予告
次は、①冗長性問題の解決に取り組み、さらに、②現在の実行環境であるherokuの理解を目指します!
###応用的だけどすごい勉強になる学習内容
https://blog.bitmeister.jp/?p=3911
@respond_to
って何?という、知らなくても良いけど知ったらプロになれる疑問に答えてくれます。
###参考文献
https://ai-inter1.com/jupyter-lab/