utamaro’s blog

誰かの役に立つ情報を発信するブログ

技術

DjangoでPageNotFound時にjsonを返す方法

Djangoでapiを作っている際に、自分で定義していないpathをリクエストしたところ404ページが表示されました。 apiを使うため、これをjsonで返すように変更したいと考えて、実現する方法を調べてみました。 参考にしたページ一覧 Error handling https://docs…

alembicで環境別にマイグレーションファイルを分割する

alembicというマイグレーション管理ライブラリを利用したマイグレーションファイルの分割方法について。 実現したいのは、開発環境のrevisionと本番環境用のrevisionを分けたいということです。 分けることで、リリースタイミングですべてのテストが完了した…

Flaskで共通的なpath変数を検証する方法

/api/<lang_code>/sampleのようなurlが用意されている場合、lang_codeはすべてのurlで利用する場合を想定します。 このとき、controller側でパタメータを取得し、検証する方法もあります。 ただし、すべてのcontrollerで同じ処理を書いてしまうのは避けるべきことです。</lang_code>…

material-iconsをchrome拡張のcontent-scriptで使用する方法

環境を整える 開発環境を整えます。 今回使うライブラリは以下のものを使います。 "dependencies": { "css-loader": "^2.1.1", "file-loader": "^3.0.1", "jquery": "^3.4.1", "material-icons": "^0.3.1", "webpack": "^4.32.2", "sass-loader": "^7.1.0", …

リファクタリングを行うタイミングについて

最近リファクタリングについて考える機会がありました。 今回はリファクタリングを実施するタイミングについて、これまで経験したことを記事にしたいと思います。 記事の流れとしては以下のように書きたいと思います。 リファクタリングを行う理由 リファク…

属性付きセレクタを作成する関数を作った。

属性付きセレクタを作成する関数を作った。 jqueryである属性がついたタグを取得したいと思ったときに、セレクタをハードコーディングすることがあります。 例えば以下のようなものです。 $("div[id='hoge']") hogeという値が動的に指定できる場合はもう少し…

mysqlclientを使ったらdyldエラーが起きた

from MySQLdb import _mysqlが書かれたpythonファイルを実行したら以下のエラーが発生しました。 Traceback (most recent call last): File "main.py", line 1, in <module> import MySQLdb as _mysql File "/lib/python3.8/site-packages/MySQLdb/__init__.py", lin</module>…

jwtを検証するアノテーションを作って認証済みか判定する

jwtを検証するアノテーションを作って認証済みか判定する jwtをcookieに追加してAPIの実行を管理したいと思いました。 そのときにやった内容です。 ざっと説明すると、ログインしていたらjwtがcookieに入っていて、そのcookieを検証することで認証を管理して…

JavaのOptionalを戻り値に使用することについて消極的な理由

僕は戻り値にOptionalを使用することに消極的です。 戻り値に使用する理由に対して以下の理由をよく聞きます。 メソッドを利用した際にnull値を返す可能性を明示する。 nullを考慮したコーディングを強制させる。 これらをやる理由が無いと考えているからで…

試行錯誤しながら転職に成功したときのはなし

はじめに 転職活動をする際に自分の入りたい企業を探して、アタックをすると思います。 アタックするのは1回しかチャンスがなく、落ちた直後に再アタックしても落ちる可能性が高いです。 そんなときに、1回のチャンスをどのように成功させるのか。 僕の実体…

githubの寄付提供プログラムが始まった件について

はじめに githubはご存知でしょうか。 アカウントは持っているのですが、私は使っていません。以前からprivateリポジトリの作成が無料なbitbacketを使ってます。 ブログの内容とか、一時的にpushしたいときに利用しています。 というのはどうでもよくて、以…

ファーウェイが独自のOSを提供する?

はじめに アメリカが華為技術(ファーウェイ)を本気で潰しにかかっていることはご存知だと思います。 世界市場的にはスマホで第2位を誇っており、中国市場でも大きなシェアを得ています。 規制によって何が起こるのかというと、アメリカにファーウェイ製品…