2016年9月22日木曜日

Google Driveのホスティングサービス終了によるSyntaxHighlighter周りの修正

3か月くらい前にSyntax Highlighterが正常に動作しなくなっていたため、その修正をした旨の記事を書きました。

そして、昨日久々に記事を書いて、いくつか自分の過去記事を巡回していたら

ま た 動 か な く な っ て る じ ゃ ね え か

ちきしょーめ、なんかウェブページを開くとダイアログが出てきてソースコードが正常に表示されねえぞ!
こういうことで時間を取られるのは本当に面倒ですが、正常に動作しないブログはいろいろと問題ですので原因の究明と対応が必要になってくるわけです。

いろいろ調べていると、どうもGoogle Drive側に問題があるようです。
Google ドライブでウェブページをホストする
ああ、なんということでしょう。3か月前にドヤ顔で「Bloggerがhttps以外を締め出したからSyntaxHighlighter作った人のホスティングサービスが使えなくなった!だからGoogle Driveに置くことで解決してやったぜ!」って言っていたのに、その2か月後にそのサービスが終了してしまうとは…。どうもホスティングサービスの終了は結構前から予告されていたようで、それに気づかなかった私が情弱だったようですね…。

代替サービスをいろいろ調べましたが、どうもDropboxやOneDriveなどの他のクラウドストレージサービスのホスティングサービスはイマイチのようですね。うーん…。

というわけで行きついたのがFirebaseでした。
ウェブ関係にはめっきり弱い私ですから、明らかに私の手に余りそうなサービスですが、とりあえずホスティングに関してまとまった記事がちらほら見当たりましたので、それに従って挑戦してみることにしました。

というわけで、10分くらいいろいろ戦いながらやってみましたが、比較的簡単にできました。
詳細はググっていただくとして、Node.jsをインストールしてからnpmでFirebaseのクライアントをインストールし、ローカルの適当なフォルダをFirebaseのフォルダに指定した後でpublicフォルダにSyntaxHighlighter周りのファイルを入れてデプロイすれば、そのフォルダがインターネット上に公開されるようになります。そして、FirebaseのサイトからホスティングのURLを確認し、BloggerのテンプレートのURLをGoogle Driveからこちらに変更してやれば完了です。めでたくコードがハイライト表示されるようになりましたとさ。言うまでもなく、Firebaseはhttpsに対応しております。


ふぅ。また3か月後に、今度はFirebaseのサービス終了みたいなお知らせ見たら私は泣くぞ…。

2016年9月21日水曜日

RailwayMap 0.1.0

さて、ついに公開にこぎつけました。

RailwayMap ver.0.1.0

まだ粗削りですが、一応バージョン0代として公開してもいいかなということで、公開します。

鉄道地図を描きたいことって無いですか?ありますよね?
ですが、なかなかいいソフトが無いです。白地図ソフトみたいなものや、Yahoo地図のように、「鉄道路線の線が引かれただけの地図」ならありますが、任意の区間を任意の色で塗って、などといったことはなかなかできません。
例えば、地元の路線地図を描きたい、各社の鉄道ネットワークがどのようになっているのか見てみたい、乗りつぶしマップを描きたい、鉄道路線の研究をしたのでカテゴリごとに塗ってみたいなど、いろいろな鉄道地図を描きたい理由があると思います。

そんな(主に自分の)ニーズに応えるのがこのRailwayMapです。


任意の区間を任意の色、太さ、大きさで描くことができます。
路線データは国土地理院の国土数値情報からユーザー自身でダウンロードしてきてください。

国土数値情報 鉄道データ

現状最新版が2015年版のようですが、2015年版は正常に読み込めません。2014年版とはデータ形式が変わったようです。気が向いたら対応します。2014年版を使ってください。
このデータは、日本の鉄道・軌道全路線が網羅されておりますので、JR在来線、新幹線から路面電車、モノレール、ケーブルカー、トロリーバス、ガイドウェイバスまで全部描画することができます。
メニューのファイルからデータを読み込めば、私の環境ならば15秒くらいで右側にツリー構造が現れます。そして、チェックボックスをいじったり、色や太さなどをいじれば好きなように地図が描けるというわけです。

細かな注意点はZIP内のReadMeを読んでもらうとして、とりあえずQ&Aだけこちらに並べておきます。

Q1.このソフト重いんじゃない?よく固まるぞ!
A1.何十万もある点をプロットするので仕方ありません。諦めてすごいCPUやつよいGPU、でかいメモリを買ってください。それでもだめなら諦めてください。(タスクマネージャー等でこのソフトのCPU使用率が1コア分より低いにも関わらず固まる場合はバグの可能性があります)
Q2.地図の形は変えられないの?
A2.線の太さや縮尺は変えられますが、形はメルカトル図法での出力になります。モルワイデ図法や正距方位図法、ボンヌ図法などでの出力はできません。
Q3.海岸線や緯線経線、縮尺などは描き出せないの?
A3.描き出せません。鉄道路線だけです。現状、実装の優先度はかなり低いです。
Q4.地図は画像ファイルに保存できないの?
A4.できません。できたら実装したいなって思っています。今のうちはPrintScreenしてください。
Q5.一生懸命設定した路線の色や表示/非表示の設定は保存できないの?
A5.できません。できたら実装したいなって思っています。
Q6.Raiload Linesの一番末端のノードの意味がわからない。どのノードがどの区間なのよ。
A6.XMLファイルに何駅と何駅の間のデータか書いてないので、仕方なくデータのIDの順序で並べています。そのうち手は入れたいとは思っていますが、見込みは立っておりません。
Q7.駅名が辞書順で並んでるのはクソ。駅順に並び替えてくれ。
A7.僕もクソだと思いますが、駅順はXMLファイルに含まれていないのでとりあえず今のところこれで我慢してください。
Q8.同じ駅が同じ路線に重複して存在している。例えば東海道新幹線には三島駅と新大阪駅が2つある。バグでは?
A8.バグではありません。元のXMLにも2つあります。理由はよくわかりません。

てなわけで、よろしくお願いします。
現在開発段階の途中で公開したような形なので、そのうちいろいろなところを仕上げていくつもりです。モチベーションが保てるかどうかはわかりませんが。