タグ

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

  • variables_orderの設定とgetenv()推進キャンペーン

    こんにちは、亀です。 先日、私用がてらにふらりと遊びに来てくださっていたid:rskyさんと共に、アシアルの何名かでウノウさんへちょびっと遊びに行ってきました。 そこで自分は使えなキャラだったことが判明し、軽くションボリ中です(´・ω・`) さて、今回はスーパーグローバル変数周りのお話です。 知ってる人は知っている事だと思うので恐縮ですが、ちょっとした小ネタです。 普段わりと忘れられがちなのですが、スーパーグローバル変数の値はどんな時でも必ず取得できるわけではありません。 スーパーグローバル変数の値のうち、$_GET、$_POST、$_COOKIE、$_SERVE、$_ENVの5つは、php.iniの中のvariables_orderというディレクティブによって、値のパースを行うかどうかが規定されています。 ソースからコンパイルした場合、php.ini-distであれば が初期設定です。

    variables_orderの設定とgetenv()推進キャンペーン
  • 【最速PHPフレームワーク】Phalconを実案件で使った感想

    こんにちは。宇都宮です。 最近は、「最速PHPフレームワーク」Phalconで開発を行っています。 Phalconは、PHP拡張として実装された、フルスタックのPHPフレームワークです。非常に高速に動作するという特徴がありますが、特有の難しさもあります。 そこで、実際に開発を行って感じたPhalconの特徴を、Q&A方式で紹介していきます。 Q. Phalconを使うと、高パフォーマンスのアプリが作れるの? A. フレームワークの遅さに足を引っ張られることはなくなる Phalcon公式ベンチマークからも読み取れるように、Phalconは一般のPHPフレームワークを大きく上回る実行速度を持っています(req/secで2倍〜7倍程度)。 また、Phalconの提供している機能を積極的に利用することで、パフォーマンスの最適化を図ることができます。たとえば、Phalconのモデルが提供するORマッ

    【最速PHPフレームワーク】Phalconを実案件で使った感想
  • REST APIのテストをFrisbyで自動化する

    どうも、中(特に冷やし五目味噌タンメン+バター)にハマっている高橋です! 最近のアプリケーション開発といえば、フロントエンドはサーバサイドが準備したAPI経由でデータを取得したり保存したりという構成が人気のようです。そこで「API、ちゃんと動いてるんかなぁ?」というテストを書いて、実際にリクエスト&レスポンスで検証してみようと思います。 今回テスティングフレームワークとして使用する Frisby(フリスビー) は簡単に書けて高速に動作するというのが持ち味の REST API のテスティングフレームワークです。投げて返ってくるFrisbeeと掛けているのでしょうか?これドヤ顔で言われるとちょっと腹立ちますが、こういうネーミングセンスには関心させられます。笑 ◯インストール 今回は「frisbytest」というディレクトリ内で作業をしていきたいと思います。 コンソールを起動したら以下のコマン

    REST APIのテストをFrisbyで自動化する
  • PHP5.6.0alphaリリース!新機能を試す

    こんにちは、久保田です。PHP5.6.0alpha1が1月23日付けでリリースされました。 この記事では5.6に搭載される以下の新機能や変更を紹介します。 phpdbgデバッガ 可変長引数のための文法の追加 定数定義での計算のサポート その他NEWSファイルに記述されている変更 PHP5.6.0をビルドして試してみる PHP5.6の新機能を紹介する前に、まずはMacOSXやLinux環境にPHP5.6をビルドして試す方法を紹介します。Windows環境の場合にはビルド済みのバイナリが用意されているのでそれをダウンロードして下さい。 まず5.6.0alpha1リリースの記事にあるリンクから、PHP5.6.0alpha1のパッケージをダウンロードして解凍します。次に解凍したパッケージのディレクトリに進んでconfigureスクリプトを叩きます。

    PHP5.6.0alphaリリース!新機能を試す
    escape_artist
    escape_artist 2014/02/03
    割と地味な気が… / phpdbg使ってみよう
  • 非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。

    #################################### # CSVファイルの読み込み #################################### #Mac読み書きディレクトリを定義 basedata<-"/Users/saity/Dropbox/R/basedata/" output<-"/Users/saity/Dropbox/R/output/" #CSVファイルの読み込み crime<-read.csv(paste(basedata,"crime_prefecture.csv",sep=""), row.names=1) ソースコードを実行するには、カーソル行でcommand+enter(WinはCtrl+Enter)で実行ができます。 一度に複数行を実行する場合には、選択行で上記コマンドを叩きます。すると、メインコンソールに実行結果が表示されます。

    非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。
  • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

    こんにちは、久保田です。 皆さん正規表現は使っていますか? PHPに限らずどんな言語を使っていても、正規表現にお世話になっていないプログラマはいないと思います。しかし、その正規表現がどのように実装されているかについては知らない方が多いのではないのでしょうか。 この記事では、その正規表現エンジンの実装方法の一つである仮想マシンによる正規表現エンジンの実装方法を解説しつつ実際に簡単な正規表現エンジンを作っていきたいと思います。 正規表現エンジンの実装方法 正規表現エンジンの実装方法はいくつかあるのですが、それの一つに仮想マシンによって正規表現のマッチング処理を実行するやり方があります。PHPで利用している正規表現エンジンであるPCREはこの方式を採用しています。 仮想マシンによる実装方法は、正規表現というよりもプログラミング言語の実装方法の一つとして知られています。Rubyの最もメジャーな実装

  • 簡単にブラウザに埋め込めるWebテキストエディタ “Ace” を使ってみる

    次に、AceをHtmlに埋め込みます。 適当なHtml(仮に ace.html とします)を作成し、先ほどのsrcディレクトリと同じ位置に置きます。 そして、ace.htmlを以下のように編集します。 <html> <head> </head> <body> <div id="editor-div" style="height: 500px; width: 500px">ここがエディタになります</div> <script src="src/ace.js" type="text/javascript" charset="utf-8"></script> <script> window.onload = function() { var editor = ace.edit("editor-div"); }; </script> </body> </html>

    簡単にブラウザに埋め込めるWebテキストエディタ “Ace” を使ってみる
  • Underscore.js で JavaScript を楽にしよう

    こんばんは、サドルのない生活にも随分慣れた高橋です。 いきなりですが、JavaScript面白いですよね!んでガリガリ書いてコード膨らんでしまって若干依存があって分割めんどくせー!という経験をされた方はいませんか?もしかしたら「あんな事したいなぁ」が Underscore.js でスマートに解決するかもしれませんよ。 Underscore.js とはユーティリティライブラリです。非依存のため、稼働中のアプリケーションにも導入できます。 実績については Backbone.js に組み込まれているのもあって十分でしょうか。 使い方は _.size() みたいな書き方で超簡単。 ものすごいUnderscoreです・・・ さて、数あるライブラリの中でUnderscore.jsを使う理由なんですが、やはりドキュメントが充実していう点でしょうか。これに一度目を通しておけば、あれやこれやしなくて済むかも

    Underscore.js で JavaScript を楽にしよう
  • 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); }

    escape_artist
    escape_artist 2012/11/21
    わかりやすい
  • nginxで認証用proxyサーバを作成

    今回作るシステムは、静的コンテンツを配信するサーバがすでにあり、 ・認証機構(ログイン画面)を追加 ・変更を最小限に抑えて開発 ・スケールアウトしやすい ・アクセス数が多いので、できるだけ処理を軽くする ことを目的とします。 この手のシステムは、既存システムに手を入れるのが普通ですが、既存システムでプログラムが動かないことには話になりません。 という事で、認証機構を追加したプロキシサーバを作成することで実現したいと思います。 仮に、PHPのみを使用して実装する場合は、下記のように出来ます。 ・ログイン画面はPHP ・rewriteでログイン画面系以外の全てのアクセスをindex.phpに向ける ・認証に失敗したらログイン画面にリダイレクト ・認証成功したら認証状態をセッションに記録(有効期限も記録) ・セッションはmemcacheなどで全サーバ共有 ・セッションの値が有効なときはコンテンツ

    nginxで認証用proxyサーバを作成
  • Mojitoを触ってみる!

    Mojito(モヒート)は、Javascriptで記述されたWebアプリケーション用のフレームワークです。米Yahoo!がオープンソースとして公開しました(2012/4/1)。 Javascriptを使う機会が増えてきた昨今、非常に興味深いフレームワークです。MojitoはMVC構造を採用しており、コードのきり分けを明確にしています。また、1つのソースで複数のデバイスへ対応させるなど、挑戦的な試みも行っています。 今回は、Mojitoを使ってHello worldアプリを作成してみます。 OSはLinux系(ここではMac OS X使用)、Node.jsが入っていることを前提とします。インストールには、npmコアマンド(Node.jsのパッケージ管理ツール)を使います。

    Mojitoを触ってみる!
  • Windows 7 快適化計画

    コマンドは実行されましたか? PowerShellでは上記のように短いコマンドエイリアスが設定されていますので、コマンドプロンプトよりはるかに快適です。 PowerShell上で文字列をコピーするには、コピーしたい領域をマウスで選択してEnterを押します。 ペーストするには、右クリックです。 コマンド実行時間を計測するには、以下のコマンドを叩きます。

    Windows 7 快適化計画
  • Nginx+Fastcgi+PHPでサクサク快適サイト構築!

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

    Nginx+Fastcgi+PHPでサクサク快適サイト構築!
  • PHPSpecでユニットテスト

    pear channel-discover pear.phpspec.org pear install phpspec/PHPSpec を実行すればOKです。 使い方、というか振舞駆動開発の流れですが、 1.要求仕様を文章に直し(it should … の形式で)、それに沿ったテストコード(スペックファイル)を作成。 2.作ったスペックファイルで正しい結果が出てくるようなプログラムを作成。 3.スペックファイルを完成させてテストを実行して、正しい結果になることを確認。 1から3の繰り返しになります。 マニュアルにわかりやすい例がいろいろ載っているので、ぜひぜひそちらを見てみて下さい。 一応、やってみると、、、 MyStringクラスという、渡した文字列をどんどんつなげていくクラスを作ることにします。 まずはスペックファイルの作成です。 DescribeMyString.php <?php

    PHPSpecでユニットテスト
    escape_artist
    escape_artist 2010/02/04
    xSpecの方がナウいのかな?
  • 1