シバン(shebang)をやっと理解した

こんにちは。

composerで提供されているコマンドの中身を見ていたら

と書かれており、そのあとの行にはPHPのコードが。

のように、phpコマンドを使わずに直接PHPのコードが実行出来るようになっていました
この仕組みは シバン(shebang) というらしいです

シバン自体はBashのスクリプトで似たようなものを何度も見たことがあったのですが、おまじない的に捉えており意味を深く考えていませんでした
拡張子や実行コマンドに縛られず、何の言語で書いても良い実行可能なコードを作るのに適しているのでは??
と疑問が湧いたので、調べて理解したものを残しておきます

Continue Reading…

5分で作るPHPフレームワーク(技術調査、設計編)

こんにちは
突然ですが、PHPのフレームワークを作ろうと思います。

大層なタイトルを掲げてしまいましたが、制作自体は全く5分ではありません。けっこう時間かかりました
じっくり時間を書けて調査した結果、記事に倣って書けば5分くらいで完成する、という意味での5分です

記事は2本立ての構成で、今回は技術選定・設計編です。

Continue Reading…

昨今のPHPのテンプレートエンジンについて調べて共通インタフェースを作った

こんにちは。

突然ですが、FuelPHPのビューを書く場合、デフォルトでは生PHP + Viewクラスの構成だと思います。
Viewクラス自体がエスケープ機構を備えているのでXSSは塞げるんですが、生のPHPで書くとisset地獄だったりifが増えたりと不便なところが多く、テンプレートエンジン使いたいと思うことが多々あります。

そんなFuelPHPにはparserというパッケージがあるので、設定を変更すればテンプレートエンジンが簡単に利用できます。

fuelphpでhaml導入したった – ド忘れ防止雑記帳

が、しかし 対応しているテンプレートエンジンの一覧を見てみると、どれも古い。とにかく古い。
良く言えば枯れてるんですが、調べてみると メンテナンスされてないだろこれ… という感じのものが結構ありました。

ということで自分の知見をアップデートするため昨今のテンプレートエンジンについて調べつつ、
parserパッケージのように複数テンプレートエンジンを同一のインタフェースで扱える仕組みを作ってみました。

Continue Reading…

HTML5のConstraint validationでライブラリ要らずならくらくバリデーション

こんにちは。
Hamee Advent Calendar 2015 8日目の記事です。

Chromeの開発者ツールでHTMLの要素を眺めていたらvalidityという属性を見つけました
validityプロパティの中にはpatternMismatch, tooLongなどそれっぽいプロパティとbool値。

調べてみたら フォームのバリデーションはこれだけで十分なのでは
と思うほどに便利だったので詳しい機能の紹介と、より便利に扱う小ネタの紹介です。

Continue Reading…

Herokuでのログ収集と監視について調べてみた

こんにちは。
Goに入門してからはHerokuにGoのアプリをデプロイするようになり、それをきっかけにHerokuについて調べる機会が多くなりました。

今回はHerokuでログ収集+監視をする方法について調べてみました。
単にログを見るだけならheroku logsコマンドで十分なのですが、特定のログが吐かれた時や、高負荷時などを検知して携帯に通知できるような仕組みを探してみたので備忘録を残します。 Continue Reading…

Goに入門してRedis+PostgresなアプリをHerokuにデプロイするまで

Goに入門してRedis+PostgresなアプリをHerokuにデプロイするまで

お久しぶりです。Goの門を叩いてみました

Goはマスコットの謎生物が可愛いですね。Gopherというらしいです。
どこかで見たことあると思ったら、くまのプ●さんにゴーファーというそのままなキャラクターがいましたね。

他の言語とはソースコードの構成やら書き方やら結構違っていて馴染めなかったのですが、なんとかことはじめの記事くらいは書ける程度にはなれたので、備忘録として残します。

Goの環境構築から、Ginという軽量フレームワークでRedisとPostgreSQLを使ったデモアプリを作って、Herokuにデプロイするところまでの備忘録です。 少しでもGoに入門する人の助けになれば幸いです。

Continue Reading…

FuelPHPでInnoDBの全文検索を利用してみる

こんにちは。お久しぶりの更新です。

「入力内容に対する類似テキストの検索」を実装する機会があったので、FuelPHPでInnoDBの全文検索を利用してみました。
とはいえFuel自体には全文検索をサポートする操作は特に無いので、だいたい自前で書きました。

手間無くそこそこの精度が出せたので、導入から使用例までメモとして残します。

Continue Reading…