タグ

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

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

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

  • PHPでリフレクション

    こんにちは、小川です。たまには文句でも書いてみます。 先日ふと「スパイシーチキン」という単語を聞いて、昔のアシアルブログを思い出しました。 スパイシーチキンという単語を便りに検索をしてみると、スパイシーチキンの絶頂期は2006年から2007年の初めごろ。 僕は2006年の12月18日にアシアルにアルバイトとして入社したため、スパイシーチキン時代のアシアルを知っています。 むしろ、スパイシーチキンがあったからこそアシアルに入社したといっても過言ではありません。 しかし、今はどうでしょう。日常が垣間見えるのは、おおよそ月に1度投稿される阿部さんのブログくらい・・・。 symfonyの話しかしない人もいるし。そんなだからいつまでたっても彼女ができないんですよ! ああ、、、あの頃のアシアルブログはどこへいってしまったのでしょうか。 やはりここはアシアルブログ再建のためにも、再度スパイシーチキンに登

    PHPでリフレクション
    bleu-bleut
    bleu-bleut 2016/09/11
    リフレクション
  • Laravel5でシンプルなCRUDアプリを開発する

    こんにちは〜たきゃはしです〜最近もホントにとにかくビール最高!って感じです! 今回はついにリリースされたLaravel5(以降はL5と略記する)を早速使ってみました! ◯ この記事の概要 L5の基機能を扱いつつシンプルなブログアプリを作ってみようと思います。 こんな感じになります この記事の目的はブログアプリの開発を通してL5でCRUDを作れるようになることです。構成をなるべくシンプルにしたかったこともあり沢山の機能は取り扱ったわけではありませんが「PHPMySQLは分かるけどFWはよくわからないな〜」とか「Laravel5 気になってるんだよな〜」という人には特におすすめですよ! さっそくインストールからはじめたいと思います。 ◯ インストール

    Laravel5でシンプルなCRUDアプリを開発する
  • CreateJSを使ってみよー

    こんにちは。相変わらずドラクエ10三昧の日々を過ごしている橋です。 さて、今日はHTML5でリッチなコンテンツを簡単に作成することができるJavascriptライブラリ「CreateJS」について、サンプルを交えつつ簡単に使い方を見ていきたいと思います。 そもそもCreateJSとは何かといいますと、以下の4つのライブラリ、ツール群をパッケージングしたものがCreateJSとなります。 EaselJS Canvasを簡単に扱うためのライブラリ TweenJS トゥイーンやアニメーションを扱うためのライブラリ SoundJS 音声データを扱うためのライブラリ PreloadJS 外部ファイルの読み込みを制御するためのライブラリ 今回はこの中でも、EaselJSとTweenJSの使い方についてサンプルコードを書きながら見て行きたいと思います。 SoundJSとPreloadJSについては、音

    CreateJSを使ってみよー
    bleu-bleut
    bleu-bleut 2015/09/04
    EaselJS Canvasを簡単に扱う / TweenJS トゥイーンやアニメーションを扱う / SoundJS 音声データを扱う / PreloadJS 外部ファイルの読み込みを制御
  • GDとImageMagickの画質比較

    <?php $image_file = 'sample.jpg'; $img = new MyImage($image_file); $img->resizeImage(500, 500); $img->createImageFile('.', 'gd_sample.jpg'); header('Content-type: image/jpeg'); readfile('gd_sample.jpg'); class MyImage { var $img; var $width; var $height; var $font_path; function MyImage($image_path, $font_file_path = null) { $this->img = imagecreatefromjpeg($image_path); $this->width = imagesx($th

    GDとImageMagickの画質比較
    bleu-bleut
    bleu-bleut 2015/07/09
    写真のサムネイル作成のサンプルプログラム。GDよりもImageMagickのほうが画質がよいとされている。
  • 【Javascript】consoleオブジェクトが持つlog以外の便利メソッド18(後編)

    こんにちは、橋です。 前回にひきつづき、Safari、ChromeのWebインスペクターやFirefoxのFireBugで使えるconsoleオブジェクトの使い方について書いてみたいと思います。 consoleオブジェクトには以下の19個(logを除くと18個)のメソッドがあります。 assert count debug dir dirxml error group groupCollapsed groupEnd info log markTimeline profile profileEnd time timeEnd timeStamp trace warn そのうち前回は、assertメソッドからgroupEndメソッドまで見て行きました。 今回はinfoメソッドからwarnメソッドまでの使い方について書いていきたいと思います。 infoメソッド console.info(messa

    【Javascript】consoleオブジェクトが持つlog以外の便利メソッド18(後編)
    bleu-bleut
    bleu-bleut 2015/02/27
    profile、profileEnd、time、timeEnd、traceの各メソッド。
  • jQuery用プラグイン「Autocomplete」を使って入力補完機能を実装してみる

    こんにちは、中川です。 アシアルブログの検索でも利用している、suggest(入力補完)機能、便利ですよね。 以前「jQuery用プラグイン「jquery.suggest」を使って入力補完機能を実装してみる」という記事で松田がライブラリ紹介しています。 しかし、「jquery.suggest」ですが、表示が味気なかったり、カスタマイズ面で、若干モノ足りない部分が出てきました。。。 で、補完機能を実装する為のJavaScriptですが、いろいろ探せば結構たくさんでてきまして、その中でも使いやすく、機能も豊富でカスタマイズもしやすいjQueryプラグインの「Autocomplete」というものを見つけましたので紹介したいと思います。 ■ダウンロード先 http://plugins.jquery.com/project/autocompletex ■デモ ※適当にアルファベットを2文字くらい入力

    jQuery用プラグイン「Autocomplete」を使って入力補完機能を実装してみる
    bleu-bleut
    bleu-bleut 2013/12/16
    jQuery UI不要のオートコンプリートプラグイン
  • base_convertで文字列圧縮

    <?php /** * compress_by_base_convert * N進数の文字列をもっと大きなM進数に置き換えて文字を圧縮するクラス * * @copyright Asial * @author Yuki Okamoto <yuki@asial.co.jp> */ class compressByBaseConvert { var $compress_base = 36; var $uncompress_base = 16; var $split = 13; var $delimiter = "-"; /** * compress * 圧縮します * * @param  string $string * @return string */ public function compress ($string) { // 分割しやすいよう0でパディングして、桁を分割したい数の倍数に

    base_convertで文字列圧縮
    bleu-bleut
    bleu-bleut 2013/09/25
    ライブラリ:文字列の圧縮、16進数が50%に圧縮されているが、テキストの圧縮はどうするんだろう?
  • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

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

    PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回
  • JavaScriptで日付を扱うならこれ!「moment.js」

    ■ つかいかた(基礎編) ダウンロードしたmoment.jsをscriptタグで読み込ませたら準備完了です。 あとは下記のような実装で使用できます。 // momentオブジェクトを初期化して・・・ var m = moment(); // formatで出力! var output = m.format("YYYY年MM月DD日 HH:mm:ss dddd"); console.log(output);  // => 2013年05月15日 12:34:56 Wednesday // 現在時刻 moment(); // ミリ秒で指定 moment(1368543600000); // タイムスタンプ(秒)で指定 moment.unix(1368543600); // Date.parseで解析可能な文字列を指定 moment("May 15, 2013"); // Dateオブジェクトか

    JavaScriptで日付を扱うならこれ!「moment.js」
  • CSSだけで作るアイコン付きボタンの作り方

    こんにちは、鴨田です。 近頃はボタンのデザインに限らず、CSSで実現できるものは、 グラフィックにせず、CSSだけで書いています。 ボタンデザインに限らず、HTML/CSSで書いた方が効率的なこもあって、 最近はあまりPhotoshopを開くこともなくなってきています。 ということで、日はCSSだけで作るアイコン付きボタンの作り方です。 アイコン付きというのがポイントです。 ● アイコンなしボタン とりあえず、アイコンなしで作りましょう。 HTML body { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif; margin: 0; padding: 0; } a { /* サイズ指定 */ width

    CSSだけで作るアイコン付きボタンの作り方
  • CSSだけで簡単に吹き出しを作成する方法4つ!

    こんにちは、橋です。 今日はCSSだけでお手軽に吹き出しを作る方法をご紹介したいと思います。 今回ご紹介するサンプルは4つ 一般的な三角の吹き出し 一般的な三角の吹き出し(ボーダー付き) ぽわわーんとした吹き出し 丸い(曲線の)吹き出し 4つのサンプルの実行結果は、ここで確認できます。 IE9以上とIE以外のブラウザであればちゃんと表示されるかと思います。 IE8以下はborder-radiusが使用出来ないため、サンプル3とサンプル4がちゃんと表示されません。 それでは1つ1つ見て行きましょう。 1.一般的な三角の吹き出し まずはソースから。 <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <style type="text/css"> * { box-sizing: border-box; } .wrapp

    CSSだけで簡単に吹き出しを作成する方法4つ!
  • もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法

    こんにちは、鴨田です。 最近、アイコンがセットされたWebフォントを使うことで、 画像を使わずにアイコンを表示するという手法が流行っていますね。 すごく興味はあったのですが、なかなか使う機会もなく、 便利そうだなと思っていただけで、今まで使ったことがありませんでした。 しかし、先日、とある案件でやっと使う機会に恵まれたので、やり方をご紹介いたします。 (プロトタイプだけ作って、結局プロダクトとしては使いませんでしたが・・・) 最近話題になっていたこちらのサイトがとても便利です。 Fontello - http://fontello.com/ 使いたいフォントを選択します。 ここでは、「Entypo」フォントから5つ選択します。 選択が終わったら、上部のタブから「Edit codes」をクリックします。 アイコン画像の上部のバーをクリックして、アイコンに割り当てる文字列を決めます。 英語で頭

    もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法
  • 依存性反転の原則について

    こんにちは、増田です。 今回は”依存性反転の原則”についてObjective-Cで解説します(Objective-Cは筆者が好きな言語です)。 私はこの原則を理解する前は依存関係がスパゲティ状態になったプログラムを書いていました。 プログラムの処理はそうめんのように道筋の立った分かりやすいコードを書いたとしても、依存関係がスパゲティであることがよくあります。そのようなコードを書くと、一箇所を変更するために既に動いているところをいじらなければならず、この際のテストにかかるコストはとてつもなく膨大になってしまいます。 モジュール間の依存は必ずしも悪になるというわけではないですが、「意図して依存を残す」という意識がないと後で痛い目を見ます。依存性を残すところ、断ち切るところを意図してプログラムを組むことができるようになれば、何かしらの変更を迫られた際、変更箇所だけのテストでシステム全体の正常な動

  • JavaScriptでうっかりやってしまいそうなこと色々

    こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。

    bleu-bleut
    bleu-bleut 2012/11/07
    数値でソート、条件付きの関数定義、ループの関数定義
  • パララックスというか、スクロールでアニメーションさせるjQueryプラグイン「ScrollTween.js」

    パララックスというか、スクロールでアニメーションさせるjQueryプラグイン「ScrollTween.js」 こんにちは、鴨田です。 今年に入ってから、パララックス効果を用いたサイトをよく見かけますね。 春くらいに話題になって、定番のプラグインもあるので、最近もいろいろなところで見かけます。 とはいえ、最近は視差効果で奥行きを表現するというよりも、 単純にスクロールに連動してアニメーションさせることも含めて、 パララックスサイトと呼んでいるが多いのではとも思います。 何かと話題のスマホアプリ「comm」の紹介ページもそうですね。 そんな流行に従って、パララックスサイトの作り方を少しご紹介できればと思います。 今回ご紹介するのは、「ScrollTween.js」というプラグインです。 シーエーモバイル社のコーポレートサイトを作成するために開発され、 せっかくだからということで、公開されている

  • スマホ&タブレットの解像度(ppi)ベスト3

    ※ 解像度(ppi)の値は小数点第1位で四捨五入しています ※ 計算で割り出していますので実際の解像度(ppi)や公称の値とは異なります。ご了承下さい。大よその値としてみていただけたらと思います。 ※ iPhone4/4S/5は公称の数値を入れています。 こうやってみると、 iPhone以外はすべて日製です。 ちなみに海外勢では、GALAXY SII WiMAX(au ISW11SC)が312ppiで4位、GALAXY S III (docomo SC-06D)がppiで5位に入っていました。 上記のGALAXYはどちらも画面サイズが4.7、4.8インチと大きいので、海外では画面が大きい方が好まれるのかもしれませんね。 ところでタブレットはと言うと、こんな感じです。 順位通信事業者デバイスインチ(対角)サイズ(px)ppi

    スマホ&タブレットの解像度(ppi)ベスト3
    bleu-bleut
    bleu-bleut 2012/09/21
    解像度に関する記事。
  • 【Javascript】consoleオブジェクトが持つlog以外の便利メソッド18(前編)

    こんにちは、橋です。 今回と次回の2回にわたり、Safari、ChromeのWebインスペクターやFirefoxのFireBugで使えるconsoleオブジェクトの使い方について書いてみたいと思います。 Javascriptのコードをデバッグする際に、console.logを使ってメッセージやオブジェクトの内容をログに表示することがあるかと思いますが、 この「console」オブジェクト、実はlogメソッド以外にも複数のメソッドがあります。 まずは、consoleオブジェクトにどのようなメソッドがあるか、console.logを使って表示してみたいと思います。 consoleオブジェクトの中身を見てみると、__proto__オブジェクトに以下のメソッドが定義されています。 assert count debug dir dirxml error group groupCollapsed g

    【Javascript】consoleオブジェクトが持つlog以外の便利メソッド18(前編)
    bleu-bleut
    bleu-bleut 2012/08/11
    console.countメソッド。
  • レスポンシブデザインのウインドウサイズの切替えについてまとめてみました

    こんにちは。和田です。 ここ数日暑いですが皆様いかがお過ごしですか? 私共は先日、アシアルのHP(ブログも)をリニューアルしました! 皆さま見てていただけましたでしょうか? まだの方は是非是非ご覧になってください。 http://www.asial.co.jp さて今回のアシアルHPはレスポンシブデザインを採用しています。 そこで今回はFireworksから離れて、最近なにかと話題のレスポンシブデザイン-特に最初に悩むウインドウサイズの切替えについて書こうと思います。 アシアルではウインドウサイズの切替えを、タブレットはPC版のHPをそのまま表示させ、スマホのみウインドウサイズを切替える。ということにいたしましたが、 皆様はレスポンシブデザインを作成される際どのようなウインドウサイズ(幅)で切り分けていますでしょうか? 結構悩むところなのではないかと思います。 そこで、各デバイスのサイズの

    レスポンシブデザインのウインドウサイズの切替えについてまとめてみました
  • JavaScriptのコーディング規約を気軽にチェック

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

    JavaScriptのコーディング規約を気軽にチェック