mtbの学んだことのブログ

とあるPythonエンジニアのブログ

Python

DjangoのViewのテストである文字列が含まれているかを確認する方法

DjangoのViewのテストでレスポンスにある文字列が含まれているかを確認する方法があるんだけど、どういうふうに書くんだっけ、、、と思うことが三回起きました。そういう時になんとググるかで少し詰まったので、記事に書きました。そう思った時に見返すため…

word2vecを触ってみた

word2vecに興味があったので調べた。 この記事は、そのメモです。

DjangoのGenericViewって何だろう?

DjangoのGenericViewって何だろう?って思ってたので、それを調べました。 これはその調べた時のメモです。

サクッとロジスティック回帰を試したい

ロジスティック回帰を使う時に、何を見れば良い。というのが自分の中でなかったので、まとめたいと思いました。 今回は、自分が、ロジスティック回帰を使う時に見るメモみたいな何かです。

SlackにPythonから投稿できた

SlackにPythonから投稿したいな、という気持ちになりました。 ちょっと調べたらすぐできたのでその時のメモ。

DjangoのPaginatorを触ってみた

DjangoのPaginatorを触ってみる。

DjangoのTemplateViewを調べた時のメモ。

DjangoのTemplateViewを調べた時のメモです。

djangoのSQL実行を最適化する(prefetch_related/select_related/Prefetch)

Djangoを使っていて、イケてないSQLがありました。 そもそも、僕はDjangoのprefetch_relatedとselect_relatedがよくわかっていませんでした。 今回は、それを調べたので説明を書きます。

django adminはactionが追加できる

django adminの動きを見てる中で、actionの動きを学んだのでメモ。 django adminでは複数のレコードを選んで、アクションを実行できる。 これ。 デフォルトでは、 Delete select my models みたいなやつが設定されている。 選択したレコードを削除するアクシ…

mock.patch.objectとmock.patchの違いのメモ

Pythonのmockを使っているときに、mock.patch とか、 mock.patch.object とか出てきて、この違いをうまく説明できない。 今回は、もう少しこの理解を深めたいと思う。

デコレータを再勉強した時のメモ

デコレータを勉強していて、なるほどがあったのでメモ。

unittest.mockの深い階層で迷う話

unittestのmockオブジェクトを使うときにいつも迷うのでメモ。 特に、深い階層にある何かをモックしようとすると、僕は今何をしてるんだろう、、、みたいな状況になったりする。 return_valueとかside_effectとかが混乱に原因になっているように思う。

Pythonのコンテキストマネージャってなんなの?と思って調べた話

Pythonのコンテキストマネージャって何?って言われると、「withを使ってるあれ」みたいな答え方はできるんですが、以下のような質問は答えられませんでした。というわけで、調べたことでも書きます。

djangoのadminコマンドをコードから呼ぶ。

djangoのadminコマンドを作った後に、テストを書きたいと思った。 どうやって、adminコマンドを呼ぶのか。 call_commandというのがあるのは知っているけど、再度調べたのでメモしておく。

djangoは管理コマンドを追加できるという話

今の会社で働き始める前、djangoで管理コマンドを作れることをぼくは知らなかった。 今は、普通にdjangoで作られたアプリケーションを触るし、普通に管理コマンドが作れることは知ってるし、普通に作る。 だけど、入社する前にdjangoのチュートリアルをやっ…

django adminの一覧でカラムを増やしたい

django adminの一覧でカラムを増やしたい、と思う時はよくある なんか、毎回同じようなことを検索して、djangoのドキュメントを探して自分で実行して確かめてる。というわけで、メモする。 例えば、こういうモデルがある。 class MyModel(models.Model): tit…

テキストファイルとPythonで音楽制作がしたい

テキストファイルとPythonで音楽制作ができないかなあ、と思った。 というわけで、色々ツールを作ってる。 今回は、テキストファイルをmidiに変換するやつ作った。 この中にある。 github.com 用意するテキストファイルは、こんな感じ。csv形式。 NoteName,V…

aware/nativeなdatetimeと翻訳のニュアンスの話

djangoで時刻を扱おうとしました。すると、timezoneのあたりで困りました。 そして、timezoneについて調べてたら、 awareなdatetime と nativeなdatetime という話がでてきました。これが何を言っているかわかりませんでした。だから調べました。 というわけ…

DjangoのDBトランザクションの話

移動中ですが、先日、Djangoのトランザクションについて調べたので簡単に紹介します。 まあ、ドキュメントを読めば解決する話です。 Database transactions | Django documentation | Django とは言え、簡単に概要を書くと以下のような感じです。 Djangoでは…

DjangoのViewってなんなんですか?

タイトルのような質問をされたらどうしますか? 僕は、なんて答えたら良いんだろう、と思いました。 そもそもの話をすると、DjangoのViewのテストについて考えていた時、『これはViewでやることか、Modelでやることがどっちだろう?』とか『apiとして外だし…

djangoのミドルウェアってなんなんだと思った

djangoのミドルウェアってなんなんだ。って思った。 とりあえず書いてみた。 こんな感じ。 class MyLoggingMiddleware(object): def __init__(self, get_responce): self.get_responce = get_responce print("MyLogging Middleware init") def __call__(self…

Pythonで一時的に使うディレクトリを作るときはtempfileが便利

Pythonで一時的に使うディレクトリを作るとき、 tempfile を使うと便利だなーと思ったのでメモ。 >>> import tempfile >>> temp_dir = tempfile.mkdtemp() >>> print(temp_dir) /var/folders/3p/vnx8dmc96293_5trfs0lmcsw0000gq/T/tmpn2lqo9r0 使った後は、 …

djangoでjsonのレスポンスを返す方法

djangoでjsonのレスポンスを返す方法を探した。 同じことを今後もググるように思うので、ここに書いておきます。 なお、djangoのバージョンは、1.11.6です。古いと、ちょっと違ったような。 views.py に以下のように書く。 from django.http.response import…

factory_boyについての現状の理解を吐き出す

ここ2日くらい、しばらくぶりにユニットテストを書いている。と言っても、そもそもユニットテストを書いた経験は少ないので、ユニットテストってどう書くんだっけ。と言うところからの再開だった。 開発は、いつものようにPythonとdjangoで、ユニットテスト…

最近発売されたJupyter本を読んだ話

書いました。 PythonユーザのためのJupyter[実践]入門作者: 池内孝啓,片柳薫子,岩尾エマはるか,@driller出版社/メーカー: 技術評論社発売日: 2017/09/09メディア: 大型本この商品を含むブログを見る 実は、PyConJPで書いました。中をチラッと見たら、データ…

PyConJP 2017に行って来ました。(全体まとめ)

PyConJP 2017に行って来ました。 たくさんツイートしたのでだいぶ貼り付けた。適当な事ばっかり言ってるのが目につくな。。。 初日 基調講演の話 変数アノテーションの話 Apache SparkとかPySparkの話 Djangoフレームワークのユーザーモデルとか認証の話 len…

PyConJP 2017 初日の基調講演

PyConJP 2017にいって来ました。 ざっくり 基調講演の話 ざっくり PyConJP 2017の初日、楽しかったです。 たくさん知らないことが知れたのと、面白そうな話をたくさん知れたので勉強したいなあ、という気持ちになりました。 ここからは僕のツイートを貼り付…

githubに趣味で作ったもののソースをあげた話

唐突な話ですが、以前からOSSを作ってみたいと思っていたので、作ってみました。 と、いっても大したものを作った話ではなくて、 ちょうど趣味でプログラムを書いている時に作ったソースをgithubにあげてみただけです。 github.com 経緯 過去のブログ記事を…