タグ

ブックマーク / blog.asial.co.jp (20)

  • Standard PHP Libraryの例外クラスを活用しよう!

    はじめに 今回はPHPでの例外の扱い方、特にSPL (Standard PHP Library)の例外クラスの使い方を見ていきます。例外を投げる際には、エラー種別により例外クラスを切り替え、受け取る側での処理も分けます。Javaなどではごく当たり前です。しかし、PHPプログラマの中には、そこまで切り分けない人も意外といます。Exceptionクラスだらけのコードもしばしば見かけます。 SPLの例外クラス アプリケーションによっては、例外クラスを独自に作成することもあります。とはいえ、いきなり例外クラスを複数定義して使いまわすことは、若干ハードルが高いかもしれません。まずは、SPL (Standard PHP Library)の例外クラスを使ってみましょう。SPLでは以下の例外クラスを提供しています。 SPL 例外クラスツリー LogicException (extends Exceptio

    atsushifx
    atsushifx 2013/03/22
  • 自動テストするぞ!tmux + PHPUnit + watchmedoで構築する自動ユニットテスト環境

    自動テストするぞ!tmux + PHPUnit + watchmedoで構築する自動ユニットテスト環境 こんにちは、斉藤です。 前回はテスト駆動開発という開発方法をご紹介しました。 その中では”ユニットテストの実行”を主体に開発を行っていくことをお伝えしました。 今回は(余計な話も交えつつ)そのユニットテストの実行を自動化する方法をご紹介します。 * なぜ自動化? ユニットテストを手動で走らせていませんか? ユニットテストなど、開発プロセスの中で機械がやれることを手動で行うと、そこでスピード(and 効率)がガクッと下がります。機械任せにできるものは、以下のようなタスクがあります。 手動で行うことにしていると、そのプロセスを実行することを忘れてしまったり、「めんどくさいよー」ってなってしまい、実行回数が減ってしまいます。 その結果、品質の低いアプリが生まれますよね・・・。 近年では、それら

    atsushifx
    atsushifx 2013/02/08
  • 続・イラストでわかるgit入門の入門:ブランチを切る

    こんにちは!志田です。 最近ドラクエモンスターズを購入しました。 だいあくまの書・シュプリンガー・メッサーラのパーティでがんがんいってます。 配合を繰り返していると、「この組み合わせ、AにもBにもなるのに!どっちが強くなるんだろう?」ということがたびたび起こります。 そんなときに使えたらいいのが、今回ご説明するブランチです。 前回のあらすじ 前回の記事では、バージョン管理と基的な動作について、ご説明しました。 ・バージョン管理にgitを使おう! ・コミットを繰り返し、キリのいいところでプッシュする ・コミットを重ねることでバージョン管理ができる こんな経験ありませんか みなさん、これまでの経験で、こんな経験ってありませんか? ・直すことによる影響範囲が広いため、もしきちんと改修できて、テストもできたら安定バージョンに含めたい 今まで何度もコミット・プッシュを重ねてきたプロジェクト。現在は

    続・イラストでわかるgit入門の入門:ブランチを切る
    atsushifx
    atsushifx 2012/08/07
  • Monacaネイティブコンポーネント

    こんにちは、斉藤です。 今回は、自社サービスのMonacaについての宣伝と講座です! 先日リリースしたネイティブコンポーネントという機能の使い方についてご説明します。 今回はこんなことをお伝えしようと思います。 ※この記事はMonacaを使ったことがある方向けになりますので、Monacaを使ったことが無い方は、まずはこちらから。 * ネイティブコンポーネントって? Monacaを使ったことのある方なら、ご存知だと思うのですが、MonacaはWebViewベースのアプリケーション開発環境です。 そのため、iPhoneAndroidが独自で持っているUIコンポーネントを使うことが出来ませんでした。 iPhoneを使ったことのある方なら分かると思いますが、あのUIって結構リッチですよね! あれがあるだけでも、アプリって見栄えが良くなりますよね? 僕たちは、あのUIをネイティブコンポーネントと呼

    atsushifx
    atsushifx 2012/08/03
  • 使えるとちょっと便利なSSHのTIPS

    こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続

    使えるとちょっと便利なSSHのTIPS
    atsushifx
    atsushifx 2012/04/05
  • node.jsの開発時に役立つモジュール

    こんにちは、中川です。 今回もPHPには一切触れないで、node.jsについて書いていこうと思います。 主に開発時に便利なモジュールを紹介いたします。 ■今回紹介するもの ・nvm ・node-dev ・node-inspector ■nvm ・https://github.com/creationix/nvm node.jsはまだまだ開発途上ということもあり、頻繁にバージョンアップが行われています。 現在では0.2系のstableバージョンと、0.3系の開発バージョンがあります。 複数のバージョンをインストールして、簡単に切り替えられるようにするために、 開発環境では、nvmを使っています。 セットアップは非常に簡単で、

    node.jsの開発時に役立つモジュール
    atsushifx
    atsushifx 2011/11/12
  • jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる

    久保田です。最近KnockoutJSというJavaScriptフレームワークを勉強しています。 KnouckoutJSはjQueryの上に構築されているフレームワークです。jQueryのみ使うのと比べてKnockoutJSを利用すると、ウェブページ上のインタラクションを圧倒的に簡単に記述できます。この記事では、簡単にKnockoutJSの概要を説明し、KnockoutJSを用いたデモを紹介します。 このフレームワークの特徴としてあるのは、HTML内に宣言的な記述を埋め込むことでインタラクションが実装できることです。HTML5のカスタム属性(data*属性)を用いて、その要素に関する処理を宣言してきます。裏側の処理は、JavaScriptでViewModelを定義し、そこにビューが必要とする値を管理します。 例えば、あるチェックボックスにチェックを入れると下の要素がトグルする簡単な例は、以下

    jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる
    atsushifx
    atsushifx 2011/10/06
  • Gitを使い始めたらやっておきたい便利な設定いろいろ

    こんにちは、中川です。 Gitを使い始めてから、Subversionを使う機会がめっきり減ったこの頃です。 Gitだとローカルだけで簡単に使い始められるのもいいですが、気軽につくれるbranchや、mergeのしやすさがたまりませんね。 インストール直後の状態でも普通に利用できますが、 ちょっとした設定でさらに使いやすくなる方法をご紹介したいと思います。 ※今回ご紹介する内容はいずれも私のMacBook上での動作確認となり、Windows環境は考慮していませんがご容赦ください。 ■ユーザー名とE-mailアドレスの設定 まずは、最初にユーザ名と、メールアドレスを設定してしまいましょう。 $ git config --global user.name "yoshiki" $ git config --global user.email "yoshiki@example.com"

    Gitを使い始めたらやっておきたい便利な設定いろいろ
    atsushifx
    atsushifx 2011/09/02
  • Android開発 C2DMを触ってみよう

    こんにちは熊谷です。 前回は簡単なWEBブラウザを作成しましたが、今回はそこからちょっと離れて、Android 2.2以降から使えるC2DM(Cloud to Device Messaging)でメッセージの受信を試してみたいと思います。 今現在、C2DMを使うには http://code.google.com/intl/ja/android/c2dm/signup.html ここで登録を行う必要があります。登録フォームで必要な情報を入力し送信して、しばらく待っていると登録完了したよ的なメールが送られてきます。 そのメールが来たら早速使ってみましょう。 まずはC2DMを使って端末にメッセージを送信するため、認証Tokenを取得します。 <?php $url = 'https://www.google.com/accounts/ClientLogin'; // signupページで入力したg

    Android開発 C2DMを触ってみよう
    atsushifx
    atsushifx 2011/07/21
  • Nginx+Fastcgi+PHPでサクサク快適サイト構築!

    こんにちは、井川です。連日、猛暑続きですね。熱中症には気を付けて、がんばりましょう。 今回は、軽量なWebサーバであるnginxPHPを組み合わせて使う方法を紹介します。 Webサイトにとって、軽さはとても重要なポイントです。PHPはライトウェイトな言語でありながらも、symfonyなど最近のフレームワーク次第ではWebサイトが重くなってしまいます。特に、Apacheで多くのリクエストを同時に受け付けると、レスポンスを返さなくなることがあります。こうした場合、キャッシュを使ったり、Key/ValueストアやMongoDBなどNoSQLにしたり、スケールアウトしたりと、様々な対応が考えられます。 しかし、もっと根的な解決方法はないでしょうか? WebサーバとしてApacheではなく、nginxとFastcgi-PHPを使ってみましょう(lighttpdなどもありますが…)。ベンチマークで

    Nginx+Fastcgi+PHPでサクサク快適サイト構築!
    atsushifx
    atsushifx 2011/07/19
  • PHPの開発時になかなか使えるauto_prepend_file設定

    こんにちは、中川です。 PHPの開発を行っていると、自分の開発用だけの便利関数や、一時的な設定・各種パラメータの変更を行いたいなどあると思います。 そんな時に、実際のプロジェクトファイルに追加してしまうと、 番環境に誤ってそのままコミットしてしまったり、他の開発者にはゴミ扱いされたりとなかなか大変ではないでしょうか。 そんな時に便利な auto_prepend_file という設定をご紹介したいと思います。 PHPにはメインファイルの前に、自動的に付加するファイル名を指定する、 auto_prepend_fileという設定があります。 これを使えば、プロジェクト内のファイルには一切手を加えなくても、PHPで前処理を行うことができます。 ※なお、プログラムの後処理を加えたい場合は、auto_append_file という設定もあります。 設定自体は非常に簡単で、apacheのconfigフ

    PHPの開発時になかなか使えるauto_prepend_file設定
    atsushifx
    atsushifx 2011/07/08
    auto_prepend_fileの使い方。開発・Debug用の関数や設定に使えるのは目からうろこ
  • 今さら聞けないSubversion使い方まとめ

    皆さん、こんばんは。笹亀です。 ご挨拶が遅くなりましたが、明けましておめでとうございます。 今年も良いブログを皆さんにご提供できるように頑張ります! 先日のニュースでAppleCEOのスティーブ・ジョブスさんが病気で休暇に入るとの心配なニュースをみました。急なことでとても心配です。1日も早い復帰をお祈り致します。 さて、日はSubversion(svn)の基コマンドからよく使うコマンドやこだわりの使用方法まで一気にご紹介します。いろんなサイトを観て確認しながら使うことが多いので、よく使うコマンドやこだわりの方法をメインにご紹介できればと思います。 まずは基コマンドの紹介です。 ーーーーーーーーーーーーーーーーーーーーーーーー ■基コマンド 1.バージョン管理されているモジュールを取り出す

    今さら聞けないSubversion使い方まとめ
    atsushifx
    atsushifx 2011/01/21
    Subversionコマンドの使い方。Subversionだとmime/typeが設定できるとかが好き
  • システムの品質向上のお供に使えるツール達

    こんにちは、中川です。 今回は、私が普段の開発で使っているツールを紹介したいと思います。 と言いましても、開発中というよりは、開発後半・テスト段階などでの品質向上に役立つことが多いと思われるツール達を取り上げてみました。 Firebug ・https://addons.mozilla.org/ja/firefox/addon/1843/ ・Firefoxアドオン。 ・JavaScriptのパフォーマンスチェックや、エラーチェック。ファイル・ページの読み込み時間チェックに。 ・開発初期から大活躍ですね。 HTML Validator ・https://addons.mozilla.org/ja/firefox/addon/249/ ・Firefoxアドオン。 ・HTMLの妥当性チェック。HTMLが汚いと保守フェーズに影響大ですね。 ・あまり最初は気にせず、最後のほうで一気にチェックしつつ直し

    システムの品質向上のお供に使えるツール達
    atsushifx
    atsushifx 2010/05/18
  • VMware Server 2.0をインストールする

    こんにちは、新しいMacBookらが発表されちょっとカッコイイなと思いつつも、最近いろいろと我慢できなくなりMacBook AirからThinkPadに戻ってきた熊谷です。 普段使用している分にはMacBook Airでも問題ないのですが、開発マシンとして使用するには私的にいろいろ問題がありちょうど安くなっていたThinkPad X61sに変更した次第です。 そんなことで、Windowsに戻ってきたからには開発環境を整えないといけないということで、先日リリースされたVMware Server 2.0をインストールしてみました。 まずはダウンロードですがこれはVMwareのサイトからダウンロードします。ご存じのとおりVMware Serverは無料ですがユーザ登録をしないと使用できないので、まだ登録していない場合は先にしておく必要があります。 http://www.vmware.com/jp

    VMware Server 2.0をインストールする
  • PHPスクリプトの遅い部分を簡単に見つける方法

    extension=xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp と設定して、apacheのリロードを行えばXdebugが動作します。 これで、あとは、ブラウザで調査したいページにアクセスすれば、 /tmp/ 以下にプロファイルデータが作成されていきます。 次にプロファイルデータの閲覧の為に、 http://sourceforge.net/projects/wincachegrind/からWinCacheGrindをダウンロードしてwindowsマシンにインストールします。 あとは、WinCacheGrindで作成されたファイルを取り込めば、関数ごとの 実行時間をたどりながら確認することができます。 ※WordPress2.7.1日語版インストール直後のTOPページで試してみた場合です。 We

    PHPスクリプトの遅い部分を簡単に見つける方法
    atsushifx
    atsushifx 2009/03/02
    PHPのプロファイルツールXdebugを使って、PHPのボトルネックを見つけ出す方法まとめ
  • プロジェクトの進め方と各フェーズでの成果物についてまとめ

    こんばんは濱田です。 今日のBlogはデザインパターンはお休みしてプロジェクトの進め方と各フェーズでの成果物についてまとめてみます。 まだまだ新米プロジェクトマネージャーなのでこのフェーズではこんなドキュメントを作った方がいいなど、コメントにてご指導頂けるととてもうれしいです。 想定されるプロジェクトの規模 5名ほどの製造要員がいて半年以上1年未満のプロジェクトを想定する。 システム概要 次期システム構築PJ 次期システムとは基幹システムの再構築であり、現行で基幹システムとサブシステムが稼働している、リリース後次期システムはサブシステムと連携して業務が行われる。 1.各フェーズとフェーズ単位に使用・作成する成果物一覧 ⅰ.要件定義 モックアップ 要件定義書(工数計算のために使用) 課題管理表 議事録(課題管理に使用) 画面設計書 ⅱ.詳細設計 ER図 詳細設計書 ⅲ.製造・単体テスト ER

    プロジェクトの進め方と各フェーズでの成果物についてまとめ
    atsushifx
    atsushifx 2009/01/23
    プロジェクトを進めるために作成するドキュメントまとめ
  • MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)

    森川です。 複数台のWebサーバでセッション管理をする場合、NFS・DB・Memcachedなんかが一般的ですが、今回はMemcachedじゃなくてレプリケーションができるRepcachedを使ってみよう!というお話です。 まずは、Repcachedの話です。といってもMemcachedにレプリケーション機能が追加されたものというものです。 RepcachedはKLab株式会社さんのクラブラボで公開されています。インストール方法などについては、リンク先のページを見ればわかると思います。 今回のエントリで重要なのは、 ・高速であること (Memcachedと遜色ない) ・レプリケーションができること (1台が落ちてもデータが失われない) ・Memcachedのクライアントが使えること(設定を変更する必要がない) ということです。 ただし、割り当てたメモリを超えてデータを保存した場合には、デー

    MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)
    atsushifx
    atsushifx 2008/12/24
    DB+メモリで高速かつ安全にセッション管理する方法
  • coLinuxでUbuntu 7.04をネットワークインストール

    こんにちは、スパイシーチキン担当の熊谷です。スパイシーチキン担当ということで、今日のお昼ご飯はもちろんスパイシーチキンです。そろそろ飽きてきたといいながらも、スパイシーチキン、まだべています! 以前も書きましたが、私の開発用PCやメインのノートPC上で動作しているcoLinuxではDebian etchを使用しています。Debian etchは比較的最近リリースされたということで、以前の安定版のように古くさい?という感じはあまりしなくなり特に不満はありません。しかし、例えばデスクトップ環境として使うとか、保守性も大事だけどもう少し新しさが欲しいとか、定期的な新しい安定版に興味があるとか。そんな欲求が出てきてしまう今日この頃、だったらUbuntuを使ってみようじゃないかと思い立ったわけです。 私にとってUbuntuは、バージョン4.10や5.04の頃にデスクトップ環境としてメインで使用して

    coLinuxでUbuntu 7.04をネットワークインストール
    atsushifx
    atsushifx 2008/07/23
    coLinuxにUbuntuをインストールする方法。coLinuxでネットワークに接続する方法も解説
  • フリーで使えるセキュリティスキャナ・ツールまとめ

    これで、インストールしたマシンの8080番ポートをプロキシとして指定して、チェックしたいサイトをブラウジングするだけです。 絶対に自分で管理していないサイトに対して実行しないでください。 こうしてできた、hoge.log を同梱のratproxy-report.shで解析すれば、レポートがHTMLとして出力されます。 レポートのHTMLもスクリーンショットも公開されています。 その他のプロキシ型スキャナ その他にもプロキシ型のスキャナは色々とあるのですが、RatProxyのドキュメントページに自分が調べたものは大体記述されていました。なので、簡単に触れるにとどめておきます。 1. WebScarab 2. Paros 3. Burp 4. ProxMon 5. Pantera 6. Chorizo! それぞれのプログラムについて、検索すれば使い方はわりと簡単にわかると思います。また、Pro

    フリーで使えるセキュリティスキャナ・ツールまとめ
    atsushifx
    atsushifx 2008/07/07
    Webサービスを安全にするためのねっとわーくスキャナツールまとめ
  • coLinuxでDebian etchを使う

    こんにちは、スパイシーチキン担当の熊谷です。 ついに技術ブログを書けというお達しが出てしまいまして、お昼ご飯というかスパイシーチキンの登場を期待していた多くの方にとってちょっと寂しい思いをさせてしまいますが、スパイシーチキン担当としてこれからも隙を見てスパイシーチキンネタを書きたいと思いますので、期待してください。 そんなことで、今回は開発環境について書きたいと思います。弊社では、以前は共有の開発用サーバがありそこに繋いで開発を行っていたのですが、現在、基的に一人一台の開発用PCが支給されています。その開発用PCにそれぞれLinuxをインストールし開発を行っています。Linuxのディストリビューションは好きなものを選んで良いことになっていますが、一応弊社の基はCentOSのようです。で、私はというともちろんDebianです。昔々はRPM系のディストリビューションを使っていたのですが、D

    coLinuxでDebian etchを使う
    atsushifx
    atsushifx 2008/05/22
    coLinuxでdebian Linuxw新規にインストールする方法
  • 1