自分のライブラリを Travis CI でのユニットテストに対応しましたが、このたびカバレッジレポートを公開できるサービス Coveralls にも対応したメモです。 恥ずかしながらこれまでカバレッジレポートの意義が理解できてなかったんですが、 php-coveralls を使えば簡単に Travis CI から Coveralls にレポートを転送して可視化してくれるようなので、試しにやってみました。 Coveralls への登録 CoverallsへのサインインはGitHubアカウントがあればOK。 入るとGitHubのリポジトリ一覧が表示されるので、Coverallsへのサービスフックを有効にしたいリポジトリのトグルスイッチを「ON」に設定します。 GitHubへのAPIトークンの設定なども、自動でやってくれます。 以下、 Volcanus_Routing の例 PHPUnit設定フ
macに初めから入ってるphpは5.3。 $ php -v PHP 5.3.15 with Suhosin-Patch (cli) (built: Aug 28 2012 18:19:13) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies でも最近5.5出ちゃったし、と思ったので phpを5.5にあげた。 この時にphpenvとかphp-versionとかhomebrew使おうぜとか いろんな選択肢があることはよーくわかったんだが、 正直どれもめんどくさそうだったので、タイトルにつられて次のサイトを参考にした。 Macで一番簡単にPHP5.4をインストールする方法 - Shin x blog いやでも、このブログのタイトル通りめちゃめちゃ簡
PHPカンファレンス2013で「PHPアプリケーションの継続的アップデート」というタイトルで話をしてきました。僕は、いまでこそPerlやRubyの人みたいな感じですが、もともとはPHPからプログラミングを始めたので、PHPカンファレンスで話すというのは、感慨深いものでした。「ぺちぺ」「ぺちぱー」という言葉の創始者でもありますし。 トークの内容は、最近仕事でやってきたことのまとめみたいな感じです。PHPといいながら、2/3ぐらいはPHPには直接関係ないことばかりでしたが。トーク中でもいったように、言語そのものというよりは、システムの複雑性をいかに減らすかが「継続的な」取り組みには必要なので、いたしかたありません。それなりに面白いものになっていると思います。 スライドは以下。 これまで『WEB+DB PRESS Vol.75』『入門Puppet - Automate Your Infrastr
How do you measure the quality of your code? Performance and testing are just one aspect of code, in order to meet deadlines and make maintenance quicker you also need your code to be readable, decoupled and generally easier to comprehend and work with. This talk will go over tips and exercises to help you identify trouble areas, refactor them and train you to write better code in future projects.
ジュンヤです。 5分でわかる PHP で書かれた Web サービスの国際化 に続いて gettext の話。 以下、英語で「Hello」、日本語で「こんにちは」と表示する簡単なプログラム hello.php です。 <?php $language = 'en'; if (ereg('ja', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $language = 'ja_JP'; } // Set locale and default domain. putenv("LANG=$language"); setlocale(LC_ALL, $language); $domain = 'messages'; bindtextdomain($domain, "/var/www/html/locale"); textdomain($domain); // Output e
去年PHPで実装するWebSocketサーバーについて書きましたが、ブラウザのバージョンが上がり、内容が古くなってきたので、2012年1月2日今現在のブラウザで動くよう改めて書いてみようと思います。 前回とブラウザ以外は変わりませんが、今回はこんな環境で動かします。 さくらのVPS CentOS PHP 5.3.6 Chrome 17.0.942.0 dev-m Firefox 8.0 release channel Safari 5.0.2 iPhoneのmobile Safari iOS5.0.1 ※サーバー側のWebsocket用ポート開放を忘れずに。 今回の最終目標は上記ブラウザすべてで動作するリアルタイムお絵かきツールを作る事にします。 まずは動かしてみる 手順 ライブラリなどを配置してひとまずデモ用のチャットアプリケーションを動かしてみます。こんな手順で進めていきます。 Web
森川です。恥ずかしながらmemcacheを使うくらいならtmpfsとかMySQLのHEAPテーブルを使えばいいじゃん、などと思っていたのですが、今回簡単なベンチマークをやってみて心を入れ替えました。 はい、memcacheは偉大です。すごく速いです。 テストとして10万件のデータをINSERTして、そこから該当するデータを10万件取得します。まずはmemcacheを使用した場合です。 今回はdagレポジトリのRPM版memcachedとソースからインストールしたPHP 5.2.3を使用してpecl installでmemcacheエクステンションをインストールしています。memcachedの設定はデフォルトのままです。 # yum install memcached # pecl install memcache # vi /usr/local/lib/php.ini extension=
今ちょうどPHPでの開発案件があって、CakePHPなどのWAFを使うほどの規模の案件じゃないんだけど、生PHPでプログラムを作成して無秩序なプログラムができるのは問題ですよねということで、いわゆるPHP製の小規模WAFを探してみた際に見つけたのがlimonade。 公式サイトによるとRuby製のSinatraやCampingなどからインスパイアされたフレームワークらしい。 以下、学習テストを兼ねて簡単に触ってみます。 githubからv0.4.6のzip版をダウンロード。他にもtgz版があったり、gitで落としてきたりが可能です。 公式サイトでは以降、 libフォルダを自分のプロジェクトに入てね。 自分のアプリケーションのメインとなるphpファイルにrequire_once vendors/limonade.php (or require_once lib/limonade.php)と書
スタック(要は配列)の一番後ろに値を追加するのは、push という操作になる。Perl ではpush という関数があるし、PHP ではarray_push という関数がある。ところが、Perl とPHP ではこれらの関数の使い方、挙動が若干異なるので、簡単にまとめておく。push 以外の配列操作関数(pop, shift, unshift)もほとんど同じ考え方なので、これが参考になると思う。 array1: a, b, c array2: d, e, fこういう3つの要素を持つ、1次元の2つの配列があるとする。これらの配列を用いて、2次元の配列を作りたいときにPerl, PHP ではそれぞれどのように書けばいいのだろうか。 Perl Perl では厳密には多次元配列を扱うことはできない。配列の要素に、配列のリファレンス(これ自体はスカラー値)を持たせることで、擬似的に多次元配列を表現する。
facebookが日本でもだいぶ認知されてきました。ユーザ数も増えてきて、facebookユーザを自分のアプリに取り込んでみたいと思っている人もいると思います。そこで、今回は、CakePHPでfacebookにconnectして、wallに投稿する機能を実装してみました。 実装する上でやったこと。 1.facebookデベロッパー登録。 2.facebookアプリ登録。 3.facebookのphpのsdkをダウンロードして配置する。場所はapp/vendors/facebook。facebookディレクトリは自分で作成しておく。 4.facebook-php-sdkのbase_facebook.phpをすこしいじる。 5.コードを書く。 今回は3〜5の手順を説明します。1と2に関しては既に文献がたくさんありますから。 今回は、以下のサイトを参考にさせていただきました。 facebook
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security In
このウェブサイトは販売用です! hansode.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、hansode.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く