タグ

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

  • AWS SDK for JavaScriptでAmazon S3とDynamoDBをクライアントサイドJavaScriptのみで操作する

    AWS SDK for JavaScriptAmazon S3とDynamoDBをクライアントサイドJavaScriptのみで操作する 久保田です。 AWS SDK for JavaScriptのデベロッパープレビューがリリースされました。AWSは今までウェブサービスのサーバサイドからしか扱えませんでしたが、このライブラリを用いることで、AWSのサービスをクライアントサイドのJavaScriptからでも操作できるようになります。つまり、IaaSとして利用できるAWSをサーバサイドのプログラム無しでBaaSのように扱うことができます。最も有名なBaaSの一つであるParse.comもバックエンドにはAWSを利用していることが知られていますが、今回登場したAWS SDK for JavaScriptを用いるとParse.comのようなBaaSと同じようなことがAWSでもできるのではないかと注

  • PDOにてMaster&Slaveのコネクションを操作するクラス(PHP)

    皆様、ご無沙汰しております。笹亀です。 いよいよきたる、9/10に新しいiPhone5 S(仮名)が発表される予定ということで、iphone4を使っている自分は今回のタイミングで変更する予定なので、いまから発表が楽しみです。 さて、日はフレームワークなどを利用している場合などであれば、あまり使用することはないですが、PDOを利用したレプリケーションしたデータベースのコネクションを切り分ける方法をご紹介したいと思います。PHPでも様々なフレームワーク(symfony,Cake,ZendFramwork)を使い開発をされるようになってきており、あまりレプリケーションの切り分けを考える必要がなくなってきておりますが、切り分けを行う方法(考え方)という視点で見ていただけますと幸いです。 ※尚、ご使用される場合は自己責任でお願い致します 概要について レプリケーションのコネクションを切り分けること

    PDOにてMaster&Slaveのコネクションを操作するクラス(PHP)
  • Selenium WebDriverでマウス操作 & 処理待機

    はじめに Selenium WebDriverを使えばブラウザを自動操作できます。WebDriverは単純なクリックから複雑なマウス操作や非同期処理の確認などもできます。最近のWebサイトやWebシステムではAjaxが多用されていたり、ドラッグ&ドロップを使用していたりと、結構複雑です。そんな場合のSelenium WebDriverの簡単な使い方をご紹介します。 「Selenium WebDriverとは?」「どうやって使うのか?」と思った方は、簡単・便利、ブラウザの自動操作!~Selenium WebDriver~をご一読下さい。 複数操作 マウスで複数の操作を一連の動きとして実行する場合、どのようにするのか、簡単にやってみます。アシアル・ホームページのトップ画面上部に、下の画像の部分があります。 この部分(スライダー)をマウスでドラッグすると、その下の構築事例や会社情報が切り替わりま

  • 使い始めて3ヶ月PHPStormの便利機能

    こんにちは増田です。今回はPHPStormの便利な機能を紹介します。 0. キーボードショートカットを設定する。 PHPStormにおけるキーボードショートカットの設定はKeymapで行うことが出来ます。 設定する際は一覧から目的のアクションを探して、キーボードショートカットを設定します。アクション名は画面上部の検索ボックスから検索することもできます。 Keymap設定画面 1. Structure クラスで定義されている関数一覧を見ることができます。EclipseにはあったのにPHPStormではどこにあるんだろう、と結構長い間探していましたがこんなところにありました。 Structureで関数の一覧を表示 2. 矩形選択 Editor Actions > Column Selection Mode Altを押しながらマウスで範囲選択をすることでもできますが、キーボードから離れたくないこ

    使い始めて3ヶ月PHPStormの便利機能
  • 【Winアプリ】ブラウザの自動操作!~Selenium WebDriver~ : アシアルブログ

    はじめに 今回はSelenium WebDriverをご紹介します。ブラウザ操作を自動化する際には最適な仕組みです。Webシステムのend-to-endテストを自動化する際には、ブラウザ操作が必要になることがあります。そんな時にSelenium WebDriverはとても便利です。 Selenium Seleniumとは、ブラウザをプログラムで動かすフレームワークです。この仕組みを使うことで、ユーザーテストなど、様々な処理を自動化できます。現在のところ、Seleniumは以下のWebブラウザを制御できます(公式サイト)。 Internet Explorer Firefox Chrome Opera Android標準Webブラウザ Safari (iPhone標準Webブラウザ) 実際に使用する際には、以下の2つの仕組みのどちらかを使用します。

    【Winアプリ】ブラウザの自動操作!~Selenium WebDriver~ : アシアルブログ
  • Backbone.js 入門してハマったポイントと対策

    Backbone.js とは JavaScriptフレームワークです。 http://backbonejs.org/ Backboneをはじめて利用するにあたってハマったポイントと対策に JSフレームワークについての感想を簡単に書いてみました。 ハマってみるのも醍醐味かもしれませんが、時間の無駄とも言わざる得ないので 同じように困った方のためになればいいなぁ、と自戒を込めて記録しようと思います。 ちなみにエラーメッセージはちゃんと出るんですが、どこで起きてるエラーなのか 突き止めるのに時間が掛かったりします。 エラーメッセージに慣れてくると「あ、これ見たことあるエラーだ」とハマる時間も減ります。 ◯エラーメッセージと対策 ※開発中はChromeでも確認していたので、Chromeのエラーメッセージとなります。 ※凡ミスだらけですが、ご了承ください。 ・Uncaught TypeError:

    Backbone.js 入門してハマったポイントと対策
  • Privoxyで透過型書き換えプロキシを作ってみた

    64Kbpsのモデムで通信していた時代、全く更新がないページをダウンロードするのは無駄以外の何者でもないので、一度見たページはプロキシサーバを使用してキャッシュして高速化という使い方もありましたが、最近は回線が太くなりプロキシを経由するボトルネックの方が大きくなって来ました。 そこで、今導入する利点を挙げて見ました。(自分が思いつく限り) ・フィルタリング IPレイヤではできない、HTMLの内容を見て判定。 今回の記事で解説。 ・通信の圧縮 ziproxyあたりを入れて、通信を圧縮したり画像の画質を下げて軽くする。 スマートフォンでこのプロキシを使用して快適に見るとか出来ます。 OperaTurboもこれを使用。 ・匿名性の確保(?) こちらもだいぶ昔から言われている利点で、サーバ側の設定によってはクライアントの情報をすべて隠蔽できる。(サーバ側のものになる) ターゲットサイトの管理者レベ

    Privoxyで透過型書き換えプロキシを作ってみた
    bigwest
    bigwest 2013/05/23
    透過型
  • 手軽にレンダリング!テンプレートエンジンTransparency

    はじめに Transparencyは、Javascriptで記述されたテンプレートエンジンです。クライアント側にて機能します。このテンプレートエンジンは以下の特徴を持っています テンプレートをHTMLの一部として記述(DOM構造内に記述) 属性値に基づくデータの結合(<%= foo %>や{{foo}}などは不要) 繰り返し構造の描画(ループ処理の記述不要) 一般的なJavaScriptテンプレートエンジン(Underscore.js、Mustache、jQuery Templateなど)では、テンプレートをSCRIPTタグ内に記述します。レンダリング時にはテンプレートからHTML文字列を生成します。これらのエンジンを使った場合、HTMLファイルを編集しずらかったり、読み込みが遅れて画面がブレることが多々あります。 一方で、Transparencyを使うと、HTMLを編集しやすい上、レンダ

    手軽にレンダリング!テンプレートエンジンTransparency
  • Standard PHP Libraryの例外クラスを活用しよう!

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

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

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

  • 実践TDD! テスト駆動開発入門

    こんにちは、斉藤です。 前回のブログをさぼっていたので、あっというまに次のブログの日が来てしまいました。 最近、テスト駆動開発入門(ケントベック著)というを読んでみて、これは!と思ったので、この開発方法の実践をしてみたいと思います。 今回はQUnitというJavaScriptのユニットテストフレームワークを使った方法でのご紹介です。 http://qunitjs.com/ * テスト駆動開発(TDD)とは? ユニットテストを常に書きながら、プログラムを開発していくスタイルのことです。 ユニットテストを先に書くので、プログラムはそれが通るように開発することが求められます。 具体的な開発のサイクル: 1. テストを作成する(表現したいことを確認するテストを作る。) 2. テストをパスする(1で作ったテストをパスする実装を行う。仮実装でも構わない。) 3. リファクタリングを行う(テストを増や

    実践TDD! テスト駆動開発入門
  • 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); }

    bigwest
    bigwest 2012/11/21
  • CakePHP2で簡単にACLを使う方法

    チョーシドウダ?カラダァ?どうも、高橋です! 今朝、CakePHP2.3.0-beta版がリリースされましたね! 今回のリリースでは、パフォーマンス、セキュリティ、使いやすさを向上させる新機能が追加されました。 また完全に下位互換があるので、2.2系からのマイグレーションは(おそらく)容易でしょう。 というわけで、早速Cake2.3を使ってACLを実現してみたいと思います。 イメージが掴みにくいと思ったのでデモを作成しました。(がんばりました! ログイン:http://s1.asial.co.jp/~yuya/blog/20121029/users/login username: adminuser / password: 0000 ACL管理 :http://s1.asial.co.jp/~yuya/blog/20121029/admin/acl またCakePHPのセットアップについて

    CakePHP2で簡単にACLを使う方法
  • 【HTML5】File APIを使って、投稿された画像を即時表示する方法【小ネタ】

    こんにちは、橋です。 今回は小ネタを1つ紹介したいと思います。 画像投稿フォームを作る際に、投稿された画像を即時表示したいなんてことありませんか? そんなときに便利なのが、HTML5で追加されたFile API。 File APIを使えば、投稿された画像(正確には、選択されたローカルファイル)の情報を取得することができます。 では、画像投稿機能のサンプルを元に、File APIの使い方を見て行きましょう。 File API自体はjQueryと何の関係もありませんが、いろいろと面倒なので今回もjQueryを使っています。 サンプル <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <script src="http://code.jquery.com/jquery-latest.js" type="text/jav

    【HTML5】File APIを使って、投稿された画像を即時表示する方法【小ネタ】
  • nginxで認証用proxyサーバを作成

    nginxと言えば、言わずと知れた高速なwebサーバ+ロードバランサです。 とにかく軽量で高速なので、apacheをこれに置き換えて高速化という話もよく聞くようになって来ました。 先日、このnginxとmemcacheを組み合わせてセッション認証サーバを構築したので、それについて書こうと思います。 今回作るシステムは、静的コンテンツを配信するサーバがすでにあり、 ・認証機構(ログイン画面)を追加 ・変更を最小限に抑えて開発 ・スケールアウトしやすい ・アクセス数が多いので、できるだけ処理を軽くする ことを目的とします。 この手のシステムは、既存システムに手を入れるのが普通ですが、既存システムでプログラムが動かないことには話になりません。 という事で、認証機構を追加したプロキシサーバを作成することで実現したいと思います。 仮に、PHPのみを使用して実装する場合は、下記のように出来ます。 ・ロ

    nginxで認証用proxyサーバを作成
  • Macでも手軽に使えるガントチャート描画ソフトGanttProject

    9月/10月社内Tech勉強会レポート – NodeJS/Privacy Sandbox API/3rdPartyCookie/NodeJS/PromiseAll/cascae/

  • 続続・イラストでわかるgit入門の入門:checkoutをする

    <pre wp-pre-tag-0=""></pre> nbsp;ls -al total 8 drwxr-xr-x   4 masa  masa   136  7 26 09:44 . drwxr-xr-x+ 54 masa  masa  1836  7 26 09:44 .. drwxr-xr-x  13 masa  masa   442  7 26 09:44 .git -rw-r--r--   1 masa  masa   104  7 26 09:44 index.html

    続続・イラストでわかるgit入門の入門:checkoutをする
    bigwest
    bigwest 2012/07/27
  • もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法

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

    もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法
  • 続・イラストでわかるgit入門の入門:ブランチを切る

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

    続・イラストでわかるgit入門の入門:ブランチを切る
    bigwest
    bigwest 2012/06/29
  • Mojitoでビューを作る!

    MojitoはYUI3ライブラリ(Yahoo! User Interface Library)上に構築されたJavascriptフレームワークです。YUI3自体がハイスタックなライブラリであるため、Mojitoでも独自拡張なしに様々なことを実行可能です。 前回の記事でMojitoを触ってみました。今回は、Mojito(とYUI3)の各種機能を使ってみたいと思います。Mojitoを初めて触る方、インストール方法やプロジェクト構成を知らない方は、前回の記事も読んでみて下さい。 今回は、以下の機能を触り、ビューを作ってみます。 テンプレート HTMLFrameMojit binder クライアントへのdeploy 初期設定 まずは適当なディレクトリに移動し、サンプルプロジェクトを作成し、サンプルmojitを作成します。

    Mojitoでビューを作る!