イベント参加ログ》 (第97回)Python mini Hack-a-thon 3/23 11:00-19:00
- ビープラウドさん会議室が会場の、 #pyhack 定期もくもく会。参加2回目。
- 先月の #pyhack 以来ちびちび開発している自分用ツールの続き。Responderの勉強がてら、ログをブラウザで表示する部分を作った。
参加目的・獲得目標
- ひとりで勉強し続けるのは苦手なので、"もくもく会ドリブンで継続&成長するよ” 計画の一環。
- 引き続きResponderの勉強と自分ツールの開発を進める
成果
- 指定ページをタイムライン表示するところまでできた。
- Responder (というか Responderで使われてる Jinja2 )のHTMLテンプレートに 変数や簡単な制御コードを埋め込む方法がわかった。
- コレ読んでPython始めた「独学プログラマー」の清水川(@shimizukawa) さんにお会いした & ランチ一緒だった。
きゃーーーっ ***ヾ(>∇<)ノ"*** ヤバすぎ
独学プログラマー Python言語の基本から仕事のやり方まで
- 作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也
- 出版社/メーカー: 日経BP社
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログ (4件) を見る
キーワード
成果発表や人と話して初めて聞いたキーワードや印象に残ったことのメモ。
- Googleスプレッドシートに書いたのをfacebookに自動投稿
- GMailのAPIでメール一括削除
- イベント参加の分析
- SPASQL
- Firebird(オープンソースのDB) 、LibreOfficeに採用
- AIOHTTP via. PyQ開発者 @hirokiky さん
- CQRS コマンドとクエリーを分ける考え方
- pythonからCGI
気づき(3つ書く)
- コンソールにログ表示していた時は、表示対象範囲を変数で持ち回っていたが、ブラウザ表示の時はそれができない。困って成果発表の時に相談し、クエリ文字列で渡してやる方法を教えてもらった。
- ハマった。
たったこれだけのコードを動くようにするのにえらく時間がかかってしまった(^^;;
# http://127.0.0.1:5042/page/{str_page} @api.route("/page/{str_page}") def html_page(req, resp, *, str_page): idx = search_by_page(notes, int(str_page)) resp.html = api.template('index.html', tmpl_notes = notes, tmpl_idx = idx, tmpl_page = str_page )
- 原因は変数の型違い。URLから取得した page をそのまま関数 search_by_page(notes, page) の引数に渡していたが、URLから渡ってくる値が str型 なのに対し、 関数側は int型を期待していたため、処理途中でしくじっていた。
- いつもならコンソールに "型が違う" とかなんとかエラー表示されるのに、Webサーバとして動いているとうんともすんとも言わない。処理が戻ってこないから print や logging を書いても効かず、ブラウザに None と表示されるだけだったり Internal Server Error が出るだけだったりで、悪い箇所を特定するのが大変だった。
- 結局、確実に動くコードから少しずつ置き換えて原因箇所が特定できたのだが、 コードを書き換えるたびにいちいちサーバ再起動が必要で 嫌になった。
TODO(気づきを行動に変える。3つ書く)
- Webフレームワーク使うときにも使える、効率のいいデバッグ方法を調べる。
- イベント参加ログを書くのが翌日以降になりがち。その日のうちに書いて吐けるようにしたい。
- 済》定形化する
- もくもくの最後の30分は アウトプットに使うことにする
- 勉強や開発内容そのものも最初から アウトプットするつもりで臨む
- 以上のことを、「いまだに脳内 小学生レベルで 私って まぢバカだな」などと思わずに、フツーに楽しくこつこつやる。
- 次回もまた参加したい!
ランチ
Python+もくもく会+美味いランチ の法則。
熟成肉のハンバーガー(ちょい辛ソース) - バンが味わい深くて肉の旨さを倍増する。美味しくて幸せ。