jQuery1.6.0より、属性がない時のattr()の戻り値が、空文字からundefinedへと変更されていた

jQueryのバージョンを上げる時に出くわしたのでメモを残します。 目次 環境 現象 原因 実験 ソースコード 環境 対象のjQuery 1.5.2 1.6.0 現象 jQueryの attr() を使って属性の値を取得しているコードのうち、 <p>Hello World</p> <script> // class属性がないのに attr() </script>…

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…

Mac + Polipoで、SSHの動的フォワード(SOCKS) に HTTP Proxy をつなげてみた

よく分からないタイトルですが... 同一LAN内で、以下の論理構成とした時に、AndroidでアクセスしたときもRaspberry Piからのアクセスに見えるかどうかを試した時のメモです。 Android | (HTTP Proxy、ポート 23000) | Mac + polipo | (ssh -N -D 0.0.0.0:160…

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

前回書いた通り、DjangoCongress JP 2018にて発表しました。 DjangoCongress JP 2018 ただ、カンファレンスでの発表は未経験だったので、ゼロから準備をしました。 今書かないと忘れてしまいそうなので、発表するまでの準備を振り返ってみます。 なお、CfPを…

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

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

「現場で使える 基礎Django」を読みました #技術書典

最近Djangoを使う人も増えてきているようで、自分がさわり始めた頃に比べれば、分からないことことでも探せば出てくるようになりました。 とはいえ、Djangoの全体像をさらっとながめられるようなものがあまりなく、自分のDjango自体の理解が正しいのか悩んで…

技術書典4に行ってきました #技術書典

4/22に秋葉原UDX アキバ・スクエアで開かれた、技術書典4に行ってきました。 techbookfest.org イベント自体は知っていたのでいつかは行きたいなーと思っていました。そんな中、日本語で書かれたDjango本「現場で使える基礎Django」が頒布されると聞いたので…

「OSSライセンス」勉強会に参加しました #nseg #glnagano

4/21に、ギークラボ長野にて開催された「OSSライセンス」勉強会に参加しました。 「OSSライセンス」勉強会 - connpass テクニカルライター/ITライターの可知豊さんの講演の他、フリーテーマのLTがありました。 昔、ライセンスまわりを調べていた時、可知さん…

Recap of TensorFlow Dev Summit 2018 in 信州 に参加しました & LTしました #tfug #GDG信州

4/13(金)に塩尻インキュベーションプラザ(SIP)で開催された、Recap of TensorFlow Dev Summit 2018 in 信州 に参加しました。 Recap of TensorFlow Dev Summit 2018 in 信州 - connpass 資料はconnpassの他、当日の様子がTogetterにまとめられています。 Rec…

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

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

#stapy #glnagano みんなのPython勉強会 in 長野#2に参加しました

3/21にギークラボ長野で開かれた「みんなのPython勉強会 in 長野 #2」に参加しました。 みんなのPython勉強会 in 長野 #2 - connpass 今回は Web データ解析 ハードウェア/IoT ビギナー の分野の開発スプリントでした。 また、#1同様、みんなのPython勉強会…

デブサミ2018の二日目に参加しました #devsumi

2/16にデブサミ2018の2日目に参加しました。 Developers Summit 2018 セッション資料は以下で公開されています。 デブサミ2018、講演関連資料まとめ:CodeZine(コードジン) ここでは自分の感想やメモを残しておきます。誤りがあったらすみません。 目次 【…

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

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

「SQLアンチパターン」読書会スペシャルに参加しました #nseg #glnagano #sqlap

1/27に、ギークラボ長野にて開催された「SQLアンチパターン」読書会スペシャルに参加しました。 「SQLアンチパターン」読書会スペシャル - connpass 監訳者の和田卓人さんによる講演「SQLアンチパターンのお焚き上げ(2018年版)」の他、データベースに関す…

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をさわってみたいと思い、何か作ろうと考えました。 作る題材を探していたところ、書籍「ルーター自作でわかるパケットの流…

2017年の振り返りと2018年の目標

例年通り、2017年の振り返りと2018年の目標を書いてみます。 目標の振り返り 2016年の振り返りと2017年の目標 - メモ的な思考的な で立てた目標を振り返ってみます。 Pythonの基礎知識を身につける 一年間Pythonの仕事であったため、仕事で使う部分を中心に…