Python

DjangoのModelのFieldのオプション null と blank の違いについて

DjangoにてDBのNOT NULL 制約を外したい場合、nullとblankのどちらを使えばよいのか忘れることがあるため、メモしておきます。 目次 環境 違い 確認 Model マイグレーションファイルの作成 sqlmigrateで、発行されるSQLを確認 マイグレーションファイルを適…

Django2.0のプロジェクトのurls.pyにおける、include()での引数namespaceについて調べてみた

Django 2.0にて、プロジェクトの urls.py を from django.urls import path, include urlpatterns = [ path('old/', include('myapp.urls', namespace='old')), ... ] アプリの urls.py を from django.urls import path from django.views.generic import T…

Pythonで、super()で呼ばれる親メソッドの中で呼ばれるメソッドを、子でオーバーライドしてみた

良いタイトルが思い浮かばなかったのですが... 以下のソースコードを実行した時に、何がprintされるかを試した時のメモです。 class Parent: def reply(self): self.say() def say(self): print('parent!') class Child1(Parent): def reply(self): super().…

Djangoで、アプリ用ディレクトリを作成し、INSTALLED_APPSにAppConfigのサブクラスを設定してみた

Djangoでアプリの数が増えると見づらいかなと思い、アプリ用ディレクトリを作成してみました。 その時に INSTALLED_APPS に AppConfig を指定する場合で少し悩んだため、メモを残します。 なお、こんな感じでプロジェクトとアプリを作成しました。 # Django…

Raspberry Pi 2 Model B + docker-compose上に、Django + PostgreSQLなアプリをデプロイしてみた

Raspberry Pi 2 Model Bを使ってDjangoアプリを作ろうかなと思いました。 環境構築をどうするかと考えたところ、RaspbianでDockerを動かせると知りました。 Docker comes to Raspberry Pi - Raspberry Pi Dockerが動くならdocker-composeもいけるのではと思…

Python 3 エンジニア認定基礎試験に合格しました

5/18にPython 3 エンジニア認定基礎試験を受けてきました。 基礎試験 | 一般社団法人Pythonエンジニア育成推進協会 無事に合格したため、メモを残します。 受験した経緯 社内Slackにて試験話が盛り上がっていました。 自分もビッグウェーブに乗ろうとPython …

DjangoCongress JP 2018 に参加 & 発表しました #djangocongress

5/19に開催された、DjangoCongress JP 2018に参加 & 発表しました。 DjangoCongress JP 2018 場所は、サイボウズ株式会社の東京オフィスでした。 東京オフィス アクセスマップ | サイボウズ株式会社 ここが日本橋か pic.twitter.com/FiTUXSpXn1— thinkAmi (@…

Python3 + google-api-python-clientで、Google Drive APIを使ってpdfファイルをアップロードし、OCR処理をする

手元の画像pdfファイルをOCR処理したいことがありました。 手軽にOCR処理する方法がないかを調べたところ、Google DriveにOCR機能があることを知りました。 GoogleDriveのOCR機能を使って、大量の画像ファイルをテキストに変換する そこで、Google DriveのOC…

Django + django-localflavorで、フォームの郵便番号入力や都道府県選択を作成してみた

Djangoのフォームで 郵便番号入力 都道府県選択 を簡単に作る方法を調べたところ、 django-localflavor がありました。 django/django-localflavor: Country-specific Django helpers, formerly of contrib fame The “local flavor” app — django-localflavo…

Python2 + nfcpyで、「長野市バス共通ICカード KURURU(くるる)」の履歴を読んでみた

以前、Android + RubotoにてFeliCaのKURURUの履歴を読んでみました。 Rubotoを使い、Androidで「長野市バス共通ICカード KURURU(くるる)」の履歴を読んでみた - メモ的な思考的な そこで今回は Python2 + nfcpy でKURURUを読んでみます。 とはいえ、nfcpyでF…

Python2 + nfcpyで、W525DZのFeliCa Plugを読んでみた

毎年冬になるとつらいのが冷え性です。 今までは身体が冷えてるような気がするから冷え性だろうと思っていました。しかし、「推測するな計測せよ」という言葉を思い出しました。 そこで記録が手軽に残せる体温計を探してみました。すると、NFCでデータを転送…

Python2 + Scapyでマジックパケットを作成し、Wake on LANをしてみた

今まで、遠隔からPCの電源を入れる場合、Wake on LAN 用のツールを使っていました。 Wake-on-LAN - Wikipedia そこで今回、ScapyでWake on LANのマジックパケットを作ってみて、ツールの代替となるかを試してみました。 目次 目次 環境 ネットワーク構成 ネ…

Mac + Python2 + Scapyで、使用中のIPアドレスを探してみた

以前、Windowsにて現在のIPアドレス利用状況を知りたい時は、以下の記事のようにしていました。 Windowsで、使用中のIPアドレスを調査する:Tech TIPS - @IT Scapyを使えばARPパケットだけで同じことができるのではと思い、試してみました。 目次 環境 実装…

IntelliJのremote interpreter方式を使って、Raspbian上のScapyをリモートデバッグしてみた

Raspberry Pi 2 Model BでScapyを書いていると、リモートデバッグしたくなりました。 そこで、IntelliJのremote interpreter方式を使って、Raspbian上のScapyをリモートデバッグしてみた時のメモを残します。 目次 環境 公開鍵を使ったSSHを可能にするよう設…

最新のScapy(2.3.3.dev957)では、Macにpcapやdnetモジュールのインストールが不要っぽい

前回の記事の中で、MacへのScapyのインストールについて触れました。 Mac + Python2 + Scapyで、DHCPサーバを探してみた - メモ的な思考的な 公開後、Twitterにて Scapy works natively on macOS since 2.3.3. There is no need to install pcap and dnet mo…

Mac + Python2 + Scapyで、DHCPサーバを探してみた

Scapyを使ってDHCPサーバを探してみようと、実装方法を調べてみました。 すると、Scapyの公式ドキュメントにあったり、既に実装している方々がいました。 Identifying rogue DHCP servers on your LAN | Usage — Scapy 2.3.3-dev documentation Python(Scap…

Python2 + Scapyで、Raspberry Pi 2 Model B をNAT/NAPTルータ化してみた #router_jisaku

前回・前々回で、Python2 + Scapyで、Raspberry Pi 2 Model B をブリッジ化してみました。 Python2 + Scapyで、Raspberry Pi 2 Model B をブリッジにできるか試してみた #router_jisaku - メモ的な思考的な Scapy + Python2 + I/O多重化・ブロッキングI/O系…

Scapy + Python2 + I/O多重化・ブロッキングI/O系モジュールにて、Raspberry Pi 2 Model Bをブリッジ化する

前回、Scapyの bridge_and_sniff() 関数を使って、Raspberry Pi 2 Model B をブリッジ化してみました。 Python2 + Scapyで、Raspberry Pi 2 Model B をブリッジにできるか試してみた #router_jisaku - メモ的な思考的な ただ、 bridge_and_sniff() 関数を使…

Python2 + Scapyで、Raspberry Pi 2 Model B をブリッジにできるか試してみた #router_jisaku

以前、Windows10 + Scapyを簡単にさわってみました。 Windows10にScapyをインストールする - メモ的な思考的な もう少し詳しくScapyをさわってみたいと思い、何か作ろうと考えました。 作る題材を探していたところ、書籍「ルーター自作でわかるパケットの流…

Mac + IntelliJ IDEA + Python pluginにおける、pycharm-debug.egg のありかについて

IntelliJ IDEA + Python pluginでリモートデバッグをする際、 pycharm-debug.egg pycharm-debug-py3k.egg が必要です。 ただ、どこにあるか分からなかったため、調べた時のメモを残します。 環境 Mac OS X 10.11.6 IntelliJ IDEA 2017.3.1 Python plugin 201…

Python + tweepyにて、Video URLを取得する

TwitterのVideo URLの取得方法を調べる機会がありましたので、メモとして残します。 なお、Twitter用ライブラリは、 tweepy を使います。 目次 環境 tweepyでTwitter APIを操作する ツイートとVideo URLが140文字に収まる場合 ツイートとVideo URLが140文字…

Pythonで、Seleniumのfind_element系メソッドとPageObjectsを試してみた

PythonのSeleniumには find_element_by_xxx() find_elements_by_xxx() find_element() find_elements() などのメソッドが用意されています。 今回は、それらを試してみた時のメモを残します。 なお、途中からSeleniumのPage Objectsパターンが出てきます。 …

Python + pytestにて、pytestに独自のコマンドラインオプションを追加する

Python + pytestにて、コマンドラインオプションを追加して、コマンドラインから値を受け取った時のメモを残します。 目次 環境 pytestのコマンドラインオプションの追加方法 conftest.pyの実装 テストコードの実装 テストの実行 応用:コマンドラインオプシ…

#pyconjp PyCon JP 2017に参加しました

9/8と9/9に、早稲田大学の西早稲田キャンパス63号館で開催された「PyCon JP 2017」に参加しました。 PyCon JP 2017 in Tokyo | Sep 7th – Sep 10th 前回PyCon JPに参加したのは2012年だったようで、5年ぶりの参加でした。 PyCon JP 2012に参加してきました…

「Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版」をBoto3とAnsibleで写経してみた

社内ではAWSが普通に使われているため、常々基礎からきちんと学びたいと考えていました。 そんな中、書籍「Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版」の社内勉強会が開催されることになりました。 Amazon Web Services 基礎からのネ…

Heroku CLI を使わずに、BottleアプリをHerokuへデプロイする

通常、Heroku CLI (以前のHeroku Toolbelt)を使ってHerokuにデプロイしています。 Heroku CLI | Heroku Dev Center ただ、Heroku CLIを使わずにデプロイする方法があるのか気になったため、その方法を調べた時のメモです。 目次 環境 Bottleアプリまわりの作…

Docker + Alpine3.5 + Apache2.4 + Python3.xで、mod_pythonをソースコードからインストールしてみた

以前、Docker + Alpine3.5 + Apache2.4 + Python2.7で、mod_pythonをソースコードからインストールしてみました。 Docker + Alpine3.5 + Apache2.4 + Python2.7で、mod_pythonをソースコードからインストールしてみた - メモ的な思考的な その時はPython2.x…

初めてのOSSへのプルリクとマージ

会社のまわりの人たちが普通にプルリクを送ってるのを見ていいなーと思いつつ、プルリク未体験で過ごしてきました。 そんな中、ようやく初めてのプルリクとマージを体験できたので、メモしておきます。 目次 作成したプルリク 見つけた経緯 プルリクの作成 G…

Docker + Alpine3.5 + Apache2.4 + Python2.7で、mod_pythonをソースコードからインストールしてみた

今までPython3.x & Apache2.4.xを使って、CGIをひと通り試してきました。 次は、CGIを別のものに置き換えてWebアプリケーションを作りたくなりました。 PythonのWebアプリケーションというとWSGIが思い浮かびます。ただ、CGI以降WSGI以前に登場したものを使…

Pythonで、日本語をCookie値へ設定する方法を調べてみた

以前、PythonでCGIのCookieを使ってみました。 Docker + Alpine3.5 + Apache2.4 + Python3.6で、CGIのCookieを使ってみた - メモ的な思考的な その時は日本語をCookie値へ設定する方法が気になっていたものの、深入りしませんでした。 そこで今回、以下を参…