タグ

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

  • AngularJS + Onsen UIで始めるPhoneGapアプリケーション

    ハイブリッド モバイル アプリ開発フレームワークであるPhoneGapは、 HTML5でアプリを作るための非常に便利なフレームワークです。 カメラや位置情報などネイティブの機能を簡単にJavaScriptから利用できるようになります。 しかしPhoneGapでは、スマートフォンアプリにとってとても重要な、 UIパーツや画面遷移などのインタラクションは提供されていません。 HTML/CSS/JavaScriptでこれらのUI、アニメーションを一から作るのは非常に大変です。 ネイティブと違和感ないデザインや、なめらかな自然な動き、端末毎の差異など気にすることはたくさんあります。 今回ご紹介する、Onsen UI を使用すれば、PhoneGap/Cordovaアプリを飛躍的に改善することができます。 他のフレームワークよりも洗練された柔軟性を持ち、ハイブリッドアプリにおいても、 ネイティブ並みの

    AngularJS + Onsen UIで始めるPhoneGapアプリケーション
  • 個別Push通知機能の紹介

    こんにちは。内藤です。 Monacaバックエンドに新しく個別Push通知機能が搭載されました。 この機能の使い方について、簡単に紹介します。 個別Push通知機能 個別Push通知機能では、特定のユーザー(またはグループ、デバイス)だけに通知を送ることが可能になります。たとえば、会員登録しているアプリであれば、20代女性会員だけに通知するとか、30代男性会員だけに通知するということが可能になる、ということですね。 Monacaバックエンドによる個別Push通知機能には、大きく3パターンの呼び出し方があります。 (パターンA) ユーザの絞り込み条件を指定 Monacaバックエンドのユーザのプロパティ値として任意の値を保存しておくと、それらの値をプッシュ通知のユーザ絞り込み条件に用いることができます。この場合、条件に合致するユーザに対してのみ、プッシュ通知が行われま

    個別Push通知機能の紹介
  • http://blog.asial.co.jp/1249

  • MonacaバックエンドのAngularJSモジュールを作りました

    こんにちは、中川です。 MonacaバックエンドをAngularJSから簡単に利用できるモジュールを作成しました。 ■ Monacaバックエンドとは? http://docs.monaca.mobi/en/manual/backend_index/ アプリ内でのユーザー管理やプッシュ通知送信を行うには、通常の場合これらの機能を提供するサーバーサイドのプログラムを自分で用意する必要があります。 Monacaバックエンド はクラウドサービスとしてサーバーサイドの機能を提供することで、アプリ開発者がこれらの準備を行わなくても済むようにしています。 すなわち、Monacaバックエンドを使うことで、アプリ開発者はサーバーやサーバーサイドのプログラムを自分自身で用意することなく、バックエンドの機能を使うことができます。 ■ AngularJSで利用する場合の問題点 Monacaバックエンドを利用するた

    MonacaバックエンドのAngularJSモジュールを作りました
  • 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リリース!新機能を試す
  • http://blog.asial.co.jp/1242

  • http://blog.asial.co.jp/1236

  • はじめてのAmazon VPC

    こんにちは、牧野です。 最近、鎌倉の「コクリコ」というお店のクレープにハマっています。 今のところ、レモンシュガーとアンチョビサラダが一押しです。ほのかに甘い、縁がパリパリの生地に、強めの酸味や塩味がよく合います。 鎌倉に行くことがあれば、ぜひ試してみて下さい。 さて。 だいぶ前になりますが、AmazonAWSを使う機会があり、その時にVPC(バーチャルプライベートクラウド)を使いました。今日はその話題です。 VPCは、クラウド上にプライベートなネットワークを用意し、その中にEC2サーバーを設置できるというものです。 まず、一つのローカルネットワークを作成し、さらにその中に複数のサブネットワークを作り、各ネットワーク内にサーバーを設置できます。あるサブネットは外部公開用、別のサブネットは内部専用というように、自由にネットワークを設定できます。 便利なのですが多少クセがあり、VPCとインタ

    はじめてのAmazon VPC
  • OnsenUIを使った一覧と詳細画面の作り方

    この記事は、英語版アシアルブログの翻訳記事です。 (原文はこちら) ============================== ほとんどのモバイルアプリでは複数のページ間でデータの共有・受け渡しを必要とします。 OnsenUIAngularJSの機能を利用しながらページ間でのデータ受け渡しを実現しています。 実際のアプリでは以下のように作ることができます。 手順1. 『OnsenUI最小限のテンプレート』からプロジェクトを作成する 1-1. monaca.mobiにログインします。 1-2. 新しいプロジェクトを作成します。 1-3. 『OnsenUI最小限のテンプレート』を選択してプロジェクトを作成します ※詳しい作成方法についてはこのチュートリアルで紹介されています 新しいプロジェクトを作成するとこのようになります: 手順2.  データを保持するためのServiceを作成する ここ

    OnsenUIを使った一覧と詳細画面の作り方
  • Monacaが正式リリースしました!

    はじめまして!Monacaエバンジェリストの生形です。 長い間パブリックベータ版として皆様にご愛顧頂いておりましたMonacaが、 9/12、ついに正式リリースを迎えました! 日は、正式リリースで追加された新機能のうち、目玉の2機能をご紹介します! UIフレームワーク Onsen UI Onsen UIは、シンプルなコードでモバイル用UIを構築することができる、HTML5ベースのUIフレームワークです。 ここでは、基的な利用方法を解説します。 まず、プロジェクトのプラグイン設定で、Onsen UIを有効にします。 続いて、ページを構成するhtmlファイルにOnsen UIをロードするための記述を追記します。 以上で、Onsen UIを利用するための準備が整いました。 Onsen UIには”ons-“で始まる様々な独自タグが用意されており、それらをhtmlファイルに記述することで、 モバ

    Monacaが正式リリースしました!
  • 最近のJavaScript開発まとめ

    こんにちは、中川です。 ここ1・2年ですが、私の担当するプロジェクトでは、 PHPよりもJavaScriptの開発が多い状態が続いております。 JSのプロジェクトを重ねるにつれ、開発環境も段々と整理されてきましたので、 一旦、最近のJS開発で利用しているライブラリやツールなどをまとめてみました。 フレームワーク ●Backbone.js http://backbonejs.org/ JavaScriptのMVCフレームワーク。 何も使わない(もしくは我流)よりは、これを使って欲しいと思えるフレームワークです。 利用者が多く日語情報も豊富にあるのと、フレームワーク自体が1500行程度と軽量なため、学習コストを低く抑えることができます。 ●AngularJS http://angularjs.org/ データバインディングを備えたフレームワーク。 高機能なテンプレートや、DIの仕組み、ルーテ

    最近のJavaScript開発まとめ
  • xdebugを使ったコードカバレッジ集計

    こんにちは、牧野です。久々のブログになりました。。 私事ですが、昨年末、鎌倉に引っ越しました。 今は毎日、鎌倉から1時間半くらいかけて会社に通っています。 前の自転車通勤と比べて片道1時間くらい余計にかかるのですが、通勤電車は混んでおらず(大体11時出社)、席に座って好きなことをして過ごせるので、かえって楽になりました。 会社が始まるのが遅ければ、鎌倉暮らしはおすすめです。 さて、今回はPHPのコードカバレッジについてです。 コードカバレッジとは、プログラムコードのうちどれくらいの割合実行されたのかを表すものです。 例えば、システムのテストをした結果、コードカバレッジが100%になっていれば、全てのプログラムを一通りテストできた、ということが言えます。 今回やりたかったのは、ウェブアクセスして動作確認を進めていく中で、全体のうちどれくらいの割合テストできたのか、どの部分がまだテストできてい

    xdebugを使ったコードカバレッジ集計
  • nginx(リバプロ)とapache(Webサーバ)でアクセス要求制御をしよう

    Apacheの設定ファイルを変更します。 80番はリバプロ側で処理するためApacheではListenポートを8010に変更する nginx側の設定を変更します。 インストール後は「/opt/local/etc/nginx」に設定ファイルのサンプルがあり、 通常はこちらを参考にして設定しますが、今回は設定ファイルを下記のように設定します。 1.mimeタイプはデフォルトのものを利用します sudo mv /opt/local/etc/nginx/mime.types.default /opt/local/etc/nginx/mime.types user  nobody; worker_processes  1; error_log  logs/error.log  info; events { worker_connections  256; } http { include      

    nginx(リバプロ)とapache(Webサーバ)でアクセス要求制御をしよう
  • Standard PHP Libraryの例外クラスを活用しよう!

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

  • http://blog.asial.co.jp/1115

  • 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); }

  • ちょっと便利なJavascriptオブジェクトの作り方

    今回は、ちょっと便利なJavascriptオブジェクトの作り方をご紹介します。いわゆるモジュール・パターンと呼ばれている方法です。 はじめに 最近、HTML5への注目と共に、Javascriptを使用する機会が増えてきました。以下のように適用範囲は多岐に渡っています。 通常のWebサイトでのユーザビリティ向上 スマートフォン用Webサイト開発 HTML5アプリによるクライアント・アプリ開発 スマートフォンのハイブリッドアプリ開発 Node.jsによるサーバサイド・プログラミング このように、Javascriptが基幹となる仕組みが広がっています。クライアント側とサーバ側を同じ言語で作れることは、開発側にとってはとても有難いことです(学習コストの低減、人的リソース配分の柔軟性など)。もちろん、発注者やエンドユーアにとっても開発速度などの面で利益が生まれます。 Javascriptプログラミン

    ちょっと便利なJavascriptオブジェクトの作り方
  • PHPで使えるレコメンドエンジン

    皆さん、こんばんは。笹亀です。 先日、MacBookProの13インチでRetinaディスプレイを搭載したとっても魅力的なモデルが発表されました。 自分のMacBookProが13インチでもう3年くらい使用しているので、買い替えたいと悩んでます。 PCエンジニアの商売道具ですから、多少のわがまましても購入してもバチはあたらないかと思ってます^^; 日はレコメンドエンジンについてご紹介したいと思います。 主にPHPで利用できるという目線で使ったことがあるもの、使ったことがないものの両方をご紹介します。 レコメンドというのはよく「この商品を買った人はこの商品も買ってます」とか見受けるかと思いますが、商品などをおすすめするような機能のことを言います。 ただ、一般的に無料(オープンソース)で提供されている独自のロジックにより複雑な計算などをさせてレコメンド機能を実装したい場合などにはあまりむか

    PHPで使えるレコメンドエンジン
  • JavaScriptでうっかりやってしまいそうなこと色々

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

  • MongoDBのWeb管理ツール「mViewer」

    db.users.find(); { "_id" : ObjectId("506b958fb9e8c7cfc57cce86"), "firstname" : "aaa", "lastname" : "xxx", "age" : 20 } { "_id" : ObjectId("506b959fb9e8c7cfc57cce87"), "firstname" : "bbb", "lastname" : "yyy", "age" : 30 } { "_id" : ObjectId("506b95a7b9e8c7cfc57cce88"), "firstname" : "ccc", "lastname" : "zzz", "age" : 40 } >>BOXNC > db.users.find().forEach(printjson); { “_id” : ObjectId(“506b958fb

    MongoDBのWeb管理ツール「mViewer」