言語・プログラミング - インプレス - impress top gearシリーズの検索結果
検索のヒント
検索のヒント
■キーワードの変更・再検索
記号を含むキーワードや略称は適切に検索できない場合があります。 略称は正式名称の一部など、異なるキーワードで再検索してみてください。
■ひらがな検索がおすすめ!
ひらがなで入力するとより検索結果に表示されやすくなります。
おすすめ例
まどうし
つまずきやすい例
魔導士
「魔導師」や「魔道士」など、異なる漢字で検索すると結果に表示されない場合があります。
■並び順の変更
人気順や新着順で並び替えると、お探しの作品がより前に表示される場合があります。
■絞り込み検索もおすすめ!
発売状況の「新刊(1ヶ月以内)」にチェックを入れて検索してみてください。
-
Pythonではじめるクリーンアーキテクチャ SOLID原則/ドメイン駆動設計/テスト駆動開発を実践
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Pythonで実践する、比類なき設計手法。 堅牢でしなやかなシステムを設計・開発できる! DDDから、実装の実践/TDD/実用アプリの構築まで。 本書では、「コードの複雑化」や「フレームワークへの過度な依存」という、多くの開発者が直面する課題に対して、明確な解決策を提示します。 アプリケーション開発において「クリーンアーキテクチャ」の原則をどのように適用し、保守性と拡張性の高いシステムを構築するかについて、Pythonを使って具体的かつ実践的に解説します。主要なテーマは次のとおりです。 ◆基本的な考え方◆クリーンアーキテクチャの概念、基盤となるSOLID原則、Python開発への適用方法などを解説。 ◆設計の本質◆ドメイン駆動設計(DDD)のほか、インターフェイスアダプター、フレームワーク&ドライバーなど階層ごとの役割と実装について詳しく解説。 ◆実践的なPython実装◆Pythonの特性を活かした具体的なコード例とプロジェクト構造を提示。 ◆テスト駆動開発(TDD)◆設計の正しさを担保するためのテスト手法を、開発プロセスに統合。 ◆実戦的な応用◆単純なサンプルにとどまらず、スケーラビリティを考慮した実務レベルのアプリの構築も想定。 具体的なアプリの開発を進めながら、変更に強く、テストしやすく、長期的に保守しやすいアプリ開発の実用的な戦略とパターンを提供します。 「動くコード」を書くだけの段階から、「変化に強く、10年先もメンテナンス可能なコード」を書くエンジニアへとステップアップしたい開発者にとって、必読の一冊です。 ※本書は『Clean Architecture with Python: Implement scalable and maintainable applications using proven architectural principles』の翻訳書です。 ■本書の構成 ◆Part1 Pythonでのクリーンアーキテクチャの基礎 第1章 クリーンアーキテクチャの意義:Python開発を変える 第2章 SOLID原則:堅牢なPythonアプリケーションを構築する 第3章 Pythonの型システムを使ってクリーンアーキテクチャを強化する ◆Part2 クリーンアーキテクチャをPythonで実装する 第4章 ドメイン駆動設計:コアビジネスロジックを構築する 第5章 アプリケーション層:ユースケースのオーケストレーション 第6章 インターフェイスアダプター層:コントローラーとプレゼンター 第7章 フレームワーク&ドライバー層:外部インターフェイス 第8章 クリーンアーキテクチャによるテストパターンの実装 ◆Part3 クリーンアーキテクチャをPythonで適用する 第9章 Web UIの追加:クリーンアーキテクチャのインターフェイスの柔軟性 第10章 可観測性の実装:監視と検証 第11章 レガシーからクリーンへ:保守性を高めるPythonのリファクタリング 第12章 クリーンアーキテクチャの旅:次なるステップ -
Proxmox VEサーバー仮想化 導入実践ガイド エンタープライズシステムをOSSベースで構築
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Proxmox VEの基本とインストールからスタート! 運用管理、クラスタ、ストレージ、バックアップ、ネットワークを解説。既存環境からの移行、Proxmox VE Firewal/SDNなどの高度機能も紹介。 本書は、オープンソースで提供されるサーバー仮想化ソフトウェアProxmox VE(Proxmox Virtual Environment)の包括的なガイドです。Proxmox VEの特徴から、インストール、構成・管理、そして高度な機能の活用まで、実践的な知識を習得できます。 本書では、Proxmox VEの特徴に始まり、インストールの方法、Webツールによる運用管理、分散ストレージと外部ストレージの利用、Proxmox VE FirewallやSDNなどのネットワーク、クラスタ、バックアップについて解説します。さらに、Proxmox VEへの仮想マシンの移行、Veeam Backup for Proxmox/Zabbix/HashiCorp Terraform/NVIDIA vGPUとの統合についても説明します。 本書は、Proxmox VEを初めて使用する方から、経験豊富なシステム管理者まで、仮想化環境の構築と運用に携わる方々にとって価値ある情報源となるはずです。 【本書の構成】 第1章 Proxmox VEの特徴 第2章 Proxmox VEのインストール 第3章 Webツール/コンソールによる運用管理 第4章 クラスタの運用と管理 第5章 分散ストレージと外部ストレージの利用 第6章 ネットワークの構成/設定 第7章 バックアップ機能の活用―Proxmox VE標準機能とProxmox BS 第8章 Proxmox VEへの仮想マシンの移行 第9章 Proxmox VEの周辺ソリューション―Veeam Backup for Proxmox/Zabbix/HashiCorp Terraform/NVIDIA vGPU -
Amazon Alexaプログラミング入門
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、これからAmazon EchoなどのAlexa対応デバイスを使って独自の機能を開発してみたいというエンジニアが、段階を追って学べるような内容になっています。音声ユーザーインターフェース(VUI)、Alexaデバイスの機能やスキルの仕組み、スキルプログラムの構造といった、固有の考え方を踏まえたうえで、Alexaスキルの開発ツールの使い方やコードの書き方を簡単なサンプルプログラムを作成しながら手順を追って解説します。プログラミング言語としてJavaScript、フレームワークにはNode.jsを用います。 -
AWSネットワーク入門 第2版
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 AWSは、さまざまなサービスを構築・運用するITインフラとして、幅広く使われています。「使いたいときにすぐにサーバーを作れる」「規模や構成の変更が容易」「データベースやストレージ、さらには機械学習などのさまざまなすぐに使えるサービスが提供されている」などの使い勝手の良さだけでなく、負荷分散や冗長性の担保、バックアップなどの安全対策も考慮されているため、保守・運用コストを抑えられるのも人気が高い理由です。 ただしAWSのインフラ構築は、機能が豊富で自由度が高い半面、はじめてAWSを利用する人にとっては、何もない場所に放り出されたようなものであり、何からはじめてよいかわからず、困惑する利用者も少なくありません。 本書は、こうしたAWSの初心者を支援する目的で執筆されました。最初にAWSシステムの概要を説明したあとに、実際にネットワークを構築しながら、AWSにおけるサーバーに相当する「EC2インスタンス」を起動し、最終的に、独自ドメインでWebサーバーを運用できるようにする方法を指南します。その過程で、AWS独特のネットワークの作法を解説します。 また第2版では、これまでの内容を改訂しただけでなく、VPCとAWSサービス、もしくは、オンプレミス環境などの別のネットワークを接続するといった事例を追加しました。具体的には、PrivateLinkを利用して、S3などのAWSサービスとVPCとを接続する方法や、VPNで拠点間を接続する方法など、VPCと他のネットワークとの接続を扱った章を設けました。今後、読者の皆さんがAWSの活用を広げる上で、必ず役立つ情報となるでしょう。 -
AWS Lambda実践ガイド 第2版
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。第2版では、2022年の最新情報にアップデート、SAM開発環境に対応しました。 AWS Lambdaは、サーバーを必要としないプログラムの実行環境です。開発者が処理したい内容を小さな関数として実装すると、必要に応じて、それが実行される仕組みです。 サーバーを必要としないということは、運用の手間やコストを削減できるということです。この利点はとても大きいため、新規の開発案件では、Lambdaが採用されるケースが増えています。しかし、Lambdaによる開発に大きなメリットがあるといっても、すぐに移行できるほど話は簡単ではありません。従来のEC2インスタンスを使った開発とLambdaを使った開発とでは、プログラミングの方法はもちろん、設計の考え方も大きく異なるからです。Lambdaを使い始めるには、Lambdaの仕組みの理解と、その特性を活かした設計の考え方を習得することが不可欠です。 本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。とくにLambdaを使った開発では、AWSサービスの操作に重きを置きます。Lambdaを活かせるかどうかは、AWSの各種サービス――ストレージのS3、プッシュサービスのSNS、メール送信のSESなど――を、いかに使いこなせるかに左右されます。そこで本書では、実例を通じて、そうしたAWSサービスの実際の使い方にも言及されています。 -
OpenShift Virtualizationサーバ仮想化実践ガイド
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 OpenShift Virtualizationを使えば、コンテナと仮想マシンの両方を、単一のプラットフォームで実行し、管理することが可能となります。この機能は、Red Hat社が提供するKubernetesのディストリビューションである、OpenShift Container Platformの一機能として提供されています。 本書では、OpenShift Virtualizationを実行する環境を準備し、実際に手を動かしながら操作することで、実践を通してOpenShift Virtualizationへの理解を深めることができます。最初にLinuxにおける仮想化技術の基礎知識とハイパーバイザであるKVMとKubernetesで仮想マシンを運用するメカニズムについて解説します。その後の実践編では環境構築から、仮想マシンの作成、実行を含め、ステップバイステップで必要なプロセスを紹介するため、初めて触れる方でも理解しやすい内容となっています。本書の内容を理解することで、OpenShift Virtualizationにより仮想基盤を構築し、運用するための必要な知識を身に付けることができます。 -
GitLab実践ガイド
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 近年、企業における迅速なソフトウェア開発において、DevOpsは必要不可欠な要素として認識されています。しかしその一方で、開発プロセス改善に関連する情報の飽和や、新しい開発支援ツールの乱立により、自社の開発チームにとってどれが最適な解なのかの見極めが難しくなっています。さらに、開発ツール導入後も、ツールやプラットフォームの運用に余計な時間を取られ、本来の目的であるコード開発に時間が割けないエンジニアが後を経ちません。このような開発現場の課題に取り組み、各企業にとって最適な開発スタイルを模索する中で、GitLabが注目を集め始めています。 GitLabは、開発プロセスを支援する機能として、単なるリポジトリ管理だけにとどまらず、リポジトリの更新を起点とした継続的インテグレーションや継続的デプロイメントのジョブ機能や開発プロセス全体の改善サイクルを支援するプラットフォームを提供しています。さらに、組織文化の改革という点においても、GitLabではConversational Developmentという開発スタイルを提唱しており、チーム開発に不可欠なコミュニケーションの効率化を支援しています。これらの機能により、GitLabは、開発者における無駄なオペレーション工数を削減し、開発作業の効率化を実現します。 本書はアプリケーション開発支援ツールであるGitLabの基礎から、実務の開発ワークフローの運用で使える機能までを網羅した実践ガイドです。まずGitLabが目指す開発スタイルを理解し、開発プロセスの改善を実践していただくことを目指しています。そのため、本書では単なるGitリポジトリ利用者に対する機能紹介ではなく、普段の開発プロセスの改善やデプロイオペレーションの効率化を図るために必要な情報を網羅しています。 -
GitLab実践ガイド第2版
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 近年、企業における迅速なソフトウェア開発において、DevOpsは必要不可欠な要素として認識されています。しかしその一方で、開発プロセス改善に関連する情報の飽和や、新しい開発支援ツールの乱立により、自社の開発チームにとってどれが最適な解なのかの見極めが難しくなっています。さらに、開発ツール導入後も、ツールやプラットフォームの運用に余計な時間を取られ、本来の目的であるコード開発に時間が割けないエンジニアが後を経ちません。このような開発現場の課題に取り組み、各企業にとって最適な開発スタイルを模索する中で、GitLabが注目を集め始めています。 GitLabは、開発プロセスを支援する機能として、単なるリポジトリ管理だけにとどまらず、リポジトリの更新を起点とした継続的インテグレーションや継続的デプロイメントのジョブ機能や開発プロセス全体の改善サイクルを支援するプラットフォームを提供しています。さらに、組織文化の改革という点においても、GitLabではConversational Developmentという開発スタイルを提唱しており、チーム開発に不可欠なコミュニケーションの効率化を支援しています。これらの機能により、GitLabは、開発者における無駄なオペレーション工数を削減し、開発作業の効率化を実現します。 本書はアプリケーション開発支援ツールであるGitLabの基礎から、実務の開発ワークフローの運用で使える機能までを網羅した実践ガイドです。まずGitLabが目指す開発スタイルを理解し、開発プロセスの改善を実践していただくことを目指しています。そのため、本書では単なるGitリポジトリ利用者に対する機能紹介ではなく、普段の開発プロセスの改善やデプロイオペレーションの効率化を図るために必要な情報を網羅しています。 -
逆引きPython標準ライブラリ 目的別の基本レシピ180+!
便利に使えるPython標準ライブラリの活用術。 初中級スキルアップの近道! 文字列/データ操作、テキスト処理、ファイル操作、 数値演算、ネットワークアクセス、GUIなど、使えるテクニックを満載。 本書では、Pythonの基本的な文法をすでに理解したユーザーが 次に学ぶべきテーマとして、Pythonの標準ライブラリを取り上げます。 本格的なプログラミングへの準備として、習得しておきたい標準ライブラリの 基礎的な活用法を解説します。 Pythonの標準ライブラリは、多数のデータ型やモジュールを提供しています。 それらの機能をうまく活用することがプログラミングの上達につながります。 目的別に180以上の基本レシピを収録。特定の目的を達成するのに、 どの機能をどのように使えばよいのか、すぐにわかるようになっています。 キーとなる関数やメソッドなどの書式に加え、対話的な実行例やスクリプトの例も示しています。 本書により、Pythonのスキルを高め、実践に向けて足場を固めていきましょう。 -
Kubernetes完全ガイド
コンテナオーケストレーションの業界標準 クラウドネイティブ開発の第一歩を踏み出そう! Kubernetes認定資格(Certified Kubernetes Administrator/Certified Kubernetes Application Developer)保有者直伝! プロダクション環境で培われた、Kubernetesを使い倒すための実践ノウハウが満載の一冊です。 Kubernetesはコンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するためのプラットフォーム(コンテナオーケストレーションエンジン)です。 本書籍では、Kubernetesを触ったことがない方でもKubernetesのコンセプトを理解し、実際にアプリケーションをコンテナ化して実行することができるようになることを目標としています。 前半の章では図をふまえながらKubernetesの各リソースについて体系的かつ網羅的に説明します。さらに後半の章では、マニフェスト管理(Helm/Ksonnet)、モニタリング(Prometheus/Datadog)、ログ集約(Fluentd/Datadog)、CI/CD(Spinnaker/JenkinsX/Scaffold)、サービスメッシュ(Istio/Conduit/Linkerd)、Service Brokerなど、Kubernetesを用いてクラウドネイティブな開発を促進させる周辺エコシステムについても紹介します。 -
Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書では、クラウドネイティブに求められる背景やトレンドを押さえるとともに、「Kubernetes」やそのエコシステムを利用し、クラウドネイティブアプリケーションの実装について解説しています。Kubernetesは、コンテナを管理するコンテナオーケストレーションツールであり、これを活用することで、適切なインフラリソースの提供だけではなく、アプリケーションの開発や展開が、容易かつ動的に行える環境を構築できます。 本書の読者対象は、これからクラウドネイティブアプリケーションの開発・運用を始める方です。したがってその内容も、Kubernetesとそのエコシステムを活用したアプリケーションの開発、運用にフォーカスしています。最初にKubernetesそのものの仕組みの基礎を説明したあとは、その上で動くアプリケーションを運用するために必要なエコシステムやその活用方法に重点を置いています。 全体は、2部構成になっており、第1部では、クラウドネイティブアプリケーションを支える技術の一つとして注目される、Kubernetesの概要を紹介します。クラウドネイティブの考え方からKubernetesが提供するコンポーネントの役割まで、本書を読み進める上でのポイントを取り上げます。 第2部では、Kubernetesエコシステムを活用して、クラウドネイティブアプリケーションの開発やその上で動くアプリケーションの管理方法を紹介します。クラウドの特徴を活かしたアプリケーション開発や運用の重要性を取り上げます。 -
Kubernetesマイクロサービス開発の実践
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書では、コンテナ、Kubernetesおよびそれに関連する技術を活用して、アプリケーションの開発と運用を行う方法について解説しており、主にアプリケーション開発者の視点から必要とされる知識に焦点を当てています。最初の1章と2章では、本書の核となるテーマであるコンテナ、Kubernetes、およびそれに関連するクラウドネイティブ技術について概要を述べ、これらの技術が現在、なぜ重要視されているのか、その背景と提供される価値について解説します。また、これらの技術的概要についても説明します。 第3章以降では、マイクロサービスアーキテクチャを代表とする、分散型でモダンなアーキテクチャを採用したアプリケーションに対して、Kubernetesおよびクラウドネイティブ技術を効果的に活用して実装、運用する方法を解説します。これらの章では、サンプルアプリケーションを用いて、Kubernetes上でのアプリケーションの実行方法や運用プラクティスの適用手順を具体的に示しています。全章を通して、実践的なノウハウの習得を目指す構成となっています。 -
Kubernetes CI/CDパイプラインの実装
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Kubernetesを活用したアプリケーションライフサイクルの自動化ノウハウを解説。 近年、アプリケーションの実行環境として“Kubernetes”を採用している企業が急速に増えています。Kubernetes上でのコンテナ開発は、これまでのアプリケーション開発とは大きく異なるため、どこから手を付けていけばよいのかと不安に感じている方も少なくありません。こうした状況を踏まえ、本書では、1つのアプリケーションライフサイクルの実装を通して「いかに少ない労力で開発プロセスを運用し続けるか」という改善案を提示します。 単にコンテナを導入し、Kubernetesを活用するだけでは運用負担の軽減や、迅速なサービス展開といったビジネスメリットを得るのは簡単ではありません。継続的インテグレーションや継続的デリバリの実装にとどまらず、開発プロセスに関わる開発者やレビューアの役割を見直す必要があります。本書ではこの点にも焦点を当て、ツールの使い方以上に、クラウドネイティブな開発プロセスの変化を理解し、実践しながらアプリケーションライフサイクルの改善ノウハウを解説します。 -
Knative実践ガイド
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Knativeは「イベント駆動型アーキテクチャ」のフレームワークとして、サーバーレスなシステム構築に活用できます。とくに、マイクロサービスを利用したステートレスなアプリケーションを実装する上で、Knativeのイベント駆動型アーキテクチャのセットは非常に有用で、今後のクラウドネイティブな環境において、スケーラビリティの高いアプリケーションを簡単に実装するのに役立ちます。 本書では、クラウドネイティブに取り組むインフラ技術者が、最新トレンドであるKnativeの知見を体系的に学習できるように、技術解説に加えて、実務で参考になるユースケースを取り上げています。今後のKubernetes環境における必須の技術についての理解度を、本書でもう一歩前に進めることができます。IT現場でKnativeの採用を検討するうえでも、また、Knativeを使いこなすうえでも、必携のガイドブックの登場です。 -
軽量Alpine LinuxによるDockerコンテナ構築術
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 コンテナ技術の発展と普及に合わせ、現在ではさまざまなコンテナが提供されるようになっています。 「コンテナ」とはLinuxのカーネルの機能を使ったインフラ技術であり、1つのLinuxサーバーを複数のサーバーのように振舞わせることで従来よりもオーバーヘッドの低い仮想化を実現します。 コンテナの代表的な仕組みであるDockerを使うことで、さまざまなサーバー環境がパッケージ化でき、システムへ簡単に導入/移動/削除できるようになります。そして、これらの普及に合わせて新しいソフトウェアや独自の環境をコンテナ化したいという要望も増えて来ました。 本書は、コンテナの作成に広く使われている「Alpine Linux」を解説するものです。Alpine LinuxはOSに付属のソフトウェア群を極力削った軽量ディストリビューションであり、とても小さなフットプリントを持ちます。このため、導入が簡単で運用しやすい小さなコンテナを作ることが可能です。 本書では、OSとしてのAlpine Linuxの特徴を解説し、その導入の方法や基本的な操作をLinuxの基本から解説します。また、各種のサーバーの導入方法など、目的のソフトウェアを導入したシステムを作成するための手順を解説するほか、それらをDockerコンテナとするための手順も詳しく解説します。 本書の内容を学ぶことで、自分の目的に応じたオリジナルのコンテナを開発でき、それらを公開して運用することも可能となります。現代のシステムインフラストラクチャーに欠かせないコンテナ技術の実践的な活用法を学べる一冊です。 -
現場のGoプログラミング 実プロジェクトで役立つイディオムとテスト
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 保守やテストを容易にするGoの手法を学ぶ! 複雑な抽象化を捨て去り、 単純で堅牢なGoプログラムを構築できる! なじみのある他言語のクセから脱却 本書では、過度な抽象化を避け、保守やテストが容易になる慣用的(イディオム的)なGoコードの書き方を実践的に学ぶことができます。CLIツールやHTTPクライアント・サーバーの構築など、現実的なプロジェクトをサンプルとして取り上げます。 主な対象読者は、他言語を習得済みのプログラマーやGo言語への深い理解を求めるプログラマーですが、巻末の付録ではGo言語の基礎から並行処理までを解説しており、基本事項の速習&復習コースとして利用できます。 本書ではまず、Goの基本原則とイディオムを押さえつつ、実践的なテスト技法や最適化、CLIツールの構築方法を解説。続いて、依存性注入によるテスト容易性の向上、並行パイプラインを用いた同期APIの設計、HTTP処理の効率化へとステップアップします。終盤にかけては、パッケージとサービスの構成、ミドルウェアなどのコンポジションパターン、多態的なストレージ実装を明らかにしていきます。 本書は、基礎の確認から、段階的に高度な実践へと進むことで、単なる構文の習得にとどまらず、現場で真に役立つ「Goらしい」思考法と確かな設計力が自然と身につく一冊となっています。 ※本書は、『Go by Example: Programmer's guide to idiomatic and testable code』(Manning Publications)の翻訳書です。 ■本書の構成 第1章 Goの特徴と本書の目標 第2章 イディオムとテスト 第3章 テストカバレッジと最適化 第4章 コマンドラインインタフェース 第5章 依存性注入 第6章 並行処理のための同期API 第7章 応答性と効率の高いプログラム 第8章 パッケージとサービスの構成 第9章 コンポジションパターン 第10章 ポリモーフィックなストレージ 付録A モジュールとパッケージ 付録B 変数とポインタ 付録C 配列、スライス、マップ 付録D オブジェクト指向プログラミング 付録E 並行処理プログラミング 付録F 自己参照オプション 付録G Goプログラムのクロスコンパイル -
Go言語で学ぶ並行プログラミング 他言語にも適用できる原則とベストプラクティス
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Go言語の並行処理機能なら、直感的で把握しやすい! 複雑なテーマも多数の図と例でよりわかりやすく段階的に解説。 並行処理の原理とベストプラクティスを習得できる。 より高速なプログラムが書きたい開発者に最適の書。 並行処理を導入することで、多数のアプリケーションの パフォーマンスと応答性を向上させることができます。 【本書を読めば、次のことを理解・実践できるようになります】 ----- ◆反応性が高く高性能でスケーラブルなソフトウェアを作成できるようになる ◆並行処理の利点・制限・特性を理解できるようになる ◆メモリ共有とメッセージパッシングを区別できるようになる ◆ゴルーチン、ミューテックス、リーダー/ライターロック、ウェイトグループ、 チャネル、条件変数を利用できるようになる ◆並行処理で注意すべき典型的なエラーを特定できるようになる ◆より高度なマルチスレッディングでプログラミングのスキルアップが図れる ----- 本書では、Goの構文と機能を説明することに焦点を当てているわけではなく、 Go言語を使って並行処理の原則と技術を解説しています。 これらの技術のほとんどは他の言語にも適用することができます。 ※ 本書は『Learn Concurrent Programming with Go』(Manning Publications)の翻訳書です。 ※ 本書では何らかのプログラミング言語の使用経験があることを前提としています(Go言語かC言語系の使用経験があれば本書の理想的な読者です)。 -
Go言語 100Tips ありがちなミスを把握し、実装を最適化する
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Goプログラミングにありがちな間違いを網羅的に解説! 間違いに対処しておくことで、開発生産性とコード品質を高めよう。 本書では、Goアプリケーションによくある100の間違いを取り上げ、 その例を検証し、その背景にある事柄を掘り下げていきます。 さらに、間違いを回避するためのヒント、テクニックを紹介し、 実際の現場で間違いを回避できるようにします。 本書で取り上げる間違いは、バグ、不必要な複雑さ、可読性の低下、 最適ではない/慣用的ではないソフトウェア構成、APIの利便性の欠如、 最適化されていないコード、生産性の欠如です。 Go言語の文法のほか、エラー管理、並行処理、標準ライブラリ、テスト、最適化など さまざまなカテゴリーにおける間違いを見ていきます。 【推薦の言葉】 Go開発者が製品環境でコードに触れる前に必ず読むべき本。 『Effective Java』に相当するGoの本です―Neeraj Shah, Nutanix わかりやすく、効果的な例題。間違いがどのようになぜ起こるのかを理解することで、 手痛い間違いを避けられます―Giuseppe Maxia, VMware 【章構成】 第1章 Go言語―学ぶのは容易、習得は難しい 第2章 コードとプロジェクト構成 第3章 データ型 第4章 制御構造 第5章 文字列 第6章 関数とメソッド 第7章 エラー管理 第8章 並行処理:基本編 第9章 並行処理:実践編 第10章 標準ライブラリ 第11章 テスト 第12章 最適化 ◎本書を読むにはGo言語の構文について理解している必要があります。 ◎本書は『100 Go Mistakes and How to Avoid Them』の翻訳書です。 -
新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Javaのテクニックをアップグレードしよう! バージョン10から最新版まで さまざまなアップデートを一挙に学べる! Java SE 10以降では、年2回のバージョンアップサイクルとなっています。 そのうちバージョン11は、長期サポート版としてリリースされました。 本書では「Java SE 10~13の新機能」と「開発中の機能」を取り上げています。 取り上げるテーマは、以下のとおりです。 型推論、アプリケーション・クラスデータ共有、 ガベージコレクタ、ラムダ式、ラムダパラメータ、enum、 データクラス、テキストブロック、パターンマッチング、など 機能の内容だけでなく、背景、使い方、ユースケースも適宜、説明しています。 本書は、機能拡張のサイクルを加速させるJava SEのアップデートを確認したい 読者にとって、最適な一冊です。 -
実践XAI[説明可能なAI] 機械学習の予測を説明するためのPythonコーディング
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 XAI Pythonライブラリで予測結果を説明。 ブラックボックスからグラスボックスへ。 ビジネス上の意思決定につながる機械学習の予測には、解釈・説明が求められます。 そこで、そうした解釈・説明を行うための手法を紹介していきます。 まず、モデルの説明可能性と解釈可能性の全体像、倫理的に考慮すべき点、 生成された予測のバイアスについて説明します。 次に、LIME、SHAP、Skater、ELI5、skope-rulesといったPythonライブラリを使って、 モデルがなぜそのように予測するのかを探っていきます。 予測モデルとして、線形・非線形モデルのほか、アンサンブルモデル、時系列モデル、 自然言語処理、ディープラーニング、コンピュータービジョンを取り上げます。 本書は解釈・説明のための方法を包括的に取り上げており、 機械学習を実際の現場で活用する方にぜひ手に取っていただきたい一冊です。 【章構成】 第1章 モデルの説明可能性と解釈可能性 第2章 AIの倫理、偏見、信頼性 第3章 線形モデルの説明可能性 第4章 非線形モデルの説明可能性 第5章 アンサンブルモデルの説明可能性 第6章 時系列モデルの説明可能性 第7章 自然言語処理の説明可能性 第8章 What-Ifシナリオを使ったモデルの公平性 第9章 ディープラーニングモデルの説明可能性 第10章 XAIモデルの反実仮想説明 第11章 機械学習での対比的説明 第12章 予測不変性の特定によるモデル不可知の説明 第13章 ルールベースのエキスパートシステムでのモデルの説明可能性 第14章 コンピュータビジョンでのモデルの説明可能性 ◎Pythonの文法・ライブラリや機械学習について 標準的な知識を理解している必要があります。 -
Javaコードアンチパターン 初級からプロまで知っておきたいミスと回避策
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 100の失敗から学ぶ、 堅牢で効率的なJavaコーディングの鉄則。 Java静的解析エキスパートが見てきた失敗をもとに 現場で役立つ実践知を解説! 本書は、Javaの神様と呼ばれる名著者Joshua Blochや開発者たちが評価し、本棚に置くべき一冊と推す、Java開発本の決定版です。 開発現場でJavaコードと向き合う中、些細なミスが引き起こす深刻なバグが発生すれば、時間と労力を浪費することになるでしょう。 そこで本書は、初級者からプロフェッショナルまでのすべての開発者が「犯しがちな、繰り返し起こり得るミス」に焦点を当てています。それらのミスを事前に回避して時間と労力を無駄にしない具体的なアドバイスを提供する実践的な指南集となっています。 静的解析ツールを活用して、常に優れたJavaコードを提供できるようにする方法、防御的コーディングによってコードをクリーンに保つ方法に加えて、独自のバグ対策プラグインの作成方法なども示します。 著者は、IntelliJ IDEAの開発元JetBrains社のテクニカルリードであり、Javaバイトコードの静的解析ツールの開発にも貢献するなど、静的解析の分野で10年の経験を持つ専門家です。 本書は、実際の現場で遭遇したコードから厳選した100項目の落とし穴をカバーしています。他者の失敗から学ぶことで、「真の現場力」を養うことができます。 ※本書は『100 Java Mistakes and How to Avoid Them』(Manning Publications)の翻訳書です。 ■本書の構成 第1章 コード品質の管理 第2章 式 第3章 プログラム構造 第4章 数値 第5章 代表的な例外 第6章 文字列 第7章 オブジェクトの比較 第8章 コレクションとマップ 第9章 その他のライブラリメソッド 第10章 単体テスト 付録A 静的解析用アノテーション 付録B 静的解析ツールの拡張 -
JavaScriptモダンプログラミング完全ガイド 堅牢なコードを効率的に開発できる!
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 舞台裏も他言語との違いも分かる! 関数型/オブジェクト指向/非同期の活用、モジュールによる拡張、落とし穴の回避などを解説[基本事項を中心に、中級~超上級レベルも学べます] 本書は、JavaScript標準であるECMAScript 6以降に対応した、完全かつ簡潔なガイドブックです。古いバージョンについては解説をスキップし、現在のはるかに強力なモダンJavaScriptの中核技術からスタートできます。近年、JavaScriptプログラマーの達人たちは、エラーが発生しやすい手法を回避するために、関数型/オブジェクト指向/非同期プログラミングを積極的に採用しています。そうした最新のテクニックやヒントを本書で習得し、開発生産性の飛躍的な向上をぜひ目指してください。Java、C#、C/C++など他言語の経験者、初中級者がモダンJavaScriptを本格的に学べる一冊です。◎本書は『Modern JavaScript for the Impatient』の翻訳書です。 -
Scalaスケーラブルプログラミング 第4版
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 言語設計者によるScalaのバイブル 第4版! バージョン2.13に対応。全35章の包括的チュートリアル Scalaは、1行コードから大規模プログラムまで書けるスケーラブルな言語です。 オブジェクト指向と関数型をバランスよく融合し、並行処理やパーサー・ コンビネーターなどライブラリーも豊富に提供されています。 本書では、言語設計者自らが、Scalaの考え方と使い方を ステップ・バイ・ステップで解説。 取り上げるテーマは、オブジェクト指向、関数型、制御構造、クロージャー、 トレイト、パターンマッチ、Futureなど。 第4版では、バージョン2.13に合わせて改訂し、 新しいコレクションライブラリーに対応しています。 「Scalaのスタイルやパターンを学びたい人は必読」 「言語の“なぜ”を深く追求している」。 ―(原書への)読者の声 ◎本書は「Programming in Scala, Fourth Edition」の翻訳書です。 -
ソフトウェアグローバリゼーション入門 国際化I18Nと地域化L10Nによる多言語対応
Webアプリケーションやスマートフォンが広く使われる現在、世界中で使われるソフトウェアを開発・配布するための障壁は薄まりつつあります。しかし、多くの人たちに使ってもらうには、さまざまな言語や文化に対応した、グローバルなソフトウェアを開発しなければなりません。本書はソフトウェア開発におけるグローバリゼーション(Globalization, G11N)をテーマにしています。その概要と開発プロセスについて触れた後、二つの大きな分類である国際化(I18N)と地域化(L10N)について、それぞれ詳しく解説しています。 ※本書は達人出版会で発売中の同名タイトルの電子書籍に、国内発のグローバル企業/アプリを対象にした新章「企業におけるグローバリゼーションの実践」を書き下ろしで追加しています。 -
ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ソフトウェア設計に対する新たな視点を提供する一冊。 「結合」を活用し、システムの複雑性を管理、モジュール性を高める! 柔軟性の高い進化するシステムを構築。 「結合」とは、モジュール設計における基本概念の1つで、モジュール間の相互作用や依存関係の強さを表します。この「結合」を適切に管理することで、ソフトウェアシステムの保守性や拡張性、ひいては進化性を向上できます。 言い換えれば、ソフトウェアシステムの持続可能な成長には、「結合」の適切な管理が欠かせません。しかし、その重要性にも関わらず、「結合」の概念は深く理解されないまま使われているのが実情です。 本書は、「結合」という概念を現代のソフトウェアエンジニアリングに適応できる形で改めて解説することで、こうした状況に一石を投じます。 本書では、まず構造化設計やオブジェクト指向設計に用いられてきた「結合」に関するモデルや評価手法を包括的に解説します。さらに、複雑性を管理し、モジュール性を高める設計ツールとして「結合」を使用する新たなアプローチを提案します。 ソフトウェアアーキテクトや開発者だけでなく、ソフトウェア設計に関わるすべての人々にとって、ソフトウェア設計に対する新たな視点を提供する一冊です。 【章構成】 ■第I部 結合 第1章 結合とシステム設計 第2章 結合と複雑性:クネビン 第3章 結合と複雑性:相互作用 第4章 結合とモジュール性 ■第II部 次元 第5章 構造化設計におけるモジュール結合 第6章 コナーセンス 第7章 統合強度 第8章 距離 第9章 変動性 ■第III部 バランス 第10章 結合の均衡化 第11章 結合の再均衡化 第12章 ソフトウェア設計のフラクタル幾何学的性質 第13章 均衡結合の実践 第14章 結論 第15章 エピローグ ※本書は『Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems』の翻訳書です。 -
[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、機械学習コンセプト全般をカバーし、理論的背景とPythonコーディングの実際を解説しています。初歩的な線形回帰から始め、ディープラーニング(CNN/RNN)、敵対的生成ネットワーク、強化学習などを取り上げ、scikit-learnやTensorFlowなどPythonライブラリの新版を使ってプログラミング。第3版では13~16章の内容をほとんど刷新したほか、敵対的生成ネットワークと強化学習の章を新たに追加。機械学習プログラミングの本格的な理解と実践に向けて大きく飛躍できる一冊です。◎本書は『Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition』の翻訳書です。◎微積分/線形代数、Python の文法、データ分析用ライブラリについてある程度理解している必要があります。[原著の第1版]●ドイツ語、韓国語、中国語、日本語、ロシア語、ポーランド語、イタリア語に翻訳。●ACM(米国計算機学会)の「21st Annual list of Notable Books and Articles(2016)」にランクイン。[日本語の第1版]●「ITエンジニア本大賞2017」ベスト10にランクイン。 -
TensorFlowではじめるDeepLearning実装入門
本書は、深層学習をこれから勉強するにあたり実装だけではなく深層学習の構造も学びたい方、チュートリアルに掲載されているものよりも詳細な内容を知りたい方を対象に書かれています。Pythonによる基本的なプログラミング知識を前提とするので、そうした部分が曖昧な方は他の書籍と合わせて読むことをお勧めします。また、本書はTensorFlowのラッパーであるKerasやtf.kerasパッケージは用いません。後半ではハイレベルなAPIを用いますが、前半はTensorFlowの低レベルなAPIを用いて解説することで、内部構造についてより理解を深めてもらうような構成をとっています。 -
ディープラーニング構築テンプレート[AIプロジェクトの必須事項と技術的指針]
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ディープラーニングは、近年のAIテクノロジーの中心的な存在です。企業でもこの技術を活用しようとする動きが増えてきていますが、ディープラーニングのシステム化に成功するには、そのための十分な知識が必要です。本書では、ディープラーニングフレームワークの開発者であり、さまざまなAIプロジェクトでの経験を有するアダム・ギブソン氏が、ディープラーニングなどAIを活用したシステム化のキーポイントを説明します。また、ディープラーニングの使いこなしに役立つ本質的な技術的知識も解説。今まさに現場でAI技術の実装を行っている方、AIプロジェクトの管理を行っている方に格好の内容となっています。 -
ディープラーニング実装入門 PyTorchによる画像・自然言語処理
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ●本書の特徴 現在のコンピューティングの世界において、機械学習の分野は最も注目されている領域と言えるでしょう。機械学習の登場により、従来とは比べものにならないくらいの高精度かつ複雑なデータの分析が可能となりました。 本書は、機械学習の手法の中でもとくにディープラーニングに注目し、その実践のための知識を基礎からまとめています。概念としての「人工知能」「機械学習」「ディープラーニング」の紹介から、数学知識のまとめ、プログラミングとフレームワークの利用方法、環境の構築までを解説していきます。 機械学習基盤の構築について、理論から実践までの要素を紹介することから、実際の業務にも応用可能な本格的システムを作るための知識を一気通貫に習得可能です ●Python/PyTorchによる機械学習の実現 本書では、機械学習を実現するためのプログラミング言語としてPythonを取り上げ、ディープラーニングを実現するライブラリとしてPyTorchを用います。PyTorchは機械学習のさまざまな機能を備えており、煩雑な処理を極めて簡潔に書けます。本書では、PyTorchを利用した画像の解析とテキスト分析を例に、ディープラーニングの実践について詳しく見ていきます。 また、本書では開発したソフトウェアを動作させる環境についても言及します。クラウドを利用した実行基盤の実現についても多くのページを割き、スケーラビリティを有するシステムの構築についても学ぶことが可能です。 本書は、執筆者の人工知能の分野での教育活動やコンサルテーションの豊富な経験をもとに執筆されており、機械学習の分野における「学び」を、読者が基礎からひととおり体験できるように構成されています。 -
Python機械学習プログラミング PyTorch&scikit-learn編
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 第3版まで続くロングセラーのPyTorch版! 機械学習の基本から先進的な手法まで本格解説 『機械学習を実践的に学ぶための優れたテキスト』 『多くのトピックを網羅した深い一冊。強力にお勧め』 ―原著への読者の声 本書の前半は、基本的な機械学習ライブラリのscikit-learnを使った手法を解説。 分類の基本モデルに始まり、単層ニューラルネットまでを実装するほか、データ前処理、次元削減、 ハイパーパラメーターのチューニング、アンサンブル学習、回帰分析などを取り上げます。 後半では、PyTorchによるさまざまなディープラーニングの手法を説明。 PyTorchの仕組みを示したあと、CNN/RNN/Transformerといったモデルの実装を解説。 敵対的生成ネットワーク、グラフニューラルネットワーク、強化学習もカバー。 ◎本書は『Machine Learning with PyTorch and Scikit-Learn: Develop machine learning and deep learning models with Python』の翻訳書です。 ◎微積分/線形代数、Pythonの文法、データ分析用ライブラリについてある程度理解している必要があります。 -
Pythonライブラリによる因果推論・因果探索[概念と実践] 因果機械学習の鍵を解く
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 広大な因果世界を幅広くカバー! 因果推論・因果探索のコード例を多数掲載 原著は米国Amazonでカテゴリーベストセラー(2024/6上旬など) データサイエンティスト、機械学習エンジニアなら知っておきたい 因果的概念、グラフによる理解、因果探索の実践などを解説。 パート1では、関連・介入・反事実、構造的因果モデルなど、 因果推論を構成する基本概念と、グラフ表現を解説。 パート2では、因果推論プロセスの4ステップのほか、 DoWhy/EconMLを使った因果推論の実装などを説明。 パート3では、因果探索の概念、因果分析プロセスでの位置づけ、 gCastle等を使った高度な因果探索の実装を取り上げます。 【章構成】 ■Part1 速習:因果関係 第1章 因果関係に取り組む理由:機械学習があるのに? 第2章 ジューディア・パールと因果のはしご 第3章 回帰、観測、介入 第4章 グラフィカルモデル 第5章 チェーン、フォーク、コライダー ■Part2 因果推論 第6章 ノード、エッジ、統計学的な独立と従属 第7章 4ステップの因果推論プロセス 第8章 因果モデル―仮定と課題 第9章 因果推論と機械学習―マッチングからメタ学習器まで 第10章 因果推論と機械学習―高度な推定器、実験、評価など 第11章 因果推論と機械学習―ディープラーニング、NLPなど ■Part3 因果探索 第12章 因果グラフをいただけますか―因果関係の知識源 第13章 因果探索と機械学習―仮定から応用まで 第14章 因果探索と機械学習―高度なディープラーニングとその先へ 第15章 エピローグ -
PyTorch自然言語処理プログラミング word2vec/LSTM/seq2seq/BERTで日本語テキスト解析!
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 日本語テキスト解析処理を快速プログラミング! 単語/文書の分類、機械翻訳などを実装。 自然言語処理は、検索エンジン、自動要約、機械翻訳、音声認識などで利用される技術です。 PyTorchでは、特にTransformersというBERT系モデルを提供することで、 より簡単にBERTを利用できるようになっています。 本書では、自然言語処理で特に重要なディープラーニング技術である word2vec、LSTM、seq2seq、そしてBERTを取り上げます。 まず第1章でPyTorchの基本を説明します。そのあと各技術の考え方を説明し、 PyTorchを使ったそれぞれのプログラミング手法を解説します。 それらのプログラミングでは、以下のことなどを目的にしています。 ・単語や文書の類似度を測る ・文章内の単語の品詞を分類する ・日英の機械翻訳を実行する ・文書を分類する ・質問/回答タスクを実行する 【本書の構成】 第1章 PyTorchの基礎 第2章 word2vecによる分散表現 ~単語をベクトルで表現~ 第3章 LSTMによる時系列データ解析 ~文を単語の系列として解析~ 第4章 seq2seqモデルによる機械翻訳 ~ある系列を別の系列に変換~ 第5章 事前学習済みモデルBERTの活用 ~タスクに応じてモデルを調整~ 付録A プログラミング環境の構築(Windows) 付録B 本書で解説した主要プログラム集 ※本書の内容はPython/PyTorch/機械学習の基本事項を 理解されていることを前提としています。 -
pandasライブラリ活用入門[第2版] データクリーニング/前処理など一連の分析プロセスをマスター!
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 <データサイエンス/データ分析の基本技術を体系的に網羅!> <pandasの威力を実感! 効率的なデータ操作と可視化を実践できる> データ分析や機械学習を利用する現場では、データを取り込み、変換/整備する必要があります。 そうしたデータの取り込みや前処理から始め、データ解析をスムーズに進めるための Pythonライブラリとして、pandasが用意されています。 本書では、pandasなどを使ったデータ分析全体の基本手法を体系的・網羅的にカバー。 巻末の付録では、Python環境のインストールや文法などPythonの基本事項も確認できます。 初中級レベルの方がコードを試しながら理解を深めたり、おぼろげな知識について 確認したりすることで、基礎技術の定着やスキルアップが図れる一冊になっています。 「データクリーニング/前処理に慣れてから、モデリングを解説! 解釈しやすい形にデータセットを変更できる」 ※本書は『Pandas for Everyone, 2nd Edition』の翻訳書です。 ■本書の「序文」から抜粋 pandasを使うと、Pythonによるデータ分析が理解しやすくなり、 組織的で保守が可能なデータセットを作ることができ、 しかも(最も重要なことですが)整然としたデータセットが得られます。 -
プロフェッショナルPython ソフトウェアデザインの原則と実践
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 クリーンで柔軟性の高いプログラムを開発できる。 プロの品質を実現するデザイン手法を多面的に解説。 <抽象化、カプセル化、パフォーマンス、テスト、拡張性と柔軟性、 クラスの継承、疎結合、リファクタリング、デザインパターン .etc> プログラマーが考慮すべきソフトウェアデザインのアプローチとして、 さまざまな手法がこれまで登場し発展してきました。 たとえば、1960年代の構造化プログラミング以降で発展した「関心の分離」や「抽象化」、 オブジェクト指向の中心概念の1つ「カプセル化」などが挙げられます。 これらは、いずれもソフトウェアの開発/運用をより容易にし、拡張性・保守性を高めるものです。 本書では、それらのアプローチをどのように理解し、 Pythonでどのように実践していけばよいのかを解説します。 本書の内容を習得することで、初中級者はコーディングスキルを大きく向上させ、 プロフェッショナルなプログラミングへの道を見通せるようになります。 ベテランの開発者が最近のトレンドを押さえて昔の知識を更新するのにもよいでしょう。 -
マイクロサービスパターン[実践的システムデザインのためのコード解説]
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 マイクロサービスは、現在最も注目されるソフトウェアのアーキテクチャスタイルです。巨大なモノリシック(一枚岩)システムを、独立した複数のサービスへと分割することによって、それらのサービスはRESTやメッセージングを介して協業できるようになります。機能別に分割されたサービスはそれぞれ個別に開発/デプロイ/管理され、疎結合となっており、保守性や運用性が飛躍的に向上します。 マイクロサービスは巨大なエンタープライズシステムのモダナイゼーションに役立つアーキテクチャスタイルですが、その実践は簡単なことではありません。本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています。 マイクロサービスについて詳しく知り、その実現のための具体的な方法を知りたい、開発の失敗を避けるための生きた知識を得たいという方のために、本書はさまざまな知見を提供します。 -
モダンTransformer モデルの内部構造から、マルチモーダル/RAG/SLMの実装と最適化まで
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 LLM/エージェントの基盤技術を習得できる! 実プロジェクトで使いこなすための モデルの構造からコーディングの実践まで。 本書では、現代的なTransformerモデルの内部構造から、コードを交えた実践テクニックまでを解説。Transformerモデルを実際のプロジェクトで使いこなすための確固たる基盤技術を習得したい方に格好の一冊です。 取り上げるモデルは、Llama 4/Gemma 3世代を中心に、言語を含むマルチモーダルに対応したものであり、Gemma 4についても説明を補足しています。また、Hugging FaceやvLLMのライブラリ等を使った実際のコード例を交えて解説。主要なテーマは次のとおりです。 ◆Transformerモデルの基礎◆Transformerがなぜそのように設計されているのか、そしてどのように機能するのかを学びます。また、エンコーダースタックとデコーダースタックを含む完全なアーキテクチャを探求します。 ◆生成系モデルのバリエーションと高度化◆デコーダーのみ、エンコーダーのみ、Mixture-of-Expertsなど、アーキテクチャの主要なバリエーションについて説明した後、テキスト生成戦略とプロンプト技術のパターンといったLLMの推論能力を高度化していく手法を取り上げます。 ◆生成系モデルによるシステム◆人間の好みに合わせる選好アライメント、そして検索拡張生成(RAG)などにフォーカスしたシステム構築手法を示します。 ◆マルチモーダルと小規模言語モデル◆マルチモーダルモデルを支える中核技術のほか、マルチモーダルRAGについて説明。また、SLM(小規模言語モデル)についてファインチューニングのケーススタディを解説し、エージェントとしてどのように機能するかも示します。 ◆LLMの活用◆LLMのトレーニング、QLoRAなどのファインチューニング、評価手法を取り上げます。その後、枝刈り、蒸留、推論の最適化、FlashAttentionなど、最適化とスケーリングについて探索します。最後に、バイアス検出、透明性と説明性のツールといった倫理・責任あるAIへの手法を説明します。 ※本書は『Transformers in Action』(Manning Publications)の翻訳書です。 ■本書の構成 ◆Part1 現代のTransformerモデルの基礎 第1章 Transformerはなぜ必要か 第2章 詳解Transformer ◆Part2 生成系Transformer 第3章 モデルファミリとアーキテクチャのバリエーション 第4章 テキスト生成戦略とプロンプティングテクニック 第5章 選好アライメントとRAG ◆Part3 専門化されたモデル 第6章 マルチモーダルモデル 第7章 効率的な特化型SLM 第8章 LLMの訓練と評価 第9章 LLMの最適化とスケーリング 第10章 倫理的かつ責任あるLLM -
Unity 3Dゲーム開発ではじめるC#プログラミング
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 シンプルなゲームを作りながら、C#とUnityの概念や基本を理解できる!―Unityは、最も人気の高いゲームエンジンの1つで、開発環境も備えています。本書では、Unityのインストール方法などを示した後、シンプルな3Dゲームを構築しながら、プログラムの構成部品としてC#スクリプトを作成/活用する方法を解説します。前半は変数、メソッド、制御フローなどプログラミングの初級テーマを取り上げます。後半はカメラ制御、衝突、ライティングなどゲーム機構を説明し、さらにコレクションやジェネリックなどプログラミングの中級テーマもカバーします。本書では「実践」「クイズ」といったセクションも設けており、Unityゲーム開発におけるC#の基礎を把握するのに格好の一冊です。―◎制御フローやジェネリック/イベントなど様々なキーポイントをカバー。◎ゲーム機構やUIの実装、C#の中級トピックも把握できる―『Learning C# by Developing Games with Unity 2020, 5th Edition』を翻訳【本書は原著の第5版を翻訳】 -
LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ハイパフォーマンス組織を実現する方策のエッセンス!―本書では、LeanとDevOpsといった開発・運用スタイルがどのように実践されているのかを科学的に調査。こうしたスタイルが、開発組織や組織全体のパフォーマンスのほか、組織文化、リーダーシップ/マネジメントとどう関連しているかを明らかにする。 ■『これはアジャイル、リーン、DevOpsの概念的根拠に関して新境地を開く本ではない。むしろもっと貴重なものを提供してくれる』― Cameron Haight, VMware南北アメリカ大陸担当バイスプレジデント兼CTO ■『現代の、何につけてもソフトウェアが中心、という未曾有の世界で生き残りを図るCEO、CFO、CIOに必須の洞察力を授けてくれる本』― Thomas Limoncelli, The Practice of Cloud System Administrationの共著者 ■『本書では「速度か安定性か」という2分化の考え方に異論を投げかけるエビデンスを示す。「速度は安定性に依存する。効果的なプラクティスを実践すれば速度も安定性も高められる」と主張』― Martin Fowler, アジャイルソフトウェア開発、エクストリームプログラミングなどの提唱者 ◇米Amazonのカテゴリーでベスト10!―2018/08/17時点。Software Development、Operations Research、Information Managementの3カテゴリー◇ ◎本書は『Accelerate: The Science of Lean Software and DevOps』の翻訳書です。 -
Ruby on Rails 6 実践ガイド
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、2014年4月出版の『実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング』をRuby on Railsのバージョン6向けにアップデートしたものです。本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。著者が試行錯誤を繰り返した上でのベストプラクティスを提供し、読者は、実際に業務システムを構築しながらRailsのさまざまな機能、方法、作法、メソッド、テクニックを学ぶことができます。 -
Ruby on Rails 6 実践ガイド[機能拡張編]
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。 -
VMware vSphere7インテグレーションガイド
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ●仮想化システムの活用を基礎から解説 vSphereは現代のコンピュータシステムで広く使われている仮想化基盤ソフトウェアです。ハイパーバイザー型のコンピュータの仮想化を実現し、システムの運用にさまざまな利点や柔軟性をもたらします。本書では、このvShereの最新バージョンであるvSphere 7を題材に、システムにおける活用を解説します。仮想化の基本から説明し、新規にvSphere 7を導入する場合のほか、既存vSphereから移行する場合の手順、確認事項、注意点をまとめました。そのほかにも、システムの設計、運用、バックアップリカバリーなどを詳しく説明し、仮想化されたデータセンターSDDC(Software-Defined Data Center)の実現のための情報を提供します。 ●クラウド/コンテナの活用を見据えたvSphere 7 また、オンプレミスのシステムだけでなく、クラウドを使ったシステム構築とvSphereとの連携についても解説します。現在のvSphereはクラウドとの連携機能を充実させており、仮想マシンをオンプレミスとパブリッククラウドで相互運用できるようになりました。こうしたクラウド連携によるシステム運用についてもポイントを解説します。さらに、Kubernetesに代表されるシステムのコンテナ化にも対応し、より軽量で柔軟な仮想システムの運用を実現することもできます。 vSphereは仮想化の登場以来、つねに進化を続けており、vSphere 7でも多くの機能が提供されています。本書では、新しい時代のコンピューティングに対応した、仮想化環境の活用を実現するためのさまざまな情報を提供します。