タグ

ブックマーク / codezine.jp (18)

  • 11025

    エンジニアなら誰しも、アーキテクチャの大幅な変更には多大なる苦労が伴うことを知っているだろう。新技術の習得にコストがかかる、システム移行時に障害が起きかねない、全体設計見直しの難易度が高いなど、立ちはだかるハードルは枚挙にいとまがない。株式会社ブロードリーフは、そんな苦労を乗り越えて抜的アーキテクチャの見直しを成功させた企業だ。メインデータベースをRDBMSからCassandraに変え、システム全体をオンプレ環境からKubernetesGCPに移行したという同社は、なぜ難易度の高いアーキテクチャ変更を遂行できたのか。基盤開発部の松宏紀氏が語った。 講演資料:Cassandra x Kubernetesによる大規模データ基盤の仕組みと苦労 株式会社ブロードリーフ 基盤開発部 松宏紀氏 「自社サービスにマッチしたデータベースを選ぶ」ことの重要性 株式会社ブロードリーフは、自動車業界向け

    11025
    t10471
    t10471 2018/08/29
    CassandraのメンテするならSpanner・MemoryStore・Cloud SQLとかの併用の方がトータルで安そうだし、全てをCassandraにするのは悪手な気が...
  • アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】

    世界最大級のアジャイル開発の祭典「Agile 2018」がアメリカのサンディエゴで開催されました。日でもめずらしくなくなってきたアジャイル開発ですが、北米で開催されるこのイベントには、2000人を超える開発者、テスター、プロダクトマネージャ、プロジェクトマネージャなど、ソフトウェア開発に関わる人達が世界から集まってくるカンファレンスです。稿では、「Testing & Quality」トラックのセッションを中心にレポートします。 ebayのアジャイルテスティング UKのebayでHead of Software Testingとして活躍するDan Ashby氏のセッション「Testing in Agile」はその名のとおり、「アジャイル開発におけるテスト」を集約した内容でした。 ソフトウェアテストとは何か? さまざまな解答がでてくる問いですが、一般的な解答は以下のようなものがあるはずです

    アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】
    t10471
    t10471 2018/08/13
  • 知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう

    避けるべき状況ですが、残念なことにこのようなことは珍しくありません。解析に必要な情報を漏らさず取得するためには、サービス開始前に入念な準備が必要ですが、現実にはそこまで時間をかけられない場合もあり、往々にして準備不足となる場合があるからです。 こういった不幸な状況を防ぐ手段の1つとして、稿では「HeapStats」というツールを利用した障害解析方法を紹介します。 HeapStatsとは 「HeapStats」は、NTT OSSセンタが開発を行い2013年にOSS(オープンソースソフトウェア)として公開したJavaVM障害解析支援ツールです。 Javaアプリケーションにおけるメモリ不足(OutOfMemoryError)やデッドロックといった障害を素早く解決することを目的として開発されました。特に、Javaヒープメモリ内の状態など、従来は高い負荷をかけて取得する必要があった情報を、低オーバ

    知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう
  • Node.jsのWebフレームワーク「Sails」を使ってpub/subアプリを作ってみる

    Sailsとは Sailsは米国オースティンにあるBalderdash社のMike McNeilさんを中心として作成されているMVCフレームワークです。スタイルとしてはRailsに近い形を取りつつ、最近のWebアプリ開発に向けたいくつかの特徴を持っています。 主な特徴としては Web APIを簡単に作成し、公開できる リアルタイムWebなアプリケーションが簡単に作成できる Single Page SiteやMobileなどの多様なフロントエンドに対応できる といったようなものが挙げられます。 Web APIについてはJSONベースのRESTfulなAPIが簡単に作れるようになっています(Sails API blueprints)。特にAPIを作るという意識をせずとも、generatorによって単純なCRUDならすぐにAPIとして公開することができます。ルーティングについても、この手のフレー

  • Java特有の冗長なコードを簡潔に記述する「Lombok」

    Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様

    Java特有の冗長なコードを簡潔に記述する「Lombok」
  • シングルサインオンとOpenAM

    はじめに 第1回はSSOとOpenAMの概要について解説します。SSOが求められるようになった背景や、OpenAMを利用することでどのようなメリットが得られるのか、といったことについて簡単に説明します。 前半はSSOに関する基的な内容なので、ご存知の方は適宜読み飛ばしてください。 対象読者 SSOについて理解したい方 SSO製品の導入を検討している方 OpenAMについて理解したい方 OpenAMを用いてSSO環境を構築したい方 シングルサインオン(SSO) SSO(Single Sign-On)とは、一度で複数のシステムが利用可能になるログイン(およびそのような方式)を意味します。例えば、グループウェアにログインした後に、CRMにアクセスすると、通常はログイン画面が表示されますが、SSOの場合はログイン画面を経由せずに、そのままシステムを利用することができます。 SSOが求められる背景

    シングルサインオンとOpenAM
  • 「ユーザー志向」のスマートフォン向けUI/UXの作り方

    近年、Webおよびアプリケーションの制作においてUI/UXという言葉が広く意識されるようになってきましたが、具体的にどのように取り組めばよいのでしょうか。稿では、実際に運用しているスマートフォン向けソーシャルゲームを題材に、ユーザーにとって当に「使いやすい」UI/UXデザインを行うポイントをいくつか紹介します。 はじめに 近年、Webおよびアプリケーションの制作においてUI(ユーザー・インターフェース)・UX(ユーザー・エクスペリエンス)という言葉をデザイナーだけではなく、企画者やエンジニアも使用し、意識するようになりました。中でもPCよりも画面サイズや通信スピードが劣るスマートフォンでは、UI/UXの必要性は高まり続けています。 ではスマートフォン向けソーシャルゲームにおける良いUI/UXとはどのようなものでしょうか。ボタンサイズや位置、タップ領域の大きさ、画像容量など、スムーズに操

    「ユーザー志向」のスマートフォン向けUI/UXの作り方
  • 大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~

    11月25日、「mobidec 2011」においてコナミデジタルエンタテインメントのスタジオITセンター長である正延光弘氏によるセッション「大ヒットSNSゲーム『ドラゴンコレクション』を支えるコナミのクラウド技術の活用」が行われました。 ドラゴンコレクションは、GREEで提供されている携帯電話向けのカードゲームタイプのRPG。プレイヤーは、エリアごとにある複数のクエストをクリアしていき、モンスターカードや「秘宝」を手に入れ、さらに「ドラゴンカード」を集めていきます。また、ほかのプレイヤーとバトルすることでも秘宝を入手できるというSNS要素も取り入れられていました。2010年9月のサービス開始後、順調にプレイヤー数を伸ばし、現在では登録人数が500万人を超えています。 サービス開始当初は社内でサーバを構築し、フロントエンドに6台のサーバ、バックエンドに3台のデータベースサーバ、そしてロードバ

    大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~
  • 分散環境でのPHPによるタスク管理 - Zend_Queue -

    連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は分散アプリケーション間でのデータのやりとりを行うための方法の一つである「メッセージキュー」を利用するためのZend_Queueコンポーネントを紹介します。 はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は分散アプリケーション間でのデータのやりとりを行うための方法の一つである「メッセージキュー」を利用するためのZend_Queueコンポーネントを紹介します。 ユーザからデータを受け取り、それの処理をするようなサービスがあったとします。この処理に時間がかかるようであれば、例えばフロントエンドでは「データを受け付けました」とだけ表示し、バックエンドでデータを処理する仕組みが必要です。こ

    分散環境でのPHPによるタスク管理 - Zend_Queue -
  • サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」

    はじめに 稿では、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneAndroidによるスマートフォン開発の経験のある方。JavaPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「

  • HTML5で進化したフォーム機能 ここが違う!サンプルで見るHTML5(5)

    はじめに この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。 過去の連載も読む 第1回:HTML5が注目を浴びる理由とは? 第2回:HTML4から変化したHTML5のマークアップ 第3回:HTML5で再定義された要素と属性 第4回:HTML5で実現できるマルチメディア系機能 新たに導入されたフォームコントロール これまでウェブにおける入力フォームコントロールは、非常に限られたものしかありませんでした。皆さんがよくご存じのテキスト(パスワード)入力フィールド、ラジオボタン、チェックボックス、セレクトメニュー、テキストエリア、ファイル選択です。お問い合わせフォームであれば、ほとんどのシーンで十分といえるでしょうが、ウェブアプリケーションにおいては、不足してい

  • フォーム入力に役立つjQueryプラグイン

    連載では、JavaScriptライブラリの中でも人気が高まりつつあるjQuery UIとプラグインを取り上げます。今回は、Input Hint Overlay、Text input field filter、jQuery Validation、Password Strength、Simplest Twitter-like dynamic character countについて説明します。 はじめに 第2回「jQuery UIのウィジェットを使ってみよう」では、jQueryのユーザーインターフェースを拡張するjQuery UIのインストールから、jQuery UIのDialog、Datepicker、AutoComplete、ProgressBarの使い方を取り上げました。第3回では、第1回「jQuery UIのインタラクションを使ってみよう」でも簡単に触れたjQuery Pluginのフ

    フォーム入力に役立つjQueryプラグイン
  • C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」
  • Linux環境におけるJavaインストール手順

    はじめに 稿ではJava開発に必要な「JDK」のインストール手順を説明します。 JDKとは 「Java SE Development Kit」の略で、Javaアプリケーション実行環境の「Java Runtime Environment」(JRE)と、コンパイラやデバッガなどが含まれます。 最新バージョン 2007年9月現在の最新バージョンは「JDK 6u2」(J2SE 6update2)です。 導入環境 稿ではLinux(Fedora Core 6)におけるインストール方法について説明します。Windows環境でのインストールについては下記を参照してください。 Windows環境におけるJavaインストール手順 Fedora Core 6では、パッケージ間の依存関係を考慮して、他の必須パッケージを同時にインストールしてくれるYUMを使用するのが一般的です。これに従い、稿ではパッケージ

    Linux環境におけるJavaインストール手順
  • プロトタイプ(prototype)によるJavaScriptのオブジェクト指向

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をして

    プロトタイプ(prototype)によるJavaScriptのオブジェクト指向
  • グリーCTOが語る、大規模ソーシャルゲーム開発の舞台裏

    9月1日、ゲーム開発者向けカンファレンス「CEDEC 2010」において、SNSGREE」を運営するグリー株式会社(以下 グリー)が『大規模ソーシャルゲームのつくりかた ~60分でわかるサーバサイド技術~』と題するセッションを講演した。 一日あたり億単位のトラフィックを捌くインフラはどうなっているのか。技術者2名が解説したインフラ構築のノウハウや、ソーシャルゲームと一般のオンラインゲームとの違いについて紹介する。 オンラインゲームとソーシャルゲームとの違い 最近テレビCMでも目にする機会が多くなってきたSNS(ソーシャルネットワーキングサービス)の「GREE(グリー)」。2010年6月時点の数字で、会員数2059万人、月間353億ページビューという言わずとしれた大人気サイトだ。中でも携帯電話向けソーシャルゲームが特徴的で、専用機向けのゲームと比べるとコアゲーマー以外のプレイヤーも多く、利

    グリーCTOが語る、大規模ソーシャルゲーム開発の舞台裏
  • jQuery UIのインタラクションを使ってみよう

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    jQuery UIのインタラクションを使ってみよう
  • 原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine

    はじめに MSDNライブラリには、マイクロソフトの技術情報が大量に掲載されていますが、英語版に比べ、日語版の内容は中途半端なのが実状です。 たとえば、スレッドの優先順位を設定する「SetThreadPriority」関数の説明を見ると、英語版には「Windows Server 2008およびWindows Vistaでは、スタートアップやレジストリのRUNから自動実行されたプログラムに対するスレッドの優先順位指定が、システム開始から60秒程度効かない」との注意書きがありますが、日語版にはありません。 また、仮想ディスクの情報を設定する「SetVirtualDiskInformation」関数を検索すると、英語版には説明がありますが、日語版には項目自体がありません。 そこで記事では、MSDNライブラリの英語版がスラスラ読めるように、とはいきませんが、英単語で引っかかることが少なくなる

    原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine
  • 1