六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

プログラミング

HTML5/CSS3超初心者レベルからのスタート

EclipseはPHP+JavaScriptの特訓のときにインストールしたから、Aptena Studioプラグインを導入してHTML5/CSS3に対応させた。 参考:Eclipse ウェブプロジェクト開発プラグイン Aptana Studio - System House ACT タグはある程度知っているけど、HTML自体を根…

プラグイン的pythonプログラミング

5/21に運よく(運悪く)小田急線で人身事故が起きたため、小田急線の運行情報をゲットするスクリプトが書けた。 import lxml.html import requests #<BR>タグを改行文字に変換して文字列化 def repBR(element): rawstr = lxml.html.tostring(element) repstr = raw…

運行状況通知プログラムの欠点

さあ日曜だ運行状況通知プログラムの続き、と思ったが、一つ欠点があることが分かった。そもそもこのプログラムは電車が遅延したり止まったりしないと、対象サイトの構造が分からないからスクレイピングのためのコードが書けないし、テストもできない!最近…

JR東日本のサイトから運行情報をゲットするスクリプト1

retDict = {} lines = ['東海道線', '中央線快速電車'] import lxml.html import requests try: target_url = 'http://traininfo.jreast.co.jp/train_info/kanto.aspx' target_html = requests.get(target_url).content root = lxml.html.fromstring(target_…

列車運行情報通知アプリ

今日家に帰る時間の直前に中央線快速が止まり、とても困った。そこで列車運行情報通知アプリを作ろうと思い立った。新聞記事自動取得アプリの前哨戦だ。 即席で考えた仕様は次の通り。 ・メインのモジュールは1分ごとに運行情報サイトを巡回する ・サイトの…

段組みと改ページ

自作ニュースアプリで一番重要視するのが、記事の読みやすさと操作性だ。 太宰治 走れメロス 著作権の問題があるので、青空文庫のテキストを例にとる。若干マージンがとってあるものの、これをフルHDのディスプレイで表示すれば1行に100文字以上表示されてし…

新聞アプリ計画

ニュースサイトの重さ、リソースの無駄遣いには毎日困っているので、早く作ってしまいたい。概観的な仕様を今のうちに作成しておく。 目標は、まるで新聞のように整形したHTML/CSSをオフラインで作成すること ボタン一発で、巡回しているニュースソースの記…

Pythonでやりたいこと

いまPythonを学んでいるのは、スキルの向上に加えて言語の簡潔さ・拡張の容易さ・ライブラリの充実性に惹かれたためだ。とくにPythonはデータ解析処理ライブラリが充実している。 金融商品のテクニカル分析による未来予測にはあまり意味がないと思っている。…

Billion Laughs

Introducing Pythonに載っていた。次のXMLを読み込むと大抵のPCが落ちるか、動作不安定になる。

Introducing Python Chapter7の宿題

mistery = '\U0001f4a9' を表示しろと言われた。。UNICODEはフリーダムなのですね。

Python3とUNICODE

Python3はインタプリタ内部はUNICODEベースであるが入出力がUNICODEとは限らない。コンソール出力はデフォルトでは環境依存で、私の環境(XAMPP付属のApacheの上で動作)ではShift-JISエンコードで表示される。なので、次のようなコードを書くとエラーになる。…

Pythonにインクリメント演算子はない

×num++ ○num+=1 どのような思想でインクリメントなしなのかが知りたい。

Pythonと集合

Introducing Python が読みやすすぎてドバドバ進む。 Pythonは集合理論が充実していて驚きだ。補集合和集合排他集合、サブセットかどうか、その逆なんかがみんな演算子一つでできちゃうんだな。 例えば和集合は a | b と書く。3文字だよ!?すげぇ!これが他…

Pythonすげー

Amazon.co.jp: Introducing Python: Bill Lubanovic: 洋書 を読み始めた。まだ文法も何もわかっていないけれど、イントロのサンプルコードでいきなり衝撃を受けた。 import json from urllib.request import urlopen url = "https://gdata.youtube.com/feed…

Learning Javascript Design Patterns

Learning JavaScript Design Patterns やっと読み終わった。途中休み休みだったので、7か月もかかっている。backbone, YUI, requireJS, AMDの所はついていけなかった、、jQueryの解説についても、もうすこしjQueryに精通してからの方が良かったな。Moduleパ…

日足週足月足の切り替え、速度増加、URL指定表示、一段落

kickzone/SHChart · GitHub kickzone/StockHoloscope · GitHub 六帖webアプリ 意外にもJavaScriptのDateオブジェクトのgetTime関数の動作コストが高いことが分かった。カレンダーを見て時間を足しまくる必要があるからか?これをなるべく使わないようにする…

pythonはじめる

参考URL Download Python | Python.org [python][xampp] xamppでpythonを使う答えを知りたい | 答えを知りたい Python3.4を入れてみました。xamppと連携して使うつもりです。まずはhello worldから。。と2つ目のリンク先のコードを試したら、 Server error!…

ドラッグ移動、マウスホイールで拡大縮小、DBリード

六帖webアプリ kickzone/SHChart · GitHub ドラッグによる移動、マウスホイールによる拡大縮小が可能になったので、DBリード機能を入れてようやく公開可能なバージョンができた。1か月半もかかった。 VS2013上でMySQLを使いたいが、どうも環境を作るのが難し…

TypeScriptのスコープ

TypeScriptには、カッコ内のみ有効になるスコープはないようだ。例えば以下のコードはコンパイルエラーにならないが、まともに動作しない。 for (var i in this.elements) { var element: GraphElement = this.elements[i]; if (element.date >= xrange.star…

マウスカーソル情報

kickzone/SHChart · GitHub だんだんそれっぽくなってきた。今日はここまで。残りはスクロール・拡大縮小と、DBからの読み込み。 本日苦労したところ:マウスカーソルの位置を取得するとき、MouseEvent.clientX が得られる位置は、ウインドウ内の位置だ。can…

XY軸

kickzone/SHChart · GitHub まだ見栄えが良くないけれど一応XY軸を作成することができた。来週はマウスに対応した情報を表示する処理を作業する。作業中、日曜日なのに仕事の依頼が入ってきたので、時間が少なくしか取れなかった。 見返してみると月が1か月…

n日移動平均

意外と簡単だった。 /** n日移動平均を求める */ public static CalcSMA(hiashiArr: Array<Hiashi>, days: number): Array<DateVal> { var retArr: Array<DateVal> = []; var currentSum: number = 0; for (var i in hiashiArr) { var hiashi: Hiashi = hiashiArr[i]; var dv: DateVal </dateval></dateval></hiashi>…

日足グラフが書けた + VS2013とGitHubの連携

kickzone/SHChart · GitHub Visual Studio 2013 GitHubの使い方 : Exceedone Technical Knowledgeを参考に、VS2013とGitHubを連携することができた。これでソース管理も楽々だ。 小田急電鉄2014年後半の日足グラフ 次は折れ線グラフと移動平均線を試しに書い…

PHP, jQuery + ajax 連携練習

最寄駅の時刻表を見て、いちいちNaviTimeやらを使って新宿駅に到着する時間を調べるのが面倒。 そんなニーズに応えるため、この時刻表(最寄駅は変えてあります)のページに細工をして、マウスカーソルを合わせると新宿駅到着時刻が出てくるようにした。 クラ…

ローソク図試作品

仕事が多すぎて日曜日までずれ込んだ。まだ動かしていないけど、今日はここまで。 /// <reference path="scripts/typings/easeljs/easeljs.d.ts" /> module SHChart { export class CandleStick implements GraphElement { //ローソク本体 private body: createjs.Shape; //上ヒゲ private uShadow: createjs.Shape; //</reference>…

Visual Studio 2013 + TypeScript .jsファイル作成

Visual Studio 2013でTypeScriptを使用して、ファイル分割して作成したアプリケーションを1ファイルにまとめるには、プロジェクトをwebアプリケーションとして作成した上で、 プロジェクト →「"プロジェクト名"のプロパティ」を選択 →「TypeScript ビルド」…

TypeScript 1.4 with VS2013

easeljs.d.ts を導入して、やったぜタイプセーフwebプログラミング始まる!と思っていたら、導入直後にコンパイルエラーが同時多発で48か所も発生した。 export class AlphaMapFilter extends Filter { constructor(alphaMap: HTMLImageElement | HTMLCanvas…

TypeScript Handbook

Handbook - Welcome to TypeScript を読んだ!!言語仕様は大まかに把握できたので、もう少しで実装に入れる。クラスベースでwebアプリケーションが作成できるなんて、夢のようだ。特に、プロジェクトが大きくなればなるほど、恩恵を受けられることだろう。d…

TypeScriptすごい

Visual Studio Community 2013をインストールした。これが無料!?信じられない。ほぼ会社で使っている環境と変わらない。 TypeScriptはマイクロソフトが作っただけあって、Visual Studioとの連携は完璧だ。IntelliSenseも使えるし、デバッグもブレークポイ…

TypeScript + Visual Studio Community 2013への移行

自作グラフ描画アプリケーションを作るにあたって、オブジェクトの細分化、ソース管理の煩雑さが予想される。 EclipseのJavaScript周りの機能では、正直言って不安だ。JavaScriptには型の概念がないので、メソッド名などのチェック機能は皆無、ごくプリミテ…

チャートグラフは自作

envision.jsに限ったことではないけど、グラフ描画ライブラリが作成できるグラフは、ある一定の表現に限られてしまう。カスタマイズが困難で、人の書いたソースコードを読むのに大きな時間を食われた挙句、改造不可能ということがわかったりしてしまう。 eas…

株価表示

六帖webアプリ kickzone/StockHoloscope · GitHub 初版。株価表示にのみ対応した。また、株式分割による調整も、2002年8月以降はすべて対応できた。株価表示機能は、現時点、コードを入れるとチャートを表示するだけの機能。envision.jsの仕様がなかなかわか…

DB作成終了

2000年〜2014年までの株価データのインポートが終わった。MySQLに限らずDBMSはみんなそうだと思うが、レコードを追加するに従って速度が遅くなる。はじめと最後では2倍ほど速度に違いがあった。結局、4日がかりで作成したDBは、総データ量1GB・レコード数140…

株価DB作成中

株価情報からゲットした株価情報を即席100行程度の超簡単なDBインポート用PHPスクリプトでインポート中。しかし、2000〜2005年までのcsvの形式がなぜかリレーショナル型になっておらず、全レコードに銘柄名がくっついている。インポート中にこれをいちいちチ…

切り捨て

3年でシステム構築するために学ばなければいけないことは、pythonと統計学、経済学、トレーディング、それにjavascript, PHP, MySQLのブラッシュアップ, さらにCSS、backbone.js, underscore.js。多すぎる。手が回らない。 いま毎日かなりの時間を拘束してい…

方針1

銘柄別の株価をかなり詳しい方法で統計分析したい。EXCELは大量のデータに弱いし、あくまでプレゼン用のソフトだろう。 ACCESSと連携すれば大量のデータを扱うことができるが、仕事でもよく使っているのでわかるけれど、操作性が非常に悪い。なので却下。 そ…

2000年からのデータ

株価情報 を発見した!これで15年分の統計と検証が可能になった。ただし、圧縮形式がなんとlzh(セキュリティ脆弱)なので、プログラムで自動的に取り扱うことが不可能だ。面倒だけれど、一括ダウンロードして全部解凍・個別インポートしなきゃいかんね。一…

競合相手

���V�X�e���g���[�h�\�t�g �C�U�i�~ 素人が思いついたことには必ず先駆者がいるものだ。全く同じ発想のソフトは、既に市場に存在した。取引を自動化するルールを作成し、過去の株価DBを使って検証するソフトウェアだ。利用料金は月に7,700円、または無期限16…

続き

先ほどのプログラムを動作させた結果 年利9% 月利0.7207323316136716% 1年目1月 何もしない:11万 複利:11.079280556477503万 1年目2月 何もしない:12万 複利:12.16633983687436万 1年目3月 何もしない:13万 複利:13.261233904968845万 1年目4月 何もし…

パッケージファイル読み込み完成

六帖webアプリ kickzone/TrainNavi2 · GitHub 一通り区切りのいいところまでできたので、開発をしばらく停止する。路線データは時々追加を続けるけれど、他にやりたいことができた。 私は非正規の社員なので、ボーナスも退職金も出ない。国民年金も厚生年金…

パッケージファイル読み込み途中まで

六帖webアプリ kickzone/TrainNavi2 · GitHub 路線図の読み込みまで対応した。あとは列車のデータを読み込めれば、一通り終了だ。これができたら、次は動作を軽くするための工夫を入れないといかん。路線図を作りこむと、直線が多くなるので当然ながら動作が…

エディット機能

六帖webアプリ kickzone/TrainNavi2 · GitHub 線路のエディット機能を追加。実質、googleマップに合わせて線路の形を整えるための機能となった。1日で300行ちょいのコードを書いた。 上手くいかなかったことはたくさんある。まず、canvasにmousemoveのイベン…

Googleマップ2

六帖webアプリ kickzone/TrainNavi2 · GitHub 連携できるようになった。まず一番面食らったのは、自作の路線図の縮尺が全然合っていなかったということ。いくら倍率を揃えても地図と重ならないので、仕方なく、googleマップに合わせて路線を描画するようにし…

GoogleMap

GoogleMapAPIのキーをゲットして実装中。なんと、今まで作っていた路線図がY方向にかなり潰れていたことが発覚した。 係数を調整し、路線を重ねることには成功したが、連動してマップを移動する処理が難しすぎて難航中。スクロール処理もほぼ作り直しか!?

年末年始

六帖webアプリ ここ1週間で路線を15追加した。東京の地下鉄はすべて網羅したので、次はJRだ。しかしJRは来年3月に上野東京ラインが開業するため、DBを作ってもすぐに改訂しなければならないだろう。 ソフト面にそろそろ手を入れよう。昨日は日曜日なのに仕事…

路線追加中

六帖webアプリ kickzone/TrainNavi2 · GitHub ここ2週間は大きな変更はせず、バグ取りと路線の追加のみ。東京の地下鉄は、浅草線を除きすべて追加した。 朝ラッシュのシミュレーションをしてみると、東京の電車がいかに多すぎるかが分かる。なお、現時点、中…

列車をゲットする論理変更、列車をクリックするとその列車の情報を表示、自動画面スクロール機能追加

六帖webアプリ kickzone/TrainNavi2 · GitHub 一昨日の懸案、列車走行時刻が0時をまたぐ場合を考慮したSQL文を作成した。 starttime これをstarttimeが日付をまたぐ場合(starttime>endtime)、またがない場合(starttime (starttime OR (starttime > endtime A…

明日から真冬か

とうとう最高気温も10度まで下がるようです。足が冷たい。猫の小屋からは猫蒸気が小屋の底と床に染み渡るようになりました。通称猫汁 六帖webアプリ 総武緩行線・東西線・東葉高速線 京王井の頭線 京王線系統全部終了 大雄山線 まで追加終了した。大雄山線は…

デバッグ、駅名表示機能追加、中央快速線系統DB追加

六帖webアプリ kickzone/TrainNavi2 · GitHub やっと旧TrainNaviに追いついた。土日休日ダイヤも対応したから、すでに2倍の情報量か。 今後の予定 総武緩行線・東西線・東葉高速線 京王井の頭線 京王線系統全部終了 大雄山線 田園都市線・半蔵門線・伊勢崎線…

縦横縮尺率の変更、ドラッグによるスクロール・ホイールによる拡大縮小機能追加、画面上にないオブジェクトをcanvasに乗せないことで動作を軽量化、canvasのサイズ選択追加、京王線系統のDB追加

六帖webアプリ kickzone/TrainNavi2 · GitHub かなり進んだ。スクロールと拡大縮小、さらにオブジェクトの省略まで同時に実装できるとは思わなかった。次は、パッケージファイルの読み書きが一番大きな変更になりそうだ。 既知の不具合:スクロールすると線…