BeProudに入社して一年が経ちました

入社してちょうど一年と一週間経ちました。「そろそろ一年経つなぁ」と思って調べたら一週間過ぎてました。

はじめに

このブログを意気揚々と立ち上げてから一年以上経ちました。 ここ半年は放置していたんですが社会人2年目に突入したということで、「今日はメモリアルな記事が書きたい。」と久々にブログ欲が出ました。 一年間で起きた出来事、感じたこととかをサラッと書きます。

続きを読む

pytestのparametrizeと仲良くなりたくて

はじめに

何事もまずは標準装備の機能からちゃんと使えるようになろうと思って、PythonのUnittestをちょくちょく触っていたんですが、案件ではpytestを使っています。pytestの書き方にも慣れてきて、毎日読んだり書いたりしていますが、受け身一方で身の回りにあるコード例しか知らない。これはあんまり良くないと思って、ちゃんと自力でディグって使えそうなコマンドとか機能を発掘しようというと思い立ちました。あと、pytest.Parameterizeと仲良くなりたくて。Parameterizeが本題です。

続きを読む

Vue Apolloを使ってみた

akryum.github.io

Vue Apolloをプライベートのプロジェクトで使うことになってこの2日ちょくちょく触っていたので、軽く基本的な使い方をまとめ。適宜、ドキュメントを参照していたが、若干我流な所があるかもしれない。

続きを読む

Pythonの-mってなんだろう

今年のテーマは「おまじないを増やさない、おまじないを理解する」です。Python-mといえば、python -m venv venv とかで使うオプションですが、これってどういう意味なんだろう。

続きを読む

DjangoのORMで日付データを扱っていたら錯乱した話

(当たり前のようにDjangoの話ですが)仕事で日付データを扱った実装をしていた時のこと、混乱状態に陥ったので次に備えて自分の中で何が起きていたかを振り返ります。仕事の内容は書けないので、今回は架空のカレンダーサービスを例に話をすすめます。hogehoge calendar。

カレンダーのサービスに必要不可欠な要素といえば色々ありますが、その中の1つに「予定」がありますね。「どこ」で、「だれ」と、「いつ」会うかといった情報が設定できるべきです。その中の「いつ」は、「予定の開始日時」と「予定の終了日時」を設定できるようにすべきでしょう。したがってDjangoで以下のようなフィールドをhogehoge calendarの Event モデルに実装します。

start_period = models.DateTimeField("予定開始日時", null=True)
end_period = models.DateTimeField("予定終了日時", null=True)

これで予定開始日時と予定終了日時を設定できます。やったね!偉大な一歩!

続きを読む

Cerberus入門!ばりばりバリデーションしよう!

f:id:kai1233:20181218224628p:plain

この記事は BeProud Advent Calendar 2018 - Adventar の18日目の記事です。

Cerberus とは

ケルベロスとは本来、ギリシャ神話の地獄の神ハーデスのペットのわんわんであり、地獄の入り口にいる番犬のことだそうです。Cerberus はその名の通り、番犬のようにユーザからのリクエストにバリデーションをかけて不正なリクエストを弾いてくれるPythonのライブラリです。公式ページいわく、パワフルでありながらもシンプルで軽量なバリデーションライブラリだそうです。しかも簡単に拡張することができるそうです。いま仕事で使う機会があり、少しずつ使い方を覚えています。せっかくなので今回基本的な機能をやさしくまとめてみようと思います。

続きを読む