言語・プログラミング - インプレス - impress top gearシリーズ作品一覧

  • 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』の翻訳書です。
  • 実践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の文法・ライブラリや機械学習について 標準的な知識を理解している必要があります。
  • Pythonスクレイピングの基本と実践 データサイエンティストのためのWebデータ収集術
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◇スクレイピング・テクニックの基礎と実践を学べる。Webからデータを収集、適切なデータセットを作成しよう!―本書では、HTTP/HTML/CSSといった基本技術の仕組み、フォーム/ログイン/Cookie/JavaScriptへの対応、クローラーの開発、ベストプラクティスを解説。データサイエンス指向の15のサンプルも収録。Pythonの各種ライブラリを活用![requests、Beautiful Soup、Selenium、records、matplotlib、pandas、scikit-learn … etc.]◇Webページから情報を取得するスクレイピングは、データサイエンスに必須の技術です。本書では、Pythonを使ったスクレイピングの基本と実践を解説。有用なツール、ベストプラクティス、実用サンプルについても説明。本当に興味深いプロジェクトは、情報という宝の山を探索することから始まります。本書を携えて探索の旅を進めていきましょう。◇本書は『Practical Web Scraping for Data Science: Best Practices and Examples with Python』の翻訳書です。◇Pythonプログラミングの基礎を理解していることを前提に解説しています。
  • Kubernetes CI/CDパイプラインの実装
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Kubernetesを活用したアプリケーションライフサイクルの自動化ノウハウを解説。  近年、アプリケーションの実行環境として“Kubernetes”を採用している企業が急速に増えています。Kubernetes上でのコンテナ開発は、これまでのアプリケーション開発とは大きく異なるため、どこから手を付けていけばよいのかと不安に感じている方も少なくありません。こうした状況を踏まえ、本書では、1つのアプリケーションライフサイクルの実装を通して「いかに少ない労力で開発プロセスを運用し続けるか」という改善案を提示します。  単にコンテナを導入し、Kubernetesを活用するだけでは運用負担の軽減や、迅速なサービス展開といったビジネスメリットを得るのは簡単ではありません。継続的インテグレーションや継続的デリバリの実装にとどまらず、開発プロセスに関わる開発者やレビューアの役割を見直す必要があります。本書ではこの点にも焦点を当て、ツールの使い方以上に、クラウドネイティブな開発プロセスの変化を理解し、実践しながらアプリケーションライフサイクルの改善ノウハウを解説します。
  • Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書では、クラウドネイティブに求められる背景やトレンドを押さえるとともに、「Kubernetes」やそのエコシステムを利用し、クラウドネイティブアプリケーションの実装について解説しています。Kubernetesは、コンテナを管理するコンテナオーケストレーションツールであり、これを活用することで、適切なインフラリソースの提供だけではなく、アプリケーションの開発や展開が、容易かつ動的に行える環境を構築できます。  本書の読者対象は、これからクラウドネイティブアプリケーションの開発・運用を始める方です。したがってその内容も、Kubernetesとそのエコシステムを活用したアプリケーションの開発、運用にフォーカスしています。最初にKubernetesそのものの仕組みの基礎を説明したあとは、その上で動くアプリケーションを運用するために必要なエコシステムやその活用方法に重点を置いています。 全体は、2部構成になっており、第1部では、クラウドネイティブアプリケーションを支える技術の一つとして注目される、Kubernetesの概要を紹介します。クラウドネイティブの考え方からKubernetesが提供するコンポーネントの役割まで、本書を読み進める上でのポイントを取り上げます。  第2部では、Kubernetesエコシステムを活用して、クラウドネイティブアプリケーションの開発やその上で動くアプリケーションの管理方法を紹介します。クラウドの特徴を活かしたアプリケーション開発や運用の重要性を取り上げます。
  • Knative実践ガイド
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Knativeは「イベント駆動型アーキテクチャ」のフレームワークとして、サーバーレスなシステム構築に活用できます。とくに、マイクロサービスを利用したステートレスなアプリケーションを実装する上で、Knativeのイベント駆動型アーキテクチャのセットは非常に有用で、今後のクラウドネイティブな環境において、スケーラビリティの高いアプリケーションを簡単に実装するのに役立ちます。 本書では、クラウドネイティブに取り組むインフラ技術者が、最新トレンドであるKnativeの知見を体系的に学習できるように、技術解説に加えて、実務で参考になるユースケースを取り上げています。今後のKubernetes環境における必須の技術についての理解度を、本書でもう一歩前に進めることができます。IT現場でKnativeの採用を検討するうえでも、また、Knativeを使いこなすうえでも、必携のガイドブックの登場です。
  • GitLab実践ガイド
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 近年、企業における迅速なソフトウェア開発において、DevOpsは必要不可欠な要素として認識されています。しかしその一方で、開発プロセス改善に関連する情報の飽和や、新しい開発支援ツールの乱立により、自社の開発チームにとってどれが最適な解なのかの見極めが難しくなっています。さらに、開発ツール導入後も、ツールやプラットフォームの運用に余計な時間を取られ、本来の目的であるコード開発に時間が割けないエンジニアが後を経ちません。このような開発現場の課題に取り組み、各企業にとって最適な開発スタイルを模索する中で、GitLabが注目を集め始めています。  GitLabは、開発プロセスを支援する機能として、単なるリポジトリ管理だけにとどまらず、リポジトリの更新を起点とした継続的インテグレーションや継続的デプロイメントのジョブ機能や開発プロセス全体の改善サイクルを支援するプラットフォームを提供しています。さらに、組織文化の改革という点においても、GitLabではConversational Developmentという開発スタイルを提唱しており、チーム開発に不可欠なコミュニケーションの効率化を支援しています。これらの機能により、GitLabは、開発者における無駄なオペレーション工数を削減し、開発作業の効率化を実現します。  本書はアプリケーション開発支援ツールであるGitLabの基礎から、実務の開発ワークフローの運用で使える機能までを網羅した実践ガイドです。まずGitLabが目指す開発スタイルを理解し、開発プロセスの改善を実践していただくことを目指しています。そのため、本書では単なるGitリポジトリ利用者に対する機能紹介ではなく、普段の開発プロセスの改善やデプロイオペレーションの効率化を図るために必要な情報を網羅しています。
  • JavaScriptモダンプログラミング完全ガイド 堅牢なコードを効率的に開発できる!
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 舞台裏も他言語との違いも分かる! 関数型/オブジェクト指向/非同期の活用、モジュールによる拡張、落とし穴の回避などを解説[基本事項を中心に、中級~超上級レベルも学べます] 本書は、JavaScript標準であるECMAScript 6以降に対応した、完全かつ簡潔なガイドブックです。古いバージョンについては解説をスキップし、現在のはるかに強力なモダンJavaScriptの中核技術からスタートできます。近年、JavaScriptプログラマーの達人たちは、エラーが発生しやすい手法を回避するために、関数型/オブジェクト指向/非同期プログラミングを積極的に採用しています。そうした最新のテクニックやヒントを本書で習得し、開発生産性の飛躍的な向上をぜひ目指してください。Java、C#、C/C++など他言語の経験者、初中級者がモダンJavaScriptを本格的に学べる一冊です。◎本書は『Modern JavaScript for the Impatient』の翻訳書です。
  • Amazon Alexaプログラミング入門
    3.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、これから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版
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。第2版では、2022年の最新情報にアップデート、SAM開発環境に対応しました。  AWS Lambdaは、サーバーを必要としないプログラムの実行環境です。開発者が処理したい内容を小さな関数として実装すると、必要に応じて、それが実行される仕組みです。  サーバーを必要としないということは、運用の手間やコストを削減できるということです。この利点はとても大きいため、新規の開発案件では、Lambdaが採用されるケースが増えています。しかし、Lambdaによる開発に大きなメリットがあるといっても、すぐに移行できるほど話は簡単ではありません。従来のEC2インスタンスを使った開発とLambdaを使った開発とでは、プログラミングの方法はもちろん、設計の考え方も大きく異なるからです。Lambdaを使い始めるには、Lambdaの仕組みの理解と、その特性を活かした設計の考え方を習得することが不可欠です。  本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。とくにLambdaを使った開発では、AWSサービスの操作に重きを置きます。Lambdaを活かせるかどうかは、AWSの各種サービス――ストレージのS3、プッシュサービスのSNS、メール送信のSESなど――を、いかに使いこなせるかに左右されます。そこで本書では、実例を通じて、そうしたAWSサービスの実際の使い方にも言及されています。
  • オブジェクト指向の考え方 5th Edition
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 オブジェクト指向は、現代のソフトウェア開発には欠かすことのできない技術要素となっています。オブジェクト指向分析、オブジェクト指向プログラミング、オブジェクト指向データなど、オブジェクト指向を元にした技術にはさまざまなものがあります。しかし、それらはすべて基本的な要素や概念を共有しており、ひとつの基礎から成り立っています。オブジェクト指向に通底する考え方を理解しておくことは、それぞれの技術の使いこなしには欠かすことができません。 本書では、プログラミングを軸に、オブジェクト指向のさまざまな概念を学んでいきます。基礎的な概念であるクラスやオブジェクトを学び、それらがどのような方法でシステムを抽象化し、開発やメンテナンスを効率化するかを示します。プログラミング言語を学んだだけではオブジェクト指向を活かすことはできませんが、こうした思考法を身につけていくことで、次第に依存性の少ない見通しの良いシステムの設計/開発が可能となっていきます。 本書では、1~9章でオブジェクト指向のさまざまな要素を解説していきます、各要素の概念を説明するとともに、クラスをどのように設計すべきなのか、難しいとされる「継承」をどのように実現すべきなのか、さらにインタフェースや抽象クラスなどの利用についても充実した解説を行います。また、後半の10~12章では、デザインパターンの利用、依存関係の制御、設計の原則であるSOLIDなど、よりプロジェクト的な観点からの知識を身につけることができます。 本書はオブジェクト指向開発の揺籃期から、その概念を学ぶための優れた指南書となってきました。第5版ではWebを前提としたシステムやモバイルデバイスなどの要素も取り込んで、現代の開発のさまざまな局面でオブジェクト指向を活かせるようになっています。 オブジェクト指向のエッセンスを正しく理解して、システム開発を効率化し、一歩進んだ開発者となるための有用な知識をまとめた一冊です。
  • GitLab実践ガイド第2版
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 近年、企業における迅速なソフトウェア開発において、DevOpsは必要不可欠な要素として認識されています。しかしその一方で、開発プロセス改善に関連する情報の飽和や、新しい開発支援ツールの乱立により、自社の開発チームにとってどれが最適な解なのかの見極めが難しくなっています。さらに、開発ツール導入後も、ツールやプラットフォームの運用に余計な時間を取られ、本来の目的であるコード開発に時間が割けないエンジニアが後を経ちません。このような開発現場の課題に取り組み、各企業にとって最適な開発スタイルを模索する中で、GitLabが注目を集め始めています。  GitLabは、開発プロセスを支援する機能として、単なるリポジトリ管理だけにとどまらず、リポジトリの更新を起点とした継続的インテグレーションや継続的デプロイメントのジョブ機能や開発プロセス全体の改善サイクルを支援するプラットフォームを提供しています。さらに、組織文化の改革という点においても、GitLabではConversational Developmentという開発スタイルを提唱しており、チーム開発に不可欠なコミュニケーションの効率化を支援しています。これらの機能により、GitLabは、開発者における無駄なオペレーション工数を削減し、開発作業の効率化を実現します。  本書はアプリケーション開発支援ツールであるGitLabの基礎から、実務の開発ワークフローの運用で使える機能までを網羅した実践ガイドです。まずGitLabが目指す開発スタイルを理解し、開発プロセスの改善を実践していただくことを目指しています。そのため、本書では単なるGitリポジトリ利用者に対する機能紹介ではなく、普段の開発プロセスの改善やデプロイオペレーションの効率化を図るために必要な情報を網羅しています。
  • 逆引きPython標準ライブラリ 目的別の基本レシピ180+!
    3.5
    便利に使えるPython標準ライブラリの活用術。 初中級スキルアップの近道! 文字列/データ操作、テキスト処理、ファイル操作、 数値演算、ネットワークアクセス、GUIなど、使えるテクニックを満載。 本書では、Pythonの基本的な文法をすでに理解したユーザーが 次に学ぶべきテーマとして、Pythonの標準ライブラリを取り上げます。 本格的なプログラミングへの準備として、習得しておきたい標準ライブラリの 基礎的な活用法を解説します。 Pythonの標準ライブラリは、多数のデータ型やモジュールを提供しています。 それらの機能をうまく活用することがプログラミングの上達につながります。 目的別に180以上の基本レシピを収録。特定の目的を達成するのに、 どの機能をどのように使えばよいのか、すぐにわかるようになっています。 キーとなる関数やメソッドなどの書式に加え、対話的な実行例やスクリプトの例も示しています。 本書により、Pythonのスキルを高め、実践に向けて足場を固めていきましょう。
  • Kubernetes完全ガイド
    3.5
    コンテナオーケストレーションの業界標準 クラウドネイティブ開発の第一歩を踏み出そう! 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およびそれに関連する技術を活用して、アプリケーションの開発と運用を行う方法について解説しており、主にアプリケーション開発者の視点から必要とされる知識に焦点を当てています。最初の1章と2章では、本書の核となるテーマであるコンテナ、Kubernetes、およびそれに関連するクラウドネイティブ技術について概要を述べ、これらの技術が現在、なぜ重要視されているのか、その背景と提供される価値について解説します。また、これらの技術的概要についても説明します。  第3章以降では、マイクロサービスアーキテクチャを代表とする、分散型でモダンなアーキテクチャを採用したアプリケーションに対して、Kubernetesおよびクラウドネイティブ技術を効果的に活用して実装、運用する方法を解説します。これらの章では、サンプルアプリケーションを用いて、Kubernetes上でのアプリケーションの実行方法や運用プラクティスの適用手順を具体的に示しています。全章を通して、実践的なノウハウの習得を目指す構成となっています。
  • 軽量Alpine LinuxによるDockerコンテナ構築術
    4.5
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 コンテナ技術の発展と普及に合わせ、現在ではさまざまなコンテナが提供されるようになっています。 「コンテナ」とはLinuxのカーネルの機能を使ったインフラ技術であり、1つのLinuxサーバーを複数のサーバーのように振舞わせることで従来よりもオーバーヘッドの低い仮想化を実現します。 コンテナの代表的な仕組みであるDockerを使うことで、さまざまなサーバー環境がパッケージ化でき、システムへ簡単に導入/移動/削除できるようになります。そして、これらの普及に合わせて新しいソフトウェアや独自の環境をコンテナ化したいという要望も増えて来ました。 本書は、コンテナの作成に広く使われている「Alpine Linux」を解説するものです。Alpine LinuxはOSに付属のソフトウェア群を極力削った軽量ディストリビューションであり、とても小さなフットプリントを持ちます。このため、導入が簡単で運用しやすい小さなコンテナを作ることが可能です。 本書では、OSとしてのAlpine Linuxの特徴を解説し、その導入の方法や基本的な操作をLinuxの基本から解説します。また、各種のサーバーの導入方法など、目的のソフトウェアを導入したシステムを作成するための手順を解説するほか、それらをDockerコンテナとするための手順も詳しく解説します。 本書の内容を学ぶことで、自分の目的に応じたオリジナルのコンテナを開発でき、それらを公開して運用することも可能となります。現代のシステムインフラストラクチャーに欠かせないコンテナ技術の実践的な活用法を学べる一冊です。
  • 新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Javaのテクニックをアップグレードしよう! バージョン10から最新版まで さまざまなアップデートを一挙に学べる! Java SE 10以降では、年2回のバージョンアップサイクルとなっています。 そのうちバージョン11は、長期サポート版としてリリースされました。 本書では「Java SE 10~13の新機能」と「開発中の機能」を取り上げています。 取り上げるテーマは、以下のとおりです。 型推論、アプリケーション・クラスデータ共有、 ガベージコレクタ、ラムダ式、ラムダパラメータ、enum、 データクラス、テキストブロック、パターンマッチング、など 機能の内容だけでなく、背景、使い方、ユースケースも適宜、説明しています。 本書は、機能拡張のサイクルを加速させるJava SEのアップデートを確認したい 読者にとって、最適な一冊です。
  • Scalaスケーラブルプログラミング 第4版
    5.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 言語設計者による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)について、それぞれ詳しく解説しています。 ※本書は達人出版会で発売中の同名タイトルの電子書籍に、国内発のグローバル企業/アプリを対象にした新章「企業におけるグローバリゼーションの実践」を書き下ろしで追加しています。
  • [第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践
    5.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、機械学習コンセプト全般をカバーし、理論的背景と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機械学習クックブック Pythonベースの活用レシピ60+
    -
    新世代の数値計算ライブラリを操る! 線形回帰からCNN/RNNまで網羅的に実践 -- TensorFlowは、数値処理用のオープンソースライブラリ。AI分野を中心に活用が進んでいます。本書ではまず、変数/プレースホルダといったTensorFlowの基本や、オープンデータを扱う方法を説明。以降は、機械学習のさまざまな手法をレシピとして示していきます。具体的には次のとおりです。線形回帰、SVM、最近傍法、ニューラルネットワーク、自然言語処理、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、運用環境のための手法、遺伝的アルゴリズム、k-means、常微分方程式などです。※本書は『TensorFlow Machine Learning Cookbook』の翻訳書です。 ※コードの検証にPython 3.5/3.6とTensorFlow 1.1/1.2を使用(各環境/各コードの動作を完全に保証するものではありません)。
  • TensorFlowではじめるDeepLearning実装入門
    3.5
    本書は、深層学習をこれから勉強するにあたり実装だけではなく深層学習の構造も学びたい方、チュートリアルに掲載されているものよりも詳細な内容を知りたい方を対象に書かれています。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編
    5.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 第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基礎&実践プログラミング[プロへのスキルアップ+プロジェクトサンプル]
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 基本的なコードから1つ1つ試せる! プログラミング・スキルを着実にレベルアップ。 初中級テクニックと実践力を強化しよう。 本書ではPythonのさまざまな側面をカバーしています。 文法&基本テクニック、目的別テクニック、 そして、実践的なプログラムの発想と実装まで。 【文法&基本】インストール、初歩、リスト/タプル/辞書、イテレータ… 【目的別テクニック】ファイル操作、GUI、DB、ネットワーク、Webアプリ、テスト… 【開発プロジェクトサンプル】マークアップ処理、ファイル共有、GUI、ゲーム
  • PyTorch自然言語処理プログラミング word2vec/LSTM/seq2seq/BERTで日本語テキスト解析!
    3.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 日本語テキスト解析処理を快速プログラミング! 単語/文書の分類、機械翻訳などを実装。 自然言語処理は、検索エンジン、自動要約、機械翻訳、音声認識などで利用される技術です。 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でどのように実践していけばよいのかを解説します。 本書の内容を習得することで、初中級者はコーディングスキルを大きく向上させ、 プロフェッショナルなプログラミングへの道を見通せるようになります。 ベテランの開発者が最近のトレンドを押さえて昔の知識を更新するのにもよいでしょう。
  • マイクロサービスパターン[実践的システムデザインのためのコード解説]
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 マイクロサービスは、現在最も注目されるソフトウェアのアーキテクチャスタイルです。巨大なモノリシック(一枚岩)システムを、独立した複数のサービスへと分割することによって、それらのサービスはRESTやメッセージングを介して協業できるようになります。機能別に分割されたサービスはそれぞれ個別に開発/デプロイ/管理され、疎結合となっており、保守性や運用性が飛躍的に向上します。 マイクロサービスは巨大なエンタープライズシステムのモダナイゼーションに役立つアーキテクチャスタイルですが、その実践は簡単なことではありません。本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています。 マイクロサービスについて詳しく知り、その実現のための具体的な方法を知りたい、開発の失敗を避けるための生きた知識を得たいという方のために、本書はさまざまな知見を提供します。
  • 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] テクノロジーの戦略的活用が組織変革を加速する
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ハイパフォーマンス組織を実現する方策のエッセンス!―本書では、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 実践ガイド
    4.3
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、2014年4月出版の『実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング』をRuby on Railsのバージョン6向けにアップデートしたものです。本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。著者が試行錯誤を繰り返した上でのベストプラクティスを提供し、読者は、実際に業務システムを構築しながらRailsのさまざまな機能、方法、作法、メソッド、テクニックを学ぶことができます。
  • Ruby on Rails 6 実践ガイド[機能拡張編]
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は、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でも多くの機能が提供されています。本書では、新しい時代のコンピューティングに対応した、仮想化環境の活用を実現するためのさまざまな情報を提供します。

最近チェックした本