サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.omnioo.com
Twigはプレーンなphpより速いんじゃないかと思うぐらい速いです。symfony2が速いのかもしれないけど、感覚的にかなり高速です。Smartyより全然いいのでTemplate使う際にはこっちの方を使った方がいいです。Smartyもっさりしてます。 Twigの機能はCoderさんが使うような機能は殆ど備えていてPHP初心者だったらTwigで充分という感じがしないでもないようなものになっています。感触としてはMTタグとかと似ています。MTタグって計算とかできたりif文使えたりとかでなんか機能が二重三重になっているんですね。MCVっていうのはそういうもんかと。 コメントアウト /**/と同じ感じで複数行コメントアウトできます。 {# コメントアウト #} {# コメントアウト コメントアウト コメントアウト コメントアウト コメントアウト #} PHPの変数をテンプレート側で使う 単品の変数
最近の画像加工とかで「あ、なんじゃこりゃ!」系のライブラリーがいっぱい入っているのがOpenCVです。顔認識とか顔認証とかが有名ですかね。 http://ja.wikipedia.org/wiki/OpenCV http://opencv.jp/cookbook/opencv_img.html#id46 関連ライブラリーやツールのインストール # yum -y install cmake # yum -y install cmake.x86_64 どっちでもいいっぽい。 ライブラリー関連もいろいろ入れる。ここら辺は既に入っていたり入っていなかったりなので、必要そうなものをとりあえず入れてみるといった具合です。 # yum --setopt=group_package_types=optional groupinstall Base # yum groupinstall "Developme
mailコマンドの使い勝手がなんかちがっていたり何なりでちょっと私も詳しいところはよくわからないんですが、有名なmailutilsよりは、heirloom-mailxの方が使い勝手が良い感じがします。しかし重いシステムでもないので3ついっぺんにインストールしておいても何の問題もないかもです。 mailutils (mailxも入る) heirloom-mailx bsd-mailx 3つをインストールすると以下のコマンでmailコマンドで使用するパッケージを選択できるようになります。好きなものの番号を選んで設定してください。 # update-alternatives --config mailx # update-alternatives --config mailx There are 3 choices for the alternative mailx (providing /us
Ubuntu/DebianのApache2は他のLinuxディストリビューションと比べてちょっと癖があるので何なのですが、慣れてくるとUbuntu/Debianの方が遥かに設定が楽でうまいことできています。昔ながらのhttpd.confの設定に慣れている方にはちょっとややこしいです。 Apache2のインストール # apt-get -y install apache2 上記コマンドで全部インストール完了します。ネットワークの設定が終わっていれば、インストールした時点ですでにデフォルトの設定でWebサーバーが立ち上げっています。IPアドレスで接続が可能な場合は、そのIPで、またドメインの設定まで完了している際にはそのドメインで接続してみてください。勿論サーバーマシン自体からだと、http://localhost/でも接続可能です。 http://localhost/ この時点で表示される「
暗号化と復号化の概要 概して復号化が可能な暗号化のアルゴリズムは比較的軟弱でありまして、パスワード認証などは、基本的には不可逆性のアルゴリズムを使った方が懸命です。が、時として可逆性の暗号化が必要になる場合もあるということで、ちょっと紹介。 PHPで可逆性(復号化できる)暗号化では、そもそもの暗号化の関数を、 暗号化で、mcrypt_generic(); 復号化で、mdecrypt_generic(); という2つの関数を使うことになります。これらは、/usr/lib/mcrypt-modesとして実装されているので、あるかどうか一応phpinfo()で確認した方がよいかもです。(libmcrypt-2.4.x以降になります。)また、これら一連の文脈の中で使わないと機能しないので、その流れをメモしておきます。 まず、「暗号化 <=> 復号化」する際の行き来にはkeyを使います。このkeyが
xmlのパースは今までphpのsimple_xmlみたいなものを使ってきましたが、なかなかこれだけでは仕事にならないというのもあって、最近はAjaxで処理してしまうという頻度が非常に増えています。実際はHTMLに吐き出される情報がローカルのみなのでHTMLソース時代には何も書かれていないというのが、問題なんだか問題じゃないんだか、むしろその方がいいのか...って話ですが、いわゆる素人さんにはそんなこと全然関係なくて、ただただ見てくれがいいという問題が最終的な落とし所になるので、Ajaxでいいじゃないかということになります。 $.ajaxメソッドを使う jQueryでxmlをパースするときは、$.ajaxメソッドを使います。かなり楽チンです。このメソッドはjQueryのプラグインみたいに使える(というか、Pluginはメソッドなのですが)ので、適当なオプションを与えるだけでかなり簡単に使えま
saba.omnioo.com
どのプログラム言語もそうですが、現在変数に入っている値を出力してみてなんぼという世界観がありまして、開発中においてもデバックにおいても欠かせないものがあります。jQueryで出力するにはどうするのかというと、Attributes/APIのhtml()やtext()を利用します。Javascriptの開発中ではdocument.write()を使用したりalert()使用したりする方もおられると思いますが、jQueryはDOM要素に直接アクセスできるので非常に楽ちんです。console.log()も使えますが。 htmlタグを表示する 文字列を表示する 既存の文字列の前に表示する 既存の文字列の後に表示する 既存のタグの前に表示する 既存のタグの後ろに表示する スカラー変数を出力する 配列を出力する 連想配列を出力する 文字列などをとりあえず出力する html内に出力領域をタグで確保しておけ
wp_headはアクションフックとして利用するのには便利なものなのでwp_head自体をまるまる削除するのは勿体ないです。しかし自動的にデフォルトで出力される内容が厄介です。SEO的にかなり気をつかってくれていてデフォルトのデータ自体にもかなり有用なものがあるのですが、スタイルシートに至ってはデザインをかなり崩してしまうものも含まれています。ここではwp_head()関数を中心にWPのメタデータを部分的に削除する方法を説明します。 wp_head自体はHTMLのmetaデータを自動的に出力してくれる関数で、アクションフックをひっかける際にはとても有用です。例えば、アーカイブページだけにmetaデータを追加したいとか、逆にトップページのみ何かを削除したいとか追加したいとか、そういう場合にはかなり便利です。自力でそういうコントロールもできるんでしょうけど、wp_headをまるまる削除するのは勿
MTの記事のパーマリンクの設定はいろいろできます。つまりアーカイブマッピングのカスタマイズはいろいろできます。 デフォルトで作成されているアーカイブマッピングは、 %y/%m/%-f → [年]/[月]/[記事名].html ということになっていて、MT本来のブログ記事を書きます仕様になっています。 アーカイブマッピングの作り方の応用としては以下のようなこともできます。 %y/%m/%d/%-f.html → [年]/[月]/[日]/[記事名].html %-c/%-f.html → [カテゴリー]/[記事名].html %-c/%e.html → [カテゴリー]/[記事名].html いろいろな設定が自由にできるので、%-c_%e/index.htmlとか何とか組み合わせてやったりといろいろできます。 このアーカイブマッピングに対応するMTタグもありますので、本家サイトのドキュメントを参
jQueryを使ってチェックボックスにチェックを入れないとサブミット(送信)できないボタンを作る方法です。最近、個人情報保護法関係でやたらとこの機能を使ってまして、何度も何度も使うので面倒なので、コピペで使えるようにしたいと思います。実は私もどっかでコピペしてきたもののような気がします。やり方はあんまり複雑じゃないので、指示通りに設置すればOKです。Sample jQuery読み込みます。 以下のソースを所定の場所に貼ります。 チェックボックスのinputのnameとjQueryのソース内のname要素を合わせます。(*1)コードではprivateかprivateではじまるものにする。 おわり。エラーが出た際(つまり、チェックボックスにチェックが入っていなかった時)のアクションはelse以下に適当に書きます。 <script type="text/javascript" src="/js/
今流行りというか今度当然になるというかWEBサイトのユーザーエージェントの切り替えは実際に作っている人間にとっては非常にややこしい。作業が倍になる上に機能と用途がそもそも違うPCとスマホに対応したページを本気で作るとしたら、それはもう同じサイトにして別物と最初から考えた方がいいです。 ユーザーエージェントの切り分けはJavascriptでもPHPでも.htaccessでも同様の動作が可能ですが、これらの使わけも実はそれぞれの用途によって違ってきてしまいます。殊にレスポンシブデザインではcssだけだとmax-widthみたいなもので呼び出すcssを設定できるけど、レスポンシブデザインにパララックスが組み合わさったりするとwindow幅でもってjsの処理をするとなるとjsの読み込みをjsでコントロールするということになるので、これまたややこしい。document.writeでヘッダに書き込んで
cronが設定されているかどうか確認する $ crontab -l で現在のcron設定が表示されます。cronはユーザー単位で設定されるので、スーパーユーザーの場合はrootがcronを設定することになりますので注意。設定が初めての場合、または何もない場合は、「no crontab for <ユーザー名>」と言われます。 $ crontab -l SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin RAILS_ENV=production # m h dom mon dow command */30 * * * * perl /home/user/public_html/test.pl > /dev/null 2>&1 no cron
Functionとかユーザー定義関数とかサブルーチンとかいろいろな言い方がありますが、あるまとまったルーチンを整理して書いておいて使うときにその都度呼び出すことができるのは大変有意義なことです。というのも無駄な処理や繰り返し処理などをできるだけ避けるという意味では、プログラムにはもう欠かすことのできない機構なのです。 jQueryではJavascriptと同様の定義方法でFunctionが利用できます。というか全く同じです。 Functionで引数を使う 引数がない場合 特に引数が必要ない場合は以下のように書けます。 FunctionのDemo 1 jQueryのコード <script type="text/javascript"> $(function(){ changetext(); //Functionを呼び出す }) func
cssを使ったポジション取りはIE6からIE8、最新のFirefoxやchromeすべてに対応させるという際には結構面倒なことになります。結構ハマるのでその際の注意事項をまとめておきます。 すべてのブラウザーに共通に表示させる際には、 positon:absolute; positon:relative; positon:fixed; の3つとz-indexの関係を理解しておけば大丈夫です。 結果からいうと、最新のFirefoxやchromeはブロックをまたいでz-indexの設定が可能。しかし、IE6からIE7は同レベル(という言い方が正しいのか正しくないのかわかりませんが)のブロック要素でのみz-indexの設定が可能ということになります。つまり、ブロックレベルの階層が違う同士のz-indexの設定が反映されないということです。 ドロップダウンメニューなんかでは、ul il ul
OAuthばっかりです。後にも先にもOAuthな世界ですが、これは何を意味しているのかというと単に情報取得と情報提示のルールのことなのです。で結局はそのやり取りされる情報を同時に扱うことになるので、OAuth認証を学ぶと「認証の方法」以外に「xxxを取得」とか「xxxにアクセス」とかそんな話になって結局何のこと言ってんだかわからんというのがOAuthです。OAuthを真ん中に挟んでその前後の情報のやり取りの方法論自体も含めた全体を含めてOAuthという風にだいたいのところでは解説しています。というのもその前後の情報のやり取りないと説明にならないってのもありますが...。 Facebookのユーザー情報を取得 以下のURLで皆様の公開情報が得られます。これはこの情報をただで自分のWEBアプリに引っ張ってこれることを意味しています。自分のユーザー名部分をいろいろ変えてやってみてください。返り値
MySQLはちゃんと設定していれば文字化けなんて滅多に起こさない(というかこの世界はちゃんと設定してさえいえば文字化けなんて起きない)わけですが、いつもいつも自分がすべて設定したものとは限らないわけで、ダンプとリストアの間で文字化けが起こってしまったります。データ量が多い上に仕事だとかなりビビリますが、基本的なことを覚えてしまえばMySQLに関してはそんなに酷いことにならない模様です。 つい先日の私の経験のみの話しですが、お役に立てばと思います。 以下、データベースを選択した時点でのstatusコマンドの結果の略です。 ダンプ元: ...Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 ... Oh no!例のlat
xmlのパースは今までphpのsimple_xmlみたいなものを使ってきましたが、なかなかこれだけでは仕事にならないというのもあって、最近はAjaxで処理してしまうという頻度が非常に増えています。実際はHTMLに吐き出される情報がローカルのみなのでHTMLソース時代には何も書かれていないというのが、問題なんだか問題じゃないんだか、むしろその方がいいのか...って話ですが、いわゆる素人さんにはそんなこと全然関係なくて、ただただ見てくれがいいという問題が最終的な落とし所になるので、Ajaxでいいじゃないかということになります。 $.ajaxメソッドを使う jQueryでxmlをパースするときは、$.ajaxメソッドを使います。かなり楽チンです。このメソッドはjQueryのプラグインみたいに使える(というか、Pluginはメソッドなのですが)ので、適当なオプションを与えるだけでかなり簡単に使え
Ubuntu/DebianのApache2は他のLinuxディストリビューションと比べてちょっと癖があるので何なのですが、慣れてくるとUbuntu/Debianの方が遥かに設定が楽でうまいことできています。昔ながらのhttpd.confの設定に慣れている方にはちょっとややこしいです。 Apache2のインストール # apt-get -y install apache2上記コマンドで全部インストール完了します。ネットワークの設定が終わっていれば、インストールした時点ですでにデフォルトの設定でWebサーバーが立ち上げっています。IPアドレスで接続が可能な場合は、そのIPで、またドメインの設定まで完了している際にはそのドメインで接続してみてください。勿論サーバーマシン自体からだと、http://localhost/でも接続可能です。 http://localhost/ この時点で表示される
cronが設定されているかどうか確認する $ crontab -l で現在のcron設定が表示されます。cronはユーザー単位で設定されるので、スーパーユーザーの場合はrootがcronを設定することにまりますので注意。設定が初めての場合、または何もない場合は、「no crontab for <ユーザー名>」と言われます。 $ crontab -l SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin RAILS_ENV=production # m h dom mon dow command */30 * * * * perl /home/user/public_html/test.pl > /dev/null 2>&1 「no
むかしの話ですが、サーバーサイドインクルードなんていうものがあってサーバー重くなるので禁止とか何とかよく言っていたものですが、最近はインクルードそのものがハチャメチャな時代になりまして特に「インクルード」なんて言わなくなってきたような気がします。私の仕事の文脈では主によそのライブラリーを読み込む際に「インクルード」するという言い方している時があります。(本当はrequireしていたりするんですが、そういうのはどうでもいい感じです。) WEBページは基本的にはだいたいがインクルードで出来ていると言っても最近hは過言ではないのでインクルードが何を指すのかというのが本当に不可解な時代になってしまいましたが、かつてWEBページの合成といいますか...そういうものにはiframeなんてものを使っていました。検索エンジンなどでインデックスの部分だけ表示されるとかSEO的には駄目とかいろいろあって、ひ
メールをとあるアドレスに送信するとブログの更新ができたり、メール自体をDBに収めたり、メール着信をトリガーにして様々なコマンドを実行できたります。この機能はいろいろなアイディアを生むのにかなり有益な機能です。メールを送信すると監視ログが返ってきたり、メール送信するだけでサーバーの再起動ができたりと何でもできます。 postfixとdovecotの設定が終わってメールの送受信が正しくできる状態だったら、aliasesを使ってメールの転送やメール受信時にcgiを起動させたりできます。メール受信をきかっけにaliasesは起動するので、そこにいろいろな設定をすることでいろいろできます。(しかしpostfixのことがわからないとかなりきつい作業です。) postfixので設定の今一度確認したいところは、alias_maps = hash:/etc/aliasesalias_database = h
セッションの管理方法を設定。WEBサーバーの冗長化の際にはDBで行うのがもっともシンプルでいいっぽい。(今のと […]
このページを最初にブックマークしてみませんか?
『www.omnioo.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く