タグ

ブックマーク / thinkit.co.jp (273)

  • Reactによってネイティブ/Web論争は終わったのかもしれない

    PCで我々がWebアプリを多く利用するが、モバイルにおいてアプリは全てだ。今ではモバイルを使っている時間の90%はアプリの利用に費やされている。 ここでいうアプリとはネイティブアプリの事だ。 マーク・ザッカーバーグがネイティブではなくHTML5に投資したのは最大の失敗だったと宣言して以来、モバイルWebは着実に勢いを失ってきている。 しかし皮肉なことに、フェイスブックのエンジニアたちのおかげでそれも過去の事になる。 どういうことか説明しよう。 モバイルWebをReactする ザッカーバーグがHTML5は終わったと宣言した翌年、フェイスブックのエンジニアの一人であるジョーダン・ウォークがWeb開発の新しいアプローチであるReactJSを生み出した。 ReactJSは開発者がJavaScriptのスキルを活用し、アプリ開発をシンプルにできるようになった。しかし他にも多くあるイノベーションのうち

    Reactによってネイティブ/Web論争は終わったのかもしれない
  • 最新人気サービスを支えるディープラーニング

    連載の最終回となる今回は、ディープラーニングの実際の使われ方をいくつかの事例を交えて紹介しよう。実際、私達はすでにディープラーニング技術を知らず知らずのうちにウェブ上で使っている。このことは、2015年3月に開催されたNVIDIAのイベントにおいて、米GoogleのSenior FellowであるJeffery Dean氏が行った発表からも明らかだ。Dean氏は、「Googleの画像検索サービスや道路画像表示サービスからAndroid音声認識など、すでに47種類のサービスでディープラーニング利用している」ことを発表した。他にも、中国Baiduは米Googleと同様に音声認識、画像認識、コンテンツ連動型広告サービスなどでディープラーニングを実用化しており、米MicrosoftもBingの検索や音声認識に同技術を利用している。米Facebookも同様に力を入れており、ディープラーニングはす

    最新人気サービスを支えるディープラーニング
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
  • ミクシィ開発陣直伝! 今日からはじめるmixiアプリ開発

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • PostgreSQLクラスタの動向

    はじめに 今回は、代表的なOSSデータベースである「PostgreSQL」を用いたデータベース・クラスタの、これまでの経緯と現状を解説します。 1. 最初はシングル・マスターのレプリケーション 最初に登場した"PostgreSQLクラスタ"は、「Slony」と呼ぶ、シングル・マスターのレプリケーション・ソフトでした。レプリケーションとは、データベース全体のコピーのことです。これを高可用性(HA)の確保や性能の向上に用いることができます。 Slonyのバージョン1.0がリリースされたのは2004年です。6年も前になります。Slonyは、トリガーの機構を使ってデータベースの変更を検出し、これを複数のスレーブに転送します。これにより、1つのマスターを利用して複数のスレーブにデータベースのコピーを置くことができるようになっています。図1に、その概要を示します。 Slonyの特徴は、原理が単純な点で

  • これからはじめるRuby on Rails

    はじめに Rubyと出会ったころ、その簡潔さに感動した著者は、「ここまで自然言語に近い形でプログラムが書けるのであれば、インターネットとPCの違いすら理解しないでも、少しはプログラミングができるようになるかもしれない」と、家庭での普及に挑戦したことがあります。 その試みは、渡した入門書を「はじめてのRUBAI」と読まれた時点で頓挫したわけですが、その経験から「Rubyの文法に従ってはいるが、何やら他言語の匂いを感じるコード」のことを、Rubyの潜在力を生かしきれていないという意味で「RUBAIコード」と呼ぶことにしました。 そして、社内のさまざまな分野のプログラマにRuby開発を指導してみて分かったのは、"RUBAIコード"には、実装レベルの間違いと、設計レベルの間違いがあるということです。 実装レベルの間違いとは、処理を他言語の習慣に従って記述することで引き起こされます。Javaプログ

    t_43z
    t_43z 2010/10/13
  • 簡易ブラウザの作成(その2)

    はじめに こんにちは。タオソフトウェアの谷口と申します。昨今急速に注目を集めているアンドロイド(Android)。 稿では、そんなアンドロイド上で動くアプリケーションを書いてみようと考えている方に向けて、アンドロイド・プログラミングの第一歩についてお伝えしたいと思っています。 前回は、 WebViewを使ってGoogleのWebページを表示するところまでを実装しました。 今回は、About画面を追加する作業を通して、画面追加の仕方やメニューの操作方法について説明していきます。 オプションメニューを追加する アンドロイド端末のmenuキーを押したときに表示されるメニューを「オプション・メニュー」と呼びます。 今回は、About入力画面をオプション・メニューから呼び出せるようにします。 オプションメニューに「About」アイテムを作成するコードを追加しましょう。 MyWebView.java

  • 常に新しい端末に適応する

    指定できるリソース修飾子 前回は、端末における画面以外の特性に修飾子を付けることによって、それらの特性に応じてリソースを自動的に切り替えるという方法を解説しました。 最終回の今回は、前回のおさらいを兼ねて、リソースに指定可能な修飾子の一覧を示すとともに、リソース・マネージャが参照する端末の特性をコード側から取得する方法を示します。 最後に、リソース関連以外で重要なポイントとして、端末に搭載されているセンサー・デバイスを確認する方法や、状況に応じて最適な位置情報取得元(ロケーション・プロバイダ)を選択する方法について解説します。 これまで、リソースにさまざまな修飾子を付けてきましたが、あらためて、指定可能な修飾子を一覧すると、次の表(図1)のようになります。 これらの修飾子を複数指定する場合は、表の上から下の順番で指定します。例えば、言語と地域(ja-JP)を指定して、画面の向き(port、

  • iPhoneネイティブのクライアントを作る

    フレームワークを効率良く利用するために iPhone OSで稼働するアプリケーションは、いずれもある種の共通のユーザー・インタフェースを 持っていることはすぐに分かりますが、当然ながら、そうしたユーザー・インタフェースの仕組みをフレームワークとして提供しており、 それを利用するのが一番効率的な開発手段であるために使われています。 それらのクラスをきちんと使うことが、ユーザーインタフェース・ガイドラインに合致することにもつながります。 今回も、前回と同じサンプル・プログラムを使用します。 こちらからダウンロードしてください。 フレームワークの全貌まではこの記事では説明できませんが、ポイントをかいつまんで説明しましょう。 まず、実際に画面表示されるオブジェクトの基底クラスになる「ビュー」(クラス名はUIView)があり、 基は長方形の表示領域です。色を付けたり、さらにはビューの中にビューを入

    t_43z
    t_43z 2010/05/24
  • 第1回 Flashはなぜ嫌われるのか | Think IT

    今や「当たり前」に使われているFlash 連載では、ユーザビリティに配慮したFlashの正しい使い方や導入法について紹介します。 エンドユーザーのインターネット接続環境が加速度的に高速化している現在、ムービーやサウンドの要素を含んだリッチなウェブコンテンツは「当たり前」に見られるようになってきています。特に、閲覧に必要なプレーヤーアプリケーションの普及率が高く、プラットフォーム(OSやブラウザなど)の違いに依存せず使えるFlashは、スタンダードな手段として幅広く使われています。 Adobe社の発表(http://www.adobe.com/products/player_census/flashplayer/version_penetration.html)によると、日国内のFlash Playerの普及率は、どのバージョンもおおよそ99パーセント近くとされています(2008年6月現

    t_43z
    t_43z 2008/12/09
    「Flash「だから」よかった・満足したというユーザーは、限りなくゼロ」/「Flash「だから」というだけで反射的に嫌悪感を感じ、すぐにスキップ(skip)をクリックするユーザーは案外多い」
  • Red5とその他のオープンソースFlash技術

    オープンソースが開くFlashの世界 連載では、これまでにオープンソースのFMS(Flash Media Server)互換のサーバーソフトウエアであるRed5を中心にサーバーサイドと連携したFlashの世界について紹介してきました。今回はまとめとして、Red5の今後と、それ以外のFLash関連のオープンソースプロジェクトについて紹介し、今後のFlash開発の姿を占っていきます。 まず、背景としてFlashの世界は長らくMacromedia社/Adobe社の製品に依存してきました。現在でも最も重要な要素であるFlash PlayerはAdobe社によって精力的に開発が続けられています。そのFlash Playerの普及度は99%にせまっており、Flashをプラットフォームとしたアプリケーションやサービスの可能性は今後も高まるばかりです。 長らくクローズドな方針をとってきたAdobe社自身

  • Railsに変えてよかった!:iKnow!の場合

    iKnow!はRuby on Railsでできている みなさん「iKnow!」という語学学習サイトはご存じでしょうか? iKnow!は、効率的に暗記ができる、スケジュール管理および記憶定着度管理機能を備えたパーソナル学習アプリケーションを搭載した、無料のSNS型語学学習サイトです。サービス開始からわずか1年でユーザー数が34万人を超え、現在も国内最大の語学学習 SNSとして日々成長を続けています。 Think ITでも「【Webデザインワークフロー】iKnow!の作り方(http://www.thinkit.co.jp/article/111/1/)」(英語版「【Web design work flow】How to make iKnow!(http://www.thinkit.co.jp/article/121/1/)」)で、Webアプリケーションの開発手法について取り上げました。 この

  • はじめよう!Red5プログラミング

    Red5プログラミングをはじめよう 前回(http://www.thinkit.co.jp/article/152/2/)は、Red5をインストールして同梱(どうこん)されているデモアプリを見ていくことでRed5を使ったアプリケーションのイメージをつかんでいただきました。今回は、実際にプログラミングしていきます。Red5を使った一歩進んだFlashの世界へふみだしてみましょう。 まずは必要なものをそろえます。Red5はJavaで書かれたサーバーですので、サーバー側の実装はJavaになります。クライアント側はFlashですので、言語としてはActionScriptで書くことになります。 具体的に必要になるのは、クライアント側はおなじみのFlash CS3などのFlash IDEかFlex SDK、または、Flex Builderで行います。最低限のセットとしては無料で手に入るFlex SDK

  • 携帯用に動画を変換するには?

    携帯用動画コンテンツを用意しよう! 携帯動画を配信するためには、まず最初に動画コンテンツを用意する必要があります。あなたならどのようなコンテンツを配信したいと思いますか。 企業PV/商品PVなど、もちろんどのような内容のコンテンツを配信されても良いと思います。しかし、配信するメディア(デバイス)に合わせてコンテンツの内容(構成)を考える必要があります。 例えば、PCで配信する場合でも、使用するプレーヤーの画面サイズにあわせて動画の構図やテキストテロップのサイズを調整したり、ナローバンド、ブロードバンド向けにコンテンツを用意したりとユーザビリティを考慮します。 携帯動画は「リッチコンテンツ」です 筆者は、「携帯電話で撮影した動画を使用してみようと思うんだけど…」という要望を多く耳にします。 「携帯電話で撮影した動画を手軽に配信できる!」というのはあくまでエンターテインメントでの利用シーンを想

  • Pythonを選んだワケ

    Pythonを選択した理由 通常のプログラマの皆さんと同様に、筆者もいろいろな業務や私的なプログラミングにおいて複数の言語を利用しています。組み込みシステムの業務をするときはC言語を使用しますし、最近の私的なプロジェクトではErlangを使っていますし、趣味においてはMathematica、Rなどを使用します。 過去、システムインテグレーションを業としていた時期は、C++Javaも利用していましたし、現在もそれらを利用することに強い抵抗を感じるわけではありません。このように目的に応じて利用するプログラム言語を変えているのですが、総じてみると、Pythonを利用する頻度が高くなっています。筆者が日常的に利用する言語として、Pythonを選択する理由は大きく次の2つがあります。 ・アイデアをすぐに実現できるから。 ・Zopeで利用しているから。 以降、この2つの理由について説明しますが、一言

  • Red5をインストールしてデモアプリを試す

    Red5をインストールしてみよう 前回(http://www.thinkit.co.jp/article/152/1/)は、FlashでのストリーミングをキーワードにFlashクライアントとサーバー連携の技術的な概要と、それを可能にするオープンソースによるサーバーであるRed5について説明しました。今回は実際にRed5をインストールして動かしていきます。 Red5はOSFlash.org(http://osflash.org/red5)からダウンロードします。2008年10月の現時点では最新版はバージョン0.8のリリース候補版ということになっています。安定版とされているもので最新はバージョン0.7ですので、今回はバージョン0.7を選択します。 Red5はそれ単体で動くスタンドアローン型と、Tomcatなどと連動させて動かすWAR型との2つのタイプがあります。とりあえず試すという場合には、自

  • モバイル動画配信の仕組みを知ろう

    携帯動画に対応している端末とは? 携帯動画と言っても、再生できる端末とそうでない端末があります。主に3G(第三世代携帯)と呼ばれる端末が携帯動画に対応しています(一部、第二世代携帯でも再生可能)。 そして現在、携帯からモバイルサイトにアクセスするユーザーの97%がこの3G携帯の利用者であるというデータがあるように、ユーザーのほとんどが携帯動画を再生できる端末を使用していると考えられます(参考:モバイルWeb構築の最新潮流(http://www.thinkit.co.jp/article/145/1/))。 このことからも、昨今の動画コンテンツの注目度が上がってきている理由も当然の結果であると言えます。 キャリアによって異なるファイルコーデック 携帯動画をさまざまな情報配信ツールとして利用するならば、当然、3キャリアで再生できなければその効果は見込めません。 しかし、ここにもちょっとした問題

  • オブジェクト指向はどこに向かうか

    あらためてオブジェクト指向 ソフトウエアについて多少でも学んだことがあるなら「オブジェクト指向」という言葉を聞いたことがあると思います。オブジェクト指向は今やソフトウエア開発全般をカバーする方法論となっていますが、もともとはプログラミング言語における記述と思考のスタイルでした。 連載では、代表的なオブジェクト指向プログラミング言語について基的な言語仕様を紹介しつつ、オブジェクト指向が何を目指している技術なのかについてあらためて考えてみます。オブジェクト指向の知識は前提とせず、C言語などでプログラムを書いたことがあれば理解できるように書き進めたいと思います。もちろん、オブジェクト指向について論じるには用語や概念をそれなりに知る必要があります。その部分は説明的になってしまいますが、ご存じの場合は知識の再確認と考えてお付き合いください。 なお、連載では主にC++を使って概念の説明をしますが

    t_43z
    t_43z 2008/11/06
  • 無料で使えるRed5とは?

    Flashストリーミングって何? 動画を使ったサービスが増えています。ひと昔前でしたらRealやWindows Mediaなどの形式が主流でしたが、最近ではFlashを採用するのが標準的なやり方になってきました。一説によるとFlashプレーヤーの普及率は99%に迫る勢いだそうで、細かいバージョンを問わなければほぼ全員の環境で使えるのがFlashということになるでしょう。 連載では、オープンソースで提供されているRed5というプロダクトを軸に、Flashでの動画再生について紹介していきます。Flashというとクライアントサイドの技術といった感が強いのですが、Red5を使うことによってサーバーサイドとも連携した、より一歩進んだFlashの世界が開けると思っています。 まずは、ストリーミングについておさらいしましょう。「動画」であることと「ストリーミング」というワードが混同されている場面もあり

  • 携帯動画配信、その最新事情

    携帯動画の普及の要因は? 最近、「話題の携帯動画」「モバイル動画の可能性」といったような見出しの特集記事をニュースサイト等で目にする機会が多くなりました。 2008年6月ごろからdocomoは「ドコモ動画300無料」、auは「LISMO Video」と銘打ってTVCM等のマス媒体で「携帯での動画視聴」を全面にプッシュしています。auのサービスはPCでダウンロードしたムービーを携帯に転送して見るというものではありますが、いずれにしてもこれをきっかけに、携帯で動画が見られるということが広く認知されたことは間違いありません。 さらに、いつでもどこでも好きな時に視聴することができるという手軽さが、携帯動画の普及に拍車をかけています。 突然ですが、みなさんは一体どのような動画コンテンツを携帯で視聴されますか。 調査結果によると、Youtube(http://jp.youtube.com/)、Ame