タグ

ブックマーク / www.publickey1.jp (11)

  • Webブラウザの操作をJavaScriptで自動化。Headless Chromeのフレームワーク「Puppeteer」がバージョン1.0に到達。ChromeのDevToolsチームが開発

    UIを持たずスクリプトから操作可能なWebブラウザのHeadless Chromeを利用するためのフレームワーク「Puppeteer」がバージョン1.0に到達した。Webアプリケーションの自動テストなどに利用可能だ。 GoogleのWebブラウザ「Chrome」は、ユーザーインターフェイスを持たずコマンドラインやリモートデバッグ機能を通じてWebブラウザを操作できる「Headless Chrome」機能を備えています。この機能は2017年6月にリリースされた「Chrome 59」から実現されたものです。 Headless Chromeを利用すると人間がWebブラウザをマウスやキーボードで操作することなく、プログラムでHeadless Chromeを起動し、特定のWebページを読み込み、画面キャプチャの取得や、指定された場所をクリックし、値を入力し結果を取得する、といった操作を自動的に行わせ

    Webブラウザの操作をJavaScriptで自動化。Headless Chromeのフレームワーク「Puppeteer」がバージョン1.0に到達。ChromeのDevToolsチームが開発
  • データベースのスケーラビリティをどうやって向上させるか

    これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケーラビリティに関する技術を少しまとめて紹介しようと思います。 従来のリレーショナルを拡張 従来のリレーショナルデータベースに対して、技術的工夫を凝らすことでスケーラブルなデータベースを実現しようというアプローチにも、さまざまなものがあります。 データベース研究者の大御所、マイケル・ストーンブレイカー氏は、リレーショナルデータベースは決して遅くないと主張。リレーショナルデータベースが遅い原因はロック、ラッチ、リソース管理にあるとして、それらを極力排除した「VoltDB」を開発しています。 NoSQLを上回る性能のVoltDB、そのアーキテクチャ

    データベースのスケーラビリティをどうやって向上させるか
  • 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編)

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編) 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡山五郎氏の講演「自動改札機ソフトウェアの品質向上の取り組み 厳密な仕様、もらさないテストを目指して」。この記事では、そのダイジェストを紹介しています。 記事は、前編、中編、後編の3部構成です。お読みのページは後編です。 大規模なテストをどうやって実行しているか 続いて、大規模なテストについて。 1000万件のテストパターンを作っても、それぞれのテスト結果の正解を人手で作っていたら追いつきません。なので、別々に運賃計算ソフトウェアを作って、その答えを突き合わせてチェックしよう、という話です。 例

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編)
  • Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア Twitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 The Twitter Engineering Blog: Introducing Gizzard, a framework for creating distributed datastores Twitterのブログにポストされた「Introducing Gizzard

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア
  • Amazon CTOに聞く、NoSQLデータベース「DynamoDB」がクラウドに何をもたらすのか?

    Amazon Web Serviceが提供する、SSD上に構築された高速でスケーラブルなNoSQLデータベース「Amazon DynamoDB」が、東京データセンターでも利用可能になりました。 DynamoDBは、単にNoSQLの持つ高いスケーラビリティを提供するだけではなく、一貫性の制御が可能で、必要なスループット性能も自由に設定できるなど、従来のNoSQLとは一線を画す高性能を、メンテナンスなどの管理の手間をまったく必要とせずに提供するサービスです(関連記事「Amazonクラウド、SSD上の新NoSQLデータベース「DynamoDB」を公開。性能をダイナミックに上げ下げ可能」)。 このDynamoDBの開発経緯や技術について、Amazonのバイスプレジデント兼最高技術責任者(CTO) ヴァーナー・ボーゲルズ(Werner Vogels)氏に、テレビ会議を通じてインタビューを行いました。

    Amazon CTOに聞く、NoSQLデータベース「DynamoDB」がクラウドに何をもたらすのか?
  • 開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?

    開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか? グーグルでTest Engineering Directorを務めるJames A Whittaker氏が書いたエントリを紹介した先日の記事「グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?」が非常に好評で、「続きがあれば読みたい」というコメントをいただいていました。 Whittaker氏がそのエントリの続き「How Google Tests Software - Part Threeを公開していますので、ご要望に応えて紹介することにしましょう。 品質は開発の問題であってテストの問題ではない 品質とはどのように実現するものなのか? という問いに対して、Whittaker氏は次のように書いています。 The simple solution to this con

    開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?
  • クオリティエンジニアの役割とは「お客様の視点を提供すること」 ~ セールスフォース・ドットコムの作り方(後編)

    クラウド上に構築した企業向けアプリケーションを提供するセールスフォース・ドットコム。同社は千人以上の開発者を抱える開発部門全体でアジャイル開発手法を採用し、サービス開発を行っています。 同社はどのようにしてアジャイル開発手法を採用し、品質を重視した開発を進めているのか。2月17日に行われたデベロッパーズサミット2011で、株式会社セールスフォース・ドットコム CTO 及川喜之氏のセッション「salesforce.comの作り方 どのように世界最大規模のアジャイル開発を実現したか」が行ったセッションの内容を紹介します。 (記事は「大規模アジャイル開発の実態~ セールスフォース・ドットコムの作り方(前編)」の後編です) クオリティエンジニアの役割について 開発においてクオリティエンジニアが果たす役割は結構大きい。スクラムチーム内のコミュニケーションのハブとして積極的に働いている。デベロッパは

    クオリティエンジニアの役割とは「お客様の視点を提供すること」 ~ セールスフォース・ドットコムの作り方(後編)
    somat
    somat 2011/03/25
    Salesforce の開発プロセスでのクオリティエンジニアの役割、CI「チームごとのLock the Lineポリシー」で「コードラインが安定するまでチームを先には進ませない」
  • アジャイル開発でソフトウェアの品質を高める方法

    さて、アジャイル開発でソフトウェアの品質は良くなるか? そう思う方、ちょっと手を挙げてください(4割くらい手が挙がる?)。けっこういますね。 自分の実感としては、アジャイルでは品質良くなる、と感じているが、一方で否定的な人もいる。 私がアジャイルを始めたころ、2002年あたりには、そういう否定的な人に対して「面倒くさいだけちゃうんか」とか「新しいプロセスに臆病なんじゃないか」と反発したりしていた。 考えてみると、ソフトウェアの品質には2つの側面がある。良し悪しという側面と、品質が確定しているかどうか、という側面。 品質保証担当の人が考えるアジャイルの品質確定のイメージは、こういうイメージなのかなと。アジャイルでイテレーションを繰り返して成果物が大きくなるにつれて、次のイテレーションで品質を確定させるためには、さらにたくさん作業をしなくちゃいけないなと。 この2つを比べると、ウォーターフォー

    アジャイル開発でソフトウェアの品質を高める方法
  • [速報]mixiが障害の経緯を発表。原因はお盆のアクセス急増ではなく、memcachedの異常終了

    8月10日の17時20分頃から12日未明までの長時間にわたり、サービスが利用不能もしくは利用しにくい状況になっていた「mixi」。数度の断続的な復旧ののちに、日12日午前1時50分頃には復旧が完了し、現時点で全面的に復旧しているようです。 その障害の経緯について株式会社ミクシィの広報からプレスリリース「『mixi』のアクセス障害のお詫び及び復旧に関するお知らせ」として発表されました。 原因はアクセスの急増ではなかった プレスリリースの中で、今回の障害の原因は以下のように説明されています。 『mixi』のデータベースへの負荷軽減のために導入しているデータキャッシュシステムが複数同時に異常終了したことに伴い、データベースへの負荷が急増したため『mixi』を閲覧しづらい状態となりました。 高負荷かつ特殊な状態でのみデータキャッシュシステムの異常終了が発生していたため、根的な原因の究明に時間が

    [速報]mixiが障害の経緯を発表。原因はお盆のアクセス急増ではなく、memcachedの異常終了
  • 最近盛り上がってきた「かんばん」、ソフトウェア開発における「かんばん」(Kanban)とは何か

    ここ数カ月、ソフトウェア開発の話題で「かんばん」(英語でも「Kanban」)という言葉を目にする機会が増えてきました。かんばんとは何で、どのようなものなのでしょうか? 勉強がてら、いくつかのサイトを紹介していきましょう。 ビギナー向けの「Kanban101」 今年3月にかんばんビギナー向けのサイト「Kanban101」が立ち上がりました。このトップページがかんばんの特徴をよく表しています。 ソフトウェア開発におけるかんばんとは普通に日語の「かんばん」のことで、誰でも見えるところに置かれて、ホワイトボードや黒板になっていて、記入したり、この画面のようにポストイットを貼って運用するのが一般的です。 かんばんの効果とは、このかんばんを模した画面に書かれているように「仕事のみえる化」「仕掛かりを減らす」「流れを見えるようにする」ということ。このサイトは英語ですが説明がとても簡潔で分かりやすいもの

    最近盛り上がってきた「かんばん」、ソフトウェア開発における「かんばん」(Kanban)とは何か
  • Google Apps採用のロサンゼルス市、特別バージョンを要求

    ロサンゼルス市がGoogle Appsを電子メールなどのシステムとして採用したことが、グーグルのブログ「Cloud apps, big city: LA goes Google」などで明らかにされています。 米政府は積極的にクラウドを採用すべく、政府機関がクラウドをベースにしたITサービスをセルフサービスで購入できるポータルサイト「Apps.gov」を公開しています。Google AppsもそのApps.govに登録されているアプリケーションの1つであり、これまでにワシントンD.C.やフロリダ州オーランド市などがすでにGoogle Appsを採用しています(参考:オバマ政権がクラウド調達によるコスト削減策を開始、日は「霞が関クラウド」のままでいいのか?)。 Google Appsの見かけは同じだが中味は違う ロサンゼルス市などが採用したGoogle Appsは、私たちが普段利用しているG

    Google Apps採用のロサンゼルス市、特別バージョンを要求
  • 1