accagg開発日記: 銀行追加と投資信託

ブログの更新は久しぶりですが、githubのリポジトリへのコミットはたまにしていまして、現在以下の銀行に対応するようになりました。

  • 三井住友銀行
  • イオン銀行
  • SBIネット銀行
  • 新生銀行

ちょっとずつ増えています。csvなので excel で見れるのですが、そろそろ専用ビューワーが欲しくなってきました。こっちも開発始めようかな・・。

…続きを読む

accagg開発日記: パスワード管理とFactoryの導入

ちょっと間が空いてしまいましたが、ほそぼそと開発中です。

今まではパスワードをコードに直書きだったのですが、外部ファイルから読み出すようにしました。そのために PasswordManager というクラスを追加しました。PasswordManager.get(“アカウント名”) でパスワードなどの情報を Dictionary で返します。

また、Aggregatorクラスを生成するFactoryパターンを見様見まねで導入してみました。Factory.aggregator(“BANKID”) で、IDに応じた Aggregator を生成します。BANKIDはそのまま python のモジュール名にして BANKID.Aggregator のインスタンスを生成するようにしたので、Aggregator を追加しても Factory クラスに手を入れる必要はなく、簡単に Aggregator を追加できるようにしてみました。

例によって練習中のクラス図です。

…続きを読む

accagg開発日記: クラス分けとCSV形式での保存

開発しているとリポジトリ名とか何かとプロジェクトに名前が必要になるので、Account Aggregator を縮めて accagg と名付けました。

前回まででとりあえず三井住友銀行の取引明細を取得することができたので、データを正規化してCSV形式に保存することを考えます。セキュリティを考えると平文のCSV形式なんて論外なのですが、そこは後々実装します。試す場合は個人の責任でお願いします。

前回は main にすべての処理を書いていたので、今後のことを考えてクラス分けしてみます。作ってみたクラス図は以下です。

正直クラス図が合ってるかわかりません(汗 なんとなくやりたいことが伝わればいいかな。

…続きを読む

Python + Selenium でスクレイピングしてみる

Python と Selenium でスクレイピングのお勉強です。

Selenium は外部プログラムから Web ブラウザを操作することができる仕組みで、元々は Web アプリケーションのテスト自動化のためのツールだったようです。クリック、キー操作を外部アプリから操作できるので、技術的にはWebブラウザでできる全てのことを自動化するが可能です。

Selenium を使える言語としては Java, ruby, C#, Python, JavaScript のバインディングがあるのですが、Web を探してみるとスクレイピングの使い方としては Python + Selenium の情報量が圧倒的に多いため、Python で使ってみたいと思います。一般的には、Python + Selenium(ブラウザ制御) + Beautiful Soup(HTMLパーサ) の構成が多いようです。

概要をサラッと知るには Web よりも本のほうが良さそうなので、以下の書籍を買ってみました。
…続きを読む

SL-6000借りました

SL-6000 シリーズにも SDHC ドライバが欲しいとのコメントを頂きまして、本格的に調査しようと思っていたのですが、私は実機を持っていないのです。試しにオークションを覗いてみたら1万円もするんですね。私にはちょっと気軽に買えません。

そこで会社の人に聞いてみたところ、SL-6000 を持っている人がいたのでを借りてきました。

SL-6000 借りました
SL-6000 借りました

結構大きいし厚みがありますね。

どれくらいの大きさなのか SL-A300, SL-C1000 と比べてみました。

大きさの比較 (左から SL-6000, SL-C1000, SL-A300)
大きさの比較 (左から SL-6000, SL-C1000, SL-A300)

スライド式のハードウェアキーボードがあるため縦に長いですが、横幅は SL-C1000 より少し小さいようです。

高さの比較 (左 SL-6000, 右上 SL-A300, 右下 SL-C1000)
高さの比較 (左 SL-6000, 右上 SL-A300, 右下 SL-C1000)

厚みは SL-C1000 より薄く、SL-C1000 の画面を開いた時+α 位のようです。

LCDが反射型液晶なので外での視認性は抜群ですね。qgmap には向いてるかもしれません。

SL-6000の画面とハードウェアキーボード
SL-6000の画面とハードウェアキーボード

反射型液晶って昔の携帯みたいにあまり発色がよくないイメージがあったんですが、SL-6000は綺麗だったので驚きました。 カラーの反射型液晶ってあまり見かけないだけで結構綺麗なんですね。

早速SDドライバまわりを確認してみましたが、3桁機と同じパスにありました。3桁機と同じ PXA255 なのでカーネルも同じなのでしょう。

ただ、気になったのはドライバのサイズが結構違うこと。各機種の sharp_mmcsd.o のサイズは以下のようになっています。

  • SL-A300(PXA210) 47,879 Byte
  • SL-C700(PXA250) 40,657 Byte
  • SL-CXX0(PXA255) 40,222 Byte
  • SL-6000(PXA255) 49,629 Byte
  • SL-CXX00(PXA270) 67,530 Byte

SL-A300 は限定的ながら SDIO の処理が入っている(PHSカードのみ使用可能)ため大きいのと、4桁機は PXA255 と PXA270 でSDコントローラが違っているため大きくなっているとして、SL-6000は同じ PXA255 のSL-CXX0 より結構サイズが増えています。

作りが変わったりしていなければいいのですが・・・。