2014年2月28日金曜日

無料のホスティングサービス「Gungoos」

無料のホスティングサービス「Gungoos」を試してみました。ディスク容量は、300MB。月間の転送量は10GBまでOKです。クラウドホスティング(Cloud Hosting)とありますが、使い勝手は、よくある共用レンタルサーバーそのもの。ただ、クオリティーは高いです。広告も表示されませんし、コントロールパネル(英語)は、有料版とも思えるほど質が高いです。PHP+MySQLが利用できます。今のところ、好印象。

2014年2月27日木曜日

C#やVisual BasicのソースコードをJava、Ruby、Python等に変換してくれる「VARYCODE」

C#やVisual BasicのソースコードをJava、Ruby、Python等に変換してくれる「VARYCODE」 他の言語で書くと、どのようなコードになるのか知りたいときに威力を発揮してくれます。長いソースコードは変換できませんが、短いものであれば、すぐに結果を表示してくれます。久々のヒットと言える面白いサービス。

2014年2月26日水曜日

ubuntu 12.10では、php5-develではなく、php5-dev

ubuntu 12.10では、php5-develではなく、php5-devだったというメモです。ubuntu 12.10 serverに、php5-develをインストールしようと試みたのですが、「Unable to locate package php5-devel」というエラーが出てインストール出来ませんでした。ちょっと調べれば、すぐに分かることなのですが、統一してほしいものです。

×(間違い)
apt-get install php5-devel

○(正しい)
apt-get install php5-dev

参考サイト
Unable to install php5-dev package in ubuntu 12.10(Ask Ubuntu)
php5-devel should be php5-dev(GitHub)

2014年2月25日火曜日

クラウド型の会計ソフト「freee (フリー)」

クラウド型の会計ソフト「freee (フリー)」 銀行口座やクレジットカードを登録しておくだけで、データを取り込んで、分類、会計処理してくれるサービスらしいです。あまり試していないんですが、知人が絶賛していたので、メモです。料金も良心的。



2014年2月24日月曜日

URLの先頭に追加するだけで、ブックマークできる「saved.io」

URLの先頭に追加するだけで、ブックマークできる「saved.io」 表示しているURLバーの先頭に「saved.io」とタイプすると、ブックマークしてくれます。お手軽に利用できるところが良いです。カテゴリ分けにも対応していて、よく練られたサービスです。後でチェックしたい記事などのメモに威力を発揮してくれます。

// 基本形
saved.io/www.yahoo.co.jp/

// カテゴリ分け
category.saved.io/www.yahoo.co.jp/

2014年2月23日日曜日

YouTubeのリラックス映像8時間「Relax-Nature Sounds-8 Hours」

YouTubeのリラックス映像8時間「Relax-Nature Sounds-8 Hours」 YouTubeでは、長時間の動画が登録できるようになりましたが、数時間ものの長編も数多く見つけられるようになりました。これなら何度もリロードですに済みますし、繰り返しではないので飽きません。YouTubeは、奥が深い。









2014年2月22日土曜日

DB要らずで、Markdown形式で記述できるシンプルなブログ「Dropplets」

DB要らずで、Markdown形式で記述できるシンプルなブログ「Dropplets」を試してみました。PHPで書かれています。画像をアップロードするかのごとく、記事をアップロードして管理するスタイルです。使い方は慣れが必要ですが、記事は自分の好みのエディタで編集可能で、手元にオリジナルデータを残しておけるという、ユニークな思想で作られています。





参考サイト
サイトに簡単なブログ機能をつけるのに便利なCMS「Dropplets」(WEBマーケティング ブログさん)

2014年2月21日金曜日

AppFogの無料プランが、2つのアプリと2つのサービスに縮小

AppFogの無料プランが、2つのアプリケーションと2つのサービスに縮小しました(Changes to AppFog Free Plans)。残念なニュースですが、私のような無料で試しているだけのユーザーにリソースを割くのは、厳しいのでしょう。そういえば、PaaSの経営は思わしくないというニュースも耳にしました。変化の激しい世界ですから、それも仕方のない事なのかもしれません。

512MB以上のRAM(以前は2GBのRAM)
2サービスのインスタンス(以前は8サービスインスタンス)
2アプリのインスタンス(以前は無制限)



参考サイト
PaaSに何が起きているのか?

2014年2月20日木曜日

Google Driveで静的ページをホスティング、JavaScriptやCSSの自前CDNを作成

Google Driveで静的ページをホスティング(Host webpages on Google Drive)を利用することで、JavaScriptやCSSの自前CDN(Contents Delivery Network)を作成することができます。早速、我がBloggerにも採用しました。今までページの半分以上をCSS定義で占めていた異常な状態から脱することができました(笑)。表示も若干速くなった気がします。

1, CDNとして利用したいJavaScriptやCSSファイルをアップロード。
2, 共有設定を「非公開」 → 「ウェブ上で一般公開」に変更。
3, 固有のURLが割り当てられるので、アクセス可能なURLに変更して、利用可能。

固有のページID「abcdefghijklmn12345678」部分を入れ替えます。
https://drive.google.com/file/d/abcdefghijklmn12345678/edit?usp=sharing
↓
https://googledrive.com/host/abcdefghijklmn12345678



参考サイト
Bloggerブログ CSS外部化する方法。ページ表示速度を高速化(せきらら白書~備忘録~さん)

2014年2月19日水曜日

PHPのarray_map関数で、コールバック関数にClassやNamespaceを使う?

PHParray_map関数で、コールバック関数にClassNamespaceを使う? というわけで、試してみたのですが、クラス(Class)は利用できるようです。配列形式で指定して、array("クラス名","メソッド名")でOK。名前空間のNamespaceの方は、うまく利用できませんでした。深追いするとハマりそうなので、諦めました。

×(間違い)
array_map($this->MyFunction, $array);
○(正しい)
array_map(array($this, 'MyFunction'), $array);
array_map(array('MyClass', 'MyFunction'), $array);


参考サイト
PHPでコールバック関数にオブジェクトのメソッドを指定する((DxD)∞さん)
php - array_map not working in classes(Stack Overflow)
PHP :: array_map fails with namespaces

2014年2月18日火曜日

PHPで、MicrosoftのSQL ServerにPDO接続

PHPで、MicrosoftのSQL ServerPDO接続です。Windows環境で試す機会に恵まれたので、備忘録です。現在の日付を取得する関数は、GETDATE()MySQLPostgreSQLに慣れすぎて、NOW()を当然のように利用していて、しばらく間違いに気づくことができませんでした。Oracleは、SYSDATE

$dsn = "sqlsrv:Server=localhost;Database=mydatabase";
$username = "myusername";
$password = "mypassword";
$db = new PDO($dsn, $username, $password);

参考サイト
PDO_SQLSRV DSN(PHP Manual)

2014年2月17日月曜日

クラウド型のIDE「Nitrous.IO」

クラウド型のIDENitrous.IO」を試してみました。感覚としては、ローカルのテストサーバーで開発したものをクラウドへデプロイするのではなく、クラウドで開発から、プログラムソースから、何でも管理してしまおうという試みのようです。ブラウザ一つで、何でも事足りてしまいます。これが今後の流れなんだろうなと、新鮮な感覚を味わいました。今回は、PHPで試してみましたが、Ruby on RailsNode.jsPython-DjangoGoと幅広く網羅されています。とにかく、一度、試す価値あり。



参考サイト
Getting Started with Laravel on Nitrous.io(SitePoint)

2014年2月16日日曜日

既存のウェブサイトをMarkdown形式の記述に変換してくれる「Heck Yes Markdown」

既存のウェブサイトをMarkdown形式の記述に変換してくれる「Heck Yes Markdown」 URLを入力して、「GO」のボタンをクリックすると、既存のHTML記述のページをMarkdown形式の記述に変換して結果を表示してくれます。APIも準備されており、至れり尽くせり。

2014年2月15日土曜日

GoogleのText to Speech API(translate_tts)

GoogleのText to Speech API(translate_tts)なるものを見つけました。Google翻訳の機能の一部? これ、面白いです。URLに文章を指定するだけで、音声で読み上げてくれます。アイディア次第で、面白いサービスができそうです。

Hello World(アメリカ英語)
http://translate.google.com/translate_tts?q=hello+world&tl=en_us

Hello World(イギリス英語)
http://translate.google.com/translate_tts?q=hello+world&tl=en_gb

Hello World(オーストラリア英語)
http://translate.google.com/translate_tts?q=hello+world&tl=en_au

こんにちは、世界(日本語)
http://translate.google.com/translate_tts?tl=ja&q=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E4%B8%96%E7%95%8C

2014年2月14日金曜日

Limonadeのブログサンプル(limonade-blog-example)

PHPマイクロフレームワーク「Limonade」のブログサンプル(limonade-blog-example)を見つけました。一体どこを探していたのか、今ごろです。見つけるのが遅すぎました(笑)。Limonadeの作者によるもののようです。モデルの書き方など、参考になります。

2014年2月13日木曜日

PHPのORM「Idiorm & Paris」のParisをLimonadeで試す

PHPのORMIdiorm & Paris(1.4.2)」のParisLimonadeで試してみました。PHP 5.2から利用可能です。完成度が高く、本当に便利。つい、凝ったものを作りたくなってしまいます(笑)。

テーブル名「prefix_blog」で、プライマリーキーが「prefix_id」の場合
class Blogs extends Model {
  public static $_table = 'prefix_blog';
  public static $_id_column = 'prefix_id';
}

$blogs = Model::factory('blogs')->order_by_desc('created_at')->limit(10)->find_array();

// PHP 5.3からは、こちらでも取得可。
$blogs = Blogs::order_by_desc('created_at')->limit(10)->find_array();


参考サイト
PHP用のORM「Idiorm & Paris」をLimonadeに組み込む

2014年2月12日水曜日

PHP用のORM「Idiorm & Paris」をLimonadeに組み込む

PHP用のORM(object-relational mapper)Idiorm & Paris(1.4.2)」をLimonadeに組み込んでみました。PHP 5.2.0以上で使えます。これ良いです。今回は、Idiormしか試せませんでしたが、Ruby on RailsActive Recordのように利用できるParisも用意されています。素晴らしい。find_many でオブジェクト、find_arrayで配列としてデータを取得できます。

// オブジェクトで取得
$blogs = ORM::for_table('blogs')->order_by_desc('created_at')->limit(5)->offset(10)->find_many();

// 配列で取得
$blogs = ORM::for_table('blogs')->order_by_desc('created_at')->limit(5)->offset(10)->find_array();


参考サイト
limonade + idiorm でさわやかコーディングのメモ(もしもワークスさん)
PHPでちょっとしたものを作るときに便利な軽量フレームワークと軽量ORM(書き置き。さん)
Idiorm documentation

2014年2月11日火曜日

PHPクラウドの「PHPer.jp」にLimonadeを設定

PHPクラウドの「PHPer.jp」にPHPマイクロフレームワークのLimonadeを設定してみました。快適です。簡易的なブログを作ってみたのですが、シンプルで軽く、実に良いのです(笑)。こちらに、ブログを引っ越したい気分。素晴らしいサーバー環境を提供してくれているPHPer.jpさんに、心から感謝。

2014年2月10日月曜日

PHPクラウドPaaSの「PHPer.jp」

PHPクラウドPaaSの「PHPer.jp」を試してみました。何を思ったのか、今ごろです(笑)。LAMP環境を無料で提供してくれているありがたいサービス。phperコマンドをインストールすると、より便利に利用できます。素晴らしい。我が「実験プロジェクト」でもお世話になろうと思います。

gem install phper


2014年2月9日日曜日

ワードの文章をシンプルなHTMLに変換してくれる「Convert Word Documents to Clean HTML」

ワードの文章をシンプルなHTMLに変換してくれる「Convert Word Documents to Clean HTML」 ワードで作成した文章をそのままHTMLにエクスポートすると、ものすごく複雑なHTMLを吐き出ますが、その複雑なHTMLを単純なHTMLに置き換えてくれるサービスです。日本語も問題なく利用可能です。

2014年2月8日土曜日

PHPのMarkdownパーサー「Parsedown」

PHPのMarkdownパーサー「Parsedown」を組み込んでみました。composerのパッケージとしてもインストールできるようですが、今回は、単純にダウンロードして、Parsedown.phpをインクルードして利用することに。「tests」のリンクをクリックすると、具体的な記述方法が紹介されていますので、この例を見ながら書き込めば、すぐにコツを掴めると思います。軽くて快適。

書き込みの例
見出し
# h1
## h2
### h3

コードブロック
```php
echo 'language identifier';
```

リンク
[reference link][1]
[1]: http://example.com

URLは自動でリンク
http://example.com

画像の表示
![Markdown Logo][image]
[image]: /md.png

2014年2月7日金曜日

PHPのマイクロフレームワーク「Limonade」で、redirectできないときの対処

PHPのマイクロフレームワーク「Limonade」で、redirectできないときの対処です。IPアドレスのURLを指定してリダイレクトすると、Apacheの場合「The requested URL was not found on this server.」と表示されてストップしてしまいます。filter_var_url 部分で、URLチェックしていることが原因らしい。確かに、正規表現のチェック内容を見ると、IPアドレスのURLは考慮されていないようです。というわけで、チェックを外せば、動作するようになります。

Not Foundエラーが表示される
redirect("http://192.168.1.1/")
/lib/limonade.php
function filter_var_url($str)
{
  $regexp = '@^https?://([-[:alnum:]]+\.)+[a-zA-Z]{2,6}(:[0-9]+)?(.*)?$@';
  $options = array( "options" => array("regexp" => $regexp ));
  // return preg_match($regexp, $str) ? $str : false;
  ↓↓↓
  return preg_match($regexp, $str) ? $str : true;
}
参考サイト
limonadeでのリダイレクト失敗の原因を探る(もしもワークスさん)

2014年2月6日木曜日

PHPのマイクロフレームワーク「Limonade」で、フラッシュメッセージの表示

PHPのマイクロフレームワーク「Limonade」で、フラッシュメッセージの表示です。flashflash_now が用意されていて、flash がよくある次のページで表示してくれるフラッシュメッセージ。flash_now が、現在表示しているページ内で表示してくれるフラッシュメッセージ。flash_now の方は、エラーメッセージ等を表示するのに便利に使えます。これ気に入りました。

// リダイレクト後に表示
flash("success", "正常に処理出来ましたしました。");

// 現在表示しているページ内で表示
flash_now("error", "入力に誤りがあります。");
テンプレート(flash も、flash_now も、同じ変数の $flash で表示可能です。)
<?php if(!empty($flash["success"])){ ?>
  <?php echo $flash["success"] ?>
<?php } ?>
<?php if(!empty($flash["error"])){ ?>
  <?php echo $flash["error"] ?>
<?php } ?>

2014年2月5日水曜日

PHPマイクロフレームワーク「Limonade」のオプション設定

PHPマイクロフレームワーク「Limonade」のオプション設定です。ディフォルト状態だと、インストールしたディレクトリが基本設定されています。

ホームへリダイレクト
redirect(option("base_uri"));
テンプレートでのリンク(上は相対パス、下がフルパス)
<a href="<?php echo option("base_path"); ?>">ホーム</a>

<a href="<?php echo url_for("/"); ?>">ホーム</a>

2014年2月4日火曜日

PHPのマイクロフレームワーク「Limonade」でルーティング

PHPのマイクロフレームワーク「Limonade」でルーティングです。POSTすると、404エラー画面が表示されるので、しばらく悩んでしまいました。dispatch とは別に、dispatch_post がありました。「ドキュメントはよく読むべし」です。

dispatch('/news/create', 'news_get_function');
  function news_get_function()
  {

  }

dispatch_post('/news/save', 'news_post_function'); 
  function news_post_function()
  {

  }

2014年2月3日月曜日

PHPのマイクロフレームワーク「Limonade」

PHPのマイクロフレームワーク「Limonade」を試すことに。サーバー環境が、PHP 5.1.6でも利用できるものを探していたら、Limonadeに行き当たりました。ボリュームが小さいので、ちょっとしたサイトを作成するには、良いと思います。ソースを追いやすいし、フレームワークがどのような動きをしているのかを理解するにも、良い教材になると思います。



参考サイト
limonade(GitHub)

2014年2月2日日曜日

Linuxのコマンドサンプル集「Linux Commands Examples」

Linuxのコマンドサンプル集「Linux Commands Examples」 具体的な例がいくつか示されているので、非常に参考になります。既に知っているコマンドでも、軽い気持ちで眺めてみると、新たな発見があるかもしれません。

2014年2月1日土曜日

Evernoteをブログ代わりにして、記事を公開できる「Postach.io」

Evernoteをブログ代わりにして、記事を公開できる「Postach.io」を試してみました。これ面白いです。Dropboxにも似たようなサービスを見かけますが、こちらは操作性が洗練されていて、しかも、ものすごくシンプル。情報をメモしておくというブログ本来のカタチを見事に具現化していると言えると思います。可能性大。