タグ

ブックマーク / www.infoq.com (39)

  • テスト駆動開発:実はそれは設計技術です

    テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演

    テスト駆動開発:実はそれは設計技術です
  • Google:マネージャはやはり重要な存在である

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Google:マネージャはやはり重要な存在である
  • よいユニットテストを書くには

    テストを小さくする。適切なツールを使う。プログラマとテストがペアになる。これらは、よいユニットテストを書くための、Adrian Bolboaca氏からの提案だ。 ユニットテストは、プログラミングとテストが混ざり合ったものだ。プログラマは、テスタと共に作業することで、お互いに学び合い、視野を広げることができる。 Adrian Bolboaca氏は、Mozaic Worksの組織と技術に関するコーチであり、ヨーロッパテストカンファレンス 2017において、様々なタイプの自動テストについて話す予定だ。 InfoQは、このカンファレンスについて、Q&A、要約、記事で扱う。 [ヨーロッパテストカンファレンス]は、専門家や実践者が一緒に話し、学び、テスト技術を実践するところです。 私たちは、テストをもっと効果的にするために、先進的な新しい方法を詳しく調べ、より強いコミュニティに成長する基的な方法を十

    よいユニットテストを書くには
  • コードレビューをより効果的にする方法

    ツールに任せることができないどんなことを人間は指摘できるのだろうか? 驚くほど多数の事柄があることがわかっている。この記事の残りで幅広い重要事項のリストに触れ、2つの特定の領域、パフォーマンスとセキュリティに関してはもう少し深く言及する。 設計 新しいコードは全体アーキテクチャに適合しているだろうか? コードはSOLID原則、ドメイン駆動設計、もしくはチームが採用する他の設計手法に従っているだろうか? 新しいコードでデザインパターンは使用されているだろうか?これらは適切だろうか? コードベースの標準や設計スタイルが混合されている場合は、新しいコードは現在の原則に従っているだろうか?コードは現在の方向性を引き継いでいるか、徐々に除去される古いコードの例に従っているだろうか? コードは正しい場所に配置されているだろうか?例えば、コードが注文に関係する場合は、それは注文サービスの中にあるだろうか

    コードレビューをより効果的にする方法
  • 開発者を苦しめる.NETのHttpClientのバグと紛らわしいドキュメント

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    開発者を苦しめる.NETのHttpClientのバグと紛らわしいドキュメント
  • Eric Evans氏: ドメイン駆動設計はソフトウェア開発に有益か?

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Eric Evans氏: ドメイン駆動設計はソフトウェア開発に有益か?
    astk_f
    astk_f 2016/07/31
  • アジャイルはなぜアジアで普及しないか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    アジャイルはなぜアジアで普及しないか
    astk_f
    astk_f 2016/07/07
  • 私がMVCフレームワークをもはや使わない理由

    数ヶ月前、私はなぜここにたどり着き、何が可能かを理解する旅に出ました。この旅は、私にアプリケーションアーキテクチャ、MVCという強烈な宗教に対する疑いをもたらしました。そして、リアクティブ、関数型プログラミングの真の実力に触れたのです。また、シンプルさに集中する旅でもあり、私たちの産業はうまくやっているという考えを捨てる旅でもありました。どんなことを見つけたか興味がある方もいるでしょう。 私たちの見ている画面の背後にあるパターンはMVC –Model-View-Controllerです。まだウェブがなくソフトウエアアーキテクチャも分厚いクライアントが単一のデータベースに原始的なネットワークでアクセスするのがせいぜい、という時代にMVCは生まれました。そして数十年後、MVCはまだ現役であり、衰え知らずでオムニチャネルアプリケーションの開発に使われています。 Angular2のリリースの前にM

    私がMVCフレームワークをもはや使わない理由
  • アジャイルは”再び"死んだ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    アジャイルは”再び"死んだ
  • アジャイルな振る舞いを可能にするための契約

    Martin Kearns氏は、オーストラリア メルボルンで開かれた1st conferenceで、アジャイル契約について講演した。InfoQは、アジャイル契約がウォーターフォールプロジェクトの契約とどう違うのか、契約がスコープの変更や、開発中の大きな障害や遅延をどう扱えるのか、アジャイルマインドセットに基づき、契約がアジャイルな振る舞いを可能にすること、全員を巻き込んで仕事をすることに役立つと証明するのに何ができるのか、組織がアジャイルソフトウェア開発に契約を使いたいときに弁護士が持てる役割、そして組織がアジャイル契約を使えるようになるため、自身では何をしなければならないのかについてインタビューした。 InfoQ: ソフトウェア開発においてなぜ契約が重要になるとお考えですか? Kearns氏: 組織が成果を出し、サポートを提供し、任務を増強するのに第三者と関わり合う必要があるとき、そして

    アジャイルな振る舞いを可能にするための契約
  • Angular 2とReact Nativeの組み合わせ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Angular 2とReact Nativeの組み合わせ
  • かんばんボードによるプロジェクトの見える化

    アジャイル開発でプロジェクトを進めている現場では、やるべき作業を表す付箋や、進行状況を示すチャートをプロジェクトルームの壁に貼って状況を見える化し、共有している光景をよく見かける。 稿では、昨今のアジャイル開発プロジェクトで広く浸透している見える化の手法を見ていく。その中で、チーム全体がプロジェクトの今の状況を把握し、開発者の自律的な作業を可能にし、協調作業を促進する、三つの視点(とき、こと、ひと)をうまく使うかんばんボードの利用法を提案する。そして最後に、三つの視点によるプロジェクトの見える化を実現している、かんばんボードのソフトウェアによる実装 “TRICHORD” を紹介する。 アジャイル開発プロジェクトにおける見える化 XP(eXtreme Programming)の中に、“情報発信する作業場所”というプラクティスが紹介されている。これはプロジェクトの進行状況を、一目で把握できる

    かんばんボードによるプロジェクトの見える化
  • GoogleによるAndroidのパフォーマンスについて

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    GoogleによるAndroidのパフォーマンスについて
  • C3.jsが実現する,学習不要のグラフ機能

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    C3.jsが実現する,学習不要のグラフ機能
  • Googleがプログラマのビルドエラーを研究

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Googleがプログラマのビルドエラーを研究
  • C++によるiOSとAndroidでのクロスプラットフォーム開発:Dropboxの教訓

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    C++によるiOSとAndroidでのクロスプラットフォーム開発:Dropboxの教訓
  • BackboneとAngularを比較する

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    BackboneとAngularを比較する
  • iOS開発 vs. Android開発

    ツール 個人的には Vim を好むようだが、Henneke 氏がこのプロジェクトで使用したツールについて以下のように述べてくれた。 「Eclipse内で検索するのは、びっくりするほど遅く煩わしいものです。」 「Xcodeのオーガナイザでドキュメントを検索するのは、腹立たしいほど遅いです。」彼は後に検索を速くする方法を発見した。 「Eclipse(および Androidプラグインの logcat 統合機能)のタグによるログの絞り込みはとても役に立ちます。」 「双方のIDEとも、コード補完機能は、当に素晴らしいものです。」 「Xcodeのインターフェイス・ビルダは使い物になりません」 「Xcodeのインスツルメント機能は、プロファイリング、計測、デバッグに極めて有効です。」 「Androidエミュレータは完全なる時間の無駄です。その遅さときたら、ほとんど冗談のような代物です。私の開発サイクル

    iOS開発 vs. Android開発
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
  • JSON用標準JavaAPI

    原文(投稿日:2013/04/26)へのリンク JSR-353、JSON処理(JSON-P)用のJava APIは、今月の最終承認投票にいたった。JSON-Pは(JAXPに似た)ストリーミングAPI(StAXのに似た)とオブジェクトモデルのAPI(DOMに似ている)で構成されている。リファレンス実装であるjsonpは、現在ベータでCDDL v1.1 と GPL v2の下でオープンソースした。JSON-Pは、今後のJava EE 7の一部となり、そのデフォルトのJSON実装のためにJAX-RSによって使用される。このAPIは、JSONデータバインディング(JAXBに似た)含んでおらず、より人気のあるJSONPすなわと"パディングのあるJSON"とは無関係ではあることに注意して欲しい。 JSON (JavaScript Object Notation) は軽量のデータ交換フォーマットで、Web

    JSON用標準JavaAPI