リファクタリング作品一覧

  • ソフトウェア開発にChatGPTは使えるのか?――設計からコーディングまでAIの限界を探る
    4.3
    【ChatGPTをソフトウェア開発で活用しよう!】 ChatGPTに一番相性がいいのは、ソフトウェア開発かもしれません。コンピュータのことはコンピュータに聞くのがいい! 「ソフトウェア開発にChatGPTは使えるのか?」エンジニアならば誰しも考える疑問です。本書は、ベテラン技術者が真正面からChatGPTにあたり、その性能をさまざまな点から検証しいきます。Officeなどのドキュメントの自動生成だけでなく、ソフトウェア設計やテスト、リファクタリングで活用など目からうろこの活用術を解説。 単に質問に答える人工知能ではありません。開発の仲間としてChatGPTを使う方法を紹介します。 ■こんな方におすすめ AIのソフトウェア活用を検討しているプログラマー。ChatGPTの活用を考えているエンジニアなど。 ■目次 ●第1章 ChatGPTで何ができる?なぜできる?   1-1 ChatGPTで何ができる?   1-2 なぜそんなことができるのか? ●第2章 プログラミングでの活用   2-1 自動コード作成   2-2 エラー対策   2-3 クラス化について   2-4 状態遷移表でコードを生成   2-5 デザインパターンを提案してもらう   2-6 アルゴリズムを提案してもらう   2-7 段階的積み上げ手法   2-8 コードの変換   2-9 付記:テストケースの注意点 ●第3章 リファクタリングでの活用   3-1 隙間時間でお気軽リファクタリング   3-2 コメントとドキュメンテーション   3-3 セキュリティの脆弱性チェック   3-4 例外処理と論理完全性の改善 ●第4章 ドキュメントの自動生成   4-1 PowerPointのスライドを自動作成   4-2 Wordドキュメントの自動作成   4-3 Excelと連携しドキュメントを自動作成   4-4 diagramsを使ってクラウド図を作成   4-5 dbdiagram.ioでER図を作成する ●第5章 各種開発手法の提案   5-1 DDDによる設計と実装   5-2 TDDによるテストからの実装   5-3 ChatGPTとソフトウェア開発のアプローチ ●第6章 学習プロセスでの活用   6-1 分野別の学習   6-2 プログラミング言語の学習   6-3 ChatGPTは学習を加速する ●第7章 ChatGPT APIを活用する   7-1 最も基本的な使い方   7-2 要約をしながら文脈をつなげていく   7-3 社内データベースに日本語で問い合わせる   7-4 社内データベースと連携してユーザーサポートをする ●第8章 ChatGPTで長文データを扱う   8-1 LlmaIndexで長文データを扱う   8-2 LangChainで長文データを扱う ●第9章 長文をChatGPTで扱うコツ   9-1 LangChainの仕組みとは   9-2 Chainsでタスクをつなげる   9-3 Chainsによるチャットボットの例   9-4 Agentによるコードの実行   9-5 Agentによる判断・実行・プロセスの自動化   9-6 AgentによるChatボットの最終形 ■著者プロフィール 小野哲:ソフトウェア開発歴40年を超えるプロ技術者。技術評論社では『逆算式SQL教科書』『最新図解 データベースのすべて』『3ステップで学ぶOracle入門』など書籍がある。そのほかに『現場で使えるSQL』(翔泳社)など。ウェブアプリからデータベースまで幅広い知見と技術を持ち、最近ではPythonでアプリ開発を請け負う。
  • リファクタリング 既存のコードを安全に改善する(第2版)
    4.3
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。 ソフトウェア開発の名著、第2版登場!  リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。  本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。 第2版翻訳にあたって 初版の「本書に寄せて」 はじめに Chap.1 リファクタリング-最初の例 Chap.2 リファクタリングの原則 Chap.3 コードの不吉な臭い Chap.4 テストの構築 Chap.5 カタログの紹介 Chap.6 リファクタリングはじめの一歩 Chap.7 カプセル化 Chap.8 特性の移動 Chap.9 データの再編成 Chap.10 条件記述の単純化 Chap.11 APIのリファクタリング Chap.12 継承の取り扱い 文献リスト  訳者あとがき 索引
  • 理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL
    4.4
    1巻3,168円 (税込)
    本書は,DBを使ったアプリケーション開発経験があるエンジニアを対象に,リレーショナルモデルを理解し,より効率的にDB設計を行い,適切にSQLを使いこなすために必要な知識をまとめています。SQLとリレーショナルモデルの関係から述語論理,正規化理論,SELECTの詳しい解説,アプリケーション開発におけるデータ構造,リファクタリング,トランザクションまで理論と実践を併記して解説します。SQLを改めて勉強し直したい人,リレーショナルモデルについてより理解したい人に役立つ必携の1冊です。
  • はじめてのLisp関数型プログラミング――ラムダ計算からリファクタリングまで一気にわかる
    -
    Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。
  • WEB+DB PRESS Vol.136
    -
    【特集1 Python最新Web開発 FastAPI+SQLAlchemyで非同期処理】 本特集では、マイクロサービスやシングルページアプリケーションと相性が良い、PythonのWebフレームワークFastAPIを用いたWeb API開発の解説を行います。FastAPIの中心的な機能であるスキーマ定義からパフォーマンスを引き出す非同期処理、SQLAlchemyを使ったデータベースとの連携を解説したうえで、本格的なWebアプリケーションを開発します。 【特集2 実戦投入パスキー いまこそ実現、パスワードレス認証!】 本特集のテーマは、パスワードレス認証を実現するパスキーです。パスキーの開発にはApple、Google、Microsoftという3 大プラットフォーマーが協力して取り組んでおり、大手サイトでも一気に導入が進むと期待されます。本特集では、パスキーが解決する従来の認証システムの課題と、パスキー導入のベストプラクティスを徹底解説します。 ■目次 ●特集1 Python最新Web開発 FastAPI+SQLAlchemyで非同期処理   第1章:Python WebフレームワークFastAPIに入門   第2章:APIのスキーマ定義   第3章:マシンパフォーマンスを引き出す非同期処理   第4章:FastAPIの豊富な機能   第5章:SQLAlchemyでデータベースと連携   第6章:本格的なWeb API開発にチャレンジ ●特集2 実戦投入パスキー いまこそ実現、パスワードレス認証!   第1章:パスキーの登場   第2章:パスキー時代の認証UX   第3章:パスキー実装の基礎知識   第4章:実践! パスキー実装   第5章:パスキー導入時の考慮事項 ●一般記事   ChatGPTのある世界の歩き方 開発の歴史から将来の課題まで ●連載   実践データベースリファクタリング ── アンチパターンに立ち向かう【最終回】複雑なクエリを紐解く   基礎力アップ! Javaプログラミング【最終回】再帰とスタック、キュー   乗りこなせ! モダンフロントエンド【最終回】日時・数値のフォーマット、多言語化の最新手法   Ruby 3組込みライブラリ紹介【最終回】正規表現とRegexp   現場のPython ── システム開発も! 機械学習も!【最終回】最新Python環境構築   Goに入りては…… ── When In Go...【最終回】あらためてGoの強みとは   Perl Hackers Hub【最終回】Carmelによる依存モジュール管理 ●コラム   池澤春菜のSF小説の歩き方 ──エンジニアリングの未来を描く名作たち【最終回】あなたの世界を変えるSF   サバンナ便り ── ソフトウェア開発の荒野を生き抜く【最終回】脆いテスト   ちょっと気になる隣の技術畑【最終回】チューニングが止まらない! プログラミングの魅力   はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ【最終回】

    試し読み

    フォロー
  • Adaptive Code ~ C#実践開発手法 第2版
    3.0
    大好評の『C#実践開発手法~デザインパターンとSOLID原則によるアジャイルなコーディング』(日経BP社、2015年)がパワーアップして再登場! 本書は“Adaptive Code: Agile coding with design patterns and SOLID principles, Second Edition”(Microsoft Press、2017年)の日本語翻訳版で、『C#実践開発手法』の第2版に当たります。 市場ニーズや顧客要求が常に変化する今日、開発現場では変化にすばやく対応できることが求められています。本書では変化に対応しやすいコードを“アダプティブコード”(adaptive code)と呼び、変化に柔軟に対応できるソフトウェア開発を実現するために、アジャイル開発、デザインパターン、SOLID原則を、開発現場でどのように実践するかを解説します。方法論と実践のギャップを埋めるための書籍です。 今回の改訂では、カンバンの章、依存性の注入の章、結合度・凝集度・コナーセンス(connascence)の章が新たに追加されたほか、テストとリファクタリングの章を分けて説明を充実させています。 初版に引き続き、C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。
  • Android Studio本格活用バイブル ~効率的にコーディングするための使い方【電子増補・完全版】
    -
    【ご注意:本電子書籍は,紙の書籍として刊行した『Android Studio本格活用バイブル~効率的にコーディングするための使い方』を,電子版でアレンジしたものです。紙版には収録しきれなかった部分(A5判,約300ページ相当)までをすべて含めた内容となっています】Androidアプリの開発に欠かすことのできないGoogle謹製のIDE「Android Studio」。本書では,基本的な知識から導入方法,エディタの使い方,バージョン管理の方法,さらにはAndroid Studioを語る上では欠かせないリファクタリング機能や内部構造まで,Android StudioのベースとなったIntelliJ IDEAのエキスパートである著者が徹底解説しています。はじめてAndroidアプリを開発する方,これからAndroid Studioを学びたい方はもちろん,ソフトウェア開発に関わるすべての方必読の一冊です。
  • Web制作者のためのCSS設計の教科書
    4.2
    1巻2,090円 (税込)
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 「予測しやすい」「保守しやすい」「再利用しやすい」「拡張しやすい」CSS設計の教科書が登場!コンポーネントやCSSプリプロセッサを意識した設計・管理の実践など、「ちゃんとCSSを書く」ためのプロの考え方を徹底解説。「セレクタが複雑になってしまう……」「オブジェクト指向CSSってなに?」「考え方はわかったけど、どう組めばいいの?」そんな人のバイブルになるのが、この本です。破綻しやすいCSS、セレクタのリファクタリングなどの基本から、OOCSS、SMACSS、BEMなどのコンポーネント設計のアイデア、実際によくあるパターンのコードの組み方までを丁寧に解説。また、注目されはじめた「Web Components」についても説明します。
  • WEB+DB PRESS Vol.127
    -
    特集1 実践リファクタリング 凝集度と結合度を学び,保守性と生産性を高める 凝集度と結合度は,保守性と生産性の高いコードを書くための尺度です。順次,選択,反復という要素を持つ構造化プログラミングをベースとした,現代の多くの言語に適用できます。オブジェクト指向固有のデザインパターンやSOLID原則以上に,日常的に使う機会が多いかもしれません。本特集では,関数の分け方の基準として凝集度と結合を学び,実際のコードをどのようにリファクタリングしていけば良いか解説します。 特集2 Elixirによる高速なWeb開発! 作って学ぶPhoenix 本特集では,ElixirとPhoenixでWebアプリケーションを開発する方法を解説します。Elixirは,低遅延で高い可用性を実現するプログラミング言語で,その文法はRubyから大きく影響を受けています。Phoenixは,ElixirにおけるデァクトスタンダードなWebアプリケーションフレームワークで,リッチなフロントエンドを持つ昨今の開発で求められる要素がすべて組み込まれています。特集を通してRealWorldという一つのWebアプリケーションを作ることで,ElixirとPhoenixについて実践的に学んでいきましょう。 特集3 入社した会社にすばやく適応する 事業構造,カルチャー,コードの把握 転職もしくは新卒エンジニアとして働き始めるとき,すばやく会社やチームに適応できるに越したことはありません。そのためには,その会社の事業や組織,開発についての情報のインプットと,自分自身の言葉によるアウトプットとで良い循環を生み出すことが重要です。本特集は,まったく違う文化,組織へ転職した筆者が,できるだけ早くパフォーマンスを出して貢献できるようになるために行ったことを紹介します。
  • エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
    4.6
    「コミュニケーションにおける不確実性を減らすには?」「技術的負債を解消する方法とは?」「経営陣とエンジニア間の認識のずれを解消するには?」 エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。 若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの1冊です。
  • 関数型リアクティブプログラミング
    3.0
    そのプログラムが「何を行うか」ではなく、「何であるか」を考える! プログラムは現状、「処理の順番」が非常に重要です。 もし順番を気にしなくて済むのであれば、コーディングの量は 圧倒的に減るでしょう。「どのように処理するか」ではなく 「何をするものか」に注力できるからです。 具体的にいえば、発生したイベントを、他の処理に影響をおよぼさずに、 処理するための方策を細々と記述するのではなく、ユーザーが 必要としている情報・結果を返す仕組みに注力できるようになるのです。 その枠組を、リアクティブプログラミングと関数型プログラミングの いいとこ取りで構築し直したのが「関数型リアクティブプログラミング」です。 本書は宣言型のプログラミングで潜在的な副作用にビクビクしながら (あるいは副作用に悩まされつつ)コーディングを行うことに 疲労感を覚えたら、発想を一新して、いまのプログラミングスキルを 十二分に発揮しつつ、ストレスの少ないパラダイムへと移行してみる、 その一助となる一冊です。 この書籍で、当たり前のように使っていた脳の一部をリファクタリングして、 より風通しの良いプログラミングスタイルを手に入れてください。 [著者紹介] ニュージーランドの北パーマーストン在住。イベント駆動形の 商用プログラミングを多数手がけ、2007年頃にファンクショナル プログラミングに取り組み、オープンソースソースのFRPシステムである Sodiumをリリースしました。趣味は碁。 ニュージーランドのオークランド在住。ここ5年間は、Javaベースの コンフィグレーションGUIをFRPベースのフレームワークに リファクタリングするために費やすなど、Sodiumプロジェクトの 貢献者です。自転車に乗るのが趣味。 ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
  • 現場で使える Flutter開発入門
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Flutterとは、Google社が開発しているモバイルアプリケーションフレームワークです。クロスプラットフォームに対応しているため、1つのソースでiOSとAndroid、Webに対応したアプリケーションを開発することができます。 本書は、これからモバイルアプリ開発を始める方のために、Flutterによる開発体験を手を動かしながら学ぶことができる書籍です。リファクタリングやCI/CDなど、チーム開発には欠かせない知識も詰め込み、すぐに現場で使える1冊となるようにしました。 本書を通じてFlutter開発手法を学び、快適なモバイルアプリケーション開発を体験してください。 ■本書の特徴 1.これからのFlutter開発に必要となる知識を盛り込みました レイアウト、アニメーション、状態管理、データベース、ネイティブ連携、課金、ローカライズ、リファクタリング・デバッグ、CI/CD、Flutter Web 2.状態管理やネイティブ連携が習得可能 StatefulWidget、Redux、Providerなどでの状態管理を解説し、ネイティブ連携はMethodChannel、EventChannel、MessageChannelすべてを網羅しています。 3.データベースもカバー SQLiteやFirebase Firestoreも解説しています。本格的なアプリケーションの開発に役立ちます。 4.チーム開発には欠かせないポイントを徹底解説 リファクタリング・デバッグやCI/CDなど、チーム開発には欠かせない手法を解説してあります。複数の手法を提案しているので、ご自身のチームにあうものがきっと見つかります。 5.ローカライズやアクセシビリティにも丁寧に対応 これからのモバイルアプリやWebアプリには必須となるローカライズやアクセシビリティ対応についても、丁寧に解説してあります。サンプルを確認しながら実装していくことができます。 ■本書の構成 第1章 現場でFlutterを使うために 第2章 レイアウト 第3章 アニメーション 第4章 状態管理 第5章 データベース 第6章 ネイティブ連携 第7章 課金 第8章 ローカライズ 第9章 リファクタリング・デバッグ 第10章 CI/CD ――― 付録 1. Dartリファレンス 2. Webアプリケーション
  • 実践 Android Data Binding
    5.0
    【公式リファレンスには載っていない情報を実践形式で紹介!】 本書はAndroidの公式ツールとして提供されているData Bindingの実践ガイドです。今まで Android 開発は View (XML) の操作とデータの加工を1つの Activiy で行っていました。しかし実装が煩雑になるため、今日まで様々な手法で効率的な実装方法を様々な開発者が模索し続け、Androidの公式ツールとして提供されているData Bindingはその中のひとつです。本書は開発のベストプラクティスとも言えるData Bindingを実践形式で解説しています。(本書は、次世代出版メソッド「NextPublishing」を使用し、出版されています。) 〈本書の対象読者〉 ・Androidエンジニア中級者以上 ・趣味で1~2本アプリを作ったことがある ・仕事で半年以上開発に携わったことがある ・趣味、仕事問わず今書いているコードに問題がある ・もっとスキルアップしたい 〈本書で期待できる効果〉 ・新しいAndroidアプリの書き方を学習できる ・問題あるコードのリファクタリングのヒントになる
  • Java言語で学ぶリファクタリング入門
    3.8
    1巻3,520円 (税込)
    ※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 どうすれば、きれいで読みやすいコードになるのか? 『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説。Javaによる実例満載したリファクタリング入門書の決定版。
  • 15時間でわかる Java集中講座
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 短時間で業務レベルの基礎知識を習得することを目指した独習形式の解説書です。ベースとなる文法について扱う基礎編と,テスト,デバッグ,リファクタリングといった実際の業務に直結する技術や考え方を扱う実践編の2部構成で,最短で業務レベルの入口まで到達できる構成になっています。
  • Swift 文法から関数型プログラミング・テスト駆動開発まで
    -
    Swiftは従来からのオブジェクト指向言語と、ScalaやHaskellといった関数型言語の特徴を併せ持っています。このことは意識しなくても、アプリケーションは作成できます。しかし、オブジェクト指向技術や関数型プログラミングを習得すれば、Swift言語のポテンシャルを引き出し、最先端の設計に近づくことができます。 本書はその入り口まで、読者の皆さんをご案内します。ある程度開発経験のある初級~中級プログラマの皆さんに、職業プログラマとして通用するレベルの技術力を、Swiftで磨いて頂こうというのが主旨です。 そのために本書では、Swiftの基本文法を押さえたうえで、関数型プログラミング、デザインパターン、テスト駆動開発、リファクタリング等にも言及し、プロの開発者を目指す足掛かりを提供します。 <本書「はじめに」より抜粋・編集>

    試し読み

    フォロー
  • ソフトウェア開発の名著を読む【第二版】
    -
    ※本書は2009年に発行された書籍の電子版になります。 【壁を乗り越える力を名著で身につけよう!】 コンピュータが人類の歴史に登場して以来、その進化のスピードは一向に衰えることなく、21世紀の現在ではさらに加速している。その一方で、ソフトウェアは「人」が開発するという事実は不変であり、この真実をとらえた書籍は時の経過にもけっして色褪せることがない。コンピュータ産業の歴史に多大な影響を与えてきた不朽の名著から、ソフトウェア開発の「本質」を読み解く。初版の内容に新たに2冊の名著を加え、全10冊を紹介する充実の第二版。 ■こんな方におすすめ ・これからSEになろうと考えている大学生 ・SEに転職しようと考えている人 ・SEになりたての人 ・SEとして楽しく仕事をしていきたい人 ■目次 第一部 ソフトウェアは「人」がつくる ●『プログラミングの心理学』ジェラルド・M・ワインバーグ   ソフトウェア開発の人間的側面に初めて正面から取り組んだ、ワインバーグの古典的作品 ●『人月の神話』フレデリック・P・ブルックス,Jr.   見積もりとスケジューリングの単位としての「人月」の危険性を指摘した不朽の名著 ●『ピープルウエア』トム・デマルコ/ティモシー・リスター   ソフトウェア開発における人間的側面を重視し、人間中心に考えることの大切さを説く ●『デッドライン』トム・デマルコ   人間中心のプロジェクト管理について、デマルコが小説形式で表現した異色の作品 第二部 実践する開発者 ●『ソフトウェア職人気質』ピート・マクブリーン   ソフトウェア開発を「工学」ととらえることをやめて、「職人気質」という基本へ回帰せよと提唱する ●『達人プログラマー』アンドリュー・ハント/デビッド・トーマス   「割れ窓理論」「DRY原則」など、実践的なプログラマーとなるためのアドバイスを網羅 第三部 読みやすいコードを書く ●『コードコンプリート』スティーブ・マコネル   より優れたコードを書くためのガイドラインを提供する、プログラマー必読の書 ●『プログラミング作法』ブライアン・W・カーニハン/ロブ・パイク   プログラマーにとって基本的かつ不可欠な事項が述べられているが、すべてマスターしている人は意外に少ない ●『リファクタリング』マーチン・ファウラー   今ではソフトウェアエンジニアの常識となったリファクタリングを提唱する、ファウラーの代表作 ●『ビューティフルコード』ブライアン・カーニハン他   「美しいコード」について、33名の著名なプログラマーがそれぞれの想いを語る超大作 ■著者プロフィール 柴田芳樹(しばた・よしき):1959年生。九州工業大学および大学院で情報工学を専攻し、以来、ソフトウェア開発に従事する。翻訳書に『プログラミング言語Java 第4 版』『Effective Java 第2 版』『Java Puzzlers 罠、落とし穴、コーナーケース』『Google Web Toolkit ソリューション』、著書に『Java 2 Standard Edition 5.0 Tiger』(いずれもピアソン・エデュケーション)、『プログラマー現役続行』(技術評論社)。
  • ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方
    4.3
    ソフトウェア上流品質を上げまくって、 バグだらけ・死ぬほど働くのをやめませんか? テスト界の第一人者、高橋寿一氏執筆の ロングセラー『知識ゼロから学ぶソフトウェアテスト』の続編が登場! 今回のテーマは「開発者テスト」です。 本書では、アプリ・システム開発において、バグを減らすために 開発者が行うべきテスト(開発者テスト)についてわかりやすく解説します。 開発者テストを実施するために知っておくべき概念・手法や、 ○単体テスト ○リファクタリング ○アジャイル開発での品質担保 ○テストの自動化 などについて、実例を出しながら解説していきます。 品質コンサルタントとして長年培ってきた筆者の経験をもとにした、 現場で必須の手法+学術的根拠のエッセンスを詰め込んだ一冊です。 ̻□章構成 第1章 はじめに 第2章 上流品質向上のためのテスト 第3章 開発者テストの基本の基本 第4章 コードベースの単体テスト 第5章 単体テストの効率化――楽勝単体テスト 第6章 機能単位の単体テスト 第7章 リファクタリング 第8章 コードレビュー 第9章 統合テスト 第10章 システムテストの自動化 第11章 探索的テスト 第12章 まとめ――全体テストのデザイン 第13章 品質と要求仕様とテストのケース 第14章 アジャイル開発 versus ウォーターフォール開発 第15章 開発者テストの実サンプル ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

    試し読み

    フォロー
  • ソフトウェア品質を高める開発者テスト 改訂版 アジャイル時代の実践的・効率的でスムーズなテストのやり方
    4.0
    ウォーターフォールでもアジャイルでも、 上流品質を上げまくって、よい製品を楽に作ろう! テスト界の第一人者、高橋寿一氏執筆の 「開発者テスト」実践における必携書、アジャイル開発に完全対応! 本書では、アプリ・システム開発において、バグを減らすために 開発者が行うべきテスト(開発者テスト)についてわかりやすく解説します。 開発者テストを実施するために知っておくべき概念・手法や、 ○単体テスト ○リファクタリング ○アジャイル開発での品質担保 ○テストの自動化 などについて、実例を出しながら解説していきます。 旧版で言及の少なかったアジャイルテストの方法論にページを割き、 アジャイルの現場でも活躍する内容にパワーアップしました。 品質コンサルタントとして長年培ってきた筆者の経験をもとにした、 現場で必須の手法+学術的根拠のエッセンスを詰め込んだ一冊です。 □章構成 第1章 はじめに 第2章 上流品質向上のためのテスト 第3章 開発者テストの基本の基本 第4章 コードベースの単体テスト 第5章 単体テストの効率化――楽勝単体テスト 第6章 機能単位の単体テスト 第7章 リファクタリング 第8章 コードレビュー 第9章 統合テスト 第10章 システムテストの自動化 第11章 探索的テスト 第12章 まとめ――全体テストのデザイン 第13章 アジャイル・シフトレフトのメトリックス 第14章 アジャイルにおける要求仕様 第15章 開発者テストの実サンプル ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
  • 単体テストの考え方/使い方
    4.5
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 質の高いテストを行い、ソフトウェアに価値をもたらそう! 単体(unit)テストの原則・実践とそのパターン ― プロジェクトの持続可能な成長を実現するための戦略について解説。 優れたテストを実践すれば、ソフトウェアの品質改善とプロジェクトの成長に役立ちます。逆に間違ったテストを行えば、コードを壊し、バグを増やし、時間とコストだけが増えていきます。生産性とソフトウェアの品質を高めるため、優れた"単体テスト"の方法を学ぶことは、多くの開発者とソフトウェア・プロジェクトのために必須といえるでしょう。 本書“単体テストの考え方/使い方”では、単体テストと統合テストの定義を明確にします。そして、どのようなテストに価値があるのかを学び、どのテストをリファクタリング、もしくは削除するのか、ということについて考え、そのことがプロジェクトの成長にどう繋がるのかを見ていきます。 C#のコード例で解説しますが、どの言語にも適用できる内容です。 Manning Publishing: Unit Testing Principles Practices and Patterns の翻訳書。 目次 第1部: 単体(unit)テストとは? 第1章: なぜ、単体テストを行うのか? 第2章: 単体テストとは何か? 第3章: 単体テストの構造的解析 第2部: 単体テストとその価値 第4章: 良い単体テストを構成する4本の柱 第5章: モックの利用とテストの壊れやすさ 第6章: 単体テストの3つの手法 第7章: 単体テストの価値を高めるリファクタリング 第3部: 統合(integration)テスト 第8章: なぜ、統合(integration)テストを行うのか? 第9章: モックのベスト・プラクティス 第10章: データベースに対するテスト 第4部: 単体テストのアンチ・パターン 第11章: 単体テストのアンチ・パターン Vladimir Khorikov(ウラジーミル・コリコフ):ソフトウェア・エンジニア、Microsoft MVP受賞者、単体テストに関するブログの執筆や講座を受け持ったりしている。 須田智之:フリーランスエンジニア、IT分野の記事や書籍も執筆している。執筆した書籍に『RxJavaリアクティブプログラミング』、翻訳書に『セキュア・バイ・デザイン』がある。
  • テストが書けない人のAndroid MVP
    -
    【レガシーなコードをMVPで分割してテスト可能に変える!】 本書は多くのプロジェクトで運用されているレガシーなコードをリファクタリングし、将来的にモダンなコードとしていくために必要なテストコードの書き方を解説したガイドブックです。将来的にDagger2に置き換えることを目標としつつ、いくつかのレガシーパターンのリファクタリング例を紹介しています。 〈本書の想定読者〉 ・レガシー化したAndroidのソースコードを今どきのMVPに置き換えたいが何から手を付ければいいかわからない ・MVPにしてみたけどPresenterにView側の処理が入り込んだり、何が変わったかわからない ・MVPにしてみたけど結局テストコードが書けない ・Dagger2やRxJavaを使わないとテストは書けないと思っている
  • 【電子合本版】Code Complete 第2版 完全なプログラミングを目指して
    -
    この電子書籍は、「Code Complete 第2版 完全なプログラミングを目指して」の上下巻を1冊にしたお得な合本版です。 本書は効果的なコンストラクションプラクティスについての知識を集めた、実践的なプログラミング解説書です。ソフトウェア開発プラクティスは目覚しい進歩を遂げていますが、一般のプログラマにはなかなか浸透しません。本書は、業界の第一人者らの知識と、一般の商用プラクティスとの橋渡しをします。10年前の第1版とコンセプトは同じですが、第2版は、全体を通じてオブジェクト指向の考え方が反映されたものになっています。また、「リファクタリング」の章が追加され、サンプルコードはC++、C#、Java、Visual Basicなどにアップデートされています。本書は、ソフトウェア開発の総合ガイドを求めている経験豊富なプログラマ、経験の浅いプログラマを教育する技術指導者、正式なトレーニングを受けたことのない独学プログラマ、これから社会に出る学生や新人プログラマなどを特に対象としています。本書で説明されている研究成果や過去の経験は、高品質なソフトウェアを作成し、問題を少なく抑えて作業をより短期間で行うのに役立ちます。また、大きなプロジェクトを制御し、要求の変更に応じてソフトウェアの保守や修正を適切に行うのにも役立ちます。
  • Pythonによるプログラミング
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。 Pythonプログラミングの基礎が学べる!!  Pythonの基礎、オブジェクト指向の考え方を学びながら、簡単なゲームプログラミングの作成まで行います。全15章でPythonプログラミングを一通り学ぶことができ、章ごとに段階を踏んで学んでいけるものです。まずはPythonの独習書として、プログラミングを学びたい方むけにおすすめです。 はじめに 第0章 プログラミングとは 第1部 アクションゲームの作成演習 第1章 Python の実行環境 第2章 アニメーションの導入 第3章 イベントによる対話的処理 第4章 プログラムの拡張 第2部 オブジェクト指向プログラミング演習 第5章 クラスとモデリング 第6章 集約とポリモーフィズム 第7章 継承、オーバーライド 第8章 リファクタリング 第3部 パズルゲームの作成演習 第9章 MVC による機能の分離 第10章 モジュール化 第11章 探索アルゴリズム 第4部 ライブラリを利用したゲーム作成演習 第12章 ライブラリの利用 第13章 スコープ、実体と参照 第14章 Sprite とGroup 第15章 風船割りゲーム 付録A エラー図鑑 関連資料
  • Flask本格入門 ~やさしくわかるWebアプリ開発~
    -
    【マイクロフレームワークであるFlaskのWebアプリ開発がよくわかる】 Flaskは、必要に応じてモジュールを追加していくマイクロフレームワークの方針をとっており、近年アプリケーション開発の主流として人気を集めています。 本書は、Flaskの最新のバージョン2.3.2に対応し、1章~8章までで「ルーティングの基礎」「データ操作の方法」「Formの活用方法」など基本的なことが学べます。また、9章以降で実際にアプリを作成して、マイクロフレームであるFlaskを活用したWebアプリケーション開発の一連の流れが学べます。近年需要が高まっているセミナーや研修でも利用できます。 ■こんな方におすすめ ・はじめてFlaskでWebアプリケーションを開発したい人 ・PythonでWebアプリケーション開発を行いたい人 ■目次 1章 Flaskについて知ろう   1-1 Flaskの特徴を知ろう   1-2 開発環境を構築しよう(Miniconda)   1-3 開発環境を構築しよう(仮想環境)   1-4 開発環境を構築しよう(VSCode) 2章 Flaskに触れてみよう   2-1 Flaskでハローワールドを作成しよう   2-2 ルーティングについて知ろう   2-3 動的ルーティングについて知ろう 3章 Jinja2に触れてみよう   3-1 テンプレートエンジンについて知ろう   3-2 テンプレートの継承について知ろう   3-3 テンプレートで制御文を使おう 4章 フィルターとエラーハンドリングに触れてみよう   4-1 テンプレートで「フィルター」を使おう   4-2 テンプレートで「自作フィルター」を使おう   4-3 エラーハンドリングを使おう 5章 Formに触れてみよう   5-1 Formの基本を知ろう   5-2 WTFormsを使おう   5-3 Flask-WTFを使おう 6章 データベースに触れてみよう   6-1 データベースを作成しよう   6-2 ORMを使おう   6-3 結合を使おう 7章 Flaskでデータベースを使おう   7-1 Flask-SQLAlchemyを使おう   7-2 Flask-Migrateを使おう   7-3 簡易「Flask」アプリケーションを作成しよう 8章 開発に役立つ便利機能について知ろう   8-1 Blueprintを活用しよう   8-2 グローバル変数「g」を活用しよう   8-3 デバッグモードを活用しよう 9章 Flaskアプリケーションを作ろう   9-1 アプリケーションの説明   9-2 「CRUD機能を持つメモアプリ」の説明   9-3 「CRUD機能を持つメモアプリ」の作成 10章 バリデーションと完了メッセージを追加しよう   10-1 バリデーションと完了メッセージの説明   10-2 バリデーションと完了メッセージの作成   10-3 動作確認 11章 認証処理を追加しよう   11-1 認証処理の説明   11-2 認証処理の作成   11-3 動作確認   11-4 アクセス拒否 12章 Blueprintによるファイル分割を行おう   12-1 ファイル分割   12-2 リファクタリング   12-3 動作確認 13章 メモ参照制限を追加しよう   13-1 メモ参照制限とは?   13-2 メモ参照制限の作成   13-3 動作確認 14章 Wikipedia機能を追加しよう   14-1 Wikipediaとは?   14-2 wiki機能の作成   14-3 動作確認 15章 Wikipedia結果の反映を行おう   15-1 どのように作成するか?   15-2 動作確認 16章 レイアウトを調整しよう   16-1 Bootstrapとは? 17章 マイクロサービスを知ろう   17-1 マイクロサービスとは?   17-2 RESTとは?   17-3 簡易「マイクロサービス」の作成 ■著者プロフィール 株式会社フルネス 樹下雅章:大学卒業後、ITベンチャー企業に入社し、様々な現場にて要件定義、設計、実装、テスト、納品、保守、全ての工程を経験。SES、自社パッケージソフトの開発経験。その後大手食品会社の通販事業部にてシステム担当者としてベンダーコントロールを担当。事業部撤退を機会に株式会社フルネスに入社し現在はIT教育に従事

    試し読み

    フォロー
  • プログラミングElm
    5.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ウェブアプリのフロントエンド部分を堅牢に開発できる、静的型付けの関数型プログラミング言語Elm(エルム)。 最小限のJavaScriptにコンパイルされ、アプリケーションをウェブへ簡単にデプロイできるようになります。 ・Elmがはじめてのフロントエンド開発者を対象に、構文や関数の作り方の基礎から解説します。 ・JavaScript+Elmへ:ElmアプリケーションをこれまでのJavaScriptリソースと統合し、活用する方法を解説。 Elmを全く知らない方でも、本書をマスターすれば柔軟でメンテナンスしやすいウェブアプリケーションを構築できるようになるでしょう。 Elm 初心者の方は、Elmの基礎とThe Elm Architectureを使ったアプリケーションの作り方を学ぶために、まず1章から5章まで順番通りに読み進めましょう。これらの章はアプリケーションをどのように作るのかをテーマにしています。Picshareという写真共有アプリケーションを作りながら、前の章のコードに機能を継ぎ足していき、章ごとに新しい機能を追加していきます。 すでにアプリケーション構築の基礎を押さえている方で、サーバーとどのように通信するか知りたい方は、4 章から読み始めても構いません。各章において、それまでのアプリケーションコードを用意しています。  後半の6章から11章では、Elm アプリケーションの拡張、デバッグ、JavaScriptとの共生、メンテナンスについて取り扱います。 1章 Elmをはじめよう 2章 状態を持つElmアプリケーションを作成する 3章 Elmアプリケーションをリファクタリングしたり改良したりする 4章 サーバーと通信する 5章 WebSocketでリアルタイム通信を行う 6章 さらに大きなアプリケーションを作る 7章 強力なツールを使って開発やデバッグ、デプロイをする 8章 JavaScriptとの共生 9章 Elmアプリケーションをテストする 10章 シングルページアプリケーションを構築する 11章 アプリケーションを高速化する 付録 Elmをインストールする / ローカルサーバーを実行する / Elmパッケージのバージョンについて
  • プロフェッショナルPython ソフトウェアデザインの原則と実践
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 クリーンで柔軟性の高いプログラムを開発できる。 プロの品質を実現するデザイン手法を多面的に解説。 <抽象化、カプセル化、パフォーマンス、テスト、拡張性と柔軟性、 クラスの継承、疎結合、リファクタリング、デザインパターン .etc> プログラマーが考慮すべきソフトウェアデザインのアプローチとして、 さまざまな手法がこれまで登場し発展してきました。 たとえば、1960年代の構造化プログラミング以降で発展した「関心の分離」や「抽象化」、 オブジェクト指向の中心概念の1つ「カプセル化」などが挙げられます。 これらは、いずれもソフトウェアの開発/運用をより容易にし、拡張性・保守性を高めるものです。 本書では、それらのアプローチをどのように理解し、 Pythonでどのように実践していけばよいのかを解説します。 本書の内容を習得することで、初中級者はコーディングスキルを大きく向上させ、 プロフェッショナルなプログラミングへの道を見通せるようになります。 ベテランの開発者が最近のトレンドを押さえて昔の知識を更新するのにもよいでしょう。
  • プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで
    4.9
    Rubyの文法をサンプルコードで学び,例題でプログラミングの流れを体験できる解説書です。 ほかのプログラミング言語で開発経験のある人が,Rubyを学ぶ際に効率的に学べる内容を詰め込みました。 プログラミング未経験者向けの「変数とは」「配列とは」といったプログラミング基礎知識の説明は最小限にし,そのぶんRubyの特徴(他プログラミング言語との違い),Rubyにおけるリファクタリングの要点,テスト駆動開発やデバッグのやり方など開発現場で必要になる知識を解説しています。 本書の内容を理解すれば,開発の現場で必要とされるRuby関連の知識を一通り習得できます。そして,「今まで呪文のようにしか見えなかった不思議な構文」や「実はあまりよくわからないまま,見よう見まねで書いているコード」も自信をもって読み書きできるようになるはずです。 本書はRuby 2.4をベースに解説します。Ruby 2.2や2.3など,少し前のバージョンで動きが異なる場合は,適宜注釈を入れています。
  • MySQL徹底入門 第4版 MySQL 8.0対応
    3.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 MySQL 8.0対応! 日本MySQLユーザ会メンバーによる全面改定版! 【本書の概要】 2011年刊行の『MySQL 徹底入門 第3版』の改訂版です。 メジャーバージョンアップした8.0に対応。 旧版の内容を全面的に見直して書下ろし。 改訂にあたり、新機能についてはデータベース担当者が必要となる部分を中心にピックアップ! 運用・データ型・レプリケーション・文字コードなどの実務で役立つ内容もバランスよく解説します。 【MySQL 8.0について】 MySQLは、バージョン5.7から一気に進んで8.0になりました。 旧バージョンとの互換性は担保しつつも、 大幅なりリファクタリングが行われており、 今後のMySQLの起点となるバージョンとして期待されています。 MySQLにとって重要な機能は多数ありますが、第4版では次の機能などの解説を行っています。 ・グループレプリケーション機能 ・デフォルトでのUnicode対応 ・ウィンドウ関数 ・CTE(共通表形式) 【対象読者】 ・MySQLの初心者から中級者 ・システム開発者 ・データベース関連プログラマー ・データべースに興味のある学生や企業のDB関連リサーチャーなど 【執筆者】 日本MySQLユーザ会メンバー(MyNA)。 日本MySQLユーザ会 は、日本におけるMySQLのユーザ団体。 日本におけるMySQLの普及促進、ユーザ間のコミュニケーション、啓蒙活動のほか、 MySQLの日本語化の検証/開発、メーリングリストの運営なども行っている。 ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
  • マスタリングVim
    4.0
    Googleの現役エンジニアが書いた、テキストエディタ「Vim」の解説書です。OSごとのインストールや基本操作といった入門的内容も押さえつつ、リファクタリング、デバッグ、実行、テスト、バージョン管理システムとの連携、プラグインの作成と管理といったソフトウェア開発に便利な機能を、Pythonのコードを使って解説します。本書を読み終えるころには、あなただけの最高のVimが完成しているはずです! Vim 8.1/Neovimに対応。
  • レガシーソフトウェア改善ガイド
    4.6
    単なる延命策ではない、進化させるという発想! コードがレガシーになるのはなぜでしょう。その要因を特定し、 コードベースの品質を上げるためには、なにをすればいいのでしょう。 本書はこれらの古くて新しい質問に真摯に答えてくれるでしょう。 単純な(でも難解な)クラスやメソッドレベルのリファクタリングから、 モジュールあるいはコンポーネント全体を視野に入れた、広い範囲のリファクタリング。 また、最終手段としてのリライトに関するノウハウ(機能低下の予防方法や回避方法、 各種データのスムーズな移行など)を示します。 また、単に手を動かすだけではなく、いつもソフトウェアをフレッシュにしておくべく、 自動化のための方法論や、そのインフラストラクチャの作り方を詳解します。 「動いているものは触るな」が鉄則のソフトウェアを、それでも要請に応じて よりレスポンシビリティの高い、そして新機能を盛り込まれた、 メンテナンスしやすいソフトウェアへと進化させるためのノウハウを学んでください。 【目次】 第1部:はじめに 第1章:レガシープロジェクトの難題を理解する 第2章:スタート地点を見つける 第2部コードベース改良のためのリファクタリング 第3章:リファクタリングの準備 第4章:リファクタリング 第5章:リアーキテクティング 第6章:ビッグ・リライト 第3部リファクタリングの先へ― プロジェクトのワークフローと基盤を改善する 第7章:開発環境を自動化する 第8章:テスト、ステージング、製品環境の自動化 第9章:レガシーソフトウェアの開発/ビルド/デプロイを刷新する 第10章:レガシーコードを書くのはやめよう! ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

    試し読み

    フォロー
  • わかりやすいアジャイル開発の教科書
    4.4
    ※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 タイムボックスからTDD、リファクタリング、チームビルディングまで、アジャイルソフトウェア開発を導入し、現場をより活性化させ、価値のあるソフトウェアをつくり上げるための具体的な方法を、わかりやすく手ほどきします。

最近チェックした本