タグ

ブックマーク / 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.cloud.Push.setHandler(function(data){ monaca.invokeBrowser(data.url);  // Open url in default browser }); 上記は、Push通知を受け取るハンドラーで、受け取ったJSONのうち、urlで指定されたWebページをブラウザにより開きます。 また、個別Push通知用にデバイスIDを取得する必要があるので、コンソールログ(および画面)にデバイスIDを表示する機能を記述しておきます。 monaca.getDeviceId( function(deviceId) { console.log( "deviceId = " + deviceId ); $('#deviceId').text(deviceId); }); 今回は、上記で得られるデバイスIDを用いて、サーバー側からデバイスID

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

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

    <!DOCTYPE html> <html lang="en" ng-app="app"> <head> <meta charset="UTF-8"> <title>Example</title> <script src="plugins/plugin-loader.js"></script> <script src="js/angular.js"></script> <script src="js/monaca-cloud-angular.js"></script> <script src="js/main.js"></script> </head> <body ng-controller="MainCtrl"> <pre> {{result|json}} -------------------------- {{error|json}} </pre> </body> </html> m

    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

    *nat :PREROUTING ACCEPT :POSTROUTING ACCEPT :OUTPUT ACCEPT -A POSTROUTING -s 10.123.0.0/255.255.0.0 -o eth0 -j MASQUERADE COMMIT *filter :INPUT ACCEPT :FORWARD ACCEPT :OUTPUT ACCEPT COMMIT

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

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

  • 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ファイルに記述することで、 モバ

  • 最近のJavaScript開発まとめ

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

    最近の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」