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の仕事であったため、仕事で使う部分を中心に…

Robot FrameworkのSetupやTeardownでは、キーワードが1つしか指定できない

Robot Frameworkで、xUnit系にあるようなSetupやTeardownを使うことで、テストの実行前や実行後に必ず実施したいキーワードを指定できます。 2.2.6 Test setup and teardown - Robot Framework User Guide テストのセットアップとティアダウン - テストケー…

Robot Frameworkでは、埋め込み引数とArgments設定のある引数を同時に使えない

Robot Frameworkでは、キーワードの仮引数を使う方法として 埋め込み引数 [Arguments] 設定のある引数 の2つがあります。 以前、このあたりで試しました。 ただ、両方を使おうとするとエラーとなるため、注意が必要です。 試しに、 *** Keywords *** 埋め込…

Robot Frameworkのキーワード、Run Keyword IfのELSEは大文字で書く

Robot Frameworkで、Run Keyword If でif以降の条件マッチとする場合、 ELSE IF ELSE を使います。 この ELSE IF と ELSE ですが、Builtinライブラリの説明には、 ELSE や ELSE IF は *args に指定し、厳密に ELSE, ELSE IF と書かねばなりません。 http://r…

RobotFrameworkで、ifのあるキーワードの書き方の違いについて

RobotFrameworkのBuiltinライブラリには、Ifを使っているキーワードとして Set Variable If Run Keyword If があります。 ただ、if/else の書き方が両者で異なるため、メモとして残しておきます。 目次 環境 Set Variable If Run Keyword If ソースコード 環…

FakerLibraryを使って、Robot Framework向けのダミーデータを作成する

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の22日目の記事です。 テストデータを作成する時、何かしらのダミーデータが必要になることがあります。 例えば、Pythonでは Faker などのライブラリを使ってダミーデータを作成します。 joke2…

Robot Framework + SSHLibraryで、SSHのテストをする

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の21日目の記事です。 Robot Frameworkでは、 SSHLibrary を使ってSSHのテストができます。 GitHubリポジトリ robotframework/SSHLibrary: Robot Framework test library for SSH and SFTP キ…

Robot FrameworkのlintツールであるRobot Framework Lintを試してみた

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の20日目の記事です。 Robot Frameworkのlintツール(ソースコード静的解析ツール)を探したところ、 Robot Framework Lint がありました。 boakley/robotframework-lint: Linter for robot fram…

Robot Framework + Libdocにて、自作ライブラリのドキュメントを作成する

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の19日目の記事です。 Robot Framework Advent Calendar 2017の7日目でRobot Frameworkの自作ライブラリを作成しました。 Robot Frameworkのライブラリを自作する - メモ的な思考的な その時は…

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…

Robot FrameworkのキーワードEvaluateでPythonのコードを実行する

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の17日目の記事です。 Robot Frameworkの組込キーワード Evaluate を使うとPythonコードを実行できます。 http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Evaluate …

DebugLibraryを使って、Robot Framework のREPLやテスト実行中のREPLを試す

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の16日目の記事です。 プログラム言語で何かをちょっと試したいという時は、REPL (Read-eval-print loop) が便利です。 Robot FrameworkでもREPLがないかを探したところ、Robotframework-Debug…

pabot を使って、Robot Framework のテストを並行で実行する

この記事は 「Robot Framework Advent Calendar 2017 - Qiita」 の15日目の記事です。 Robot Frameworkのテストケースが増えるにつれ、すべてが終わるまでに時間がかかるようになります。 この問題を解決する方法の一つとして、テストを並行で流すということ…

Robot Framework + FtpLibraryで、FTPサーバと通信する

この記事は Robot Framework Advent Calendar 2017 - Qiita の14日目の記事です。 今回はRobot Frameworkを使ってFTPサーバと通信してみます。 目次 環境 FTPサーバの用意 pyftpdlibによる実装 pyftpdlibの起動 Robot FrameworkのFTPLibraryを使う インスト…