during: 2017(期間:2017年

機械による正当化

10代の頃、人工知能(AI)が今後数年で素晴らしいことを成し遂げるだろうと教えられたことを覚えています。数十年経った今、そのいくつかが現実になりつつあります。最近の勝利は、コンピューターが互いに碁を対戦することで学習し、人間の専門家が理解できないほどの戦略で、急速に人間よりも熟練したことです。今後数年で何が起こるのか、コンピューターはすぐに人類よりも高い知能を持つようになるのか、と考えるのは当然です。(最近の選挙結果を見ると、それはそれほど難しいハードルではないかもしれません。)

しかし、これらの話を聞くと、数十年前のパブロ・ピカソのコンピューターに関するコメントを思い出します。「コンピューターは役に立たない。彼らはあなたに答えを与えることしかできない」。機械学習のような技術によってもたらされる推論の種類は、その結果において本当に印象的であり、ソフトウェアのユーザーと開発者として私たちにとって有用でしょう。しかし、答えは役に立つ一方で、常に全体像を表しているわけではありません。私はこれを学生時代の初期に学びました。数学の問題の答えを提供するだけでは2、3点しか取れません。満点を取るには、どのように答えにたどり着いたのかを示す必要がありました。答えにたどり着くまでの推論は、結果そのものよりも価値がありました。これは、独学で碁を習得したAIの限界の1つです。彼らは勝つことはできますが、戦略を説明することはできません。

by Martin Fowler(マーチン・ファウラー)

2017年11月14日

続きを読む…

bliki(ブリキ)

データ分析

レース・フォー・ザ・ギャラクシーとサンファン

サンファンとレース・フォー・ザ・ギャラクシーは、優れていて、テンポが速く、考えさせられるカードゲームです。レースの方がより深く、そのアイコンは一部の人にはとっつきにくいでしょう。

by Martin Fowler(マーチン・ファウラー)

2017年11月11日

続きを読む…

article(記事)

ボードゲーム

機能トグル(別名機能フラグ)

機能トグル(機能フラグとも呼ばれることが多い)は、コードを変更せずにシステムの動作を変更できる強力な手法です。それらはさまざまな使用カテゴリに分類され、トグルを実装および管理する際には、その分類を考慮することが重要です。トグルは複雑さを招きます。スマートなトグル実装プラクティスと適切なツールを使用してトグル構成を管理することで、その複雑さを抑制できますが、システム内のトグルの数を制限することも目指す必要があります。

by Pete Hodgson(ピート・ホジソン)

2017年10月9日

続きを読む…

article(記事)

人気 継続的デリバリー アプリケーションアーキテクチャ

「進化型アーキテクチャの構築」への序文

最近、私の同僚であるNeal Ford、Rebecca Parsons、Pat Kuaが、「進化型アーキテクチャの構築」という本を書きました。彼らから序文を書いてほしいと頼まれ、光栄に思いました。

by Martin Fowler(マーチン・ファウラー)

2017年10月5日

続きを読む…

article(記事)

アプリケーションアーキテクチャ エンタープライズアーキテクチャ 進化型設計

ロイ、Thoughtworksを売却

ThoughtworksはApax Fundsに買収されました。現在の経営陣は、これまでどおり会社を経営していきます。

by Martin Fowler(マーチン・ファウラー)

2017年8月23日

続きを読む…

article(記事)

ソートワークス

テスト影響分析の台頭

テスト影響分析(TIA)は、ビルドのテスト自動化フェーズを高速化する最新の 方法です。これは、ソースコードのコールグラフを分析して、本番コードの変更後にどのテストを実行すべきかを判断することで機能します。Microsoftはこのアプローチに多大な労力を費やしてきましたが、開発チームが非常に安価に役立つものを実装することも可能です。

by Paul Hammant(ポール・ハーマント)

2017年8月22日

続きを読む…

article(記事)

テスト

アーキテクトエレベーター - 上層階への訪問

多くの大企業では、ITエンジンが経営幹部のペントハウスから何階も離れた場所にあり、ビジネスとデジタル戦略がそれを実行するための重要な作業から分離されています。アーキテクトの主な役割は、ペントハウスとエンジンルームの間をエレベーターで移動し、ソフトウェア製造の自動化、事前の意思決定の最小化、テクノロジーの進化に伴う組織への影響など、これらのデジタル活動をサポートするために必要な場所で停止することです。

by Gregor Hohpe(グレゴール・ホープ)

2017年5月24日

続きを読む…

article(記事)

エンタープライズアーキテクチャ

アジャイルとアーキテクチャに関するポッドキャスト

Ryan Lockard(Agile Uprising)は、アジャイルプロジェクトのアーキテクチャに関するポッドキャストの会話にRebecca Wirfs-Brockと参加するよう私を招待しました。Rebeccaは、私がキャリアをスタートさせた頃に大きな影響を与えたResponsibility-Driven Designを開発しました。私たちは、アーキテクチャの定義方法、アーキテクチャに対するテストの影響、ドメインモデルの役割、どのようなドキュメントを準備するか、そしてどれだけのアーキテクチャを事前に実行する必要があるかについて話しました。

Rebecca Wirfs-Brock、Ryan Lockard、およびMartin Fowler

2017年5月15日

続きを読む…

audio(音声)

アジャイル インタビュー アプリケーションアーキテクチャ ドキュメント ポッドキャスト

ヴィティカルチャーとザ・ギャラリスト

ヴィティカルチャーとザ・ギャラリストはどちらも、生産中心のビジネスという強力なテーマを持つ優れたユーロゲームです。

by Martin Fowler(マーチン・ファウラー)

2017年4月16日

続きを読む…

article(記事)

ボードゲーム

本番環境でのQA

従来、QAはリリース前にソフトウェアをテストして、リリースの準備ができているかどうかを確認することに重点を置いていました。しかし、現代のQA組織は、本番環境で実行されているソフトウェアにもますます注目を集めています。ログやその他の監視ツールを分析することで、開発組織に強調表示する品質の問題を発見します。このアプローチは、継続的デリバリーを使用してソフトウェアの新しいバージョンを迅速かつ確実に本番環境に導入する組織で特にうまく機能します。

by Rouan Wilsenach(ルーアン・ウィルセナック)

2017年4月4日

続きを読む…

article(記事)

継続的デリバリー テスト

サーバーを危険にさらす1行のコード

セッションシークレットは、Cookieの暗号化に使用されるキーです。アプリケーション開発者は、開発中に弱いキーに設定することが多く、本番環境では修正しません。この記事では、そのような弱いキーがどのようにクラックされるか、そしてそのクラックされたキーを使用してアプリケーションをホストするサーバーの制御を取得する方法について説明します。強力なキーと慎重なキー管理を使用することで、これを防ぐことができます。ライブラリの作者は、ツールとドキュメントを使用してこれを奨励する必要があります。

by Jack Singleton(ジャック・シングルトン)

2017年4月3日

続きを読む…

article(記事)

セキュリティ

自己カプセル化

データのカプセル化は、オブジェクト指向スタイルの中心的な信条です。これは、オブジェクトのフィールドを公に公開すべきではなく、オブジェクトの外部からのすべてのアクセスはアクセサメソッド(ゲッターとセッター)を介して行うべきであると言っています。公開アクセス可能なフィールドを許可する言語もありますが、通常はプログラマーにこれを行わないように注意します。自己カプセル化はさらに一歩進んで、データフィールドへのすべての内部アクセスもアクセサメソッドを介して行う必要があることを示しています。アクセサメソッドのみがデータ値自体に触れる必要があります。データフィールドが外部に公開されていない場合、これは追加のプライベートアクセサを追加することを意味します。

by Martin Fowler(マーチン・ファウラー)

2017年3月9日

続きを読む…

bliki(ブリキ)

カプセル化

オブジェクトとしての関数

プログラミングでは、オブジェクトの基本的な概念は、データと動作のバンドルです。これは、一連の関連関数を作成するときに共通のデータコンテキストを提供します。また、オブジェクトがそのデータへのアクセスを制御できるようにするデータ操作のためのインターフェースを提供し、派生データをサポートし、データの無効な変更を防ぐことを容易にします。多くの言語は、オブジェクトの定義として機能するクラスを定義するための明示的な構文を提供します。ただし、ファーストクラス関数とクロージャを持つ言語がある場合は、これらの構成要素を使用して、オブジェクトとしての関数パターン(元々はEugene Wallingfordによって記述された)を使用してオブジェクトを作成できます。

by Martin Fowler(マーチン・ファウラー)

2017年2月13日

続きを読む…

bliki(ブリキ)

カプセル化 言語機能 オブジェクトコラボレーション設計

アジャイルマニフェスト作成の回想

Agile Uprisingポッドキャストは、アジャイルマニフェストの作成者との一連のインタビューを行ってきました。これは私の番のインタビューです。スノーバードワークショップ自体のことはあまり覚えていませんが、マニフェストに至るまでのコンテキストについて少し説明することができました。

Agile UprisingとMartin Fowler

2017年2月13日

続きを読む…

audio(音声)

アジャイル インタビュー ポッドキャスト コンピュータの歴史

「イベント駆動型」とはどういう意味ですか?

昨年末に向けて、私はThoughtworksの同僚とワークショップに参加し、「イベント駆動型」アプリケーションの性質について議論しました。ここ数年、私たちはイベントを多用するシステムをたくさん構築してきました。そして、それらはしばしば賞賛され、しばしば非難されてきました。私たちの北米オフィスはサミットを開催し、世界中からThoughtworksのシニア開発者が集まってアイデアを共有しました。

サミットの最大の成果は、人々が「イベント」について話すとき、実際にはまったく異なることを意味していることを認識したことです。そこで私たちは、どのような有用なパターンがあるのかを解明しようと多くの時間を費やしました。このメモは、私たちが特定した主なパターンの簡単な要約です。

by Martin Fowler(マーチン・ファウラー)

2017年2月7日

続きを読む…

article(記事)

設計 イベントアーキテクチャ

合成監視

合成監視(セマンティック監視とも呼ばれる)は、アプリケーションの自動テストのサブセットを、稼働中の本番システムに対して定期的に実行します。結果は監視サービスにプッシュされ、障害が発生した場合にアラートをトリガーします。この手法は、自動テストと監視を組み合わせて、本番環境でのビジネス要件の失敗を検出します。

by Flávia Falé and Serge Gebhardt(フラビア・ファレとセルジュ・ゲブハルト)

2017年1月25日

続きを読む…

bliki(ブリキ)

継続的デリバリー テスト

継続的インテグレーション認定

継続的インテグレーションは、ソフトウェア開発で一般的な手法です。会議では、多くの開発者がその使用方法について語り、継続的インテグレーションツールはほとんどの開発組織で一般的です。しかし、私たちは皆、まともな手法には認定プログラムが必要であることを知っています。そして幸いなことに、1つ存在します。継続的デリバリーとDevOpsの第一人者によって開発されたこのプログラムは、非常に迅速に管理できるにもかかわらず、その結果が非常に洞察力に富んでいることで知られています。かなり成熟していますが、それほど知られていません。そのため、この手法のファンとして、この認定プログラムを読者の皆様と共有することが重要だと考えています。継続的インテグレーションの認定を受ける準備はできていますか?そして、テストを受けることで明らかになる衝撃的な真実にどのように対処しますか?

by Martin Fowler(マーチン・ファウラー)

2017年1月18日

続きを読む…

bliki(ブリキ)

認定 継続的デリバリー

Webアプリケーションセキュリティの基本

最新のWeb開発には多くの課題があり、その中でセキュリティは非常に重要であると同時に、しばしば軽視されています。脅威分析などの手法は、あらゆる深刻な開発に不可欠であるとますます認識されていますが、すべての開発者が当然のこととして行うことができる、そして行うべき基本的なプラクティスもいくつかあります。

by Cade Cairns and Daniel Somerfield(ケイド・ケアンズとダニエル・ソマーフィールド)

2017年1月5日

続きを読む…

article(記事)

プログラミングスタイル セキュリティ


すべてのタグ

API設計 · アジャイル · アジャイル導入 · 分析パターン · アプリケーションアーキテクチャ · アプリケーション統合 · 悪いこと · ボードゲーム · ビルドスクリプト · 資格 · コラボレーション · コンピュータの歴史 · カンファレンスパネル · カンファレンス · 継続的デリバリー · COVID-19 · データ分析 · データベース · 設計 · 辞書 · 分散コンピューティングマガジン · 気晴らし · 多様性 · ドキュメント · ドメイン駆動設計 · ドメイン特化言語 · 家庭 · カプセル化 · エンタープライズアーキテクチャ · 見積もり · イベントアーキテクチャ · 進化型設計 · 経験レポート · 説明アーキテクチャ · エクストリームプログラミング · フロントエンド · ガジェット · 生成AI · IEEEソフトウェア · インフォデック · インターネット文化 · インタビュー · 言語機能 · 言語ワークベンチ · リーン · レガシーシステム刷新 · 法律 · メトリクス · マイクロサービス · モバイル · NoSQL · オブジェクトコラボレーション設計 · パーサジェネレータ · 写真 · プラットフォーム · ポッドキャスト · 人気 · プレゼンテーション技術 · プライバシー · プロセス理論 · 生産性 · プログラミング環境 · プログラミングスタイル · プロジェクト計画 · 採用 · リファクタリング · リファクタリング境界 · 要件分析 · Ruby · セキュリティ · 講演動画 · チーム環境 · チーム編成 · 技術的負債 · 技術リーダーシップ · テストカテゴリ · テスト · ThoughtWorks · ツール · 旅行 · UML · バージョン管理 · Web開発 · Webサービス · ウェブサイト · ライティング

2024年 · 2023年 · 2022年 · 2021年 · 2020年 · 2019年 · 2018年 · 2017年 · 2016年 · 2015年 · 2014年 · 2013年 · 2012年 · 2011年 · 2010年 · 2009年 · 2008年 · 2007年 · 2006年 · 2005年 · 2004年 · 2003年 · 2002年 · 2001年 · 2000年 · 1999年 · 1998年 · 1997年 · 1996年

すべてのコンテンツ