タグ

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

  • 戦うプログラマによる戦略的アイデア量産テクニック

    はじめまして!アシアルで開発を担当している四方と申します。 海上自衛隊SIer勤務を経てアシアル株式会社に入社というちょっと変わった経歴を持っています。 そんな訳で私のエントリーでは通常の技術記事とはちょっと違った視点から開発Tipsを伝えて行けたらと思います。 戦略的にアイデアを量産するテクニック ITに限らず何かを作り始めるとき必要になるのがアイデアです。 今回は、私が前職でデスマっている際に偉い人から「1週間後までに、10億稼げる新事業のアイデアを50個出せ!」と言われた時に編み出したアイデア量産テクニックをお伝えします。 1.身近にある「不便」の解決 最もオーソドックスなアイデアの発想法です。 ハイマン・リップマンという人は、鉛筆と消しゴムを交互に使っているうちに消しゴムをよく失くしてしまうので、消しゴムと鉛筆をくっつけた消しゴム付き鉛筆を発明しました。 消しゴムと鉛筆をくっつけ

    戦うプログラマによる戦略的アイデア量産テクニック
    motchang
    motchang 2013/06/18
  • PHPからChromeにログ出力「Chrome Logger」

    こんにちは、中川です。 PHPでの開発中のちょっとしたデバッグに、echo や var_dumpで画面に値を出力して確認することがありますよね。 このデバッグ方法は簡単でいいのですが、出力した配列の値などはパッと見で確認しやすいとは言えませんし、画面の表示内容が崩れたりします。 画面に出力しない方法としては、 error_log関数を使ってapacheログやファイルに出力する方法もありますが、 この場合は、サーバ側にログインしてtailなどでファイル内容を確認する必要がでてきます。 そんなちょっとした問題を解決してくれるツール 「Chrome Logger」をご紹介したいと思います。 Chrome Loggerを使えば、JavaScriptのconsole.logのように、 表示画面には影響を与えないでブラウザのデベロッパコンソールにPHPから値を出力できます。 ■Chrome Logge

    PHPからChromeにログ出力「Chrome Logger」
  • JavaScriptのコードを測ろう「plato」

    こんにちは、中川です。 PHPよりもJavaScriptを書く機会が多いこの頃です。 さて、JavaScriptといえば、何も考えずにアプリを作ると プロジェクトがカオスになることで有名な言語ですね。 気を使って作っていてもちょっとした油断で、 気付いた時にはメンテナンス不可能なコードが出来上がっていたりします。 今回ご紹介するのは、不幸にもそんな状態になってしまったたくさんのコードの どこがどのような状況なのかをパッと確認できるツールをご紹介します。 ■plato https://github.com/jsoverson/plato platoはNode.jsで動作します。 プロジェクトのJSファイルを解析して、 コードの行数や複雑度、メンテナンス性、jshintの警告などをHTMLレポートとしてまとめてくれます。 実際のレポート画面は以下で確認できます。 ・jquery ( http:

    JavaScriptのコードを測ろう「plato」
  • ユニットテスト、ここどうするの?

    こんにちは、斉藤です。 前々回はTDDというユニットテストを使った開発方法、前回はユニットテスト実行の自動化と、触れてきました。 今回もやっぱりユニットテストについてということで、方法論などをtips形式でお送りします。 * プライベートメソッドのテスト ユニットテストでは、公開されているメソッドを呼び出して実行します。 クラスを書いたことがある方なら知っている通り、プライベートメソッドを外部から呼び出すことは出来ません。 そのため一般的にこれは、避けた方が良いと言われていますが・・・自分はテストしたい派なので、以下の方法をご紹介します。 – パブリックメソッドでプライベートメソッドを呼び出す 一番簡単な方法ですね。 ただしこの場合だと、公開APIと非公開APIの区別が出来なくなってしまいます。 クラスに手を入れることになり、テストのためだけのコードが混じってしまうことがデメリットです。

    ユニットテスト、ここどうするの?
    motchang
    motchang 2013/03/01
  • 自動テストするぞ!tmux + PHPUnit + watchmedoで構築する自動ユニットテスト環境

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

  • PHP5.5 Alpha1リリース! 新機能を俯瞰する

    こんにちは、久保田です。 PHP5.5 Alpha1が11/15日付けでリリースされました。この記事では以下のような新機能や変更を紹介します。 ・ジェネレータとコルーチンの追加 ・finallyキーワードの追加 ・配列や文字列のデリファレンスのサポート ・foreachの中でのlist表現 ・PCRE正規表現での/e修飾子が非推奨化 ・NEWS翻訳 ジェネレータとコルーチンの追加 PHP5.5での一番大きな新機能は、ジェネレータとコルーチンの追加です。文法にyield構文が追加されました。 まずは、ジェネレータを説明します。例えば以下の様なコードが動きます。 <?php function hoge() { yield "hoge"; yield "fuga"; yield "piyo"; } foreach (hoge() as $str) { var_dump($str); }

    motchang
    motchang 2012/11/24
  • JavaScriptのコーディング規約を気軽にチェック

    こんにちは、中川です。 今回は「Google JavaScript Style Guide」を気軽にチェックできるClosure Linterをご紹介したいと思います。 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guideのいいところですが、 規約だけでなく、しっかりしたツールも揃っているところが素晴らしいと思います。 コーディング規約はあったとしても、それに従っているか定期的に簡単にチェックする方法がないと、 いつしか守られないまま開発されてしまうことになりますね。 ※今回の内容はMacにて動作確認を行なっています。

    JavaScriptのコーディング規約を気軽にチェック
  • 使えるとちょっと便利な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
  • jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる

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

    jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる
  • サーバの基本的な設定ファイルと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比較
  • lsyncdを使ったディレクトリ同期の制限について

    こんばんは、牧野です。 最近、急に涼しくなりましたね。おかげで、自転車通勤がかなり快適になりうれしいです。 さて、今日はサーバ間でディレクトリを同期させるのに便利な、lsyncdについてです。 アシアルではいくつかのシステムでlsyncdを使っています。 大量のファイルの同期が必要そうなシステムが出てきたため、lsyncdの制限について検証してみました。 lsyncdで問題となりそうなパラメータが、inotifyのmax_user_watchesです。 参考にしたのは、こちらのブログです。 lsyncdの設定については、以前熊谷がブログを書いていますので、こちらもご覧下さい。 今回の検証環境は、vmwareのdebianサーバ2台です。 サーバ1ではlsyncdを、サーバ2でrsyncをデーモンで動かします。 /etc/lsyncd.xml.conf <lsyncd version="1"

    lsyncdを使ったディレクトリ同期の制限について
  • PHPの開発時になかなか使えるauto_prepend_file設定

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

    PHPの開発時になかなか使えるauto_prepend_file設定
  • PHP5.4 alpha1リリース! PHP5.3からの新機能を見わたす

    PHP                                                                        NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 20 Jun 2011, PHP 5.4.0 Alpha 1 - autoconf2.59以上が ./buildconf によるconfigureスクリプトの生成のために サポート(そして要求)されるようになった。configureスクリプトのhelpの順番が おかしくなるかもしれないのを避けるために、autoconf2.60以上が望ましい。 (Rasmus, Chris Jones) - 古い機能の削除: . break/continue $var 文法。 (Dmitry)

    PHP5.4 alpha1リリース! PHP5.3からの新機能を見わたす
  • とても便利なvimのコマンド紹介

    こんにちは。小川です。 今日はvimのコマンドでも紹介しようかなと思います。 僕はテキストエディタは大体vimを使っています。 執筆をしたときもvimでやっていましたし、PHPvimで書いています。 vimって色々コマンドがあって便利ですよね。友達vimのコマンドを教えあったりして、度々「こんな便利なコマンドがあるのか!」と驚かされます。 今日はそんなvimのコマンドの中から普段使っていて便利だなーと思うものをいくつか紹介していきます。 ちなみにShiftを押しながらのコマンドは、アルファベットキーの場合は大文字で表記します。 エンターやエスケープを押下する必要がある場合はエンターやエスケープと記述します。「:」ではじまるコマンドモードはエンターを押さないと意味がないので、そこは省略します。 同時押しは+でつなげて表記し、基的には1文字ずつ順番に押下します。 ■ページ移動 「ggで」

    とても便利なvimのコマンド紹介
    motchang
    motchang 2011/04/01
  • 1