mizzsugar’s blog

日々感じていることや学んだことを書きます。エンジニアリング以外にも書くかもしれません。

2019-01-01から1年間の記事一覧

そのif文、Enumにしてみませんか。

これは、Python Advent Calendar 17日目の記事です。 Python Advent Calendar 2019 - Qiita この記事では、私が好きな標準モジュールのうちの一つenumモジュールの基本的な使い方と enumモジュールを使ってリファクタリングする例を紹介します。 enumモジュ…

DjangoORMでウィンドウ関数を使おう

この記事はDjango Advent Calendar 2019の記事です。 Django Advent Calendar 2019 - Qiita そして私の初のアドベントカレンダーです! 最近仕事でBigQueryで分析関数を使うことが多いので、 そのなかでもウィンドウ関数をDjangoのORMでも使えないかなと思い…

「データアーキテクト(データ整備人)を”前向きに”考える会」参加レポート

ブログ枠はブログが書くまでが勉強会ということで書きました! イベントページ analytics-and-intelligence.connpass.com 「データアーキテクト(データ整備人)の概観とこれからの展望と課題」 しんゆう さん (フリーランス) 発表資料 speakerdeck.com 概…

djangoでタイムゾーンとうまく付き合う

Djangogirls Tutorialで今まで何気なく書いていた、Postモデルのpublished_dateとcreated_dateで使うdjango.utils.timezone.now。これについて疑問に思ったことがあったので調べました。 対象 (レベル感)Djangoチュートリアルくらいの複雑さのものを自力で作…

Stapy50回記念で登壇しました

10/9(水)に行われた「みんなのPython勉強会」で登壇した振り返りをします。 startpython.connpass.com 「みんなのPython勉強会」とは、Python初学者からベテランまでいろんな層を対象にしてWebから科学までいろんな題材を扱う「みんな」のための勉強会です。…

ざっくりPyConJP2019のSprint Dayの感想とDjangogirlsTutorial翻訳の感想

PyConJP本体の前にSprintに参加しました。 Sprintは、Pythonの何かしらの開発をする短期集中型イベントです。Sprint Dayに開発したいテーマを提案する人と、それをお手伝いする人で構成されています。 https://pycon.jp/2019/sprint 機械学習・Web・Core Pyt…

ざっくりPyConJP2019の2日目感想

ざっくり2日目の感想を書き残します。 Pythonで始めてみよう関数型プログラミング Twitter twitter.com スライド Pythonで始めてみよう関数型プログラミング - Speaker Deck YouTube www.youtube.com 安全でわかりやすいコードを書くためのプログラミングの…

ざっくりPyConJP2019の1日目感想

今年もPyConJPに参加しました! 1日目に拝聴したセッションの感想をざっくり書き残そうと思います。 なお、今日の発表の様子はYouTubeにすべて上がっています。 t.co 個人的に、YouTube版はちゃんと聞き取れるしスライドの内容もちゃんと見えるので良かった…

【Python】Poetryでパッケージ管理 on Docker Container

DockerでPython開発する時、パッケージ管理はpip install -r requirement.txtで行なっていましたが、 requirement.txtのみではパッケージ同士の依存関係まで管理できないことが問題でした。 そこで、Poetryを使ってみることにしました。 github.com 使用技術…

【Django】独自ヘッダーをつけてリクエストを送る

地味に苦労したやつです。 利用技術 - python 3.7.3 - Django 2.2.1 ヘッダーに関して、Djangoの公式ドキュメントはなんて言っているでしょうか。 HttpRequest.META 利用できるすべての HTTP ヘッダーが格納されたディクショナリです。 -- Django公式ドキュ…

【Django】複数のファイルをまとめてテストするとTransactionErrorやIntegurityErrorになってしまう事件について

仕事でテスト周りについて色々あったので備忘録として 例えば、こういうViewとModelがあったとして・・・ (まあ、こんなこと普通しないとは思いつつ簡単な例を出したく) models.py from typing import Dict from django.db import models from django.db i…

【Django】複合ユニーク制約を実装する

Djangoで複合主キーっぽいことをやりたくて。 使用技術 * Django 2.2.1 * Python 3.7.3 Djangoでは単一主キーのみをサポートしているため複合主キーはできないのですが 複合ユニーク制約ならできるようです。 Django2.2にて、MetaオプションにUniqueConstrai…

【Python】GoogleAPIを利用したメソッドのテストでモックを使う

外部APIを利用したメソッドの単体テスト書きたいなあ・・・ 単体テストで何回も外部APIに接続するのはお行儀悪いって聞くけどどう書けば良いのだろう?と思い。 簡単な機能のテストを書きました。 ちょっと変更しましたが、Google Calendar APIのquick start…

【Django】フォームのカスタムバリデーションをテストする

Djangoのフォームで独自のバリデーションを実装した際のテスト方法を紹介します。 間違いがありましたら、ご指摘お願いします(>人<) 今回使ったバージョン * Python 3.7.1 * Django 2.1.7 今回実装するフォームはこちら forms.py import re from django impo…

DjangoCongress2019に参加しました

初DjangoConでした! とても刺激になったので拝聴したトークを自分なりにアウトプットしようと思います。 なお、DjangoCongressJPのHPは以下になります。(TimeTableも載っています) djangocongress.jp 私が拝聴したのは下記のトークです! Djangoで静的フ…

【Django】JsonResponseでのテストの仕方(GET/POST)

久々の投稿となってしまいました(^^; 今回使用したバージョン * Python 3.7.1 * Django 2.1.7 今回サンプルとしてテストしたいメソッドはこちらのView関数 views.py import json from django.views.decorators.http import require_POST, require_GET from d…

【非公式翻訳】ForeignKey in Django公式ドキュメント

Django公式ドキュメントのForeignKeyの日本語訳です。 docs.djangoproject.com 間違いがありましたら、コメント欄にてご指摘お願いします! ForeignKey class ForeignKey(to, on_delete, **options) [ソース] 多対一のリレーションです。2つの位置引数を必要…

【非公式翻訳】Google API Client Libraries > Python

公式の日本語版がなかったので、備忘録的に・・・ ※2017/02/17が最終更新の記事となります。 ※表現するのが難しかったので図中の語句の訳は書きませんでした。 ※わかりづらい箇所や間違えている箇所がありましたら、コメント欄にてご指摘お願いします。 deve…

2019/01/26オブジェクト指向分析会に参加しました

なんとなくオブジェクト指向をサポートしているプログラミング言語を書いてるけどちゃんと概念を学んだことがないなと思い、参加してみました! 今回の趣旨 オブジェクト指向に則ってモデリングしてみて、オブジェクト指向に則って実装してみよう! やったこ…

20181103 ミニTDDBC振り返りその3

だいぶ放置してしまいましたが・・・(^^; mizzsugar.hatenablog.com の続きです。 ※今回、DDDの「Value Object」が出てきますが、 DDD学び始めたばかりで理解が曖昧なので 違ったらご指摘いただけると幸いです(>_<) 今回学んだことは 1. きれいなコミットメ…

【Django】すべてをviews.pyのみに書いていたのをdomain.pyを作ってリファクタリングした

DB関連の処理も、計算関連の処理のための関数も、全てviewsに書いていましたが、 viewsに全てを書くのをやめました! という話です。 動くからいいやん!と思っていましたが、viewsにはviewsの役割があり、上記の処理はviewsでやることではないとか。 半年ほ…