読者です 読者をやめる 読者になる 読者になる

dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

PHPでRSSフィードのXMLを処理する時のSimpleXMLの使い方

PHPのSimpleXMLでちょっと難儀したのでメモです。 次のコードはRSSフィードからタイトル、リンク、記事を抜き出して表示するものです。 1

CPU Mining用のVert-Minerの64bit版をコンパイルする方法

Scrypt-Progressive-N algorithmを使用している仮想通貨(crypto coin)をマイニングするためにVert-Minerなるものが必要です。win32bit版のCPU minerはこちらから入手できます。高速化を狙って64bit版をコンパイルします。結論として、倍速になりました。 M…

rubyinstallerを使って完璧なRuby-2.1.0/2.1.1をコンパイル/ビルドする方法

前の日記までの方法では限界があるのでRubyをコンパイルする正解を探していたら、ついに発見しました。 oneclick rubyinstallerを使う ・oneclick rubyinstaller のページからrubyinstallerをゲットします。 ・解凍したら c:\rubyinstaller などに配置します…

Windows7 64bit環境でi686-w64-mingw32を使ってRuby2.1.0をコンパイルする方法

※後日rubyinstallerを使ってコンパイルする方法を発見したので、この日記を全面的に書き換えます。(14/03/08) 目標はUTF-8日本語の扱いが正常なRuby2.1.0をビルドすることです。 64bit環境で正常なRubyを作るのに非常に苦労しました。狭き道です。 正しいコ…

RubyInstallerのRuby DevKitを使ってRuby2.1.0をコンパイルする方法

DevKitはRubyのコンパイルにも使えます! DevKitの64-32版を使うのがベストです。 Ruby DevKit(32bit版)を使う方法 ・環境: Windows7 32bit または 64bit ・RubyInstallerが配布しているDevKitはMingw/MSYSそのものです。 ・まずはDevKit-tdm-32-4.5.2-20…

Windows7 64bit環境でMinGW/MSYSを使ってRuby2.1.0をコンパイルする方法

64bit環境でMinGW/MSYSでRuby2.1.0をコンパイルするにはちょっとした工夫が必要です。コンパイル中に作成されて動作するminiruby.exeがこけるのが問題です。 MinGW/MSYS(32bit版) ・MinGW/MSYSのインストール、拡張ライブラリの準備等は前の日記を参照して…

MinGW/MSYSでRuby2.1.0をコンパイルしてRails4.0をインストールまで

大きなプログラムのコンパイルのお勉強ということで、RubyInstallerがまだ配布していないRuby2.1.0をビルドしてみました。全てGoogle先生に聞きながらやっていて泥沼にずっぽしハマりましたので、メモしておきます。 はじめに ・環境はWindows7 64bit、VM上…

WindowsでRuby, Rails, PostgreSQLをインストールしてherokuにデプロイする方法

Ruby on Rails(RoR)に興味をもったので、「Ruby on Rails チュートリアル」(Rails 3.2版、Rails 4.0版)を読んでみました。で、実際にやってみるといろんな所で泥沼にはまります。これはもろもろの検討結果のメモです。 Ruby ・環境は Windows7 x64 です…

地理院地図(電子国土Web)に色別標高図をオーバーレイして透過率調整を加える方法

22日の日記の続きです。地理院地図(電子国土Web)の地図選択画面に色別標高図のオーバーレイを追加し、さらに透過率調整のスライダーを加えてみました。 主な追加点 cahngeMap2 では色別標高図のデータをもらってきて、オーバーレイヤーを作成し、透過率…

電子国土WebのページにGoogleマップを追加する方法

電子国土WebのVer.4は基本的にOpenLayersに準拠しているので、電子国土WebのページにGoogleマップのレイヤーを追加してみました。これが結構難しいんですね。で、難儀した点をメモしておきます。これは12月6日の日記の続きです。 難点1 電子国土Webでは地理…

Ruby 1.8.7 & 1.9.3 の開発環境(IDE)について

Ruby でのプログラミングにおいてもやはり統合開発環境(IDE)は非常に役に立ちます。で、メモです。 Ruby のインストール Downloads - RubyInstaller からダウンロードしてインストルするのが確実です。 Ruby 1.8.7 & 1.9.3 の使い分け NetBeans にて切り替…

Ruby 1.8.7 で認証proxiを越える: open-uri.rb にパッチをあてる方法

Mac/Linux 用の配布用実行ファイルを作るには Ruby 1.8.7 を使わざるを得ません。で、open-uri で認証プロクシサーバーを越えようとしても動きません。調べてみると open-uri.rb が未完成状態なんですね! ネットで調べると、次のように書けば動きそうな感じ…

ヤマレコの日記を一括ダウンロードしてバックアップする ヤマレコダイアリー

ヤマレコの日記を一括ダウンロードしてバックアップするヤマレコダイアリーのダウンロードページです。 Windows版の使い方 ・プログラムをダウンロードします。 YamarecoDiary.exe V1.7 2014/02/15 ・ヤマレコの日記を保存するファオルダーを決めて、そこに…

Rubyプログラムを Ruby 1.9.3 と Ruby 1.8..7 両対応にする方法

Ruby の配布用実行ファイルを作る場合、Windows用では Ruby1.9.3 対応の ocra が便利ですが、Mac/Linux用では Ruby 1.8.7 対応の rubyscript2exe を使うしか方法がありません。同じプログラムを2本メンテナンスするのは大変なので、一本化を検討してみまし…

電子国土WebシステムVer.4のテスト4: ヤマレコの地形図のページに電子国土ポータルのHOMEを表示してみた

ヤマレコダウンローダーで取得した山行記録の地形図ページを電子国土WebシステムVer.3からVer.4対応に書き換える補助ツールを作ってみました。 ヤマレコのページ切り替え用のタブを画面上部に表示する必要があり、地形図エリアを33px下に下げる必要がありま…

電子国土WebシステムVer.4のテスト3: 電子国土ポータルのHOMEに gpx と kml のルートをオーバーレイしてみた

オーバーレイの正しい書き方が判明したところで、電子国土ポータルのHOMEにある電子国土WebシステムVer.4のフルスペックのページにオーバーレイを重ねて再現してみました。このページを読解すると大変勉強になると思います。 サンプルサイト こちらにアップ…

電子国土WebシステムVer.4のテスト2: 国土地理院の背景地図に gpx と kml のルートをオーバーレイする正しい方法

その後、Ver.4 の javascript を調べていたら、オーバーレイの正しい書き方が判明しました。clickMenu.js で kml のオーバーレイを作っており、次のように書いています。 var kmlLayer1 = new OpenLayers.Layer.Vector("LonLatLine", { styleMap: myLineStyl…

電子国土WebシステムVer.4のテスト1: 国土地理院の背景地図に gpx と kml のルートをオーバーレイする方法

※ この記事のやり方は推奨できないことが判明しました。正しい書き方は次の記事を見てください。 13/12/03 追記 電子国土WebシステムVer.4は現在試験公開中ですが、なかなか正式公開されませんね。ヤマレコダウンローダーの開発にてVer.3では背景地図に赤線…

Linux/Mac 上の Ruby 1.8.7 環境でプログラムの実行ファイルを作る方法

Ruby 1.9.3 でプログラムを作っていましたが、Linux/Mac用の実行ファイルを作る方法が現在見当たりません。仕方がないので、VM上にCentOSをもう一つ入れて、Ruby 1.8.7 を導入して、プログラムの修正が必要な部分に手を入れて、実行ファイルを作りました。 L…

Ruby 1.9.3 でプログラムの実行ファイル.exeを作る方法

日本語を含む Ruby プログラムの実行ファイルを作る方法に辿り着いたので、メモです。 Ruby 1.93 の場合、今のところWindows用の実行ファイルを作ってくれる OCRA を使うしかない模様。残念ながらLinux/Macで実行ファイルを作る方法にはたどり着きません。(…

ヤマレコの山行記録を一括ダウンロードしてバックアップする ヤマレコダウンローダー exe版

ヤマレコの山行記録を一括ダウンロードしてバックアップするヤマレコダウンローダーexe版のダウンロードページです。 Windows版の使い方 ・プログラムをダウンロードします。 YamarecoDownloader.exe V1.8.6 2014/02/15 ・ヤマレコの記録を保存するファオル…

MacにRuby1.9.3をインストールしてヤマレコダウンローダーを実行する手順

Mac(マック)にRuby 1.9.3 をインストール(アップデート)する手順と、ヤマレコダウンローダーを実行する手順です。 <手順>・全てroot権限で実行しています。・コンソール(端末?)を開いて、以下のコマンドを入力して実行します。・先ずはRVMをインス…

ヤマレコダウンローダー V1.5

ヤマレコの山行記録を一括でダウンロードするプログラム YamarecoDownloader のバージョンアップはV1.5まで進みました。枯れてきた感じがしますので、Rubyのコードを公開しておきます。 主な改善点 V1.0以降の主な改善点は以下の通りです。 ・HTTPヘッダに"U…

ヤマレコ山行記録のダウンローダーをRubyで書いてみた

登山の記録はヤマレコに投稿しています。既に100件以上投稿していますが、何らかの理由で記録が使えなくなったら問題です。そこでヤマレコ専用のダウンローダーを作ってみました。 言語はお手軽に書けそうなRubyを選択。初めてのRubyプログラミングですが、…

ヤマレコの山行記録を一括ダウンロードするプログラム ヤマレコダウンローダー

Rubyをインストールしなくても動作するexe版を公開しました。ダウンロードページは こちら です。(2013/11/30 追記) ヤマレコの山行記録を一括ダウンロードするプログラムを作ってみました。インストールの手順と注意点を説明します。 <インストール> ・…

XAMPだけでは片手落ち?・・・LAMPも構築してみる

これまで Windows の XAMP 環境で PHP の勉強をしてきたんですけど、何か片手落ちな感じがしてきたので LAMP 環境も構築してみました。 概要:Windoes7 64bit+VMware+CentOS+Apache+MySQL+PHP5.3 30年前に Sun の OS を使ったことがあるので、Linux に対し…

Zend Paginator を kohana のモジュールにして使う

kohana 3.2 にはページネーターの機能がありません。ブログシステムとか作るときにはページネーターが必要ですよね。で、今までは ZF(Zend Framework)を併用していたのですが、Pagenator と Mail しか利用していないのに ZF 全体をインストールしている状…

kohanaPressを無料レンタルサーバーで動かしてみました

kohanaPress を @pages という無料レンタルサーバーで動かしてみました。このチャレンジは実に面白かったし、勉強になりました。このサイトは PHP がセーフモードであるという難点がありますが、そもそも PHP と MySQL が使えるし、Imagick を介して ImageMa…

kohanaのテスト12はそろそろ終わり

kohana 3.2 のサンプルコードの提供を目的に kohana で作る WordPress の日記を書いてきましたが、そろそろ終わりです。kohana 入門用のサンプルコードとしては必要十分じゃないかと感じています。これ以上 WordPress を作りこんでもしょうがないし、出来る…

kohanaのテスト12-22・・・マークダウンに関連して

kohana を導入して以来、拡張子 .md なるファイルが気にはなっていたんですが、無視していました。github の README がどうも人のより見劣りするので調べてみました。これってマークダウンって言うんですね・・・(^^;;; で、Dillinger というサイトで…

kohanaのテスト12-21・・・kohanaをレンタルサーバーで動かしてみる

初めてレンタルサーバーを使ってみました。Heteml というレンタルサーバのお試し期間2週間だけです。で、メモです。 ・自分用のサーバーをお借りするのはネットで必要事項を書いて送信するだけ。自動的にサーバーが設定されます。 ・必要なファイルを FFFTP…

kohanaのテスト13-2・・・ヤマレコ ビューワーに ThickBox を使ってみる

5日の日記で作成した ヤマレコ ビューワーはちょっと見た目が冴えないので、格好よくすることにしました。今回のコードの目玉は、ThickBox のメソッドをこちらから能動的に使いに行っている点です。このような使い方のサンプルコードは滅多に無いんじゃない…

kohanaのテスト12-20・・・DoS攻撃対策をする

自分で連続投稿のコードを動かしてみると DoS攻撃対策の必要性を痛感します。何せハードディスクが唸りを上げて連続動作しています。これでは他のユーザーはサイトが壊れたように見えるでしょうね。ということで、対策です。 DoS攻撃対策を考える ユーザー側…

kohanaのテスト12-19・・・記事を1万件投稿してもレスポンスは良好でした

WordPress 改 kohanaPress もだいぶまともになってきたので、記事を1万件投稿してレスポンスを確認してみました。結論から言うと、1万件くらいではレスポンスの差を感じません。ページネーターには ZendFramework を使っていますが、これのデータベースア…

kohanaのテスト12-18・・・投稿の一時保管、再編集、削除など機能を拡充しました

kohana の WordPress 化計画を進めています。しばらく放っておいた記事投稿関係の機能をまともにしてみました。全体的には写真の投稿関係で作ったコードをコピーして記事投稿用に書き換えるだけですから簡単です。新規性があるのは記事の再編集とか、一時保…

kohanaのテスト13・・・ヤマレコビューワーを作ってみた

ヤマレコは登山愛好家のコミュニティーサイトです。今日はヤマレコに蓄積された膨大な写真を全くランダムに選択して表示するコードです。 ヤマレコビューワー ・kohana/application/classes/controller/test13.php

PHPでよそのサイトからコンテンツを取ってくる

今日はよそのサイトから写真とかのコンテンツを取って来るコードのメモです。 ・通常の HTTP 関数だと次の通り。 $img = http_parse_message(http_get($url))->body; これで HTML でも写真でも持ってこれます。 ・プロキシを越えて取って来る場合は PEAR の …

kohanaのテスト12-17・・・ページネーションを改善する

github を見ていたら、Kohana 3.2 Pagination なるリポジトリを見つけました。早速 NetBeans でクローンを作って検討してみました。結論としては使えません。これは未完成ですね。生成する URL が index を含んでいて気に入りません。各メソッドも作者の意図…

kohanaのテスト12-16・・・写真の削除機能を追加する

kohana の WordPress 化計画も先が見えてきたような感じがします。今日は写真の削除機能を追加します。成果物のコードは随時 github のリポジトリを更新していますので、そちらを参照して下さい。 写真の削除機能を追加する このあたりのロジックはもう出来…

kohanaのテスト12-15・・・写真の表示にThickBoxを応用する

WordPress ではごく一部に jQuery プラグインの ThickBox を使っています。せっかくなので、写真の表示に応用してみました。で、これが結構苦戦しました。ネットで調べると使い方はえらく簡単なはず。問題は次の2点でした。 ・文字化け画面が出るばかり。 ・…

kohanaのテスト12-14・・・画像出力のHTTPヘッダーを正しいマナーにする

27日の日記にて作成した、データベースに保存した画像データを出力するコードに気になる点がありました。新しいウインドウに画像のみを出力すると、文字化け画面になります。実際にどういう HTTP ヘッダーが流れているのか調査するために、firefox のプラグ…

kohanaのテスト12-13・・・XSS攻撃対策に HTML Purifier を導入する

TinyMCE はテキストモードで編集すると HTML エスケープしてくれるので、問題ありませんが、HTML モードですと <script > タグなんかそのまんまポストしてしまいます。また、ブラウザの jabascript を使わない設定にすれば、テキストボックスがダイレクトに現れるわけ…

kohanaのテスト12-12・・・投稿ページに本家版TinyMCEを使う

昨日気付いたんですが、新規投稿ページで書いた内容と投稿結果の印象が違います。テキストボックスでの改行が反映されません。本来は<br/>や<p></p>が付かなければいけないのに、付いていません。 調べてみると、WordPress では TinyMCE 以外に PHP のコードが編集に関わ</br/>…

kohanaのテスト12-11・・・写真の一覧表示機能を作る

今日のお題は写真の一覧表示機能です。データベースにバイナリで保存した写真をどうやって見せるのか?って所が面白いです。 一覧表示用のビュー これはトップページの記事の一覧表示と同じ流れで作れます。サンプルコードは長くなるので、github に置いてあ…

NetBeansからgithubにリポジトリをエキスポート出来ちゃいました

NetBeans から github にエキスポート 何でも試してみるものですね。試行錯誤したら出来ちゃいました。gitをインストールしたら NetBeans は自分で認識するみたいです。ポイントをメモします。 ・下記手順中に、非公開鍵のファイルを NetBeans に教えてあげ…

kohanaのテスト12-10・・・写真のアップロード機能を作る

kohana の WordPress 化計画で kohana のテストを進めています。今日のお題は写真のアップロード機能です。アップロードには jQuery プラグインの Uploadify を使います。アップロードした写真の処理には ImageMagick を使います。WordPress は写真をフォル…

kohanaのテスト12・・・画像データをデータベースに保管する

kohana のテスト12の続きで、画像データのアップロードを検討しています。WordPress のコードを読んでみると極めて複雑な処理になっていて、読むのがいやになりました。たかだかファイルをアップロードして、チェックして、サムネールを作って、情報をデータ…

kohanaのテスト12をGitHubに登録してみました

GitHub って何? って感じなんですけど、プログラミングの世界では使われているようなので、テスト12を登録してみました。GitHubのガイダンスを読みながら、余計な部分は直感的にパスして試行錯誤したら登録できちゃいました。ということで、あやふやな手順…

kohanaのWordPress化キットV1.0を配布します・・・kohanaの入門用に最適でしょうか?

この一週間ほど勉強のために kohana の WordPress 化に取り組んでみました。結果として基本的なブログ機能だけですが WordPress の移植に成功しています。kohana は適当なサンプルコードが殆ど配布されていないので、入門者用に WordPress 化キットを配布す…

kohanaのテスト12-9・・・WordPressのトップページを作る

新規投稿が出来るようになったので、いよいよトップ画面をそれらしくします。これでユーザー登録・ログイン・新規投稿・ブログの表示というWordPressの根幹部分を kohana に移植することが出来ました。スタイルシートとスクリプトもしっかり動いているので、…