今回は、Firebaseというサービスを使ってWebサイト上で動作するアプリケーションをいくつか作ってみたのでご紹介します。
![今Googleで最も熱いサービスFirebaseで、リアルタイムWebアプリをサクッと作ってみた | PLAID engineer blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/8365288895414d2a99d689fece9a474b72c7a959/height=288;version=1;width=512/https%3A%2F%2Fik.imagekit.io%2Fnewt%2F61b151f921640c0018173598%2F3f3c5ea9-d4ac-4812-a2e9-ade31030c687%2Ffirebase-webapp-3.jpg%3Ftr%3Dw-1000%2Ch-1000%2Cc-at_max)
私は、ソーシャル系とは縁遠い仕事ばっかりしているのですが、そういう依頼も若干増えてきたので話題になっている「艦これ」をお盆にやってみた。 残念ながら、「艦これ」の魅力は分からなかった。しかし、ミッションを用意されると、「クリアーしたい」という欲求から意地になるのは、何となく理解できました。それより、同時に始めた「Clash of Clans」には嵌まりました。気になっていた「ゲームの中に如何に自然に課金システムを取り入れるか」という課題についても、個人的には「Clash of Clans」の方が上手に解決しているように思います。 「艦これ」は、同時アクセスが10万以上あって、何度かシステム障害があったとのこと(そりゃあるでしょうが……)。私の興味の方向性は、課金システムであったり、システム構成にあるので、「艦これ」のシステム障害の方が強い興味の対象になります(苦笑) というわけで、「ソーシ
Amazon Q Business, now generally available, helps boost workforce productivity with generative AI At AWS re:Invent 2023, we previewed Amazon Q Business, a generative artificial intelligence (generative AI)–powered assistant that can answer questions, provide summaries, generate content, and securely complete tasks based on data and information in your enterprise systems. With Amazon Q Business, yo
さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと
もとは、androidのN2TTSやVocalizerという読み上げアプリ用に作ったユーザー辞書(読み替え単語集)です。 最近のTTSエンジンは十分に賢いので、このユーザー辞書を使うと、かえって読み上げ精度や抑揚が悪くなるかも。 (例:「青瓦台」は、googleテキスト読み上げでは「セイガダイ」と正しく読めるが、マイクロソフトのHarukaでは「アオガワラダイ」と読んでしまうなど、TTSエンジンによって得意・不得意がある) ベクターのフリー辞書などを転用して、時代小説などに頻出する地名や人名などを登録してみました。 TabSpeechというChromeプラグインでユーザー辞書(読み替え)のデータベースを指定できるので、このデータベースも利用できると思います。 ★ユーザー辞書を充実させるため、単語追加歓迎します。 ただ、隆盛(人名でのタカモリ、普通名詞のリュウセイ)とか意味によって読み方が変
ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止
Facebookは大規模なデータ処理の基盤としてHBaseを利用しています。なぜFacebookはHBaseを用いているのか、どのように利用しているのでしょうか? 7月1日に都内で行われた勉強会で、Facebookのソフトウェアエンジニアであるジョナサン・グレイ(Jonathan Gray)氏による解説が行われました。 解説はほぼスライドの内容そのままでした。当日使われた日本語訳されたスライドが公開されているので、ポイントとなるページを紹介しましょう。 Realtime Apache Hadoop at Facebook なぜリアルタイムデータの分析に、Hadoop/HBaseを使うのか? MySQLは安定しているが、分散システムとして設計されておらず、サイズにも上限がある。一方、Hadoopはスケーラブルだがプログラミングが難しく、ランダムな書き込みや読み込みに向いていない。 Faceb
これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケーラビリティに関する技術を少しまとめて紹介しようと思います。 従来のリレーショナルを拡張 従来のリレーショナルデータベースに対して、技術的工夫を凝らすことでスケーラブルなデータベースを実現しようというアプローチにも、さまざまなものがあります。 データベース研究者の大御所、マイケル・ストーンブレイカー氏は、リレーショナルデータベースは決して遅くないと主張。リレーショナルデータベースが遅い原因はロック、ラッチ、リソース管理にあるとして、それらを極力排除した「VoltDB」を開発しています。 NoSQLを上回る性能のVoltDB、そのアーキテクチャ
Webアプリケーション開発に欠かせないデータベース管理システム(RDBMS)。オープンソースの製品が広く利用される昨今ですが、無償で利用できる商用のRDBMSもあります。そんな製品の一つがIBMの「DB2」です。歴史が長く、実績はたくさんあります。そうはいっても使ったことない! どんなもんだか試したい! そう思った一人が、フリーランスのWebエンジニア女子、id:acotieさんでした。普段から開催している勉強会の番外編として、同じくWebエンジニア女子のid:aomushi510さんを呼び、無償で利用できる「DB2 Express-C」に触れてみることに。記事の終わりにはプレゼントのお知らせもあります。 (※この記事は日本アイ・ビー・エム提供によるPR記事です。) このたびの東日本大震災で被災された皆さまに心よりお見舞い申し上げます。皆さまの安全と一刻も早い復旧と復興を心からお祈り申し上
スライドの作者であるGleicon Moraesは、これらの図を示した上で、リレーショナルデータベースはガムテープのようにつぎはぎで使えるような万能薬ではない。シャーディングや非正規化などは検討すべきよい選択肢であり、またリレーショナル以外のデータベースも選択肢としていれるとよいだろうと説いています。 そして次のような「リレーショナルデータベースの間違った使い方10項目」を示しているのです(訳は前述の記事「データベースの間違った使い方10項目」から)。 Dynamic table creation(動的なテーブルの作成) Table as cache(テーブルをキャッシュとして使う) Table as queue(テーブルをキューとして使う) Table as log file(テーブルをログとして使う) Distributed Global Locking(分散したグローバルなロック)
LevelDBはSQLをサポートせず、クライアント/サーバ型でもなく、シングルプロセスからアクセスされることを想定したいわゆるNoSQLの高速なキーバリュー型データストアを実現するためのライトウェイトなライブラリだと説明されています。 ChromeブラウザでHTML5の仕様として策定中のIndexedDBを実装するものとして開発されたようです(ドキュメントに明記されていないのですが)。 LevelDBを開発した理由 LevelDBのWebサイトによると、LevelDBは以下の主な機能を備えています。 基本的な操作は、Put(key,value), Get(key), Delete(key) 1つのトランザクションとして複数の変更操作が可能 データは自動的に圧縮し保存される Hacker Newsの記事によると、当初はLevelDBを開発する代わりに平林幹雄氏が開発したTokyo Cabin
データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく
森川です。 巷ではエイプリルフールネタがおさかんですが、普通にデータベースのモデリングツールの紹介です(エイプリルフールネタが思いつかない…)。 普段MySQLならDBDesigner4、PostgreSQLならClayを使用しているのですが、他に何かよいツールはないものかと調べてみました。 Clay 言わずと知れた?モデリングツールです。Eclipseのプラグインで、無償でも使用可能です。MySQL、PostgreSQLで使用可能です。 無償版ではER-図や、DB定義書を出力できません。対応するDBが少なかったりもします。 個人的には、PostgreSQLを使用する場合によく使います。外部キー制約などにも対応しているのでそれほど困りません。 リバースエンジニアリングに対応しているのも気に入っている理由の一つです。 ちなみに、リバースエンジニアリングをするにあたってPostgreSQLのJ
データベースを知ってWebサイトをパワーアップ 例えばショッピングサイトを作ることを考えてみよう。 「価格が安い順に並べたい」とか、「入力したキーワードに一部でも合致したら、その商品を表示する」とか、はたまた「最初に20件だけ表示して、『次のページへ』のリンクをクリックすると、次の20件を表示する」といった具合に、さまざまな機能を思い浮かべることができるだろう。 いったい、どれだけ難しいテクニックが必要なのかと思われるかも知れない。また、実際にWebプログラマに提案しても「難しすぎるので無理」などといわれるかも知れない。 しかし、実際にはこのようなデータ処理は「データベース(DB)」を利用してさえいれば、実に簡単に実現することができる。是非、デザイナの皆さんもデータベースの知識を身につけ、理論武装でプログラマを説得してみて欲しい。 データベースはソフトの種類の名前 まず最初におさえておきた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く