Pyconjp 2019
PyconJP 2019いってました。ここはチャラい浮ついた感じがなくて良いイベントだと思います。資料とトークの動画がちゃんと公開されてるので私のメモは読まなくていいです。( https://pycon.jp/2019/ からたどれる
良かった話のメモとか。
・Supportingpython3 in large scale project https://www.slideshare.net/ssuser2cbb78/supportingpython3-in-large-scale-project-172491766
・どうやってpythonコードを見つけるか? どのインタプリタに対応していたか? コードの意図はどんなだったか?
・ちゃんと計画を建てる
・概念実証
・チームを組む
・ガイドラインを建てる
・タスクを調べる
・タスクの大きさを見積もる
・粛々と取り組む
・ビルドシステム/デプロイスクリプトは? python3がサポートされないパッケージは?
・2と3の一番の違いは、文字列の扱い
・Pythonコミュニティが公開してるアプローチを試す。(https://docs.python.org/3/howto/pyporting.html#text-versus-binary-data
・Modern development environments for Pythonistas https://www.youtube.com/watch?v=d3cj4f63u-A
・環境はpythonだけでもない、dockerを使おう
・本番環境と同じ環境にするためにdockerを使おう
・pip-compileでバージョンをピンしよう
・Dependabot/Pyupを使ってアップグレードしよう
・Lintはblackを使え
・自分の環境がそのままリリースできるくらいにする
・Pythonでライブをしよう -FoxDotを使った新時代のPython活用法 https://www.youtube.com/watch?v=lCQWLAJf6xQ&feature=youtu.be
・https://foxdot.org/
・Getting Started with Asynchronous Python Web Development https://youtu.be/3Me7IU-kjq0?t=1040
・ボトルネックはいつだってDB、NW、IO
・aiohttpを使う
・async/awaitで非同期処理をかける
・チームメイトのためにdocstringを書こう https://www.youtube.com/watch?v=2A3gRyT54Wc
・docstringを書くのがよい
・スタイルは3つ。
・ReStructuredText Style
・NumPy Style
・Google Style
・PyCharmは設定をすると保管してくれる。
・VSCodeはautoDocstring
・DocString書いてくれない問題。
・文化を作る (edited)
Slack Dev Meetup 1 のメモ
これ行ってました。 Slack App、ちょろっと作って自分のところのワークスペースに入れるだけっていうのは直ぐにできるので偉いと思います。 その気になればそのまま公開できるのも偉いと思います。でもbotとappの関係とかよくわかりづらいのは良くないと思います
Boltの紹介
- 特徴
- SlackとHeroku
- SlackとAWS Lambda
- Serverless FWを使うと楽に行ける
- NavitaimeのBlock Kit
カオナビをApp directoryを出す話
- 最初は通知を送ろうとしていた
- Slackが業務のHubであり、その中の1つとして使われるいう発想に転換
- 開発
- Oauth認証
- メンバー検索
- メッセージ送信
- appd に申請して2週間くらいかかる{半日もあった
- 5ヶ月想定したが、6.5ヶ月
- マネ1、エンジニア2,デザイン1、QA1
- 審査後即公開ではなく、Publishボタンがある
- 使ってくれる人はたくさん使うが、全く使わない人は全然使わない
Slackをワークスペースに替える話。AWS Chatbotの話
ファクトフルネスを読んだ
1日1ドル未満で暮らす子どもたちは増えただろうか。減っただろうか。
初等教育を受けられる低所得の女性のの割合は3割だろうか。6割だろうか。
紛争で亡くなる人は増えただろうか。減っただろうか。
これらのことがわからないのならば読んでみていいと思う。
人はみな、自分が見たいものを見ている。
そうならないためにどうすればいいかを教えてくれる本だ。
単にこれらの事象そのものだけにとどまらず、物事の見方ということを考えざるを得なくなる。
- 大半の人がいるところを探す
- 悪いニュースの方が広まりやすい
- 直線も曲がる
- リスク計算する
- 数字を比較する
- 分類を疑う
- 変化はゆっくりと起きている
- 1つのことが全てに応用できるわけではない
- 犯人探しでは解決しない
- 小さな一歩を重ねていく
FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣
- 作者: ハンス・ロスリング,オーラ・ロスリング,アンナ・ロスリング・ロンランド,上杉周作,関美和
- 出版社/メーカー: 日経BP
- 発売日: 2019/01/11
- メディア: 単行本
- この商品を含むブログ (1件) を見る
エンジニアの知的生産術読書メモ
読んでたけどメモほっぽりっぱなしだったので放出。エンジニアなら大なり小なりやっていることを、明確に言語化せしめたのは素晴らしいことだと思う。間違いなくエンジニアに限らない、誰でもためになる良書。なにかに取り組む前にさっと目を通して備えられるように、自分の中に積みあげておきたく感じる。
学び
- やる気の維持
- 小さいゴール
- 良い参考書を選ぶコツ
- 大学の講義の参考図書に選定されている
- 正誤表が充実
- 改定されたロングセラーである
- 学習のサイクル
- 情報収集→モデル化→検証
- 情報収集
- 知りたいと思うところから学ぶ
- ソースコードの読み方 by Matz
- 全体を読もうとしない
- 目的を持って読む
- 達成可能な目標。明示的な目標を掲げる
- 大雑把に全体を把握する
- 写経が再び必要になるとき
- 写経の必要もなくすんなり理解できたとおもったのなら、それはすでに学んだことで構成されていて、新しいことを学べていないということ
- どうやって抽象化するか
- 比較する。同じ箇所と違う箇所の間を見る
- 例える。どこが同じでどこが違うのかを明確にする
- 違いに注目する
- 歴史から学ぶ。以前と以後で何が変わったか
- すでに抽象化されたパターンから学ぶ。ただし、自分の言葉で、自分の経験として、自分の目的に使えるか?
やる気
- やる気がでないのは、やることを絞れていないせいである
- 絞るためにはまず全体像を把握する
- 優先順位付け自体が難しい
- タスクが大きすぎる
- タイムボックス
- ポモドーロテクニック
記憶
- アウトプットで記憶が鍛えられる
- 覚えている自信がなくてもテストを繰り返すと成績は高くなる
- 忘れてから復習するのは長期の記憶に役立つ
- ライトナーシステム
- supermemo
- 間隔反復法
- 知識を構造化する20のルール
読書
- 「読んでない本」は、先に概要を調べる・読んだ人に聞くなどして、読むべきかどうかの判断ができる
- Whole Mind System
- プレビューする。
- 5分ほどで目次やキーワードについて把握する。
- 質問を作るためによむ。
- ○○せよと書いてあるが、これは具体的にどういう行動か?
- 答えを探すために読む
- マインドマップでメモする
- プレビューする。
- フォーカス・リーディング
- 読む速度をコントロールすることで理解度を測る
- どちらも見出しに注目する
- 難解な本を読む技術
- 本棚を見て分野の全体像をスケッチする
- 読書ノートを作る
- わからないことを記録する
- 何度も出現する単語を記録する
- 概念や理由の関係性を矢印でつなぐ
- わからないことを解消するために読む
- 読むという行為の目的はなにか
- 必要なときに読み返せるように頭の中に地図を作る
- 本の内容とそのほかの知識を結びつけるために読む。Syntopic Reading
- 概念の名前を知ることで思考の道具を手に入れる
- 復習のためのメモを作る
- レバレッジメモ
- Incremental Reading
思考
- 書き出し法
- テーマに対して書き出す
- 質ではなく量
- 重複も気にしない
- 情報をまとめる
- KJ法
- ふせんに書き出し並べて一覧性を上げる
- 関係ありそうなものをまとめる。
- グループ化して表札をつける
- 分類できないと思ったときは分類の基準が間違っている。
- 既存の分類を使うのではない
- 階層は作らない
- 短縮化
- 表札は作らずとも良い
- 中断可能であるように工夫する。ふせんをはるのはA4用紙にするなど
- 表札は作らずとも良い
ひらめき
- 3つのフェーズ
- 耕す
- 芽生える
- 育てる
- 「アイデアのつくりかた」ジェームズ・W・ヤング
- 資料集め
- 資料の加工
- 努力の放棄
- アイデアの誕生
- 「発想方」川喜田二郎
- 情報を収集する
- 言語化を促す
- 言葉になっていないもの
- 磨き上げる
- 最小限の実現可能な製品
- 他人の視線
エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする (WEB+DB PRESS plusシリーズ)
- 作者: 西尾泰和
- 出版社/メーカー: 技術評論社
- 発売日: 2018/08/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
2018年を振り返って
前年度たてた目標
コードリーディングする
Django
Goole App Engine SDK
自社製品のコード
周辺環境やライブラリについて調べる癖をつける
アップデートしたりメンテナンスしたりできるようになる
漫画を書く
例大祭と冬コミ
目標を達したか
所感
漫画しか書いてねえなこいつ…(1年ぶり二度目
プログラミングができなくて困っているのだが、できるようになる道筋はもはや見えない。なんでプログラマになったのか。なのでプログラマ以外の職業へと転職を考えてはいるのだが年齢がいきすぎてもはや機会を逸している。苦痛なプログラミングといかに向き合っていくのかということを考えていかなければならない。
10年やってプログラミングが身につかなかったという事実から自分の才能をすでに見限っているのだが、ことWebに関して言えばまだ触れ始めて5年であるともいえる。できる人は半年もすれば全てを掴んでしまうのであるが、そこは凡人以下の私であるので天才の 1000倍時間がかかったとしても驚きはない。
という風に将来を悲観しているのだが、仕事で完全新規のAndroidアプリを一人で作ったりしていた。そういうのはできるようだ。もしかしてWebよりもネイティブモバイルのほうが性に合っていたかとかそういう話なのだろうか?
ならWebやめてモバイルやるかーと思ったが、これも年齢のせいで転職はできない。作れるだけなら若い人間でいいわけで、プラスアルファーが必要という話である。とはいえアプリ作るの意外と嫌でなかったので勝手に勉強するのはやぶさかではない。
これはそういう勉強のやり方ばっかりやってたのでそうなったのだと思う。つまり新しい技術のプロトをさっと作るという方面には可能性があるようだ。ただこれ正社員ポジションでやることじゃないんだよな…。
そうはいっても今いるのはWebの会社なので。Webの中でやれるようなことを探していく必要があるのだが、技術側は諦めて人間寄りの方を模索するのも1つだなと気づいた。好きじゃないけど。私は好きと得意がかけ離れるタイプの人間のようなのでおそらくやってやれないことはないのだろう。
組織寄りプロダクト寄りビジネス寄り、技術を理解できる人間がそっち方面で果たせる役割というのを探ってみたいと思う。
漫画描き。好きではないがわりかしこなせるというだけでプログラミングをやっているので大変なストレスと苦痛と共に過ごしている。そこでストレス解消のために全然別のクリエイティング行為であるところの漫画がハマったのではないだろうか。まんがかくのたのしいかみえしになりたい
来年の目標
kotlin fest 2018に行ってきた話
最近Androidアプリをkotlinで書こうとしています。ちょうどkotlin fesがあったので行ってきました。 スライド公開されているのでだいたいこの辺から見ることができます。
「Kotlinアプリのリファクタリングポイント」と「Kotlin コルーチンを理解しよう」あたりが私に良かったなぁという気がします。 実際kotlinでモバイルやろうとすると、それはAndroidの仕組みの話なの?Javaの話なの?kotlinの話なの?みたいのが混ざってしまいさっぱりわからなくなってしまいがちです。
結局Javaなので詰まったらJavaまで降りていかないと行けないみたいなときもあるっぽいので、絶対に降りないように凝ったことするくらいならその仕様にNoを突きつけるくらいでいきたいですね。大変な思いをするためにプログラミングをやっているわけではないのでツラさを押し付けてくるなら殴り飛ばしてやるからなまじでおまえまじでこの野郎おまえ
あとyahooブースでモブプログラミングとか初めて見ましたけど。昔ペアプロもそんなうまくやれなかったし。ほんとに効果あるんでござるかぁ?みたいな気持ちでいます。ああいうの合うタイプと合わないタイプがあるんですかね。ペアプロとかモブプロって優秀な人がさらに加速するための装置であって、普通の人が普通のことをやるには向いてない気がします。でもOvserber.delegate()でしたっけ?は初めて知ったのでありがとうございます。
あとwebDB pressの特集でkotlinがきたり、kotlin盛り上がってますねー
Androidアプリを手動で別の端末にインストールする
Androidアプリを手動で別の端末にインストールする。 OculusGoのVRビュワーが使いにくいので一番使いやすいと思ったやつをOculusGoで動かせるか試したりしたので覚書。ちなみに動きませんでした。ですよねー
$ adb devices List of devices attached XXXXX17510009999 device $ adb shell pm path se.chai.vrtv.free package:/data/app/se.chai.vrtv.free-1/base.apk $ adb shell cp /data/app/se.chai.vrtv.free-1/base.apk /storage/emulated/0/Download $ sudo adb pull /storage/emulated/0/Download/base.apk /storage/emulated/0/Download/base.apk: 1 file pulled. 23.4 MB/s (15921479 bytes in 0.650s) $ adb devices List of devices attached XXXXX8177 device $ adb install base.apk Success