スキップしてメイン コンテンツに移動

投稿

Google App Engine 利用停止しました。

さて、長らく放置していたGoogle App Engineですが、開発を終了し、アプリを削除しました。 最終的に全銘柄の時価を日次で取得するようにしていたため、DataStoreの処理量が増え、コストが膨らんでいきました。そのコストは月3,500円ほどになり、収益が上げるつもりがない以上、無駄なコストになります。 数ヶ月ほど迷いましたが、先月ついにGoogle App Engineで利用していたアプリケーションを全て削除しました。 今後は、無料でできる範囲で使うことはあるかもしれませんが、有料での利用はしない方針です。最近は、Redis、MongoDB、Postgresql等のミドルウェアにも興味がありますので、基本的にはAWS、VPSもしくは自宅の環境でのみ開発することにしていこうと思います。 引き続きよろしくお願いします。

BOSEのBluetoothスピーカーを衝動買い

BOSEのBluetoothスピーカーが安くなっていて衝動買いしてしまいました。 これを買ったことでiPhone、iPad、Macbook Pro 13inchでの音楽再生のクオリティが上がりました。作業用BGMもクラブでよく聴く曲も心地よく聞こえます。 前から欲しかったし、友人が持っているのを見てさらに欲しくなったところにアウトレットの初売りセールがトドメになりました。 アウトレットということもあってか 公式サイト で販売されている 最新の機種 ではありませんが、最新機種とはフタくらいしか違いもわからないのでOKでしょう。 そもそもこのスピーカーの魅力はやはり・・・ Bluetoothなので当然ワイヤレス バッテリー内蔵で持ち出し自由自在 低音の強いBOSEらしい音 早速、音楽を聞きながら書いています。快適です。

マクドナルドのメニューをWEBから取得するスクリプト

タイトルの通りのスクリプト。 スマイルをMenuIDの総当たりで探すために作った。WEB上になかった。 PythonはGILとかいうのでマルチスレッドではパフォーマンスが出ないらしい。 デファクトな解決方法だと思われるmultiprocessingでマルチプロセス化している。 ■マシン 「Intel(R) Core(TM) i5-2520M CPU @2.50GHz 」+「4.00GB(3.42GB使用可能)」 ■コマンド python mcdonaldsmenu.py 27 1 10000 基本的に4ケタのmidというものをgetのパラメータに渡して各商品の詳細ページを表示できる。 なので、隠れメニューを探すべく総当たりしてみる。 このマシンで並列数27でCPU使用率が85~95%くらい。 54MbpsのWiFiの使用率が7~11%くらい。

[Mac]Time Machineのバックアップ先をWindows共有フォルダに設定する

こんばんは。もっくんです。 2台あったWindowsのデスクトップを1台にまとめるついでに、ずっと放置していたMacのバックアップ環境を構築してみました。Finderでコピペするだけでいいんですが、どうせなら「Mac全体を自動的にバックアップします。」という謳い文句のTime Machineを使いたい。 Apple純正のTime CapsuleやUSBの外付けHDDという手もあったんですが、ノートの機動性を落としたくなかったし、なによりタダでできそうなWindows共有フォルダにネットワーク越しにバックアップする方法を取ることにしました。 実際の流れは下記のようになります。 ネットワーク共有フォルダを作成する 空のディスクイメージを作成する ネットワーク共有フォルダにディスクイメージをコピーする ネットワーク共有フォルダのディスクイメージをマウントする マウントしたディスクイメージをTime Machineのバックアップ先に指定する 1.ネットワーク共有フォルダを作成する この手順はそこまで面倒ではないので、簡単な手順だけ。 Windows全体の設定でファイル共有を有効にする(Windowsで作業) Macと共有(Macから見えるように)したいフォルダを作成する(Windowsで作業) 共有したいフォルダに共有設定をする(Windowsで作業) 共有フォルダに接続(Macで作業) 詳細はこちらの記事が画像付きでわかりやすい。 http://blog.goo.ne.jp/beosound/e/7d6d0d0a8f76035f880001eda06c4247 2.空のディスクイメージを作成する いわばこのディスクイメージがバックアップ先のHDDの代わりとなる。 アプリケーション > ユーティリティ > ディスクユーティリティを起動 画面上部の ファイル > 新規 > 空のディスクイメージをクリック 設定画面の各欄は以下のように設定 名前: TimeMachineVolume(なんでもよい) 保存先: デスクトップ(ローカルのわかりやすい場所) ボリューム名: TimeMachineVolume(なんでもよい) ボリュームサイズ: カスタム ...

[javascript][Google App Engine]HTML5のsessionStorageで高速化

はじめて書いたjavascriptを先輩に見せたところ、取得ボタンを連打されてGoogle App Engineに対するリクエストが大変なことになりましたw ということで、今回はその連打対策を講じてみました。 ■変更点 ・「取得」ボタンをクリックしたときにGetData()を呼び出すように ・sessionStorageにデータが存在するかチェックしてあれば表示 ・なければAjaxでリクエストして結果をsessionStorageに保存したうえで表示 WebStorageのうちセッション単位でデータを保持するsessionStorageと永続的に保持するlocalStorageがあるが、毎日取得するデータが変わるのでsessionStorageを採用した。 同一セッションの同一パラメータ(証券コードと営業日数)の組み合わせの場合にはsessionStorageから取得している。 AjaxHistoricalPrices http://test-004.appspot.com/html/index.html 「処理時間」には、「取得」ボタンが押されてから表示までの時間をミリ秒単位で表示している。 実際に同一パラメータで「取得」ボタンを2回以上クリックしてもらうと、かなり高速化できていることがわかると思う。 また、画面の「データ取得元」にsessionStorageから取っているか、HTTPで取っているかを表示している。 var startTime = new Date(); var endTime = new Date(); var GetData = function(){ startTime = new Date(); var key = document.form.ticker.value + ':' + document.form.days.value; var out = sessionStorage.getItem( key ); if (!out){ out = Request(key); document.getElementById("source").innerHTML = 'HTTP.';...

[javascript][Google App Engine]初のJavascript、初ajax

こんばんは、もっくんです。 今日は、初めてのjavascriptを実装してみました。巷ではjQueryというライブラリが簡単で良いと聞きますが、初めてなのでゼロから書いてみました。 AjaxHistoricalPrices 今はGoogle App Engineにあるjsonを返すURLに対して非同期でhttpリクエストを発行して、そのレスポンスを表示しているだけのシンプルな実装です。 var startTime = new Date(); var endTime = new Date(); var Request = function() { startTime = new Date(); var url = 'http://test-004.appspot.com/dlhistorical?ticker='+document.form.ticker.value+'&days='+document.form.days.value+'&type=json'; var XHR; XHR = new XMLHttpRequest(); XHR.onreadystatechange = function(){ if( XHR.readyState === 4 && XHR.status == 200 ) var data = JSON.parse(XHR.responseText); var out = ''; for (i in data.Historical){ out += ''; for (j in data.Historical[i]){ out += ''; } out += ''; } out += ' '+data.Historical[i][...

[Python][Google App Engine]日本株式個別銘柄の直近3期の決算情報を表示

割安銘柄の選定に使うために企業の業績を取得できるようにしてみた。 今はまだパースしているだけのプログラムで、人間用。 『証券コードと連結or単体を指定してやると過去3期分の決算情報を返す』 ■使い方 URLに下記のように条件を指定してEnterキーをたたいてください。 (連結決算) http://test-004.appspot.com/dlfinreport?ticker=証券コード&consolidate=1 (単体決算) http://test-004.appspot.com/dlfinreport?ticker=証券コード&consolidate=0 例) スターバックス(2712)の単体決算のデータがほしい場合 http://test-004.appspot.com/dlfinreport?ticker=2712&consolidate=0 あとは煮るなり、焼くなり。 ■処理内容 裏側でhttpリクエスト実行 BeautifulSoupでHTMLパースしてtableをCSV化(の予定) ■課題 毎回httpリクエスト発行していて遅い 日本語が混じっているので分析する前に工夫が必要 ■参考 すぐに試せるリンクを作っておきます。 2012/2/24の東証1部出来高上位5銘柄の過去100営業日のデータです。 みずほ(8411)の連結 http://test-004.appspot.com/dlfinreport?ticker=8411&consolidate=1 みずほ(8411)の単体 http://test-004.appspot.com/dlfinreport?ticker=8411&consolidate=0 何かあれば、コメントやTwitterで質問いただければと思います。