猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

『どうぶつの森音声ジェネレーター』を復活させました

『どうぶつの森音声ジェネレーター』が死んでいた どうぶつの森音声ジェネレーターとは? なぜ死んでいたのか どうやって復活させたのか 技術スタック 移行メモ Pipenv 環境構築 Django プロジェクト作成 HTML の作成 Heroku へのデプロイ 復活! 『どうぶつ…

Django REST framework シリアライザの種類

ModelSerializer どのフィールドを含めるか ネストされたフィールドのシリアライズ フィールドの形式を指定する Readonly なフィールド HyperlinledModelSerializer ListSerializer BaseSerializer ModelSerializer JSON, XML など ↔︎ Django の model の変…

'OrderingFilter' object has no attribute 'filter_queryset' エラーの対処法

view で import している OrderingFilter のクラスが間違っている ダメな例 from django_filters.rest_framework import OrderingFilter from django_filters.filters import OrderingFilter 正解はこっち from rest_framework.filters import OrderingFilte…

Django REST framework Serializers

www.django-rest-framework.org Serializers Declaring Serializers(シリアライザを定義する) Serializing object(シリアライズする) Deserializing objects(デシリアライズする) Serializers Serializers は、Django の QuerySet や、モデルのインス…

Python で Hello World して学ぶ Docker の使い方

はじめに 前提知識 Docker 上で Python のコマンドを実行してみる Python の Docker イメージを探す Docker イメージのダウンロードと起動 Python を書いて Docker 上で動かす Python のプログラムを書く Dockerfile を書く Docker イメージのビルド Docker …

これまで僕が仕事で使ったWebフレームワークと言語の特徴

これまで僕が業務で触ったことあるフレームワーク(と言語)は Laravel (PHP) Slim Framework (PHP) Django (Python) Gin (Go言語) で、どれも1年以上は保守しています。 長年業務で使ってきたこれらのフレームワークについて、実際使ってみてどうだったのか…

AWS ALB のヘルスチェックと Django の ALLOWED_HOSTS

はじめに ALLOWED_HOSTS との兼ね合い 対策 ALLOWED_HOSTS の意味 結局どうすればいいのか 事例を調査する 結論 はじめに 一般的に、 AWS で Web アプリケーションを動かすときは、 Application Load Balancer *1 と EC2 を利用します。 Application Load Ba…

pyenv を使っている環境で bad interpreter: /usr/local/opt/python@2/bin/python2.7: no such file or directory

問題 解決方法 問題 先日、久々に eb コマンド(Python で書かれている、 AWS ElasticBeanstalk の CLI ツール)を使おうとして、以下のエラーになった。 $ eb list zsh: /usr/local/bin/eb: bad interpreter: /usr/local/opt/python@2/bin/python2.7: no su…

Django 2.2 → 3.1 バージョンアップで MySQL may not allow unique CharFields to have a max_length > 255

Django を2.2 → 3.1 にバージョンアップしたら、以下の Warning が出るようになった。 test_app.Thumbnail.url: (mysql.W003) MySQL may not allow unique CharFields to have a max_length > 255. HINT: See: https://docs.djangoproject.com/en/3.1/ref/da…

Djang 2.2 -> 3.1 バージョンアップで module 'MySQLdb.constants.FIELD_TYPE' has no attribute 'JSON'

エラー内容と解決方法 Django 2.2 から Django 3.1 にアップグレードしたら以下のエラーが出るようになった。 (前略) File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/introspection.py", line 27, in DatabaseIntrospection FIEL…

VGG16 と VGG19 の summary() を見てみる

VGG16, VGG19 summary() VGG16 の summary() VGG19 の summary() まとめ VGG16, VGG19 画像認識の学習済みモデル、VGG16 と、 VGG19 というのがあります。 16, 19 というのは層の数だそうです。勝手に、2016年、2019年みたいな意味かと勝手に思ってました。 …

Tensorflow で Model.fit_generator is deprecated Please use Model.fit, which supports generators.

Tensorflow で Model.fit_generator を使ったら下記Warningが出た WARNING:tensorflow:From <ipython-input-12-4f61d48d2ed6>:1: Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version. Instructions for updating: </ipython-input-12-4f61d48d2ed6>…

Django REST framework で UnorderedObjectListWarning

Django REST framework でこのようなエラーが出ることがありました。 UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered このエラーは、「オブジェクトの順序が定まっていない」というエラーです。 Django REST fra…

Django の runserver より gunicorn のほうが早くなるのか ApacheBench で検証

Django の runserver は遅い 皆さん開発時に Django の runserver というコマンドを使っていると思いますが、この runserver は本番環境では使えません。 DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or perf…

Python feedparser で DeprecationWarning To avoid breaking existing software while fixing issue 310, ..

今回起きた事象 DeprecationWarning とは 今回起きた事象 feedparser 5 を使っているとこのような DeprecationWarning が出ていた(後に書くが、6でもこの Warning が出る)。 /usr/local/lib/python3.6/site-packages/feedparser.py:334: DeprecationWarnin…

bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory

先日、 AWS CLI や AWS EB CLI を利用しようとしたらエラーになった。 $ eb list zsh: /Users/yoshiyuki_sakamoto/Library/Python/3.7/bin/eb: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory /Users/yoshiyuki_sakamoto…

MacBook Pro 2018 と Windows 10 + GTX 750 Ti でディープラーニングの時間比較

概要 Mac Windows + GTX 750 Ti 結論 概要 松尾研究室から公開されている Deep Learning のテキストのうち、4章2節のプログラムでグラボありなしの性能比較をしてみます。 https://github.com/matsuolab-edu/dl4us/blob/master/lesson4/lesson4_sec2_exercis…

Kerasを使って名義尺度をone-hot表現に変換する

はじめに: Deep Leraning for us one-hot 表現とは Keras を使った one-hot 表現への変換 はじめに: Deep Leraning for us これは東大松尾研究室が公開している Deep Learning for us を参考にしています。 github.com one-hot 表現とは Deep Learning for u…

django-nose を使って django のテスト結果を XML で出力する

django-nose とは django-nose のインストール django-nose を Django に読み込ませて、XMLを出力させる INSTALLED_APPS TEST_RUNNER NOSE_ARGS 以上 django-nose とは Python で Web 開発をする時に Django フレームワークを使うことが多い CI 環境として C…

Djangoの「プロジェクト」と「アプリケーション」、INSTALLED_APPS【PythonでWebアプリ】

プロジェクトとアプリケーション アプリケーションの作成 INSTALLED_APPへの追加(重要) 今回の差分 参考 プロジェクトとアプリケーション Django には「プロジェクト」と「アプリケーション」の概念があり、 一つのプロジェクトの中に複数のアプリケーショ…

Python と Django で Web アプリを作って Docker で動かす: その1

はじめに なぜPythonを使うのか 環境 Django を入れる Django アプリケーションの作成 DockerでPythonの開発環境を作成する requirements.txt の用意 Dockerfile の作成 Docker のビルド docker-compose ディレクトリが同期されるように 続きは次回 はじめに…

Django REST framework のフィルタ(公式ドキュメントの日本語訳)

はじめに フィルタリング ログインユーザーを使ったフィルタリング URLによるフィルタリング Query parameter を使ったフィルタリング ジェネリックを使ったフィルタリング フィルタを設定する フィルタの注意点 get_queryset を上書き + FilterBackend REST…

Python初心者のプログラミングに対する不安について考えてみた

質問の要点を整理 僕の想像 回答 「不安」について どうやって就職するか 学生の場合 社会人の場合 『Pythonの絵本』の次にやるプラスアルファ さいごに 以前以下のような質問を質問箱でいただきました。 peing.net 質問の要点を整理 この質問の要点を整理す…

2 - Requests and responses - Django REST framework ドキュメントの簡単日本語訳

原文 Tutorial 2: Requests and Responses Request objects Response objects Status codes Wrapping API views Pulling it all together Adding optional format suffixed to our URLs How's it looking Browsability What's next? 原文 2 - Requests and r…

Quickstart - Django REST framework の簡単な日本語訳

原文 Quickstart Project Setup Serializers Views URLs Pagination Settings Testing our API 原文 Quickstart - Django REST framework Quickstart ここでは、簡単なAPIを作成します。adminユーザーにだけユーザーとグループの閲覧と編集が可能なAPIを作成…

Home - Django REST framework の簡単な日本語訳

原文 Django REST framework Requirements Installation Example Quickstart Development Support Security 原文 Django REST Framework https://www.django-rest-framework.org/ Django REST framework Django REST framework は強力な Web API 開発のツー…

Pythonの型ヒントの書き方【チートシート・カンペ】

Python3から追加された型ヒントについて、よく使う書き方をまとめます。必要があれば随時追記していきます。 Typing, Type annotation, Type hinting, Type hint, 型アノテーション, 型ヒント, タイプアノテーション, タイプヒント etc... どれが正式名称な…

DjangoのクラスベースビューでSCRFトークンを無効化する

デバッグ時などにDjangoのクラスベースビューでCSRFトークンを一時的に無効化したいときの方法です。 例えばこういうAPIがあったとします。 from django.http import JsonResponse from django.http import HttpRequest from django.views import View class…

pythonのコーディング規約 pep8 を読んみる

もくじ もくじ はじめに 参考 インデント 空行 まとめ はじめに 最近pythonを書く機会がちょっとあり、pythonのコーディング規約ガイド pep8 を読んだほうがいいなーと思ったのでよみはじめています。 今回はインデントと空行のところを読んだので簡単に気に…

Dockerではなくてheroku.ymlを使ってPython2とOpenCVの環境をHeroku上に整える

はじめに HerokuでOpenCVを扱いたい場合、従来はDockerfileを用意してデプロイする必要がありましたが、heroku.ymlの登場によりよりお手軽にデプロイできるようになりましたので紹介します。 環境 Python 2.7.14 Flask 0.10.1 gunicorn 19.7.9 opencv-python…