2015年6月3日に行われたAWS Summit Tokyo 2015 DevCon (http://www.awssummit.tokyo/) での発表スライドです。 Gunosy は「情報キュレーションアプリ」としてAmazon SNS を通じて1日に数多くのプッシュ通知を行っており、今やプ…
参考:動画配信プラットフォーム on AWS 2014.05.22 Amazon Data Service Japan 上図の中の HLSがHTTP Live Streamingです。 HTTPストリーミングの配信技術で、全てのプラットフォームに対応していると言えます。 (注1) QuickTime Player 10以上や、るMicrosoft Edge(Windows10)で再生可能です。InternetExplorerでは再生できません。 3 構成 HTTP Live Streamingの構成は、次の図で表現できます。 iPhoneなどのクライアントは、Webサーバに配置された動画ファイルにHTTP(HTTPS)でアクセスします(①)。 Webサーバ上の動画ファイルは、メディアセグメントファイル(.ts MPEG-2トランスポートストリームファイル)と、インデックスファイル(
1.やりたいこと UserAgentから、「パソコン」「スマートフォン」「タブレット」など判別することができます。 WEBの世界では、この条件に応じて表示するレイアウトを変えたりすることは多々あるかと思います。 あるいは、ログからアクセス数を求めるなんてこともあるでしょう。 今回は、その中でも「タブレット」を判別する方法を検討してみます。 2.検討 大きく分けると、「iPad」と「Android」の2種類に分類できると思います。 「windows Phone」「Blackberry」「Kindle」などは、今回は割愛して、その他扱いにします。 iPad iPadを識別する方法は非常にシンプルです。 例:『iOS 8.0.2 iPad Safari』のUserAgent Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/60
アプリのweb viiewから、ajaxでクロスドメインのAPIを実行しようとして とても大変な思いをしたので備忘録。 概要 APIサーバーから、アプリのWebViewで表示するHTML(文字列)を取得する HTMLの中で別サーバーのJSを読み込む。 JSからXMLHttpRequestでAPIを実行する。 APIはGETとPOSTの2種類。 APIサーバーはPerlで、WAFにAmon2を使用。 GETが失敗する件 ログを見ると、OPTIONSリクエストに403を返していた。 What is OPTIONSリクエスト? プリフライトリクエストという。 リクエストを送信しても安全か?サーバーがリクエストに対応しているか? ということを調べるために、ブラウザが特定の条件を満たす場合に飛ばす。 特定の条件 以下、HTTP access control (CORS) | MDNより引用。 GET
一見Emailアドレスにマッチする正規表現を組み立てるのは簡単そうに思えますが、RFC 5322に厳密に準拠した正規表現を創りだそうとするととんでも無い努力が必要となるようです。 「Email Address Regular Expression That 99.9% Works」は、様々なプログラミング言語ごとに、Emailアドレスに99%マッチする正規表現を掲載したサイトで、例えばPerl 5.10より前のバージョンのPerl用として、掲載されている長大な正規表現を見れば、その難易度の高さを確認することができます。 正規表現にはなんの解説もなくどのような意図をもって作られたのか説明はありません(よって99%マッチするかどうかは本当のところは不明)。ちなみに日本語で読める貴重な情報「Perlメモ」では、「perl5.6.0以前の perl ではメールアドレスの正規表現を正確に記述すること
Twilioクライアントアプリを作るには まずはTwilioクライアントアプリのアーキテクチャを理解しましょう。Twilioクライアントアプリで電話の発着信をするには、以下の手順が必要になります。 クライアントアプリがアプリ用のサーバからケイパビリティトークンを取得 クライアントアプリがTwilioに発着信のコネクションを登録 Twilioがアプリ用のサーバからTwiMLを取得し、TwiMLに記載された動作を実行 【1】ケイパビリティトークンの取得 ケイパビリティトークンはアプリ用のサーバで生成するトークンで、クライアントアプリがTwilioにデバイス登録するときに使用します。この仕組みを使うことでクライアントサイドにアプリの認証トークンを明かすことなく、Twilioサービスに安全にアクセスできるようになります。 【2】発着信のコネクションを登録 クライアントアプリでは、Twilioに発着
前回、Androidでは端末のメモリが不足するとstatic変数がクリアされたり、 Activityのメンバ変数がクリアされるという問題を紹介しました。 とはいえ、Object型変数であれば常に null になることを想定しなければならないとすると毎回 null チェックをしなければならないことになり、プログラムとしてもかなり可読性が悪いばかりか、不具合発生時に不具合を見逃す可能性も高くなります。 じゃあどうすればいい?ということになりますが、具体的な対処法の前に、まずはstatic変数がクリアされる理由について詳しく紹介します。 01. 端末がメモリ不足になってアプリを再アクティブにした場合、クラスロードから再度実行される 端末がメモリ不足になると、static変数やActivityのメンバ変数がクリアされると紹介しましたが、このとき、Javaとしてどのような動きをするかというと、クラス
Google上級副社長のアンディ・ルービン氏は、4月16日に都内で開かれた「新経済サミット2013」で、「パズル&ドラゴンズ」(パズドラ)について言及した。 月ごとの決済時、パズドラユーザーの決済でGoogleの決済インフラがほぼいっぱいになり、設備投資をして能力を増強しないと耐えられないこともあったという。ルービン氏はこれを「パズドラeffect」として紹介。日本のアプリマーケットの収益性の高さについて「とても興味深い」と話していた。 関連記事 「Androidは当初、デジカメ向けだった」 生みの親 アンディ・ルービンが語る“素早い転換”の価値 Androidは当初、デジタルカメラ用のプラットフォームとして開発されたという。わずか5カ月でスマートフォン向けに転換。その背景を、Android生みの親・ルービン氏が、当時の資料とともに振り返った。 「パズドラ」絶好調のガンホー、2月だけで売上
参照方法によってメモリの解放タイミングが異なる Android ではオブジェクトがヒープ領域にたまりメモリ不足が生じたとき、 ガベージコレクション(GC) が起動して不要なオブジェクトのメモリを開放してくれます。 実装コードではすべてのオブジェクトを手動で開放する必要はなく、基本的には GC の挙動に任せることでメモリ圧迫を軽減できます。特に「不要なオブジェクト」という点が重要で、GC はオブジェクトの参照状態を見て不要かどうか判断します。 参照方法にはいくつか種類があります。通常の参照方法は強参照と呼ばれますが、そのほかにソフト参照(SoftReference)や弱参照(WeakReference)と呼ばれる参照方法があります。これらの参照方法によって GC でメモリから開放されるタイミングが異なるというわけです。 ということで今回は SoftReference と WeakRefere
AndroidアプリのOutOfMemoryError(メモリリーク)の対策としてやったことのまとめ。 Androidアプリを作っている人ならOutOfMemoryErrorに悩まされた事のある人も多いと思います。 自分も悩まされて色々試行錯誤したので、そのへんをまとめておきます。 まず、OutOfMemoryErrorに関してですが、エラーレポートには大抵、画像の描画、ロード時に発生したと書かれていることが多いですが、画像が直接の原因じゃないことも結構多いです。(もちろん、単純に画像が大きすぎる、使用する画像の数が多すぎることもありますが、その場合はサイズの縮小などを行なってください。) 自分も最初は画像が原因だと思い込んでいたので、BitmapのConfigを変更してアルファ情報を抜いたりとかして使用するメモリ容量を減らして、「対策できた!」とか思ってました。 でも、あんまりエラーレポ
こんにちは、レシピ投稿推進室の小室(id:hogelog)です。 今回は私が実装したAndroid向けグラフ描画ライブラリline-chart-viewの紹介、ではなくついカッとなってOSSとしてこのライブラリを作りクックパッド (Androidアプリ)に組み込んだ話について書きます。 line-chart-view 最低限の紹介をするとline-chart-viewというのは List<LineChartView.Point> points = new ArrayList<>(); points.add(new LineChartView.Point(date("2014/07/01"), 100)); points.add(new LineChartView.Point(date("2014/07/02"), 200)); points.add(new LineChartView.Po
設定画面の作り方(PreferenceActivity)久々にコードのお話を。 アプリによくある設定画面を作成する際に使用する「PreferenceActivity」についてです。 参考:http://developer.android.com/intl/ja/reference/android/preference/PreferenceActivity.html 上の写真は簡単なサンプルアプリを起動した画面です。 まず、プロジェクトを作成し、新規に「res/xml/pref.xml」、「res/values/arrays.xml」を作成します。 pref.xmlは設定画面の画面用、arrays.xmlは設定画面のリスト要素の値を定義しています。 res/xml/pref.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceSc
Androidアプリのデータ保存方法の「プリファレンス」の使い方は? Androidアプリでは、いくつかのデータ保存方法が用意されていますが、最も簡単に扱える方法が、この「プリファレンス(Preference)」であると思います。 プリファレンスは、データを、キー名と値の組み合わせで保存する形をとります。 JavaでいうHashTableや、VB等のDictionaryのような感じですね。 データの量や保存したい形にもよりますが、数個の設定値を保持させておきたいぐらいであれば、このプリファレンスで事足りると思います。 それでは、サンプルコードとともに、プリファレンスの使い方をみていきましょう。 プリファレンスの保存方法 まずは保存時の処理の説明です。 保存するデータの型は、boolean型、float型、int型、long型、String型が使えます。 String型のデータを保存するとき
Androidアプリの使いやすさを左右する5つのレイアウト:Androidで動く携帯Javaアプリ作成入門(5)(1/3 ページ) 本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう 分かりやすく、入力しやすく、カッコいいAndroidアプリを 前回の「簡単でワクワクするAndroidウィジェット10連発!」で紹介したとおり、Androidのウィジェットはケータイとは思えないほどリッチなものです。ただ、どんなにリッチなウィジェットも、それ単独では役に立ちません。ウィジェットを使うには、画面のどこに配置するかを決めなければいけません。 そこで今回は「ウィジェットをどのように効果的に配置するか」というのがテーマです。ウィジェットを配置するには、Androidの「レイアウト」という仕組みを利用します。ウィ
易信科技凭借着自2004年成立以来,深耕IDC行业16年的技术积累和自主建设的绿色节能数据中心。为用户提供服务器托管、服务器租用、高功率机柜租用、机房大带宽、云主机、数据中心节能产品及方案等服务。
2012年6月末にAndroidの開発環境が更新されました。 新しいAndroid SDK(開発用キット)とADT(EclipseのAndroid開発用プラグイン)では、Androidプロジェクト作成部分のGUIが大きく変わっています。アイコンの属性を右上図のように選択できるようになったほか、右下図のようにアプリのテンプレートを視覚的に選べるようになりました。 プロジェクトのひな形となるHello Worldアプリの外観も変更されました。従来は、黒い画面の上部に小さく地味に「Hello world Activity名」と表示していましたが、白い画面の中央に表示する形に変更されました。 以下では、Windows(32bit)PCにAndroid開発環境を導入して、ひな形のHello Worldアプリをビルドするまでの方法を解説します(2012年7月20日時点最新) インストールするソフト ・
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く