タグ

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

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

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

    poppen
    poppen 2013/02/28
    こんにちは、斉藤です。 前回はテスト駆動開発という開発方法をご紹介しました。 その中では"ユニットテストの実行"を主体に開発を行っていくことをお伝えしました。 今回は(余計な話も交えつつ)そのユニット
  • エンジニアの英会話 〜とっさの一言〜

    (いろいろな方々から指摘をいただき、記事を修正しました。ありがとうございます。 "went" -> "gone") こんにちは、斉藤です。 弊社には、海外生まれ or 海外暮らし経験ありの方が何人か出入りしています。 今の自分の席の周りにも、英語を喋ることが可能な方が二人ほど。 自分は、つたない英語で彼らと会話していますが、何とかもっとコミュニケーションしたい。 というわけで今回は、そんな彼らに教えてもらったエンジニアならではの一言英会話をご紹介します! Check it out! *「30分経って分からなかったら、別の問題を考えよう」 ある問題が解決できなくて、こう考えることはよくありますね。 英語ではこう言います。

    エンジニアの英会話 〜とっさの一言〜
  • screen(だけ)の時代は終わり。tmuxでリモートコンソールを便利に使うTips

    でサクっとインストールできます。tmuxコマンドをタイプすると、コンソールが表示されると思います。 ○ よく使うtmuxコマンド 私は下記のコマンドをよく使います: tmux attach - すでに開いたセッションにアタッチする tmux list-windows (C-b w) - ウィンドウの一覧を取得する tmux new-window (C-b n) - 新しいウィンドウを作る tmux detach-client (C-b d) - クライアントをデタッチする tmux list-keys (C-b ?) - キーバインドの一覧を表示する tmux next-window (C-b n) - 次のウィンドウを表示する tmux previous-window (C-b p) - 前のウィンドウを表示する tmux kill-window (C-b k) - ウィンドウを強制的に

    screen(だけ)の時代は終わり。tmuxでリモートコンソールを便利に使うTips
    poppen
    poppen 2012/03/15
  • PHP+Kestrel+Supervisorでお手軽タスクキューイング

    こんにちは、久保田です。 ウェブサービスでは、ユーザのアクションに従ってバッチ処理を行わなければならないケースがままあります。この記事では、バッチ処理の手法の一つであるタスクキューイングをPHPとKestrelとSupervisorを利用して行うやり方の導入を紹介します。 なぜなにタスクキューイング ウェブサービスでは、ユーザのアクションに従って非同期にバッチ処理を行うようなケースがよくあります。 例えばflickrのような写真を共有するウェブサービスで言えば、ユーザが写真をアップロードしたあとに非同期でその画像の複数のサムネイル生成や加工をしなければならないケースがあります。 よく見られるのは、DBにバッチ処理のためのタスクデータを入れておいて、後でcronで定期的に起動するワーカープロセスからバッチ処理を行う方法です。このやり方には、ワーカーを複数プロセスで扱いづらい、処理がリアルタイ

    PHP+Kestrel+Supervisorでお手軽タスクキューイング
  • OpenVPNで拠点間VPN

    OpenVPNで拠点間VPN 元々、個人専用のWEBサーバーを立ち上げ、ファイルサーバーのデータを外部から参照可能にしているが、 単純にファイルを転送するだけならともかく、ディレクトリごとダウンロードや、一部だけ読み取ることなどは出来ないため割と不便。 解決法はWebDAVとかFTPとかいろいろとある中、どうせなら自宅ネットワークに直接接続出来れば、便利じゃないかと思いVPNを張ることを計画。 (NFSとかFTPとかSVNとかrsyncなどの内部用の設定なため、外部に公開したらひどいことになる通信も使える!) VPNといえば、IPSecとかPPTPなどの有名どころはありますが、割と設定が面倒で設定をしっかりしないと穴が開くこともあるので、設定が簡単な(デフォルトでもそこそこしっかりしている)OpenVPNを採用。 ・OpenVPNとは SSLVPNの一つで、設定がシンプル。そこそこ堅牢。I

    OpenVPNで拠点間VPN
  • HTML5+CSS3の導入時に役立つ7つの設定

    こんにちは、鴨田です。 個人的に仕事の大半はスマートフォン関連なので、 最近のマークアップはほとんど全てHTML5+CSS3で行っています。 とはいえ、PC向けのサイトではまだまだHTML4.01、XHTML1.0、CSS2.1を使用している場合が多いと思います。 ですので、今回はHTML5+CSS3を導入するにあたって、役立つと思う7つの設定について、書きたいと思います。 1.HTML5の初期テンプレート案 <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>HTML5 初期テンプレート</title> <!-- reset.cssの設定 --> <link rel="stylesheet" media="screen" href="reset.css" /> <!-- Viewportの設定 --> <meta nam

    HTML5+CSS3の導入時に役立つ7つの設定
    poppen
    poppen 2011/10/25
  • サーバの基本的な設定ファイルとCentOS、Debian比較

    ■デーモン自動起動の設定 ○違いがあるもの ・自動起動の追加 /sbin/chkconfig --add (デーモン名); /sbin/chkconfig (デーモン名) on /usr/sbin/update-rc.d (デーモン名) defaults ・自動起動の解除 /sbin/chkconfig (デーモン名) off /usr/sbin/update-rc.d (デーモン名) remove ・自動起動設定の確認 /sbin/chkconfig --list Debianはない? ○共通 ・起動時に実行される デーモン名には、/etc/init.d内のシェルスクリプト名が入ります。 これは、CentOSの方が便利な気がします。 ■iptables ○ファイアウォール設定 /etc/sysconfig/iptables CentOSでは、ファイアウォール設定が上記ファイルに保存されま

    サーバの基本的な設定ファイルとCentOS、Debian比較
  • XRDPでLinuxをRDPサーバーにする

    Linuxで遠隔操作と言えば、sshでコンソールにつないで作業が普通ですね。 64kbpsでも割と快適に操作でき、信頼性も高いツールです。 WebサーバーやDBサーバー用途などでは不便なことは有りませんが、クライアント用途となるとGUIで遠隔操作出来ないと辛い場面が有ります。 (Gimpを操作とか、ローカルの画像を確認など) もちろん、X11をネットワーク経由で使うのがシンプルですが、 ネットワークが100Mでつながっているならともかく、細い帯域の場合は非常に重い。 前に自宅PCからThunderbirdをX11-forwardしたところ、メールの一覧を描画するのに1分くらいかかったことが(ry あと、vncはそれに比べればマシですが、それでも遅い。 その点、WindowsのRDP(リモートデスクトップのプロトコル)は早い。 光100Mでつながっていれば、ほぼローカルにかと思えるほど早い。

    XRDPでLinuxをRDPサーバーにする
  • lsyncdでファイルを同期してみよう

    こんにちは、熊谷です。 最近、複数のサーバでファイルを同期しなければいけないということがありました。出来るだけ手軽で簡単にそれを行いたいということで、何か良い方法がないものか、聞いたり調べたりしたところ、lsyncdなるものがあるのでそれを使用してみるのも良いのではないかと、アドバイスを受けました。 そんなことで、こちらのサイトを参考に実際に使ってみました。 例として、同期元は192.168.1.10、同期先は192.168.1.20とします。 まずは、同期元(192.168.1.10)にてlsyncdをダウンロードしてきてインストールです。makeするなりパッケージを作るなりしてインストールします。 設定ファイルは/etc/lsyncd.conf.xmlとしてこんな感じで記述しました。 <lsyncd version="1"> <settings> <logfile filename="

    lsyncdでファイルを同期してみよう
  • 3キャリア対応ケータイXHTMLのTIPS 8つ : アシアルブログ

    最近ケータイサイトの開発を行っているのですが、キャリアや機種によって動作にいろいろと違いがあり、なかなか面倒ですね。 キャリアごとにテンプレートを分けて記述するのは手間なので、基的に共通テンプレートで記述したいところですが、どうしても振り分けをしないと駄目なこともあるため、今回やってみて気がついた違いなどについてまとめてみました。 なお、いわゆる第三世代携帯電話(DoCoMo FOMA, au WIN, SoftBank/Vodafone 3G)でXHTML対応機種のみを対象としています。 ■文字コード UTF-8で統一して大丈夫そうなのですが、DoCoMoのみ特定の文字(三点リーダーや丸数字など)をフォームから入力した場合に消えてしまったりするようですので、DoCoMoは入出力をShift_JISにする必要があります。 ※上記で特定の文字のひとつとしてあげました三点リーダーですが、UT

    3キャリア対応ケータイXHTMLのTIPS 8つ : アシアルブログ
  • cactiを使ったサーバ監視

    こんにちは、牧野です。 今回はサーバ監視の話です。普段からサーバの状態を把握しておくと、いつの間にかハードディスクの残容量がなくなっていた、負荷が大きくなっていてサーバが落ちた、というようなトラブルを防げる確率が上がります。またサーバの異常がすぐにわかれば対応も早くでき、サービスの安定稼動につながります。 cactiはサーバやルータ等の機器監視を行うプログラムで、機器の様々な状態を調べて記録し、webページできれいなグラフを出してくれます。 …このテストサーバの画像だと多少寂しいですが、監視期間が長くていろんなグラフを追加していくともっときれいに見えます。。 また、監視対象の機器を追加するといった設定変更もwebから行うことができます。(監視対象機器の設定は、別途必要ですが。) それでは、cactiの設定について紹介していきます。ちなみに、僕の環境はcolinuxのCentOS4.5です。

    cactiを使ったサーバ監視
  • coLinuxでDebian etchを使う

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

    coLinuxでDebian etchを使う
  • coLinuxでUbuntu 7.04をネットワークインストール

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

    coLinuxでUbuntu 7.04をネットワークインストール
  • 1