タグ

ブックマーク / www.1x1.jp (15)

  • Composer を倍速にした、たった 1 行のコード

    まだ 12 月早々ですが、PHP ユーザに素敵なクリスマスプレゼントが届きました。 いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 これは日国内だけでなく、海外のユーザも同じで、皆がしょうがないと思いつつも、小さな不満を持ちながら使っていました。 そんな、ある�日、わずか 1 行のコードが追加されたことで、実行時間が、わずか半分になるという現象が起こりました。 Composer を倍速にするには? composer self-update を実行して、最新版にするだけです。 $ composer self-update 実際の効果 このコードの効果を見てみましょう。composer コマンドの --profile オプションを使って、実行時間と使用メモリ量を出力します。 $ composer update --dry-run

    ryster
    ryster 2014/12/04
  • 「Ansibleではじめるサーバ作業の自動化」を発表してきました

    2014/10/11 に開催された PHPカンファレンス にて、「Ansibleではじめるサーバ作業の自動化」という発表を行ってきました。 午前中のセッションだったのですが、多くの方にご参加頂き、ありがとうございました。 発表資料 発表資料をslideshareに公開しました。 今回は、これからAnsibleを使ってみようという方を対象として、Ansibleの基的な内容をメインにしました。また、実際に私自身がPHPプロジェクトで採用した際のユースケースを紹介しています。 発表後、「Ansibleをやってみます!」という意見を頂けたので、このセッションの目的は達成することができました:D このセッションのフィードバックは、joind.in にて受けて付けています。すでにいくつか好評価を頂いていて安心していますが、もし良かったらお願いします。 https://joind.in/talk/vi

  • Twilio と ChatWork を使って、電話のメッセージをチャットで受け取る

    Shin x blog Advent Calendar 2013 の 18 日目です。 ChatWork API のプレビュートークンを頂いたので、早速使ってみました。 今回作ったのは、電話をかけて音声で伝えたい人と、電話はかけて欲しくない、チャットで要件伝えて下さい、という人を繋ぐものです。 Twilio と ChatWork を使って留守番電話 これは、Twilio と ChatWork を使い、電話がかかってきたら、チャットで着信を知り、録音された音声が聞けるというものです。いわば留守番電話をチャットから聞くという感じですね。 全体の流れは下記の図になります。 ソースコードは GitHub にて公開しています。 shin1x1/twilio-chatwork-voice-message Twilio との連携 まず、かかってきた電話を Twilio で受けます。Twilio では、着

  • nginx で Too many open files エラーに対処する

    nginx では1プロセスで多くのアクセスを捌くので、アクセス数が増えるとToo many open filesエラーが発生することがあります。 ここでは対処法と調べた内容を残しておきます。 1. fs.file-max の確認 まず fs.file-max の値を確認しておきます。fs.file-max は、システム全体でのファイルディスクリプタの上限数となっており、この値以上のファイルディスクリプタは確保することができません。 現在設定されている値は以下で確認できます。 $ cat /proc/sys/fs/file-max 167488 通常は上記の値で問題無いと思いますが、もしこの値が不足しているようなら設定値を更新します。 $ sudo -s # echo 320000 > /proc/sys/fs/file-max # cat /proc/sys/fs/file-max 320

    ryster
    ryster 2013/02/14
  • Postfix + Cyrus SASL で SMTP AUTH を設定した

    CentOS5.8 で Postfix + Cyrus SASL で SMTP AUTH を設定したのでメモです。 0. 環境確認 Postfix はあらかじめインストールされていました。 $ sudo rpm -qa | grep postfix postfix-2.3.3-2.3.el5_6 Postfix でサポートしている認証方法を確認します。。今回は cyrus を使うので ok。POPとアカウントを共有するなら dovecot を使います。 $ /usr/sbin/postconf -a cyrus dovecot Cyrus SASL パッケージは以下がインストールされています。 $ sudo rpm -qa | grep cyrus-sasl cyrus-sasl-lib-2.1.22-7.el5_8.1 cyrus-sasl-2.1.22-7.el5_8.1 1. Cyr

  • スタートアップがWebサービスのMVPを作るのに役立つ9個のTips

    WebサービスのMVP(必要最小限の製品)を作るのに参考になるTipsがあったのでご紹介。 via How To Create A Minimum Viable Product | TechCrunch 1. Facebook 会員情報を一から作らずに Facebook を利用しましょう。 Facebookユーザでない人をどうするか?という指摘もありますが、元エントリにある「いまどきFacebook使っていない人は保守的だから、(自分たちが作っている)新しいWebアプリは使わないだろう。」という考え方は一理ある気がします。 2. Twitter Bootstrap 手間をかけずにそれなりの見た目になり、レスポンシブにもなるので、素早くサービスを作るために活用したいですね。 Bootstrap 3. クラウド 最近は使うのが当たり前になってきたクラウドです。初期費用無料で、従量課金なのは先が

    スタートアップがWebサービスのMVPを作るのに役立つ9個のTips
  • PHPで認証して、mod_xsendfileでファイルを出力する

    ApacheでX-Sendfileが利用できるmod_xsendfileをPHPと連携して使ってみました。 PHPで認証してから、許可したユーザのみにファイルを出力する、という処理を実装する場合、ファイルはdocument_root外に配置しておいて、readfile()やfpassthru()でファイルを出力するという手法を良く使います。 この方法でも問題無い場合が多いのですが、容量の大きいファイルを出力する際は思ったようなスピードが出ない時があります。 そのような時はmod_xsendfileを使って、ファイル出力の部分をApacheに任せてしまう方法が有効です。 ここでは2010/11/12時点の最新版であるmod_xsendfile 0.12を対象としています。またインストール環境はRHEL、CentOSを想定しています。 mod_xsendfileのインストール mod_xsen

  • Macに移行してやっと脱Officeできた4つのツール

    Mac で資料作成(システム仕様書など)に使うツールがようやく固まってきました。 Mac に移行してきて早 2 年、開発環境はすんなり移行できたのですが、なかなか移行ができなかったのが資料作成ツールでした。 というのも Windows では定番の Office(Word / Excel / PowerPoint) と Visio という強力なツールを使っていたため、Mac に移行した後も、結局、資料作成する時は vmware に入れた Windows XP を起動していました。 せっかく Mac に移行したのだから Mac 環境で使えるツールを使いこなしたいものです。あれやこれやと試してはいたのですが、結局決まらず悶々としていたある日、Google+でこんな質問をしました。 多くのコメントを頂いて、色々なツールを試した結果、ようやく Mac 上で資料作成できる環境が整ってきました。どれも便

    Macに移行してやっと脱Officeできた4つのツール
    ryster
    ryster 2011/12/15
  • あらためてPHP5.3 – 第2回関西PHP勉強会

    11/24に大阪市内で第2回関西PHP勉強会を開催しました。 平日夜の開催ながら多くの方に集まって頂き、当にありがとうございました。 今回は「あらためて5.3、こんにちは5.4」をテーマに、PHP5.3, 5.4に関するセッションが2つ、ライトニングトークが飛び入り含めて7つとなり、終了時間ギリギリまでめいいっぱいの内容となりました。 「あらためてPHP5.3」ということで、PHP5.3ならではの機能について発表してきました。 登場からもう2年半経つPHP5.3ですが、環境としては使いつつも、5.3ならではの機能を使っている人はまだ少ないように感じます。そこで5.3の代表的な機能である「namespace」「クロージャ」「LSB」を取り上げました。 とは言うものの、実は「namespace」に関する内容がほとんどになっています。実は資料を作っている段階では namespace だけで発表

    ryster
    ryster 2011/12/01
  • FizzBuzzではじめるテスト - 第1回関西PHP勉強会

    7/22に大阪市内で第1回関西PHP勉強会を開催しました。 4月にPHPカンファレンス関西を開催して以来、3ヶ月ぶりにPHPの勉強会を開催しました。 参加頂いたみなさんありがとうございました。また発表を快く引き受けていただいた皆さん、当にありがとうございました。 イベント名に「第1回」と付けたのは、今後も継続して開催していきたいという気持ちの表れです。PHPを軸に色々なテーマで開催していきたいと思うので今後もよろしくお願いします。 スイーツタイム 勉強会をやるときは、休憩時間にみんなでべるおやつを用意するのですが、今回は @msng さんに色とりどりのマカロンを用意してもらいました。見た目も鮮やかですし、適度な甘さで好評でしたね。(たしかに美味しかったです!) 昨今「スイーツタイム」が話題になっていますが、会場で飲が可能なら実施することに賛成です。 単純に勉強会で発表を聞くだけでも疲

    ryster
    ryster 2011/07/25
  • 現状のPHP環境はそのままで、PHP 5.4 を試す

    現状のPHPはそのままで、新しい(別の)バージョンをPHP試す方法です。 PHP 5.4.0 alpha がリリースされました。Traits や Array dereferencing support など試してみたいですけど、さすがにメインのPHP環境を変えるのは早いですね。 そこで新しいPHPをビルドして、インストールはしない方法で試してみました。 PHP 5.4.0 alpha をビルド qa.php.netから、PHPのソースをダウンロードします。 $ wget http://downloads.php.net/stas/php-5.4.0alpha1.tar.bz2 展開して、configureして、makeします。とりあえずコンパイルオプションはナシで。 $ tar jxvf php-5.4.0alpha1.tar.bz2 $ cd php-5.4.0alpha1 $ ./co

    ryster
    ryster 2011/06/30
  • コードカバレッジ測定ツールPHP_CodeCoverageをCakePHPで使ってみた

    PHP_CodeCoverageで、CakePHPのユニットテストのコードカバレッジを表示してみました。 CakePHP標準のテストランナー(test.php)でも単一のテストケースについてはコードカバレッジが表示できるのですが、All tests の時はコードカバレッジが表示されません(All testsでも表示されることもあるようです。hiromi さん、ありがとうございます)。 そこでPHP_CodeCoverageを使って、All testsのコードカバレッジを表示してみました。 1. PHP_CodeCoverage インストール PHP_CodeCoverageは、PHPUnitでおなじみのSebastian Bergmannが開発した、コードカバレッジやCRAPを計測、表示するツールです。 PEARパッケージで提供されているので、pear コマンドでインストールします。 20

    ryster
    ryster 2011/06/16
  • Webシステム開発に便利な7つのツール

    Webシステム開発で使っている便利なツールをあげてみました。 あらためて社内の開発環境を見直す機会があったので、使っているツールを並べてみました。こうして見ると色々なツールを使って開発をしていますね。わりと定番系なものが多いですが、良かったら参考にどうぞ。 1. Apache / PostgreSQL / PHP Mac OS X に MacPorts でインストールしたApache / PostgreSQL / PHP 環境を使って開発をしています。 PHPは5.3、PostgreSQLは8.4 or 9.0です。 ただ旧バージョンのPHPを使ったり、Linux でなければ動かないモジュールを使うこともあるので、その際は社内のCentOSサーバにSSHで入って開発したりもします。 Vimを使ってるので、SSHで入ればどのサーバでも開発できるのは利点ですね。 Mac を使い出して、しばらく

    Webシステム開発に便利な7つのツール
  • PHP E_STRICTで表示されるエラーメッセージを調べてみた

    年内のPHP4サポート終了に向けて、PHP5への移行が進む昨今です。 PHP5で推奨されていないスクリプトをチェックするのがE_STRICTです。E_STRICTが有効なのは分かっていたのですが、実際にどんなスクリプトがE_STRICTに引っかかるのかが、あやふやでした。 そこでE_STRICTで出力されるメッセージをPHPのソースから抜き出してみました。どのようなスクリプトがE_STRICTに引っかかるのか(引っかからないか)のヒントになればと思います。 ちなみにE_STRICTの活用方法としてマニュアルには[-l]オプションによるチェックが書かれていますが、スクリプトを実行しないと発生しないE_STRICTもあるので、実際には実行して確認する方が良いです。 1. Accessing static property %s::$%s as non static インスタンス変数をクラス変数

  • PHPソースからドキュメントを生成するツール

    PHPソースからドキュメントを生成する主要な3ツールを試してみました。どのツールもそれほど深くは調べていないのでインストール+アルファ程度の設定変更で試しています。 環境はCentOS4.4+PHP5.2.3です。 phpDocumentor PHPでできたツールです。pearコマンドでインストールできることもあって、PHPのドキュメントジェネレータとして人気があります。 インストール pearコマンドでインストールできます。 $ pear install --alldeps phpdocumentor ドキュメント生成 phpdocコマンドで生成します。とりあえずドキュメントを生成するだけなら設定ファイルの変更は不要です。 ./src 以下のPHPファイルを対象に ./doc 以下にドキュメントを生成 $ phpdoc -t ./doc -d ./src [参考サイト] phpDocum

    ryster
    ryster 2007/10/14
  • 1