言語・プログラミング - 技術評論社の検索結果
検索のヒント
検索のヒント
■キーワードの変更・再検索
記号を含むキーワードや略称は適切に検索できない場合があります。 略称は正式名称の一部など、異なるキーワードで再検索してみてください。
■ひらがな検索がおすすめ!
ひらがなで入力するとより検索結果に表示されやすくなります。
おすすめ例
まどうし
つまずきやすい例
魔導士
「魔導師」や「魔道士」など、異なる漢字で検索すると結果に表示されない場合があります。
■並び順の変更
人気順や新着順で並び替えると、お探しの作品がより前に表示される場合があります。
■絞り込み検索もおすすめ!
発売状況の「新刊(1ヶ月以内)」にチェックを入れて検索してみてください。
-
◆AIエージェントをスペシャリストに変える!◆ Agent Skillsは、AIエージェントに「手引き的な知識」を実装するためのオープンスタンダードです。LLMが「考えて答える」ものだとすれば、Agent Skillsは「この作業はこうやる」と教えるための、文字通りのスキルです。 本書では、注目を集めるAgent Skillsの基礎知識を詳説した後、Anthropicの公式スキル、パートナー企業やサードパーティが提供する有益なスキルの特徴と使い方を紹介します。単なる操作解説にとどまらず、自らのスキルに応用できる設計思想についても学べます。後半では、公式ツール「skill-creator」を用いた独自スキルの開発手法から、作成したスキルを安全に配布・導入するプロセスまでをわかりやすく解説します。 ■目次 第1章 Agent Skillsって何だろう ・1.1 AIエージェントの課題と解決策 ・1.2 Agent Skillsの誕生 ・1.3 Skillsの仕組み ・1.4 その他の技術との違い ・1.5 何ができるようになるか 第2章 Agent Skillsの最新動向 ・2.1 オープンスタンダードの中身 ・2.2 スキルを取り巻く世界 ・2.3 対応ツールで見る採用の実態 第3章 はじめてのスキル体験 ・3.1 Claude Codeのインストール ・3.2 スキルの威力を体験する ・3.3 Claude Codeのプラグインと拡張ポイント ・3.4 Anthropicのスキルをインストールする 第4章 デザイン系スキル ・4.1 frontend-design―さまざまなフロントエンドUI作成に対応― ・4.2 theme-factory―既存ドキュメントにスタイルを適用― ・4.3 canvas-design―ビジュアルアート作品を生成― ・4.4 brand-guidelines―ブランド要素を自動で適用― ・4.5 algorithmic-art―p5.jsによるジェネラティブアート生成― ・4.6 slack-gif-creator―Slack向けアニメーションGIFの作成― 第5章 ドキュメント系スキル ・5.1 pdf―PDFファイルの幅広い操作に対応― ・5.2 docx―Microsoft Word文書の作成から編集まで― ・5.3 pptx―PowerPointプレゼンテーションの作成と編集― ・5.4 xlsx―Excelワークブックをスキルで活用― 第6章 開発・コラボレーション系スキル ・6.1 web-artifacts-builder―Webアプリケーションを手軽に構築・共有― ・6.2 webapp-testing―WebアプリケーションのE2Eテストを自動化― ・6.3 mcp-builder―MCPサーバーの設計・構築をサポート― ・6.4 doc-coauthoring―Claudeと対話しながら文書作成― ・6.5 internal-comms―社内文書作成をスキルがサポート― 第7章 パートナースキル・サードパーティスキル ・7.1 Notion―公式パートナーが提供するSkills+MCPの連携― ・7.2 Firecrawl―サードパーティスキルで高度なWeb情報収集を実現― ・7.3 Playwright―さまざまなブラウザ操作の自動化を実現― ・7.4 Remotion―Reactコンポーネントとして動画をプログラミング― ・7.5 ほしいスキルの探し方・信頼できるスキルの見分け方 第8章 skill-creatorによるスキル作成の基本 ・8.1 skill-creatorとスキル作成の全体像 ・8.2 見積書作成スキルを作る―意図の整理とドラフト― ・8.3 テストと改善ループ ・8.4 仕上げ―Description最適化とパッケージング― 第9章 配布・セキュリティ・組み込みスキル ・9.1 作成したスキルの配布 ・9.2 スキルのセキュリティ ・9.3 組み込みスキル ■著者プロフィール 佐藤亮:株式会社パールライト 代表取締役。日本初のReplit Ambassador。Agent SkillsとVibe Codingの実践知を発信中。著書に『Vibe Codingで楽しく作る! Replitではじめる本格Webアプリケーション開発』(技術評論社)がある。
-
◆銀の弾丸、OOUI。操作性と開発効率の劇的な向上◆ オブジェクト指向ユーザーインターフェース(OOUI)とは、オブジェクト(もの、名詞)を起点としてUIを設計すること。タスク(やること、動詞)を起点としたUIに比べて、画面数が減って作業効率が高まり、また開発効率や拡張性も向上する、いわば「銀の弾丸」的な効果を持ちます。ブログや雑誌記事などで大きな反響を得たこの設計手法について、前半部では理論やプロセスを詳説。そして後半部の「ワークアウト(実践演習)」では18の課題に読者がチャレンジ。実際に考え、手を動かし、試行錯誤をすることにより、OOUIの設計手法を体得できます。 本書は、2020年6月に刊行された同名書籍の改訂新版です。改訂にあたって、前半部の図版(作例やイラストレーション)をカラー化しました(文章自体に変更はありません)。さらに、巻末に「改訂新版あとがき──無名の星々の中に勇敢な狩人や美しい鳥を思い描く」を加えました。6年にわたる本書の受容をふりかえり、本書はどこから生まれたのか、そして、その独自性はどこにあるのかをあらためて明確にします。 ■目次 1 オブジェクト指向UIとは何か ・1-1 目当ての現し ・1-2 お金が先か、商品が先か ・1-3 オブジェクト指向UI ・1-4 オブジェクト指向か? タスク指向か? ・1-5 UIがタスク指向になってしまう背景 2 オブジェクト指向UIの設計プロセス ・2-1 デザインプロセスのミッシングリンクをつなぐ ・2-2 アプリケーションの手掛かり ・2-3 ユーザー、タスク、オブジェクトの関係 ・2-4 ソフトウェアデザインのレイヤー ・2-5 デザインの究極の目的は形である ・2-6 オブジェクト指向UI設計の基本ステップ 3 オブジェクト指向UI設計の実践 ・3-1 オブジェクト指向UIの設計ステップ ・3-2 本章でデザインするものの全体像 ・3-3 ステップ1. オブジェクトの抽出 ・3-4 ステップ2. ビューとナビゲーションの検討 ・3-5 ステップ3. レイアウトパターンの適用 ・3-6 タスクをどう扱うか 4 ワークアウト:基礎編 ・進め方 ・レベル1 メモアプリケーション ・レベル2 社員名簿アプリケーション ・レベル3 イベント店舗管理アプリケーション ・レベル4 会議室予約アプリケーション ・レベル5 家族で遊べる場所を探すアプリケーション ・レベル6 商品管理アプリケーション ・レベル7 商品管理アプリケーション ・レベル8 商品管理アプリケーション ・レベル9 商品管理アプリケーション 5 ワークアウト:応用編 ・進め方 ・レベル10 スマートフォン用の営業支援アプリケーション ・レベル11 イベント管理アプリケーション ・レベル12 保険契約の顧客管理アプリケーション ・レベル13 アセット管理アプリケーション ・レベル14 サイト管理アプリケーション ・レベル15 出張申請・精算アプリケーション ・レベル16 契約管理アプリケーション ・レベル17 通貨換算アプリケーション ・レベル18 販売実績照会アプリケーション 6 オブジェクト指向UIのフィロソフィー ・6-1 オブジェクトの原義 ・6-2 オブジェクト指向 ・6-3 GUI ・6-4 モードレス ・6-5 オブジェクト指向UIについての文献 ■著者・監修者プロフィール ●ソシオメディア株式会社:デジタルプロダクトに特化したデザインコンサルティング会社。2001年の創業以来、インタラクションデザイン、ユーザビリティエンジニアリング、デザインマネジメントなどの分野で先端的な実績を積み重ねるとともに、書籍、雑誌記事、セミナー、イベントなどで活発な情報発信を行い、業界をリードし続けている。近年はOOUIのトレーニングサービスが好評。 ●上野学:ソシオメディア株式会社代表取締役。デザインコンサルタント/デザイナー。さまざまなインタラクティブメディアのヒューマンインターフェース設計およびユーザビリティ評価に従事。執筆、講演など多数。 ●藤井幸多:ソシオメディア株式会社ユーザーインターフェースデザイナー。UI設計、ユーザビリティテスト、デザインガイドライン策定、デザイン評価、OOUIメソッドとトレーニングプログラムの開発/実施などを通して、デザイン組織への支援を行う。
-
◆Claude Codeの基本から活用方法までこの一冊でぜんぶ学べる!◆ 2025年5月末に一般リリースされたAnthropic社が提供している「Claude Code」は、コマンドライン上で動くLLMによるAIコーディングエージェントです。これまでのAI開発支援エディタ一である「Github Copilot」や「Cursor」等他のツールとは全く違う開発体験が一気にエンジニアに受け入れられ、AI駆動開発のデファクトスタンダードになりつつあります。 本書は他の書籍に先駆けて、Claude Codeの基本的な知識から豊富な使い方まで幅広く解説します。さらに開発のためのおすすめのワークフロー、そして実際に動くWebアプリケーションをハンズオンで手を動かして構築しながら、新しい開発パラダイムを体験し、実践的に学ぶことができます。これからClaude Codeを学ぶ初心者はもちろん、従来の開発手法に慣れたエンジニアが、Claude Codeを使いこなしながらアプリケーション開発を行う「AI駆動開発」という新時代の開発スタイルへスムーズに移行できるようになる実践的な入門書です! ■こんな方におすすめ ・AI駆動開発に興味があるが、実際に使ったことがない開発者 ・「Claude Codeで何ができるのか」を知りたいエンジニア ・社内システムなどをClaude Codeで作ってみたい非エンジニア ■目次 第1章 Claude Code入門と開発環境構築 ・1.1 AI支援開発の新時代 ・1.2 Claude Codeの料金体系 ・1.3 アカウントの登録 ・1.4 環境構築とセットアップ ・1.5 はじめてのClaude Code 第2章 5分でアプリケーションを作る ・2.1 5分でアプリケーションを作る ・2.2 小さなアプリケーションをデプロイする ・2.3 UIのデバッグをさせる ・2.4 テストコードを書いてもらう 第3章 MCPを活用したAIチャットボット開発 30分でAIチャットボットを作る ・3.1 MCPサーバーに開発をサポートしてもらう ・3.2 AIチャットボットを作る:要件定義編.md ・3.3 タスクを管理しながら実装を行う ・3.4 エラーの修正と管理・デプロイ ・3.5 追加実装をGitHub Actionsで行う 第4章 並行処理とサブエージェントを使った開発手法 半日で社内システムを開発する ・4.1 コンテキストウィンドウを理解する ・4.2 大きなシステムを開発するためのその他の知識 ・4.3 要件を考える ・4.4 ガードレールを用意する ・4.5 タスクを分割して実装してもらう ・4.6 並行処理のコツとサブエージェント ・4.7 カスタムスラッシュコマンドとHooks 第5章 セキュリティと応用的な活用 ・5.1 Claude Codeのセキュリティ設計を理解する ・5.2 チーム開発での活用知識 ・5.3 Claude Codeの応用的な使い方 ・5.4 Claude Codeの今後と展望 Appendix スラッシュコマンド一覧 ■著者プロフィール 平川知秀:株式会社en-gine代表。東京と福岡を拠点に、生成AI・クラウドアーキテクチャ・LLMエージェント技術を活用した業務システム・SaaSの設計開発に従事。Domain-Driven Design(DDD)やClean Architectureに基づく堅牢な設計思想と、Firebase GenkitやMastraなどを使ったエージェント組み込みの業務アプリケーション開発など、最新のAI開発基盤を実践的に組み合わせる手法に詳しい。現在は、AI と人間の協働による「AI 駆動開発(AI-Driven Development)」の普及を目指し企業支援・教育活動も行いながら、AIエージェント技術、Flow Engineeringを組み合わせた次世代の開発プロセスを探求している。
-
UIデザインの中でも普段はあまり注目されることのない細かい部分にフォーカスした書籍です。デザイナーがどのような意図を持ってUIをデザインしているのかを解説します。身近なサービスを例として取り上げているので,実感を持って理解できます。筆者のデザイナーとしてのノウハウがふんだんに織り込まれているので,WebサービスのUIデザインをもっと良くするためのヒントになるはずです。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆基礎の基礎からAndroidアプリ開発をしたい方に最適の1冊◆ 本書はJavaとAndroid studioでAndroidを基礎の基礎から学ぶための本です。AndroidアプリはFlutter、Kotlinなどを使用した開発が職業プログラマ向けには多くなってます。しかしAndroidアプリの開発は技術習得の難易度が高く、学生や初学者にとってハードルが高いものになってしましました。本書はプロ向けではなく、まず一番簡単に使える環境でAndroidアプリの開発を素朴な疑問レベルから親切丁寧に解説をしていきます。特徴は次のとおりです。 ①概念図やクラス図が豊富 ②開発ノウハウを盛り込んだ実践的説明と実用的例示 ③Javaの基礎知識だけで理解できる平易な説明 ■目次 ●第1部 入門編 Androidアプリを作ってみよう 第1章 Androidアプリを構成するコンポーネント 第2章 Androidアプリの作成手順 第3章 画面レイアウトを作る 第4章 画面を制御するクラスを作る 第5章 業務処理を分離する 第6章 データストアを分離する 第7章 リスト型画面を作る 第8章 ダイアログとトーストを使う 第9章 画面を遷移する 第10章 デバッグする ●第2部 実用編 実用性の高いAndroidアプリの開発技術を学ぶ 第11章 アクティビティコンポーネントを整理する 第12章 ViewスーパークラスとTextView 第13章 EditTextを使いこなす 第14章 Buttonを使いこなす 第15章 RadioButtonを使いこなす 第16章 CheckBoxを使いこなす 第17章 Spinnerを使いこなす 第18章 Dialogを使いこなす 第19章 ConstraintLayoutを使いこなす 第20章 リスト型アクティビティを作る 第21章 RecyclerViewを使いこなす 第22章 Intentを活用する 第23章 SQLiteデータベースを使いこなす 第24章 Content Providerを作る 付録1 Android studioをインストールする 付録2 SDKとAVDをインストールする ■著者プロフィール 三苫健太(みとまけんた):福岡市在住。コンピュータメーカのシステムエンジニアとして数多のシステム開発に従事する。退職後はテクニカルライタとして、ソフトウェアエンジニアリングを中心に執筆。その傍ら、文芸書を執筆し「江戸川乱歩賞」などで高評価を得る。文理が融合した技術書や文芸書の創作がテーマ。他著に『オブジェクト指向開発トレーニングブック』、『Androidアプリケーション開発教科書』(技術評論社)、文芸書『団塊へのレクイエム』(幻冬舎)がある。読書とコーラスが趣味。剣道教士七段
-
ビジネス・実用-1巻4,180円 (税込)◆モダンな機能を駆使して高速×安定稼働を実現する◆ 本書は、PostgreSQLの基本概念から安定稼働・パフォーマンスチューニング、そして現場で役立つ機能までを網羅した、実践的な解説書です。基礎的な解説からはじめ、PostgreSQLの内部構造、テーブル設計、レプリケーション、認証、バックアップ、リストア、モニタリングなどPostgreSQLを現場で利用するための知識を体系的に網羅しています。PostgreSQLの研究開発に従事し、PostgreSQL自身や周辺ツールの開発に携わるメンバーによる執筆で、機能を正しく理解して現場で活用できるノウハウが満載です。 ■こんな方におすすめ ・現場でPostgreSQLを運用するDBA、現場でPostgreSQLを利用するWeb開発者 ■目次 第1章:PostgreSQLの概要 第2章:インストール 第3章:PostgreSQLの起動・停止と設定パラメータ 第4章:SQL入門 第5章:テーブル設計 第6章:高度なSQL機能 第7章:クエリ処理 第8章:レプリケーション 第9章:外部データラッパを使ってデータベースどうしをつなげる 第10章:PostgreSQLにおけるユーザーと権限の管理 第11章:ログイン認証と通信およびデータの暗号化 第12章:バックアップ・リストア 第13章:テーブル、インデックスのメンテナンス 第14章:モニタリング 第15章:パフォーマンスチューニング Appendix A:各パラメータの設定値の考え方 Appendix B:PostgreSQL 18の新機能と設定項目の差分 ■著者プロフィール ●堀口 恭太郎(ほりぐち きょうたろう):NTT OSSセンタ所属。PostgreSQLメジャーコントリビュータ。PostgreSQL本体機能の開発や、PostgreSQLでHINT句を使うための拡張機能であるpg_hint_planなどの開発に従事。 ●細谷 柚子(ほそや ゆずこ):NTT OSSセンタ所属。PostgreSQLコミュニティにてパーティショニング機能を中心にバグ修正・品質改善に携わる。現在は技術的知見を活かし、PostgreSQLを含むOSSソフトウェア全般の活用促進に取り組んでいる。 ●渡 佑也(わたり ゆうや):NTT OSSセンタ所属。分散トランザクションや問合せ最適化に関する研究開発に従事。パーティショニング処理の高速化を実現するなどPostgreSQLコミュニティでの活動も行う。 ●山田 達朗(やまだ たつろう):NTT OSSセンタ所属。PostgreSQLコントリビュータ。PostgreSQLコミュニティにて主にDBAにとって役立つ機能の開発に従事。日本PostgreSQL開発者会議の主催者。 ●白石 裕輝(しらいし ゆうき):元NTT OSSセンタ所属(現NTTコンピュータ&データサイエンス研究所所属)。分散データベースシステムのトランザクション処理に関する研究開発に従事。 ●須賀 啓敏(すが よしはる):NTT OSSセンタ所属。OSS基盤技術(OS、DB、HAなど)のマネージメントに従事。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆AIとの協働でアプリ開発の常識が変わる!◆ Replitはクラウドベースのオンライン統合開発環境です。サポートAI機能であるAgent/Assistantに対して自然言語で指示を出すだけで、データベースとの連携などを含む本格的なWebアプリケーションを開発可能です。コーディングが不要で、自然言語を使って開発できるという特徴から、初心者や非エンジニアであっても自分のアイデアをすぐに形にできますし、Webアプリケーション開発者がプロトタイプの作成を手早く行うといった用途にも活用できるでしょう。本書では、ReplitによるWebアプリケーション開発について基本からわかりやすく解説します。実際にいくつかのアプリを開発する手順を解説する中で、外部サービスとの連携やデータベース活用、画像認識、翻訳機能、決済機能などといった高度な機能を実装するノウハウを学べます。 ■こんな方におすすめ Webアプリケーションを作ってみたい人、Replitを活用したAI駆動開発について学びたい人、Webアプリケーション開発者 ■目次 序章 Webアプリケーション開発の歴史と現状 ・0.1 Webアプリケーション開発の歴史 ・0.2 AIによるコーディング支援からVibe Codingへ ・0.3 Replitが変えるWebアプリケーション開発 ・0.4 本書の構成 第1章 Replitの基礎知識 ・1.1 Replitとは ・1.2 開発環境の特徴 ・1.3 Replitを構成する要素 第2章 Replitによるアプリケーション開発の基本 ・2.1 アカウントの登録方法 ・2.2 最初のアプリケーション開発 ・2.3 ワークスペースの画面構成 第3章 外部APIやライブラリを活用した開発 ・3.1 「イベント企画書クリエイター」の開発 ・3.2 「ドキュメントマスター」の開発―あらゆる文書を自在に変換 ・3.3 高品質ランディングページの作成 第4章 データ活用型アプリケーションの開発 ・4.1 「食事バランスナビ」の開発 ・4.2 「スマート名刺管理」の開発 ・4.3 「AIリアルタイム翻訳機」の開発 第5章 本格的なビジネスアプリケーションの開発 ・5.1 「YouTubeトランスレーターPlus」の開発①―コア機能開発 ・5.2 「YouTubeトランスレーターPlus」の開発②―Stripeによる収益化と高度な機能 第6章 アプリケーションの公開/他ツールとの連携 ・6.1 アプリケーションのデプロイ ・6.2 セキュリティスキャナーによる脆弱性診断 ・6.3 組み込みアクセス解析機能 ・6.4 他ツールとの連携と共同作業 第7章 効果的なAI活用のテクニック ・7.1 Webアプリケーションのアイデア創出法 ・7.2 AIツールでデザイン制作 ・7.3 Replitへの効果的な指示の出し方 第8章 応用的な開発手法と参考情報 ・8.1 スマートフォンからの開発 ・8.2 ネイティブアプリの開発 ・8.3 Replit以外のAI開発ツール紹介 ・8.4 継続的な学びのためのリソース Appendix ・A.1 Replitで利用可能なツール一覧 ・A.2 Replitと連携可能なサービス一覧 ・A.3 本書のサポートサイトについて ■著者プロフィール 佐藤亮:株式会社パールライト 代表取締役。立命館大学卒業後、株式会社アイティーブーストにて約10年間、インフラエンジニアとしてLinuxサーバの構築・運用、などに従事。その後、株式会社サイバーエージェントにて約5年、大規模Webサービスのインフラ設計・構築などの運用に携わる。2024年、Replitが提唱する「ソフトウェアの民主化」の理念に強く共感し、Replitを用いた開発ノウハウの共有に本格的に取り組み始める。現在は株式会社パールライトの代表取締役を務めるとともに、Webメディア「Replit解体新書」を運営し、Replitの活用法や最新のAI開発トレンドを発信している。Replitのハッカソンにて最優秀賞を受賞。著書に『TECHNICAL MASTER はじめてのRed Hat Linux 7.3サーバ構築編』(秀和システム、共著、2002年)。
-
◆Mastraについて体系的に学べる日本初の入門書!◆ AIエージェント開発が注目されつつある昨今、その実装を効率化するフレームワークの重要性が高まっています。本書は、TypeScriptで記述でき、既存プロジェクトへの組み込みが容易で、新機能がいち早く提供されるMastraを使ってAIエージェント開発・運用を行うための入門書です。AIエージェント開発の全体像やMastraの基礎知識、さらにはMastraエコシステムの一部を担うAI SDKの基礎知識について丁寧に解説しています。充実したハンズオンを3つ収録し、Human-in-the-Loopを組み込んだワークフローやAPIサーバーの構築、チャット・認証・LLMモデルの切り替えといった基盤機能の実装はもちろん、ガードレール、AgentSkills、メモリ、オブザーバビリティ、AIエージェント評価、デプロイまで、幅広くカバー。経験豊富な著者陣の実践的な知恵を豊富に盛り込んだ、日本初のMastra入門書です。 ■こんな方におすすめ ・これからAIエージェント開発を始める方 ・Mastraについて体系的に学びたい方 ■目次 第1章 AIエージェントの基本 第2章 Mastraによるエージェントとワークフローの実装 第3章 Mastraによる高度なエージェント機能の実装 第4章 AI SDKによるマルチLLM対応とフロントエンド開発 第5章 社内ドキュメント検索アプリを作って学ぶRAG 第6章 Deep Researchアプリを作って学ぶHITLを組み込んだワークフロー 第7章 Deep Researchアプリを作って学ぶAPIサーバーとフロントエンドの構築 第8章 画像生成アプリを作って学ぶチャット応答機能・認証機能・プラン管理機能 第9章 画像生成アプリを作って学ぶガードレールとAgent Skills 第10章 画像生成アプリを作って学ぶメモリ機能とスレッド機能 第11章 画像生成アプリを作って学ぶオブザーバビリティとAIエージェント評価 第12章 画像生成アプリを作って学ぶデプロイ 第13章 さまざまなクラウド環境へのデプロイ 付録 各種サービスの使用方法 ■著者プロフィール ●上田 瀟逸(うえだ しょういつ):KDDIアジャイル開発センター株式会社 ソフトウェアエンジニア。AIエージェント、LLMアプリケーションの開発や技術コンサルティングに従事。AWS社グローバルより、AWS Community Builder(AI Engineering)に認定。LINEヤフー社より、LINE API Expertに認定。趣味はハリネズミの飼育で、多いときには5匹飼っていたことも。技術コミュニティでも自らハリネズミを名乗って活動。AI物語創作プラットフォーム「キミガタリ」を運営。 ●伊野瀬 出(いのせ いずる):KDDIアジャイル開発センター株式会社 ソフトウェアエンジニア。2025年新卒入社。生成AIを組み込んだプロダクト開発や社内向けデータ分析基盤構築・運用保守に従事。大学時代はデータサイエンスを専攻しており、武藤佳恭教授の元で医学に関するデータ分析の研究に没頭。趣味は格闘技で、観戦だけでなくプロ格闘家としても活躍するため仕事と練習の両立に奮闘中。愛犬「ゆず」をSNS等でよく発信している。 ●御田 稔(おんだ みのる):KDDIアジャイル開発センター株式会社 テックエバンジェリスト/KDDI株式会社 シニアエキスパート。クラウドやAIの分野を中心に、技術コンサルティングやプリセールス、トレーニング講師などに従事。AWS社グローバルより、日本初のAWS AI Heroに認定。著書『Amazon Bedrock 生成AIアプリ開発入門[AWS深掘りガイド]』(SBクリエイティブ)、『やさしいMCP入門』(秀和システム新社)、『AIエージェント開発/運用入門[生成AI深掘りガイド]』(SBクリエイティブ)、『[入門]LLMアプリ開発』(技術評論社)、『Amazon Bedrock AgentCore実践入門[AWS深掘りガイド]』(SBクリエイティブ)。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-13073-2)も合わせてご覧ください。 人気のWebフロントエンドフレームワーク「Vue.js」がバージョンアップして「Vue 3」となり,TypeScriptの標準採用,新機能Composition API,Vite,Piniaの搭載など,大幅に機能が更新・強化されました。それに伴い,Vue 3では,従来のOptions APIを利用したコンポーネント開発とは異なる開発手法が必要となります。本書では,Composition APIによるコンポーネント開発やPiniaによる状態管理,Vue RouterによるSPA開発,非同期処理やユニットテストなどを新機能を駆使して解説しており,Vue 3によるフロントエンド開発手法が1冊ですべて身に付く内容になっています。
-
◆複数の仮想マシンが動作するハイパーバイザを一から実装◆ 仮想化技術はいたるところで利用されています。クラウドサービスなどで、自由度の高いサーバ環境を即座に利用できるのは仮想化技術があってこそです。ソフトウェアで疑似的にマシンを再現したものを仮想マシンと呼び、仮想マシンを実現するソフトウェアをハイパーバイザと呼びます。 本書では、ハイパーバイザをステップアップ式に実装していくことで、ハイパーバイザによる仮想化技術がどのように実現されているのかを理解していきます。ハードウェアデバイスを操作する側、操作される側の両方の実装を行うことで、仮想化技術と密接に関係している低レイヤの技術を深く理解できます。 ■こんな方におすすめ ● 仮想化技術が何を行っているのかを理解したい方 ● ハイパーバイザの仕組みを理解したい方 ● マシンの仕組みを手を動かしながら理解したい方 ■目次 第1章 仮想マシンとハイパーバイザ ・1.1 仮想マシンとはなんだろう ・1.2 ハイパーバイザの目的とメリット ・1.3 Type1ハイパーバイザとType2ハイパーバイザ ・1.4 仮想化支援機能とは ・1.5 Type1ハイパーバイザを開発する流れ ・1.6 開発環境の構築 ・1.7 本書で使用する仕様書について 第2章 起動してメッセージを出せるようにする ・2.1 何もしないソフトウェアを起動しよう ・2.2 DTBを解析しよう ・2.3 文字を出そう 第3章 CPUの仮想化支援機能を使ってみる~メモリを仮想化する ・3.1 何もしない仮想化をしよう ・3.2 メモリ管理をしよう ・3.3 メモリの仮想化をしよう 第4章 割り込みの仕組みと仮想デバイスを作る ・4.1 割り込みのセットアップをしよう ・4.2 ページフォルトの原因を解析しよう ・4.3 仮想PL011デバイスを実装しよう 第5章 割り込みコントローラを制御し、デバイス割り込みを可能にする ・5.1 割り込みを制御するデバイスを初期化しよう ・5.2 PL011の割り込みを受け取ろう 第6章 ファイルの読み書きをできるようにする ・6.1 Virtio-Blkを制御しよう ・6.2 ファイルシステムを実装しよう 第7章 初めての仮想マシンを実装する ・7.1 VM構造体を実装しよう ・7.2 VMを起動してみよう 第8章 Linuxが動作するようにする ・8.1 GICv3の仮想化をしよう ・8.2 仮想タイマを提供しよう ・8.3 仮想PL011を改良しよう ・8.4 Virtio-Blkデバイスを実装しよう 第9章 複数のCPUコアを動作させる ・9.1 コアの起動をしよう ・9.2 ロック機構を実装しよう 第10章 コンソールとマルチ仮想マシンを実装する ・10.1 コンソールとコマンドを実装しよう ・10.2 マルチ仮想マシンを実現しよう 第11章 作成したハイパーバイザを発展させるには ・11.1 対応デバイスの追加 ・11.2 独自の仮想デバイス ・11.3 スナップショット機能 ・11.4 実機への移植 ・11.5 マイグレーション機能 ・11.6 デバイスパススルー機能 ・11.7 Type2ハイパーバイザの実装 ・11.8 Nested Virtualizationの実装 第12章 仮想化技術を使いこなす ・12.1 ハイパーバイザの選び方 ・12.2 ハイパーバイザの便利な使い方 ・12.3 これからのハイパーバイザ ■著者プロフィール 【著者】森 真誠(もり まなみ):小学生時代からプログラミングに興味を持ち、OSからデスクトップアプリなど幅広いレイヤのプログラミングを趣味で行う。大学生のときにAArch64向けの軽量ハイパーバイザ「MilvusVisor」の実装に従事。また、セキュリティ・キャンプ全国大会での講師や世界的に権威あるカンファレンスの一つであるBlack Hat Eurpose 2024で機密仮想マシンに関する講演などを経験。 【監修者】品川 高廣(しながわ たかひろ):東京大学大学院情報理工学系研究科 教授。オペレーティングシステムや仮想化技術、コンピュータセキュリティ等を専門とし、次世代の安全で高性能なシステム基盤の研究開発に取り組んでいる。国産ハイパーバイザ「BitVisor」のチーフアーキテクトとして設計を主導し、その成果を応用した製品「vThrii Seamless Provisioning」の開発にも貢献している。仮想化技術の研究成果により、令和2年度科学技術分野の文部科学大臣表彰「科学技術賞」を受賞した。https://www.os.is.s.u-tokyo.ac.jp/shina/
-
◆あなたのGoのコードを「一段階」レベルアップするテクニック集がGo 1.24に対応◆ Go言語ユーザーとして、「もう一段レベルアップしたい」「開発に使いたい」と思っている方に向けた、Go言語の解説本です。関数やパッケージの使い方、並行処理、テストといった基本的なトピックにおいて、「こう書くと綺麗になる」「こう書くとパフォーマンスが上がる」といったエッセンスを紹介します。後半ではCLIアプリ/Webアプリの開発手順や、現場で使われている便利なパッケージなど、著者が業務やOSSの開発で培った技術をふんだんに紹介します。改訂にあたり、Go言語のバージョンを1.24.2に対応させたほか、新たに導入されたiterパッケージとlog/slogパッケージの活用法、AIやWebAssemblyについてのトピックを追加しました。 ■こんな方におすすめ ・Go言語をこれから使おうとする方 ・すでにGo言語を使っており、レベルアップしたい方 ■目次 第1章 プログラミング言語Goとは 第2章 開発環境の準備 第3章 基本的な文法 第4章 基本テクニックとベストプラクティス 第5章 Webアプリケーションの開発に必要な要素 第6章 速いプログラムのためのテクニック 第7章 テストにおけるテクニック 第8章 ベンチマークにおけるテクニック 第9章 GoによるCLIアプリケーション開発 第10章 GoによるWebアプリケーション開発 第11章 GitHubでの開発における勘所 第12章 データベースの扱い方 第13章 Goとクラウドサービス ■著者プロフィール mattn(まっつん):さまざまなOSSにコントリビュートを行うITエンジニア。月刊誌「Software Design」にて連載記事「Vimの細道」のほか、Vim、Go言語に関する記事を多数執筆。共著に『みんなのGo』。Google Developers Expert(Go)。
-
本書は「IoT」(Internet of Things)の開発に関する基本的な事項を解説しています。インターネットはWeb中心からすべての"モノ"がつながるIoT時代を迎えようとしています。そのような時代に対応した製品づくりに必要な知識を重要キーワードを中心に解説します。「デバイスとセンサ」、「通信技術とネットワーク環境」、「ビッグデータ」、「クラウド」といったIoTの構成要素を"広く深く"カバーしており、本書一冊でIoTの基礎を効率的に学べます。
-
◆MLflow 3で実現するLLMアプリの本番運用◆ 本書は、LLMアプリケーションの開発・運用に必要な一連のプロセス――可観測性の確保、品質評価、プロンプト管理、本番展開――を、オープンソースプラットフォーム「MLflow」を使って体系的に実践する技術書です。 LLMアプリケーションは、従来の機械学習システムとは異なる難しさを持ちます。プロンプトのわずかな変更が品質に大きく影響し、エージェントの挙動は複雑で追跡が難しく、コストは見えにくい場所で膨らみます。MLflow 3はこうした課題に正面から向き合い、トレーシング、評価(LLM-as-a-Judge)、Prompt Registry、AI Gatewayといった機能を1つのプラットフォームに統合しました。 本書では、シンプルなLLMアプリケーションから始め、RAGシステム、マルチエージェントまで段階的にカバーしています。実際に動くPythonコードとともに、「作って終わり」ではなく「運用し続けられる」LLMアプリケーションの構築方法を提供します。 ■目次 第1章 LLMOpsの世界へようこそ 第2章 MLflowとは 第3章 MLflowのインストールと初期設定 第4章 可観測性の確保──トレーシングの導入 第5章 改善サイクルを加速する ──評価の仕組み 第6章 プロンプトエンジニアリング──プロンプトの運用と管理 第7章 本番環境で動かす──サービングとデプロイメント 第8章 監視と運用──LLMアプリケーションの健全性管理 第9章 実践ケーススタディ 第10章 エンタープライズ環境でのMLflow活用 第11章 LLMOpsの未来とベストプラクティス ■著者プロフィール 弥生 隆明:Databricks Japanにて、生成AIおよびデータエンジニアリングを専門にDatabricksの導入支援に取り組む。2026年4月より青山学院大学特別研究員を兼務。 渡辺 祐貴:DatabricksにてオープンソースMLflowのテックリードを務め、LLMOps領域の開発を推進している。とくにLLMアプリケーションの可観測性および評価機能の設計・開発をリードし、MLflowのGenAI対応を牽引。 大内山 浩:はDatabricks JapanにてAI領域の専門家として企業のAI導入・活用支援に取り組む。専門学校の教育顧問も兼務。 平田 東夢:Databricksソフトウェアエンジニア。DatabrickではMLflowやAIエージェントフレームワークDSPyの開発に従事。 河村 春孝:Databricksソフトウェアエンジニア。2020年にDatabricksに入社し、メンテナーとしてプロジェクトの開発・発展に取り組んでいる。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は,情報処理技術者試験で使われている「CASL II」を題材に,アセンブリ言語のプログラミングの初歩を「豊富なイラスト」とサンプルプログラムを用いて初心者にもわかりやすく解説します。また,実際に使われているアセンブリ言語でのプログラミングについても実例を用いて解説します。CASL IIが動作する仮想コンピュータ「COMET II」の仕様もていねいに図解していますので,コンピュータ工学の最初の教科書としてもお読みいただけます。※本書は,2009年4月に発売された書籍の電子版です。
-
◆SREの基本の知識と実践方法をこの1冊で!◆ Googleが提唱したシステム運用の方法論「SRE(Site Reliability Engineering)」。アジャイル型への転換の中で、システムの利便性や安定性を「価値」ととらえ、その向上を目指すSREに注目が集まっています。「システムの安定的な運用」のために、SREを担当するエンジニアには開発と運用、双方のスキルが必要です。 本書では、SREを学びたい、開発に取り入れたいエンジニアを対象に全体像を解説しつつ、今後の学習のための情報源を多く紹介します。基本的な知識だけでなく、代表的なプラクティスや組織の運用など、実践的な内容まで解説します。 ■目次 第1章 SREとは ・1.1 SREの概要 ・1.2 なぜSREが重要なのか ・1.3 SREの価値観 ・1.4 SREに必要なスキル ・1.5 本書の歩き方 第2章 信頼性を定義して組織で運用する ・2.1 SLOを理解するための4つの要素 ・2.2 なぜSLOが重要なのか ・2.3 エラーバジェットの理解と活用 ・2.4 SLO導入ステップ 第3章 システムの状態を観測する ・3.1 システムを観測するための基本概念 ・3.2 モニタリングの基本 ・3.3 アラート通知の基本と運用 ・3.4 オブザーバビリティツールの構成 ・3.5 オブザーバビリティにおける5つの重要なシグナル ・3.6 オブザーバビリティツールの選定と実装 第4章 障害を学びにつなげる ・4.1 ポストモーテム ・4.2 ポストモーテムのフレームワーク ・4.3 ポストモーテムの実践 ・4.4 再発防止策の重要性と効果的な実施方法 ・4.5 ポストモーテムの運用と文化 ・4.6 複数チームにまたがるポストモーテムの実施 ・4.7 ポストモーテムをテーマにしたワークショップの提案 第5章 障害対応のプロセスや体制を作る ・5.1 オンコール ・5.2 オンコール担当者の役割 ・5.3 オンコール体制の設計 ・5.4 オンコールトレーニング ・5.5 オンコールに対する手当て ・5.6 Runbookの作成と活用 ・5.7 燃え尽き ・5.8 SEVレベル ・5.9 心理的・身体的ケア 第6章 手作業を自動化し効率化する ・6.1 トイルとは ・6.2 トイルを管理する 第7章 サービスのリリースを事前にレビューする ・7.1 PRR ・7.2 GitLabのPRR事例 ・7.3 PRRとほかのプラクティスの関係 第8章 SREの組織構造 ・8.1 SREにおける組織構造の重要性 ・8.2 SREの組織構造を考えるヒント ・8.3 SREの組織パターン ・8.4 SREの実装モデルとパターン ・8.5 SREの実装モデルとパターンの選び方 第9章 SREの実践 ・9.1 とある組織におけるSREの実践事例 ・9.2 SREの実践のコツ ・9.3 広がるSREの世界 ・9.4 SREと??? ■著者プロフィール 北野 勝久:【第1章担当】一般社団法人SRE NEXT代表理事。株式会社スタディストのCTOを務めつつ、自社内のSRE活動にも携わる。 近藤 健司:【第2章担当】教育系ITサービス開発組織の部長。SLOの組織への導入をリードした。 小林 良太郎:【第3章担当】SaaS型オブザーバビリティプラットフォームベンダーのTAMとして、日夜オブザーバビリティやモニタリングの重要性を顧客に説いている。 渡部 龍一:【第4、5章担当】株式会社IVRy所属。SREとして、電話AI SaaSの信頼性向上に注力。障害対応やEOL対応に加え、SLI/SLOの設計や運用、システム改善を通じて、継続的なサービス品質向上に取り組んでいる。 齊藤 拓朗:【第6、7章担当】株式会社ビズリーチ所属。「HRMOS(ハーモス)」シリーズのSREとして、複数プロダクトの自動化、信頼性向上、パフォーマンス最適化、インシデントレスポンスなどを推進。 柘植 翔太:【第8章担当】株式会社サイバーエージェントの横断SRE組織のGeneral Manager兼Principal SREとして、社内外のサービス・組織へのSRE推進や組織開発、人材育成支援などを行っている。 横山 達男:【第9章担当】株式会社マネーフォワード所属。SRE組織の副部長/テックリードとして、各プロダクト組織におけるSREの導入や推進などを担当している。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆現場で使えるLinuxコマンドリファレンスの決定版!◆ 本書は、Linux(RHEL、Ubuntu)の日常操作から高度なシステム管理に至るまで、現場で役立つコマンドを網羅したポケットリファレンスです。目的から探せる機能別分類と、名前から引けるアルファベット順索引の双方を備えており、初心者でもベテランでも、頼りになるリファレンスになっています。「実現したい処理はあるがコマンド名がわからない」場合でも、「コマンドのオプションや書式を忘れてしまった」場合でも、瞬時に目的のページへ辿り着けます。各コマンド解説は実務利用を想定し、冗長な説明を省いて使用例と必須オプションをコンパクトに凝縮しているので、デスクに常備しておけば、Linuxの基本学習でも日々の作業効率を高める上でも有用な一冊になっています。 ■目次 ●Linuxを使いこなすための基礎知識 ●コマンド編 ・エディタ/ページャ ・ファイル/ディレクトリ管理 ・パッケージ管理 ・ユーザー管理 ・テキスト処理 ・プロセス管理 ・システム管理 ・ユーティリティ ・デバイス ・ネットワーク ・セキュリティ ・データベース ・仮想化 ・カーネル ・ドキュメント ■著者プロフィール 沓名 亮典(くつな りょうすけ):1976年愛知県生まれ。愛知にある私立大学を卒業後、上京してJava&LinuxのSI屋や、Ruby開発者のいるSI屋でLinuxなどOSSを中心としたSI業務に携わる。現在は(株)サーバーワークスでクラウドエンジニアとしてSI業務、AWSエンジニア育成トレーニング業務に関わる。著書に『Red Hat Linux 7.2入門キット』『Red Hat Linux活用ガイド』(ともに秀和システム)、『Linuxシステム[実践]入門』『Linuxステップアップラーニング』『ひみつのLinux通信』(ともに技術評論社)がある。 2児の父。ダイエット目的でのランニング、トレイルランニング、トライアスロンを趣味として楽しむ。
-
◆Webフロントエンド開発の最新テスト手法を基本から解説!◆ AIによるコード生成が現実となった今、ソフトウェアテストの重要性はますます高まっています。AIエージェントの能力を最大限に発揮する上でも、テスト自動化などを含む開発基盤の整備は必須のものになってくるでしょう。本書では、フロントエンド開発の現場で効果的にテストを導入・運用するための力を身に付けることを目的に、フロントエンドテストの全体像を基礎から体系的に解説します。テストの意義や種類といった基礎から始まり、静的テスト、ロジックテスト、コンポーネントテスト、E2Eテスト、そしてビジュアルリグレッションテスト(VRT)まで幅広くカバー。さらに、Storybookを活用したテスト手法やAPI通信を含む実践的なケース、テスト戦略の設計、そして現場視点でのAI活用ノウハウまでを丁寧に解説します。フロントエンド開発におけるテストを本格的に学びたい方に最適な一冊です。 ■こんな方におすすめ ・フロントエンド開発における最新のテスト手法やテスト設計について学びたい人 ■目次 第1章 フロントエンドテストの基礎知識 ・1.1 ソフトウェア開発におけるテストとは ・1.2 フロントエンドとテストの変遷 ・1.3 テストの分類と戦略の考え方 第2章 開発環境のセットアップ ・2.1 本書の開発環境 ・2.2 エディタと拡張機能 ・2.3 サンプルプロジェクトのセットアップ 第3章 静的テスト ・3.1 静的テストとは ・3.2 Prettier[コードフォーマッター] ・3.3 ESLint[リンター] ・3.4 Stylelint[CSSリンター] ・3.5 Biome[フォーマッター+リンター] 第4章 ロジックテスト ・4.1 ロジックテストとは ・4.2 テスト環境とツールセットアップ ・4.3 純粋関数のロジックテスト ・4.4 カスタムHookのテスト ・4.5 テストダブルの役割と使い分け 第5章 コンポーネントテスト ・5.1 コンポーネントテストとは ・5.2 テスト環境とツールセットアップ ・5.3 レンダリングテスト ・5.4 インタラクションテスト 第6章 E2E(End-to-End)テスト ・6.1 E2Eテストとは ・6.2 テスト環境とツールセットアップ ・6.3 基本的なE2Eテストの書き方 ・6.4 実践的なE2Eテスト ・6.5 Page Object Modelパターン ・6.6 E2Eテストのベストプラクティス 第7章 Storybookとビジュアルリグレッションテスト(VRT) ・7.1 Storybookとは ・7.2 ビジュアルリグレッションテスト(VRT)とは ・7.3 Chromaticの導入とセットアップ ・7.4 基本的なVRTの実行 ・7.5 実践的なVRT ・7.6 CI/CDへの統合 第8章 Storybookによるコンポーネントテスト ・8.1 Storybookによるコンポーネントテストとは ・8.2 テスト環境のセットアップ ・8.3 Storyを使った基本的なテスト ・8.4 play関数を使ったインタラクションテスト 第9章 API通信を含むコンポーネントテスト ・9.1 API通信を含むコンポーネントのテスト戦略 ・9.2 MSWを使ったAPIモックの実装 ・9.3 API通信を含むStoryとテストの実装 ・9.4 実践的なシナリオとベストプラクティス 第10章 実践的なテスト戦略 ・10.1 テスト戦略の考え方 ・10.2 アーキテクチャに基づくコンポーネントテスト戦略 ・10.3 テストの種類と配分の決め方 第11章 AIを活用したテストコード生成 ・11.1 AI駆動開発とテストの現在 ・11.2 テストコードを書くためのプロンプト設計 ・11.3 SkillsとCLAUDE.mdによる品質向上 ・11.4 チームでの運用とベストプラクティス ■著者プロフィール 永井洸気:Webフロントエンドエンジニア。複数会社でのWebサービス開発を経て、現職では民放公式テレビ配信サービスのWebフロントエンドチーム内製化を1人目のエンジニアとして推進。現在はPCおよびコネクテッドTV向けのフロントエンド開発に従事している。フロントエンドにおけるテスト設計・テスト戦略に強い関心を持ち、実務での知見をもとに本書を執筆。株式会社TVer所属。
-
◆アプリ開発を目指すための最初の1冊!◆ 主要なプラットフォームが2つあること、にもかかわらず各々が完全に独立しているわけではなく、同じサービスであればUIなどをある程度揃えなければならないこと——これらが現代のモバイルアプリ開発の特徴です。入門者でもある程度複数のプラットフォームの事情を知っておかなければなりませんし、「iOSアプリの開発が専門で、Androidのほうは得意ではない」(またはその逆)といったこともありふれています。本書はそのような状況に向け、あらゆるモバイルアプリ開発者が知っておくべき知識についてのロードマップを得られることを目的とした一冊です。 ■こんな方におすすめ ・モバイルアプリの開発入門したいエンジニア ・専門ではない方のプラットフォームやクロスプラットフォーム開発に対する知識も得たいエンジニア ■目次 ●第1章:iOSアプリ開発の概要 ・1.1:iOSとは ・1.2:iOSアプリ開発の魅力 ・1.3:iOSアプリ開発に用いる言語 ・1.4:iOSアプリ開発のための環境構築 ・1.5:フレームワークの利用 ●第2章:基本的なiOSアプリの開発 ・2.1:UIをSwiftUIで構築する ・2.2:ViewModelを使ってデータをUIにつなぎこむ ・2.3:実際に通信し、データを取得する ・2.4:画面を遷移させる ・2.5:UserDefaultsを使用してデータを保存・取得する ●第3章:iOSアプリを公開するまで ・3.1:ユニットテスト環境の構築とテストの基本 ・3.2:UIテストの基本 ・3.3:GitHub ActionsによるCIの導入 ・3.4:不具合の検出と修正 ・3.5:メモリリークの改善 ・3.6:ビルド ・3.7:App Storeへの公開 ●第4章:よりよいiOSアプリを目指して ・4.1:Swift Packageとターゲット分割によるモジュール化 ・4.2:アーキテクチャの適用 ・4.3:Human Interface Guidelinesとデザイン ・4.4:起動速度の向上 ・4.5:学習方法 ●第5章:Androidアプリ開発の概要 ・5.1:Androidというオペレーティングシステムについて ・5.2:Androidアプリ開発の魅力 ・5.3:Androidアプリ開発に用いる言語 ・5.4:Androidアプリ開発のための環境構築 ・5.5:外部ライブラリの利用 ●第6章:基本的なAndroidアプリの開発 ・6.1:UIをJetpack Composeで構築する ・6.2:Jetpack ViewModelを使ってデータをUIにつなぎこむ ・6.3:実際に通信し、データを取得する ・6.4:画面を遷移させる ・6.5:Roomを使用してデータの保存・取得を行う ●第7章:Androidアプリの品質を高める ・7.1:ユニットテスト環境の構築 ・7.2:CI(継続的インテグレーション)の導入 ・7.3:不具合の検出と修正 ・7.4:メモリリークの改善 ●第8章:よりよいAndroidアプリを目指して ・8.1:マルチモジュール ・8.2:アーキテクチャを適用する ・8.3:マテリアルデザインを適用する ・8.4:起動速度の向上 ・8.5:学習方法 ●第9章:Flutterでのアプリ開発の概要 ・9.1:Flutterとは ・9.2:コミュニティ ・9.3:学習リソース ・9.4:環境構築 ・9.5:pubspec ●第10章:基本的なアプリの開発 ・10.1:UIを構築する ・10.2:データをUIに反映する ・10.3:ネットワーク通信によるデータ取得 ・10.4:画面を遷移させる ・10.5:データの永続化 ●第11章:Flutterのビルド、デバッグ、テスト ・11.1:ビルドと実行 ・11.2:デバッグ ・11.3:テスト ・11.4:Lint ・11.5:CI/CD ●第12章:よりよいFlutterアプリを目指して ・12.1:アクセシビリティの向上 ・12.2:パフォーマンスの向上 ・12.3:Flutterアプリケーションの設計 ・12.4:AIを活用した開発
-
◆フロントエンド感覚でサービスが作れる!◆ Cloudflare Workersは、Cloudflareが展開しているサーバーレスコンピューティングプラットフォームです。いわゆるFaaS(Function as a Service)の1つですが、AWS LambdaやCloud Functions(Google Cloud)、Azure Functions(Microsoft Azure)などよりも、軽量かつ気軽に試せるサービスです。その一方で、Cloudflareプラットフォーム製品の中核という位置づけにあり、キーバリューストア、S3互換ストレージ、リレーショナルデータベースなどを呼び出すこともできる強力なサービスでもあります。 本書はCloudflare Workersの手軽な入門書です。CDNエッジの概要と用途および、Cloudflare Workersの概要を押さえ、ハンズオンでCloudflare Workersの基本から、一歩進んだ使い方まで体験できます。 ■目次 第1章 はじめてのCloudflare Workers ・1.1 Cloudflare Workersとは ・1.2 Cloudflare Workersをはじめよう ・1.3 作って学ぶCloudflare Pages 第2章 Cloudflare WorkersとHono ・2.1 HonoではじめるCloudflare Workers ・2.2 Honoで作る短文投稿Webアプリ 第3章 Cloudflare Workersとエッジ ・3.1 Cloudflare WorkersにおけるキャッシュとHTTP Caching ・3.2 エッジにおけるRustとCloudflare Workers 第4章 Cloudflare Workersの連携機能 ・4.1 Service bindingsで複数Workerを連携してみよう ・4.2 Cron TriggersでWorkerを定期実行してみよう 第5章 Cloudflareスタック入門 ・5.1 HyperdriveでDBとの通信を効率化しよう ・5.2 Durable Objectsでステートフルな処理やリアルタイム通信を実装する ・5.3 Cloudflare AccessでWebサイトへアクセス制限を追加しよう ・5.4 Cloudflare Queuesを使ってバックグラウンドで非同期処理してみよう 第6章 Cloudflare Workersと生成AI ・6.1 Cloudflareにおける生成AI活用 ・6.2 Agents SDKの詳細と利用方法 ■著者プロフィール ●福岡 秀一郎(ふくおか しゅういちろう)/ syumai:株式会社メルペイにて加盟店審査画面や加盟店情報管理サービスの開発に従事した後に、株式会社ベースマキナにて管理画面SaaSの開発を行っている。主な技術領域はTypeScript、JavaScript、Go、Cloudflare Workers。趣味で、Go言語やECMAScriptの仕様を読み進めている。最近は、Cloudflare Workersに関連するコミュニティでの登壇を中心に行っている。 ●井手 優太(いで ゆうた):株式会社日本経済新聞社にてCDNを活用した高速化やサービス分割に従事。 退職後、トレーディングカードゲームにハマってしまい現在はカードショップ勤務。 ●川村 空千(かわむら そらち)/ Monica:2025年埼玉大学卒業、株式会社サイバーエージェントに入社。現在、株式会社AbemaTV所属。主な技術領域はフロントエンドや、エッジワーカー、動画変換、数理最適化。趣味の活動として、Webパフォーマンス、メタヒューリスティックなどの最適化大会への参加や、Webアプリケーション開発を行っている。 ●上島 愛史(うえじま あいじ):株式会社エイチームのグループ企業で比較系Webサービスの開発に携わった後、現在はEC領域の事業会社にて需要予測・発注管理SaaSの開発に取り組んでいる。主な技術領域はTypeScript、React、Cloudflare Workers、Pythonなど。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆SQLとデータベースを使いこなすための1冊◆ Oracle Database、Microsoft SQL Server、IBM Db2、PostgreSQL、MySQL、MariaDB、SQLite、Microsoft Accessに対応したSQLコマンドのリファレンスです。主要なSQL命令、関数、演算子などについて、各データベースでの対応状況や構文の違い、具体的な使い方を整理しました。「コマンドの構文を思い出せない」「今使っているRDBMSでこの関数は使えるのだろうか」。そんな時に必要な情報を素早く調べられます。豊富な実行例とともに解説しているので、実務で役立つ実践的な使用方法をスムーズに習得できるでしょう。 ■こんな方におすすめ ・主要なRDBMSのSQL命令、関数、演算子などについて知りたい人 ■目次 第1部 SQLとは(SQLの基礎概念) 第2部 コマンド命令 第3部 演算子 第4部 関数 第5部 プロシージャ内で使用できる命令 ■著者プロフィール 朝井淳:1966年(丙午)生まれの男。最近はAWSサービスと介護に奮闘中。自作PCにProxmoxを入れサーバーを立ち上げることと料理が好きな、システムエンジニア兼テクニカルライターである。
-
現在のシステム開発・運用に欠かすことのできない仮想化技術とコンテナ技術について、その基本をわかりやすく解説する図解本です。サーバ仮想化、ネットワーク仮想化について解説するとともに、現在の開発者には必須とも言えるコンテナ技術と、そのデファクトスタンダードであるDockerとKubernetesについて解説します。関連する用語を一通り知ることのできる、1冊目の入門書としてふさわしい内容です。
-
ビジネス・実用-1巻1,980円 (税込)※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆コンピュータを活用する一番簡単な方法、シェルスクリプトを学ぼう!◆ すべての道はシェルスクリプトに続いている! コンピュータ(デスクトップ・ノートPCなど)にUNIX系のOSがインストール済みならば、シェルスクリプトを使って簡単なプログラムを動かしてみましょう。macOS、Ubuntu、いろいろありますが、コンピュータを使いこなしている感覚はシェルスクリプトを使うときです。本書でその世界の一端を体験してください。シェル芸への道も! ■こんな方におすすめ ・UNIXのシェルスクリプトを始めてみたい方。既存の技術書では得られない、ライブ感のある解説でシェルスクリプトを学びたい方。 ■目次 ●第1章 落し穴にハマる前に! シェルスクリプトの基本と罠 コンテナ、クラウド、Web開発、なにかと使える基礎技術 ・1-1 利点・欠点・使いどころを認識しよう シェルスクリプトの基礎 ・1-2 実務で頻出の機能を要領よく学ぼう シェルスクリプトの基本文法 ・1-3 CLIコマンドの活用が業務効率化のカギ シェルスクリプトの使いどころ ・1-4 ShellCheckとShellSpecで安全なシェルスクリプトを作る 落し穴に落ちないシェルスクリプト開発のススメ ●第2章 どんな環境でも迷わない・困らない知識 CLI最強! シェルの基本大全 ・2-1 「黒い画面」でコマンドが実行できるように準備しよう! シェルとターミナルの基本の使い方 ・2-2 実例で学びチートシートで整理 インタラクティブシェルで役立つbash機能 ・2-3 基本の文法と安全対策を一気に習得 シェルスクリプトの使い方 ・2-4 どんな環境でもシェルを使いこなすために シェルを理解してカッコよく使おう ・2-5 Linuxと横断的に使うためのノウハウ macOSにおけるシェル&コマンド事情 ・Appendix どこでもサクッと自分好みの設定を適用しよう! dotfilesのススメ ●第3章 思わず実践したくなる 仕事に役立つ実例で使いどころがわかる シェル&シェルスクリプト ・3-1 ジョークコマンドで端末に親しもう 楽しく学ぶシェルの基本 ・3-2 日常で使うファイル形式だからこそ応用範囲は広い テキスト処理で役立つシェル・テクニック ・3-3 定型作業や自動化に役立つ 基本から押さえるシェルスクリプト ・3-4 一括処理でも誤削除・誤操作しない工夫とは 効率的で安全なファイル操作の秘訣 ・Appendix1 少ない労力で複数ファイルを扱う技 シェルの「展開」をマスターしよう ・Appendix2 使いやすくする&安全性を高める シェルのカスタマイズ方法
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ※PDF版をご希望の方は Gihyo Digital Publishingも合わせてご覧ください。 これからAIを学ぶエンジニアやAI関連業種に携わるビジネスマン向けに,「AIとは何か」から始まり,しくみや手法,利用例など技術的な側面を分かりやすく説明します。
-
ビジネス・実用3.01巻2,420円 (税込)◆プロのためのWeb API開発入門◆ 『Software Design』特集記事のうち、大好評を博したWeb API特集記事を1冊に収めました。 もはやWebにとって、Web APIこそが要です。Web APIを適切かつ効率的に開発できるかどうかが、Webサービスのその後を大きく左右するとも言えます。本書は、今まさにWeb APIを開発・運用する中で得られた実践的な知見が凝縮されています。 第1章では、OpenAPIを題材に、Webの基礎からさかのぼってWeb APIを再考し、REST APIの設計要素と、OpenAPIによるREST APIの設計手法およびREST APIの開発の実際の部分までつまびらかにします。第2章では、代わってGoogleが開発したRPCフレームワーク、gRPCにフォーカスし、その概要と、重要な技術要素であるProtocol Buffersの基礎を確認し、設計ポイントに触れ、gRPCによるWeb APIの実装を体験します。続く第3章では、GraphQLによるWebアプリケーションの開発・運用手法を一挙に解説。GraphQLの導入、TypeScript+Apollo Serverによるサーバサイドの実装、urqlやgraphql-codegenを駆使したクライアントアプリケーションの実装、そしてDatadogによるモニタリングやSentryによるエラートラッキングをベースとしたAPIの拡張手法にまで踏み込みます。 もちろん、Web APIは品質も重要です。本書では「テスト」「セキュリティ」の2つの観点でWeb APIの品質確保について考えます。第4章では、テストスコープをキーワードとしてWeb APIをテストする意義を見つめ直した上で、CRUD操作やエラーハンドリング、認証・認可設定、データ漏洩、バリデーション、メトリクスなど何をテストすべきか考え、Web APIテストを現実的に進める上で、カバレッジの目安やパフォーマンステストの実施フェーズ、実験計画などの考え方について考察します。第5章は、石川朝久氏や徳丸浩氏といったセキュリティの第一人者を中心に、Web APIのセキュリティに正面から向き合う極意を伝授します。Web APIはどのような攻撃にさらされるのか、リスクや攻撃手法、脆弱性から紐解き、「DevOps」「シフトレフト」を起点に、Web API設計からセキュリティを組み込む考え方を紹介。脆弱性診断や認証・認可設定の具体的な実施方法まで解説します。 まさしく、Web APIがまるごとわかる1冊なのです。 ■こんな方におすすめ ・Web開発者 ・REST API/GraphQL/gRPC開発者 ・Web APIのテスト手法やセキュリティ対策など、一歩進んだ開発/運用について学びたい人 ■目次 第1章 Web APIの作り方 ・1-1. Web APIの目的と技術要素 ・1-2. REST APIの設計で検討・決定すること ・1-3. OpenAPIによるREST API設計 ・1-4. OpenAPIを使ったWeb API開発の実際 第2章 gRPCで始めるWeb API開発 ・2-1. gRPCの特徴と登場背景 ・2-2. gRPCの技術要素とProtocol Buffersの基本 ・2-3. gRPC利用時のAPI設計ポイント ・2-4. gRPCによるWeb APIの実装 第3章 GraphQLでアプリケーション開発 ・3-1. GraphQLとは ・3-2. GraphQL導入 ・3-3. サーバサイドの実装 ・3-4. クライアントアプリケーションの実装 ・3-5. GraphQLアプリケーションの実運用 第4章 Web APIテスト 実践ガイド ・4-1. Web APIテストの意義 ・4-2. Web APIテスト時のチェック項目 ・4-3. 実践的なWeb APIテストの考え方 第5章 ゼロから学ぶWeb APIセキュリティ ・5-1. Web APIに潜むセキュリティリスク ・5-2. Web APIセキュリティの重要ポイント ・5-3. 脆弱性 ・5-4. 認証・認可
-
◆AI時代、「具体と抽象」を往復できる人が、プロジェクトを動かす◆ システム開発の現場で、こんな思いをしたことはないでしょうか。「で、具体的に何を作ればいいんですか」 経営者の語る構想も、コンサルタントの描く青写真も、いざ手を動かす段になると要件が定まらない。全員が真剣なのに、話が噛み合わない。要件定義で合意したはずが、成果物を見せた瞬間に「そうじゃない」と言われる。立場が違う人の間で、なぜこれほど合意形成は難しいのか。その断絶の正体は、「具体と抽象」という思考の階層の違いにあります。 本書は、ベストセラー『具体と抽象』をはじめ数々の思考力に関する著作で知られる細谷功氏が、システム開発の現場に焦点を当て、この「具体と抽象」のフレームワークを軸に、現場が構造的に抱える課題の本質とその乗り越え方を体系的に解説した一冊です。主な特徴は、以下の3点にあります。 1つ目は「立場の違いが生むコミュニケーションギャップの構造を解き明かす」点です。経営者とエンジニア、コンサルタントと開発者、営業と技術。現場で日常的に起きる「話が通じない」問題を、「具体と抽象」の視点から構造的に分析します。なぜ抽象的な指示にエンジニアは苛立ち、なぜ具体的な報告に経営者は物足りなさを感じるのか。その双方向のメカニズムを理解することが、立場を超えた合意形成の第一歩となります。 2つ目は「思考のOSのメタ化という新しい変革モデルを提示する」点です。これまで「具体」で価値を出してきた強みを捨てるのでも、単にバージョンアップするのでもない。場面に応じて川上と川下の思考回路を使い分ける「メタ化」という第三の道を提唱し、個人にも組織にも適用できる実践的な視座を示します。実装やコーディングで培った力をそのままに、「何を作るべきか」を決める側にも立てるようになる。AIに具体を委ねる時代に、エンジニアが自らの価値を問い直すための核となる考え方です。 3つ目は「個人・プロジェクト・組織の3層構造で課題を立体的に捉える」点です。個人の思考回路の転換から、プロジェクト現場で頻発する落とし穴の構造分析、さらには組織の成長・保守化のメカニズムまでを一貫して読み解きます。「魚」「釣り方」「川の構造」という独自のアナロジーを通じて、目先のノウハウではなく、問題を生み出す構造そのものの理解へと読者を導きます。 即効性のあるノウハウ本ではなく、半世紀にわたり解決されてこなかった「なぜ」に切り込む本書は、AI時代に自らの価値の源泉を問い直すすべての作り手にとって、思考の転換点となる一冊です。 ■こんな方におすすめ ・「言われたものを作る」から「何を作るかを提案する」側へ進みたいエンジニア、PM、テックリードの方 ・顧客への提案力・構想力を高めたいITコンサルタント、プリセールスの方 ・DX・AI活用を掲げながらPoC止まりに悩む情報システム部門・経営企画の方 ・組織の「思考のOS」を変えたいと考えるIT企業の経営者・マネジメント層の方 ・「仕事を頼む・頼まれる」関係で提案に携わる、製造・広告など他業種の方 ■目次 第1章 SI業界が抱える課題 ・1.1 「言われたことは得意だが、提案が不得意である」 ・1.2 なぜ「提案型人材」が少ないのか ・1.3 受動的問題解決から能動的問題発見へ ・1.4 OSのメタ化が必要 第2章 「具体と抽象」とは ・2.1 具体と抽象の基本 ・2.2 ITと「具体と抽象」 ・2.3 「手段と目的」への応用 第3章 SIプロジェクトと「具体と抽象」 ・3.1 川上と川下、問題発見と問題解決、具体と抽象 ・3.2 2つの思考回路の矛盾による問題点 第4章 SIプロジェクトにおける落とし穴 ・4.1 新規テーマの提案はなぜ受け入れられないのか ・4.2 「投資対効果」の罠 ・4.3 「事例調査」の罠 (略) ・4.15 なぜこれらの落とし穴は何度でも繰り返されるのか 第5章 組織の成長と「具体と抽象」 ・5.1 「会社の進化」と「具体と抽象」 ・5.2 外注化の流れを普遍的に捉える ・5.3 組織の変化に伴う必要なスキルの変化 (略) ■著者プロフィール 細谷功:著述家・抽象アーキテクト。株式会社東芝を経て、外資系/日系のグローバル・コンサルティングファームにて業務改革等のコンサルティングに従事した後独立。著書に『地頭力を鍛える 問題解決に活かす「フェルミ推定」』(東洋経済新報社)、『具体と抽象』(dZERO)などがある。
-
※本書は2009年に発行された書籍の電子版になります。 【どうしたら本質的困難に対応できるのか?】 ソフトウェア開発の難しさは今も昔も変わりません。多くの開発プロセスや言語、マネジメント手法が生まれましたが、デスマーチは終わることも減ることもありません。実はその原因をブルックスは「人月の神話」で本質的困難として指摘しているのですが、その本質的困難を現在のソフトウェア開発はどれだけ克服できたのでしょうか。本書では名著「人月の神話」を振り返りながらソフトウェア開発の本質的困難を再検討し、今後のソフトウェア開発が目指すべき方向を提案します。 ■こんな方におすすめ ・ソフトウェア関連企業の経営者 ・PM、SE、PG ・ソフトウェアエンジニア ■目次 はじめに なくならない苦労 人月の神話 本書の構成 ●第1章 普遍的な問題 プロフェッショナルとしてのソフトウェア開発 ソフトウェアエンジニアリングとは 人月という考え方の根源 組み合わせの爆発 火に油を注ぐ 労働価値説 ●第2章 本質的困難 本質と偶有 本質的困難の普遍性 複雑性とは 同調性とは 可変性とは 不可視性とは ●第3章 人月との戦い ソフトウェアエンジニアリングは何を解決してきたのか 時代背景と本質的困難の関係 ソフトウェアエンジニアリングと本質的困難 ●第4章 これからのソフトウェアづくり 抽象化・自動化・モジュール化 抽象化 仕様化と実現の関係 進化型ソフトウェア 新しい世界観 一様から多様へ 操作から生命へ 可視から不可視へ 本質的困難再考 おわりに―人月の神話を超えて 読書案内 ■著者プロフィール 大槻繁(おおつきしげる):日立製作所にてソフトウェアエンジニアリングの研究・開発に従事。2004年よりコンサルタント会社一(いち)副社長。ITシステム関連の調達・開発プロジェクトの見積り評価、診断・改善のコンサルティングを行う傍ら、コストモデルや経済モデルの研究・開発を進めている。IPA/SEC定量的マネジメント領域委員、同価値指向マネジメントWGリーダ、JEITAソフトウェアエンジニアリング技術分科会委員、アジャイルプロセス協議会フェロー、同知働化研究会運営リーダを務める。
-
ビジネス・実用-1巻2,068円 (税込)IoT(Internet of Things)システムがさまざまな業界で具体的に構築され始めています。新規のシステムをゼロから構築するケースもありますが,既存のシステムや事業を前提に,IoTシステムを構築するケースも多く見られます。従来のITシステムとは異なり,IoTではハードウェアとソフトウェア両面でどのように設計するか,多岐にわたる知識とノウハウが必要となります。本書では,すでにさまざまなIoTシステムの構築に取り組んできた著者陣が,IoTシステムの設計に必要な基礎知識と実践的なノウハウをわかりやすく解説します。
-
いまや普及期に入りつつあるIoT、興味のある方も多いのではないでしょうか。しかし電子工作に馴染みのない方にとっては、どこからどうはじめればよいのかわかりづらいことも多いでしょう。本書はそんな方に向けた一冊です。「ESP32」とういマイコンを使い、インターネットにつながる機器を実際に作っていきながら、IoT開発の世界に飛び込みましょう!
-
現在話題となっている機械学習(Machine Learning)のツールやライブラリは内部でどのような計算をしているのか? 計算で得られた結果にはどのような意味があり,どのようにビジネス活用すればよいのか?――という疑問を持つエンジニアが増えています。本書は機械学習理論を数学的な背景からしっかりと解説をしていきます。そしてPythonによるサンプルプログラムを実行することにより,その結果を見ることで機械学習を支える理論を実感できるようになります。
-
前作の『ITエンジニアのための機械学習理論入門』から、5年経過しましたが、AI(人工知能)や機械学習に対しての期待と関心はまったく衰えません。むしろ機械学習の利用はIT業界で当然のものとなり、さらなる活用がさまざまな場所で行われています。前作では一般的な機械学習について解説しましたが、試行錯誤しながら1つの解をもとめていく「強化学習理論」についてくわしく・やさしく解説します。理論を表現するいろいろな数式とそれらをプログラミングするためのPythonコードを並列しながらその理論の神髄にせまり、強化学習の基礎となるさまざまなアルゴリズムを体系的に学びます。
-
ビジネス・実用-1巻2,178円 (税込)Software Designで完売御礼の特集号,ITエンジニアと線形代数,ITエンジニアと微分積分,ITエンジニアと数学の各特集記事を再編集しまとめました。各記事,それぞれ筆者が再検討し修正,場合によって加筆をしております。内容はほぼ高校から大学の教養課程の数学と,Pythonを使ったプログラミングが中心。しかし,Deep Learnningや機械学習,人工知能の基礎を学ぶことができます。ITと数学の組み合わせはとてもパワフルです。他にも十分に応用できる基礎を本書で得てください!
-
本書は決して残業をやめて楽をしようという本ではありません。 「決められた勤務時間内を全力疾走して成果を出すために勤務時間外はきちんと休む」 「そのために残業をやめよう」 このようなことを目的とした本です。 本書では,月100時間のサラリーマンエンジニアだった著者が,年間6か月の残業0と有給消化100%を達成するために試行錯誤した「残業しない働き方」を伝授します。 残業はなにが問題なのか 自分の心の壁はどうの乗り越えるのか 残業をしない状態でどうやって周りの信頼を得るのか 決められた時間内に成果を出すためにどうするか 残業しない事で新たに生まれた時間をどの使うか これらのことを考え,そして「ITの専門家」として最大限成果を上げるためのノウハウが身につきます。 日々,残業でくたくたになったエンジニアはもちろん,業務でなかなか成果を出せないエンジニアにもぴったりな1冊です。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 【必要なAccess VBAコードを自分のプログラムにさっと組み込めます。】 Access VBAによるアプリ開発のための、究極のレシピ集。 定番のテクニックから目からウロコの達人ワザまで、目的別に参照しやすいよう体系的に集めました。プログラミングの基礎から文字列処理/数値処理/テーブル/クエリ/フォーム/レポート/ファイル処理、SQL……充実したレシピを1冊に凝縮。業務で日常的に使用している方、日々プログラム開発されている方には手放せない内容です。Access 2021/2019/2016/Microsoft 365版に対応。 ■こんな方におすすめ ・Accessを業務で使用している方 ・Access VBAで開発をされている方 ■目次 Chapter 1 Access VBAの基礎 Chapter 2 VBEとエラー処理 Chapter 3 文字列処理 Chapter 4 数値計算 Chapter 5 日付・時間 Chapter 6 テーブル・クエリ操作 Chapter 7 フォーム操作 Chapter 8 フォームのレコード操作 Chapter 9 コントロール操作 Chapter 10 印刷・レポート Chapter 11 Excel等のファイル処理 Chapter 12 データベース接続 Chapter 13 SQL ■著者プロフィール 星野努(ほしのつとむ):ティーズウェア代表。Access登場初期の頃から開発に携わり、これまで個人からSQL Serverと連携した企業向けまで幅広く設計・開発を担当。主な著書は『仕事の現場で即使える!Accessデータベース作成入門』、『使いやすさを決める!Access2007フォーム作成ガイド』など。
-
技術が進むにしたがって、コンピュータの中身が見えなくなってきています。コンピュータの頭脳としてCPUがあって、OSがあってプログラムが動く…。漠然とわかっていても、実際にどういうしくみで意図したとおりに動作しているのかとなると、なかなかイメージできないものです。本書はこのように、ブラックボックスになっているコンピュータのしくみを、「炙る」「揚げる」などの過激な手法も用いつつ、半導体レベルから実際に目に見える形でひもといていきます。
-
本書は,アプリケーション開発者目線でコンテナ技術の価値を見なおし,Webアプリケーション開発のアジリティを高く保つために,それを活かせるようになることを目的とします。 第1部ではコンテナ技術の概要と動向を整理し,コンテナを活用したアプリケーション開発ワークフローを体験します。 第2部ではシンプルなコンテナアプリケーションの実行に適したAzure Web App for Containersを利用します。 第3部では,コンテナ実行基盤の事実上の標準であるKubernetesをベースとしたAzure Container Appsで,マルチコンテナアプリケーションを動かします。 本書を読むことで以下の知識を身に付けられます。 コンテナを使った開発環境構築の方法 コーディング,ビルド,テスト環境としてVisual Studio Code+Remote Container拡張の使い方 コンテナアプリケーションの運用負担を軽減するクラウド(Azure)のサーバレス,フルマネージドなコンテナサービスの使い方 回復性および可観測性のあるコンテナアプリケーションを開発する指針 異なる実行環境を知り,比べることで,コンテナの利点や活用にあたっての課題を,よりイメージしやすくなるでしょう。
-
◆機械学習・LLM活用の現在地点◆ Azure Machine Learningは機械学習における学習から推論、運用までをエンドツーエンドでサポートするプラットフォームです。本書は、機械学習の活用を推進するエンジニアやデジタルトランスフォーメーションを担う人々に向け、Azure Machine Learningを使った機械学習モデルの構築から運用まで解説しています。基本から、自動機械学習(AutoML)機能を使った便利なモデル開発、MLflowと機械学習パイプラインを使った実践的なモデル開発を経て、MLOpsの実現を目指します。大規模言語モデルの活用にあたっては、モデルカタログやプロンプトフローの使い方を解説し、LLMOpsの概念にも触れます。 ■目次 ●第1部 Azure Machine Learningの基本 ・第1章 機械学習をビジネスに活かすには ・第2章 Azure Machine Learningの概要 ・第3章 Azure Machine Learningのセットアップ ・第4章 AutoMLの概要と実践 ●第2部 機械学習モデルの構築と活用 ・第5章 スクラッチでのモデル開発 ・第6章 MLflowによる実験管理とモデル管理 6.5 まとめ ・第7章 機械学習パイプライン ・第8章 モデルのデプロイ ・第9章 MLOpsの概要と実践 ●第3部 大規模言語モデルの活用 ・第10章 大規模言語モデルの概要 ・第11章 基盤モデルとモデルカタログ ・第12章 プロンプトフローの活用 ・第13章 LLMOpsへの招待 ●付録 ・付録A クライアント環境のセットアップ ・付録B Azure Machine Learningとデータ ・付録C MLflow Modelsによるノーコードコンテナビルドとデプロイ ・付録D 責任あるAIツールボックス ■著者プロフィール ●永田 祥平:元日本マイクロソフト株式会社 クラウドソリューションアーキテクト。大学院で分子生物学やバイオインフォマティクスを学んだあと、2020年より日本マイクロソフト株式会社に入社。クラウドソリューションアーキテクト(AI)として、おもにエンタープライズのお客様を対象に、Azureデータ分析・機械学習基盤や生成AIアプリケーションの導入・活用支援を行う。2024年より米国系SaaS企業に移り、プロダクトマネージャーとして日本、韓国、台湾市場に向けた生成AI・エージェント機能の企画開発を行っている。第1章から第3章、第10章の執筆と全体統括を担当。 ●立脇 裕太:日本マイクロソフト株式会社 クラウドソリューションアーキテクト。Softbank(SBT)、Deloitte、DataRobotでビッグデータ、クラウド、機械学習を活用してお客様のデータ活用を推進する経験を経て、日本マイクロソフトに入社。現職では、需要高まる生成AIの活用を支援する案件に従事しつつ、お客様のMLOps成熟度Level4実現に向けた支援にも従事。MLOpsCommunity(JP)のオーガナイザーでMLOpsやAIガバナンスに関する講演や記事執筆などを実施。第5章、第9章、第13章の執筆を担当。 ●伊藤 駿汰:日本マイクロソフト株式会社 クラウドソリューションアーキテクト/株式会社Omamori 取締役。本業でAI/ML開発(とくに自然言語処理方面)と利活用の技術支援、機械学習基盤やMLOps基盤の構築および活用の技術支援を行うクラウドソリューションアーキテクト、副業で自社サービスの開発を担うソフトウェアエンジニアとして活動。第6章、第11章、付録B、付録Cの執筆を担当。 ●宮田 大士:日本マイクロソフト株式会社 クラウドソリューションアーキテクト。情報学の修士号を取得後、製造業にてデータ分析/機械学習システムの構築/データ分析基盤の開発を経験し、日本マイクロソフトに入社。現職では、自動車産業・製造業を中心とした幅広い業界のお客様にAIの導入/活用を支援。第4章と第12章の執筆を担当。 ●女部田 啓太:Regional AI Architect Lead, Office of the Chief Technology Officer, Microsoft Asia。Oracle、SAS Instituteでのデータ分析、統計解析、機械学習の経験を経て、2018年よりMicrosoftに入社。現職では、アジア地域における重要な基盤モデルの開発・運用管理、AI Agentのシステム構築プロジェクトへの技術支援などを実施。第7章、第8章、付録A、付録Dの執筆を担当。"
-
◆Astroを使ったSSG/SSRによる実践的なサイト制作を完全解説!◆ 本書は、近年モバイルファーストやSEOの観点から再び注目されている「静的サイトジェネレータ」(SSG)による静的サイトの制作に適したフレームワーク「Astro」の解説書です。これまでのJavaScriptフロントエンドフレームワークは、動的サイトの生成(CSR/SSR)を主目的としていましたが、Astroはビルド時にJavaScriptを最大限除去することで、シンプルで高速な静的Webサイトの生成を可能にしています。また、ReactやVueなどのフレームワークと連携することで、静的Webサイトのビルドツールとしても利用できます。本書では、Astroの基本からコンポーネントベースのWebサイト制作の進め方、SSGモードによる静的サイト制作/SSRモードによる動的サイト制作、エンドポイント/アクション/ミドルウェアなどのサーバサイド機能まで、Astroの機能を網羅して解説します。 ■こんな方におすすめ ・Astroを使った「静的サイトジェネレータ」(SSG)による静的サイトの制作を学びたい人 ■目次 ●第1章 Astroを初体験 ・1.1 Astroとは ・1.2 Astroの環境構築 ・1.3 Astroプロジェクトの作成と実行 ・1.4 本書で必要なTypeScript文法 ●第2章 Astroコーディングの基本 ・2.1 Astroのコンポーネントと基本構文 ・2.2 Astroコンポーネントでの変数の表示 ・2.3 Astroコンポーネントでの制御構文 ●第3章 コンポーネント間連携 ・3.1 コンポーネントの埋め込み ・3.2 コンポーネントのProps ・3.3 子コンポーネントをカスタマイズするSlot ●第4章 ルーティングとレイアウト ・4.1 ルーティングとルートパラメータ ・4.2 レイアウト機能 ・4.3 ページネーション ●第5章 コンポーネントベースのWebサイト制作 ・5.1 コンポーネントベースのWebサイト制作ケーススタディの概要 ・5.2 BaseLayoutの作成 ・5.3 TOPページの作成 ・5.4 ニュースページとマークダウンファイル ・5.5 デプロイの準備 ●第6章 動的サイトとSSR ・6.1 ケーススタディの概要と準備 ・6.2 天気情報コンポーネントの追加とSSGの問題点 ・6.3 Astroで動的処理を実現する方法 ・6.4 Astroのアイランド ・6.5 SSRデプロイ ●第7章 Astroでのコンテンツの扱い ・7.1 コンテンツコレクション ・7.2 動的ルートとSSRの組合せ ・7.3 Storyblokによるコンテンツ管理 ●第8章 Astroのその他の機能 ・8.1 バックサイドに関する機能 ・8.2 フロントサイドに関する機能 ■著者プロフィール 齊藤 新三(さいとう しんぞう):WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。Webシステムの設計からプログラミング、さらには、Android開発までこなす。HAL大阪の非常勤講師を兼務。
-
「1画面を変更したつもりが,アプリ全体のUIが崩れてしまった」 「理想のデザイン通り実装したのにユーザーが使いにくい」 「コードが複雑に入り組んでいてもはやメンテナンス不能」 こんな課題の数々は,Atomic Designの考え方を使えば解決できます。 本書では,UI設計のこれまでの問題をあぶり出し,設計の本質から,具体的な手順,UIテスト,現場でひっかかりやすいポイントまでを,インターネットテレビ「Abema TV」のUI設計で実践導入した著者が解説。フロントエンドの方にオススメの1冊です。
-
本書は,アプリケーションアーキテクチャの基本設計フェーズにおいて「何を作るか」ではなく「どう作るか」を設計する際のガイドです。心臓部となるサーバサイドを中心に,シングルページアプリケーションの台頭で再び重要性を増してきたクライアントサイド,SQLなどの伝統的な処理方式とビッグデータ技術という新潮流が混在するバッチ処理,システム間連携と,さまざまな分野を網羅します。アーキテクトやエンジニアが習得するべきコアのスキルとして,長きに渡って活用できる一冊です。
-
クラウド環境(Amazon Web Services)を前提としてアプリケーション開発し,それを運用することはごく普通なものになりました。しかし,実際にシステムをサービス開始してみると,想定したパフォーマンスを達成できないことが多々あります。それはシステムにかかる負荷を正しく見積もっていないことが原因であるようです。本書では,クラウド環境での負荷試験のやり方や評価方法を解説します。筆者たちはさまざまなクラウド環境でのアプリケーションの開発と運用で実績を積んできました。その成果を余すことなく1冊にまとめました。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 あのややこしそうなアルゴリズムがこんなにわかりやすいなんて! 動物たちの会話やアクションを読んだり見たりしていくだけで,むりなくアルゴリズムの基本が身につく,楽しい図鑑です。 お手元のパソコンで手軽に動かして実感できるPython実習つき。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ◆ラズパイ PicoやESP32と、Arduino IDE&FreeRTOSを組み合わせれば、高機能な作品もらくらく◆ 組み込みプログラミングにおいて、「AをやりながらBも同時に進める」といった並行処理は、プログラムの難易度を著しく上昇させます。しかし、リアルタイムOS(RTOS)を用いることで、タスク管理が容易になり、コードの見通しを良くすることができます。 本書の主題であるFreeRTOSは、軽量かつ幅広いプラットフォームに対応したRTOSです。現在はMITライセンスのもとオープンソースとして提供されています。Wi-Fi、Bluetooth、イーサネットを介したクラウド接続機能も強化されています。 本書では、リアルタイムOSであるFreeRTOSを、手軽に利用できるプラットフォームとしてArduinoを使うことを軸に解説します。特に、標準でFreeRTOSベースで構成され、デュアルコアに最適化されたESP32、およびデュアルコアのタスク割り当てが可能なRaspberry Pi Pico WをArduinoで使用する方法に焦点を当てます。小型で安価なXIAOシリーズを中心に、ブレッドボードでの具体的な製作例を通して、FreeRTOSの実践的な使い方を詳細に解説します。 ■こんな方におすすめ ・ラズパイPIやESP32で、もっと多機能な作品を作りたい人 ・FreeRTOSを使いたい人 ■目次 第1章 FreeRTOSとは 第2章 ArduinoとFreeRTOS 第3章 テスト用ハードウェアの製作 第4章 FreeRTOSの基本の使い方 第5章 応用編 第6章 インターネットラジオの製作 第7章 グラフ表示IoTボードの製作 第8章 メカナムホイール車の製作 第9章 カメラ付きリモコンカーの製作 第10章 自動水やり器の製作
-
本書は,JavaScriptの定番SPA開発フレームワーク「Angular」の解説書です。データバインディング,コンポーネント,依存性注入といったAngularを理解するための基本要素をはじめ,ディレクティブ/パイプ,フォーム,ルーティング,モジュール/コンポーネントの技術解説,ディレクティブ/パイプ/サービスの自作やテストなどの応用的なテーマまでを網羅。また,Angular 4に対応し,5以降のアップグレードにも留意した解説を行っています。Angularによる動的Webアプリケーション開発に必要となる知識が,この1冊で身に付きます!
-
動的Webアプリケーション開発の現場では,FlashやSilverlightを代表とするRIAが衰退し,JavaScriptとHTML5をベースとしたSPAが主流になりつつあります。本書は,Googleが提供する最新JavaScriptフレームワーク「AngularJS」を取り上げ,特徴的な双方向バインディング/DIコンテナー/ルーティングを駆使した開発手法から,ディレクティブ,フィルター,サービス,WebAPI,コントローラーなどの解説,ディレクティブ/フィルター/サービスの自作やテストなどの応用的な技術までを網羅します。AngularJSによるWebアプリケーション開発に必要となる知識が,この1冊で身に付きます。
-
Ansibleは,コマンド1つで複数・大量のサーバに対して同一の環境を実現できる「構成管理ツール」の1つ。導入によって,サーバ構築・管理の作業を大幅に簡略化できます。本章はそのAnsibleについて,インストールから丁寧に解説する初心者向けの入門書です。入門に留まらず,PlayBookの高速化やWindowsホストの管理方法など実践的なノウハウも紹介します。さらに付録として,Ansibleコマンドのオプション一覧と設定ファイル(ansible.cfg)のマニュアルも掲載し,入門を終えた読者もしっかりサポートします。
-
「iタウンページ」「ANA」「しゃべってコンシェル」などの開発実績を持つテックファームが,Androidアプリの開発手法をおしみなく紹介! 「プロジェクトの円滑な進め方」「意図しない動作の回避」「強制終了しない」「処理の切り分け」「品質を向上させる」「安全なリリースを行う」といった,開発会社の視点で気をつけなければならないポイントが満載です。「とりあえず動く」アプリの先を目指す,Androidアプリ開発者必携の1冊。 ※本書は2014年に刊行された『良いAndroidアプリを作る139の鉄則』の改訂版です。
-
本書は,腕時計型デバイス向けのAndroid Wearアプリケーションを開発するために必要な知識をまとめた入門書です。Androidスマホアプリの開発経験はあってもAndroid Wearアプリははじめてという方のために,小さい操作画面,円形/四角形といった異なる画面形状,スマホとの連携といった,独特な考え方に対する解説と,必須となるコーディングテクニックをコンパクトにまとめました。開発環境はAndroid Studioです。Android Wearアプリ開発の最初の一冊として,標準的な機能を持ったアプリの設計・実装を独力で行えるようにします。
-
Androidアプリ開発は,かつてはEclipse+Javaが主流でした。しかし,GoogleがAndroid Studio/Kotlinを正式採用し,EclipseベースのAndroid開発ツールのサポートが終了したことをうけ,今後Androidアプリ開発はAndroid Studio一択という状況になり,Android Studioの需要は高まっています。 本書はそんなIDEに焦点を当てた書籍です。本書は新人エンジニアに向けて,豊富な機能が揃ったIDEをどのように使いこなすかをわかりやすく解説した書籍です。Kotlin /Java両対応。
-
【ご注意:本電子書籍は,紙の書籍として刊行した『Android Studio本格活用バイブル~効率的にコーディングするための使い方』を,電子版でアレンジしたものです。紙版には収録しきれなかった部分(A5判,約300ページ相当)までをすべて含めた内容となっています】Androidアプリの開発に欠かすことのできないGoogle謹製のIDE「Android Studio」。本書では,基本的な知識から導入方法,エディタの使い方,バージョン管理の方法,さらにはAndroid Studioを語る上では欠かせないリファクタリング機能や内部構造まで,Android StudioのベースとなったIntelliJ IDEAのエキスパートである著者が徹底解説しています。はじめてAndroidアプリを開発する方,これからAndroid Studioを学びたい方はもちろん,ソフトウェア開発に関わるすべての方必読の一冊です。
-
-
データ分析によって価値ある意思決定につなげたいと考えるのがデータ分析者の本分ではないでしょうか。ところが「データ分析」を行うためには,さまざまな工程を経ることになります。データ分析に携わったことのある方であれば身に覚えがあるでしょう。 ExcelのGUI操作,可視化の設定,レポート,他ツールとの連携などで発生する繰り返し作業を減らすための手間を惜しんではいけません。これらの工程で発生する手作業を無自覚に受け入れることは,本来取り組まなければならない「分析」の時間を無駄にすることと同じです(1回の業務が5分短縮できたとしましょう。1年で300回同じ作業が発生したとしたら,1500分=25時間。約1日です。この時間で何ができるでしょうか?)。 あなたがRを利用していれば(これからRをはじめるという方も)ラッキーです。Rの豊富なパッケージを利用することでデータ分析のワークフローを効率化できます。本書は以下のような構成で,単純な作業をプログラミングによって自動化する方法を解説していきます。 1章 R環境の準備と基本操作 2章 Excel・CSV・TSVファイルの読み込みとデータ整形 3章 グラフ描画の基本と応用 4章 HTML・Word文書への出力と分析結果の共有 5章 Googleサービスとの連携 6章 Web上のデータ取得とWebブラウザの操作 7章 データフローの整理と定期実行 Excel操作,グラフ描画,レポート,Googleサービス連携,スクレイピングなどデータ分析に欠かせない工程が,本書の内容によって効率化できるかもしれません。Rでなんでも完結してしまいたいというR愛にあふれる執筆者が集まり,便利なパッケージの使いどころを解説していきます。 Rを使って自動化/効率化への第一歩を踏み出しましょう!
-
ビジネスパーソンに向けた,脱Excel,プログラミングの入口につながるRでのデータ分析入門書! 日々の仕事の中で,こんな作業はありませんか? 表データに決まった手順でフィルターをかけて,それをグラフにする 複数のExcelファイルを1つのExcelファイルにまとめる 定型のPowerPointを作成する 単純なデータの加工や集計はExcelで事足ります。ただ,複雑な処理や繰り返しの処理が必要となったときには,より高度な関数やマクロを使いこなす必要が出てきます。 本書はマクロを含め,プログラミングにまったくふれたことがない人を対象に書かれています。Rの本としては珍しく,数式も統計学も出てきません。文系出身の普通のビジネスパーソンでも,普段行っているデータの加工がより楽に,効率的にできるようになります。 Rは,統計処理に特化したプログラミング言語と言われています。1990年代に作られて以降,統計だけでなくさまざまなところで利用されています。 表形式のデータを自由自在に加工・集計できる機能も含まれており,プログラムを書いてデータを取り扱うことができるというその性質から,ルーチンワークやたくさんのデータを処理する際に使われてきました。その便利さは,Excelの比ではありません。 本書は,オンラインコースのUdemyでベストセラーとなっている著者の人気コース「医師が教えるR言語での医療データ分析入門」をベースとし,Excelでのデータ加工と集計に特化して作成されました。オンラインでのレクチャー同様,「語りかける」ように解説します。 著者は企業の産業医をするかたわら,データの処理や分析を行ってきました。その中で,Excelより効率的にデータの加工・分析ができる,Rと出会いました。Rを普及させたい! そんな思いで本書を執筆しました。 Excelより効率的にデータを加工して,周りと差をつけたい。プログラミングに興味あるし,実務にも生かしてみたい。そんなあなたに,本書は最適な導入となるはずです。
-
本書は野村総合研究所のシステムコンサルティング事業本部で実施している「アナリティクス研修」をベースにした書籍で、「統計的なモデリングとは何か?」「モデルに基づく要因の分析と予測の違いとは?」「具体的なモデルの作り方」「結果を解釈する際の落とし穴の見分け方」など、ビジネスの現場感を重視した構成です。実務で遭遇するデータ品質や加工のポイント、さらにRとPythonを利用し、データからモデルを作成して結果を得るという基本的な手順を体験できます。これからデータ分析や統計解析、機械学習を学び、現場でそれらを活用したい方に最短学習コースでお届けします。
-
本書は野村総合研究所のシステムコンサルティング事業本部で実施している「アナリティクス研修」をベースにした増補改訂版で,「統計的なモデリングとは何か?」「モデルに基づく要因の分析と予測の違いとは?」「具体的なモデルの作り方」「結果を解釈する際の落とし穴の見分け方」など,ビジネスの現場感を重視した構成です。実務で遭遇するデータ品質や加工のポイント,さらにRとPythonを利用し,データからモデルを作成して結果を得るという基本的な手順を体験できます。これからデータ分析や統計解析,機械学習を学び,現場でそれらを活用したい方に最短学習コースでお届けします。
-
ビジネス・実用5.01巻3,740円 (税込)セイバーメトリクスとは、ベースボールのデータを利用して戦術を分析することです。本書は、データアナリスト、野球愛好家にRを利用したセイバーメトリクスを紹介します。Rは、データの読み込み、適切なフォーマットへの変換、グラフによるデータの視覚化、統計分析の実行まで、すべての分析ステップを完結できる便利なソフトウェアです(使用されているすべてのデータセットとRコードはオンラインから利用できます)。 第2版では、Rのモダンなデータ分析を可能にするtidyverseを採用し、選手やボールの動きを高速・高精度に分析するために必須となったStatcastによるプレーヤ追跡データを加筆しました。初版のすべてのコードをtidyverseに準拠して修正しました。さまざまなベースボールのプレーとそのデータを通して、モダンなRの利用方法とセイバーメトリクスについて学習できます。
-
RStudioはR言語のIDE(開発環境)です。エディタ,コンソール,グラフなどを1つの画面内で確認できるほか,データ分析プロジェクトをスムーズに進めるための機能が豊富に用意されているので,RユーザにとってRStudioを利用したデータ分析はスタンダードになっています。本書はRStudioの基本的な機能を解説したあとに,データ分析ワークフローを一通り解説していきます。データの収集(2章),データの整形(3章),可視化(4章),レポーティング(5章)など,データ分析に欠かせないこれらの要素の基礎を押さえることができます。また,本書はtidyverseパッケージを用いてこれらのデータ分析ワークフローを解説している側面を持ちます。tidyverseの考えに触れ,モダンなデータ分析をはじめましょう。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-13237-8)も合わせてご覧ください。 Rには多くの分析手法を実行するパッケージが提供されていますが,同じ用途であってもパッケージごとに関数の記法が違ったり,データの入力形式や出力形式が違ったりするため,データの前処理やモデルの評価といった工程におけるコーディングは,意識しなければバラバラになってしまいます。また,これが原因でスムーズな分析パイプラインを作成できず,分析環境で行ったモデリングを本番システムへ移行することを考えると,その保守は困難を極めます。 これらの問題を解消するために開発され,統一的なインターフェースを提供するのがtidymodelsです。データ整形における同様のコーディングの問題を解決するためのパッケージ群で知られるtidyverseのプロジェクトの1つとして注目を浴びています。 データ分析の工程には,データ準備,モデルの作成,モデルの評価,モデルの改善,モデルの運用といった一連の工程があります。本書ではそれぞれの工程をtidymodelsパッケージ群で行う方法について解説します。tidymodelsパッケージ群を利用することで,スムーズなデータ分析パイプラインを効率的に構築できるようになるでしょう。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-12784-8)も合わせてご覧ください。 本書は,より成長させやすいコードの書き方と設計を学ぶ入門書です。 システム開発では,ソフトウェアの変更が難しくなる事態が頻発します。コードの可読性が低く調査に時間がかかる,コードの影響範囲が不明で変更すると動かなくなる,新機能を追加したいがどこに実装すればいいかわからない……。 変更しづらいコードは,成長できないコードです。ビジネスの進化への追随や,機能の改善が難しくなります。 成長できないコードの問題を,設計で解決します。
-
※本書は2009年に発行された書籍の電子版になります。 【技術が苦手でも、これならわかる。】 オブジェクト指向はなぜ難解なのか。わかったつもりになっても、実はよくわからないのはなぜか。その理由は、オブジェクト指向の持つ“二面性”にある。「理解」と「創造」の二面性を理解することで、いままで難しいと思っていたオブジェクト指向が、驚くほど簡単にわかるようになる。 豊富な具体例を用いてわかりやすく解説する、いちばんやさしいオブジェクト指向入門の決定版。 ■こんな方におすすめ ・オブジェクト指向がわかるようになりたい人 ・オブジェクト指向の本質をつかみたい人 ・ソフトウェア開発でレベルアップしたい人 ■目次 ●第1章 それはシリコンバレーから始まった~オブジェクト指向の歴史 きっかけはアラン・ケイ/コンピューティング環境Smalltalk/シミュレーションのためのSimula/Smalltalk後のオブジェクト指向~C++/Javaの衝撃/UMLの登場/21世紀:オブジェクト指向の一般化/理解するのが難しい理由 ●第2章 ケーキとDVDソフト~オブジェクト指向の概念を理解する あるSEの日常/オブジェクト/メッセージ/オブジェクト指向/オブジェクト指向の使い道/メッセージとオブジェクトの振る舞い/属性/状態/属性と状態/オブジェクトと仕事/責務/クラス/クラスの定義/クラスがあると何が嬉しいのか/オブジェクト指向とクラス指向/クラスどうしの分類/オブジェクト指向の本質は二つだけ ●第3章 プログラミング言語進化論~オブジェクト指向プログラミングへの道 プログラミングの進化の歴史/抽象化へ至る道/手続き抽象/構造化プログラミング/データ抽象/大規模化の壁/機能分割の課題/課題1:大規模分割を最初に行うことの難しさ/課題2:仕様変更の影響範囲の広さ/課題3:類似性の散在/データに関する課題/課題4:データの定義と利用箇所の乖離/課題5:名前の衝突/課題6:アクセス違反/モジュール化/課題1の解決/課題2の解決/課題3の解決/課題4の解決/課題5の解決/課題6の解決/モジュール化を取り入れたプログラミング言語/モジュール化の課題/オブジェクト指向/モジュールを型にする/継承 ●第4章 抽象化と分割の歴史がもたらしたもの~オブジェクト指向プログラミングの特徴 オブジェクト指向で作ったシステムの構造/オブジェクトの定義と生成/カプセル化とアクセス制御/オブジェクト指向システムの動作に関する特徴/オブジェクトの組み合わせ/メッセージの送信/イベントとメッセージ/継承による差分プログラミング/ポリモーフィズム(多態性)/オブジェクト指向プログラミングの七つの特徴 ●第5章 ショートケーキはなぜショートケーキなのか~オブジェクト指向分析 「理解する」ということ/「内包」/特殊な概念と一般的な概念/概念の上下関係/「外延」/「属性」/人間の理解/人間の理解とオブジェクト指向の関係/オブジェクト指向分析の利点/(1)人間の理解の枠組みに対応した表現方法の存在/(2)メッセージの存在/(3)UMLという標準表記法の存在/オブジェクト指向分析の落とし穴/(4)必ずしも正解が手に入るとはかぎらない/(5)すべてを表現できるわけではない ●第6章 中央集権から地方分権へ~オブジェクト指向設計 オブジェクト指向設計の特徴/(1)結合度・凝縮度をコントロールする方法の増加/(2)設計思想の変化/【1】権限の委譲/【2】動くもののやり取り/【3】オブジェクト指向分析に基づく設計/オブジェクト指向らしさとは/(3)新しいメカニズム ●第7章 よくあるQ&A~オブジェクト指向への疑問とその解答 Q1 オブジェクト指向は「重くて使えない」と聞きましたが、本当ですか?/Q2 オブジェクト指向を使うと、生産性や品質が向上するのですか?/Q3 Javaを使えば、オブジェクト指向のメリットが得られるのですか?/Q4 オブジェクト指向で分析・設計をすると、何が嬉しいのですか?/Q5 本当に、現実世界をそのままモデル化できるのですか?/Q6 オブジェクト指向では「シームレスな開発ができる」と聞きましたが、これはどういう意味ですか? 参考文献 ■著者プロフィール 井上樹(いのうえたつき):2000年より(株)豆蔵。現在は組込み系ソフトウェア開発を中心に、オブジェクト指向、プロセス、コンサルティング、セミナーを担当。著書に『オブジェクト嗜好度向上計画』(いずれも翔泳社)などがある。
-
ビジネス・実用4.01巻2,178円 (税込)※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書は,Webシステムのセキュリティを支える技術を幅広く解説します。具体的には,公開鍵暗号,共通鍵暗号,ディジタル証明書,電子署名,認証・認可などの基礎技術の用語や理論の説明から,それらを応用したSSL/TLS,SSH,OAuth,OpenID Connectなど各種の規約やプロダクトの使い方までを解説します。 今やWebシステムは社会や経済を支える基盤となっており,Webシステムの開発・運用に携わるITエンジニアは前述の技術の理解が欠かせません。暗号技術,認証・認可にかかわる基礎教養と具体的な規約・プロダクトをこの1冊で学べます。 本書は,IT月刊誌『Software Design』の暗号技術,認証・認可に関連する特集記事などを再編集した書籍です。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 小学校におけるプログラミング教育の必須化に伴い、最も広く使われているプログラミング言語がスクラッチ(Scratch)です。 スクラッチによるプログラミングの機会が増えていることから、子供にプログラミングを学ばせたい親や、教材として使用したい先生から注目されています。 本書は「今すぐ使えるかんたん」シリーズとして、スクラッチによるプログラミングを一手順ごとに丁寧に解説しています。 また、ゲーム的な要素を多めに取り入れ、子供が取り組みやすい内容にしてあります。 本書は総ルビ(全かな入り)となっておりますので、小学生が一人でも読み進められるように編集されています。 さらに、家庭や学校での学習だけでなく、ビジネスマンが時間の合間に楽しく読める教養書としてもご利用頂けます。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 HTML5の要素とCSS3のプロパティに関する情報を,コンパクトなサイズにまとめました。よく利用される要素やプロパティを重点的に解説していますので,これから学習を始める人はもちろん,仕事でHTMLやCSSを使っている人にも役立つ内容です。必要な情報を探しやすいよう索引機能も充実! 本書を手元に置いておけば,「この要素はどうやって使うんだったかな?」というときにすぐに調べられます。お勧めの1冊です。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 本書はSQLを学習する人に向けた,新感覚な入門書です。イラストを中心に解説することで,SQLがわかりやすくスラスラ理解できます。重要な内容は全てイラストに示されているので,イラスト部分だけを読むことでも,SQLがマスターできます。また,付属のCD-ROMには,本書オリジナルのSQL体験学習アプリが収録されているので,アプリを使って,実体験もできます。
-
ビジネス・実用5.01巻4,180円 (税込)因果推論とは,ある要因が何を(どれくらい)引き起こしたのかを判断するためのツールです。本書は,因果推論に関する最近までの進展をまとめ,学生や実務家を対象として,因果関係に関する意味のある回答を導き出すために必要な統計的手法を解説していきます。 本書の最大の特徴は,理論だけでなく,統計プログラミング言語(R,Stata)による実装を重視している点にあります。例題には,読者が利用できるデータとコードが添付されており,すぐに手を動かして実践することができます。本書は機械学習に関するトピックを含まない一方で,理論的な解説が詳細であるほか,DAGや合成コントロール法といった発展的なトピックを扱っています。これらのトピックは,近年の因果推論の理論的進展において重要ですが,入門レベルの書籍において解説している点で希少性があります。
-
IntelliJ IDEAはチェコのJetBrains社が開発した,快適な操作性と豊富な言語サポートが特長の統合開発環境(IDE)です。もともとはJavaエンジニアのために開発されたIDEでしたが,近年はKotlinやScalaといったそのほかの言語のユーザからも人気です。Android開発用のIDE「Android Studio」のベースに採用されたことでも注目が集まりました。本書はそのIntelliJ IDEAの入門書です。第1部では,編集・実行・デバッグ・移動・バージョン管理・データベースとの接続について,短いコードを書きながらハンズオン形式で解説していきます。第2部では,Java EEやSpring,ScalaやKotlinのプロジェクトを取り上げ,現場での開発を想定した操作方法を解説します。無償版のIntelliJ IDEA Community Editionの機能を中心に,Ultimate Editionの高度な機能も紹介するので,PhpStormやRubyMineといったJetBrainsのほかのIDEを使っている方にも有用な1冊です。
-
本書はIDEに焦点を当てた書籍です。IDEは豊富な機能が揃っているため、Java開発を行う際、IDEを使うのはデファクトスタンダードになっています。IntelliJ IDEA はJava開発におけるIDEとしてEclipseと双璧をなしており、デバックの取り扱いなどEclipseと比べシンプルな点で海外ではEclipseより支持されています。また、Javaのみならず最近話題のKotlin/ScalaなどのIDEとしても人気があります。本書は新人エンジニアに向けて、豊富な機能が揃ったIDEが裏で何をやっているかをわかりやすく解説した書籍です。なお,本書でとりあげるJUnit/GradleといったツールはScalaなどJava以外の言語にも対応しているため,Javaユーザ以外にも役立つ内容になっています。
-
アクセシビリティとは「利用可能な状況の幅広さ」のこと。より多くの人が,より多くの環境で,より多くの状態で利用できることです。もちろんそこには視覚・上肢・認知などに障害があるケースも含みます。日々繰り返し利用するWebアプリケーションにこそ,アクセシビリティが求められます。 Webサイトに比べて,多くのインタラクションを行うWebアプリケーションでは,アクセシビリティの確保はやや難易度が高いものです。特に既存のWebアプリケーションは複合的な課題を抱えていることが多く,教科書どおりの方法では必ずしも改善できません。 本書では,Webアクセシビリティの基礎である「HTMLとWAI-ARIA」を解説したうえで,Webアプリケーションの要である「フォーム」,色やテキストなど「UIデザインの基本」,モーダルダイアログや通知など「少し複雑なUIパターン」の3分野に分けて,よくある事例を取り上げながら,現実的で段階的な改善方法を紹介します。 さらには,デザインシステムの活用や組織での推進法など,アクセシビリティの取り組みを定着・推進・向上させるためのノウハウも詳説します。
-
Webアプリ開発には幅広い知識と,多様な技術を使いこなせることが求められます。HTTP・Webサーバ・サーブレット・JSP・Cookie・セッション・プロキシサーバ・TLS・認証・JavaScriptでのDOM操作・Ajax。これらを正しく説明できますか?使いこなせますか? 人に聞いただけでは忘れるかもしれません。読んで理解しただけでは使えないかもしれません。しかし,自分で試して納得した技術は使えるようになります。本書では,Webサーバを作りつつ,実際に動かして結果を見ながら,先に挙げた技術要素を1つ1つ解説します。
-
特集1 競技プログラミングの過去問で学ぶアルゴリズム 本特集では,競技プログラミングサイト「AtCoder」で実際に出題された問題を通じて,アルゴリズムを学んでいきます。競技プログラミングではアルゴリズムが重視され,そこで培われる計算量を改善する能力はWeb開発の現場でも必要とされています。アルゴリズムは時代に流されない技術であり,扱うデータ量が増えた今だからこそ重要性を増しています。ぜひこの機会に学び,問題を解く力を身に付けてください。 特集2 iOS 13徹底活用 iOS 13では,ダークモード,Sign in with Apple,Core NFCの機能強化といったユーザー向けの機能のほかにもARKit3,Core ML 3といった開発者向けの機能が多数追加されました。本特集では,最初にiOS13で追加された新機能を紹介します。そして,新しいUI作成フレームワークSwiftUI,ダークモードへの対応方法,Swift Packages in Xcodeによるパッケージ管理,非同期処理フレームワークCombineといった開発者向けの注目機能について詳しく解説します。 特集3 小一時間でゲームを作る 「プログラミングはできるけどゲームは作ったことがない」という方に,ゲーム開発のおもしろさを体験していただく特集です。グラフィックなど細部の作り込みは省いてゲームとして重要な部分のみにフォーカスして,4つのジャンルのゲームを開発します。JavaScriptを使って解説しますので,ブラウザで読み込むだけで開発途中の動作も確認できます。本特集の解説を見ながらゲームを開発していき,少しずつ確実に完成に近付いていく過程を味わってください。
-
特集1 接続エラー,性能低下,権限エラー,クラウド障害 AWSトラブル解決 原因調査・対応・予防のノウハウ 本特集ではAWS(Amazon Web Services)特有のよくあるトラブルについて,原因調査方法と解決策を紹介します。「つながらない」トラブルとしては,権限設定,ネットワーク設定に起因する事例を取り上げます。運用上のトラブルとしては,アプリケーションにエラーが発生した場合,パフォーマンスが悪い場合の対処法を紹介します。そして最後にAWS 側の障害や変更に起因するトラブルを取り上げます。実際のトラブルは多種多様ですが,トラブルシューティングの流れは変わりません。本特集の内容は多くのシーンで活用できるはずです。 特集2 Ruby書き方ドリル 要点解説と例題で身に付く! Rubyコードを書いて仕事をしているけどいまいちうまく書けている感じがしない方を対象に,Rubyコードの書き方をドリル形式で解説します。まずRubyの概念上の重要ポイントを解説し,そのあと例題を提示します。例題に対しては,さまざまなレベルの解答を紹介し,それを評価します。例題と解答は,筆者が所属しているマネーフォワード社内やほかのOSSのリポジトリ,Web上の質問サイトのコードやPull Requestで見かけたものや,ありがちなものをもとにしています。 特集3 体験 ドメイン駆動設計 モデリングから実装までを一気に制覇 ドメイン駆動設計(DDD)は,ソフトウェアを適用しようとする領域をドメインと定めて,ドメインを基軸としながら設計とコードが正しく連携するように促す手法です。多くのメリットがありながらも,伝統的な開発手法と比べるといささか重厚/複雑で,敬遠されがちな面があるのも事実です。そこで本特集では,DDD の要であるモデリングからそれを実装に落とし込む過程を一気に,けれどていねいにたどります。DDD を具体例とともに追体験することで,そのハードルはきっと下がるはずです。DDD の力の片鱗をぜひ感じ取ってください。 一般記事 FigmaによるUIデザイン デザイナーとエンジニアがオンラインで協業できる! 一般記事 入門 SwooleによるPHP非同期処理 高速化のための並列実行はどのように書くのか
-
特集1の前半では,TypeScriptの基礎を学びます。後半では,JavaScriptで構築されたアプリケーションをTypeScriptへと段階的に移行する過程を通して,実践的な使い方を身に付けます。 特集2では,Amazonが提供するAWS(Amazon Web Services)とGoogle が提供するGCP(Google Cloud Platform)のコストコントロールについて解説します。 特集3ではWindows10ユーザーのために開発環境の今を紹介します。
-
特集1 React/Vue.jsで実践! コンポーネント設計 モダンフロントエンドの構造化と分割の新提案 昨今のWebアプリケーション開発ではコンポーネント指向による開発が活発化していますが,コンポーネントの分割や役割の持たせ方は現場でも悩みのタネです。本特集ではそれを解決するために,「メンタルモデル」を活用したビューコンポーネントの設計/実装方法を提案します。「関心の分離」によって疎結合を実現して部品の再利用性を高めるとともに,並列的でスムーズな開発フローの実現を目指します。 特集2 RDBMS徹底比較 PostgreSQL,MySQL,SQL Server,Oracle Database 本特集では,PostgreSQL,MySQL,SQL Server,Oracle Databaseの4つの代表的なRDBMSを,OSから見たアーキテクチャ,SQL,オブジェクトの3つの視点から比べ,その違いをまとめて説明します。本特集でとりあげるのは,RDBMSの違いのほんの一部ですが,RDBMSを選定するときや移行するときに知っておきたい基礎的な部分を紹介します。 特集3 実践Scala オブジェクト指向×関数型 オブジェクト指向と関数型プログラミングの特徴を合わせ持ち,型安全・簡潔・エレガントな表現ができるように設計され,じわじわと人気が高まっているプログラミング言語Scala。 本特集では,基本的な文法からSlack APIを使ったWebアプリケーション開発までを解説します。さらに,2019年6月にリリースされたScala 2.13.0で進した点にも触れ,Scala の持つ奥深い魅力や楽しさも紹介します。 一般記事 自作キーボードのススメ デザイン,配列,打鍵感……自由自在
-
特集1 開発環境の整備,効果的な議論,評価制度 実践リモートワーク オフィスに集まれない課題の解消方法 COVID-19が世界中で流行し,われわれの活動は変化を余儀なくされました。そこで注目を集めたのがリモートワークです。しかし,いざ行ってみると,今までオフィスでの開発では現れなかった問題が発生します。本特集では,以前から準備を進め2020年6月よりリモートワークを基本とする勤務体制に移行したGMOペパボのエンジニアにより,リモートワークをどう導入していったか,そして実践して浮かび上がった問題点とその対策など,現場のノウハウ満載で解説します。 特集2 Pythonデータ可視化入門 COVID-19/家計調査/財政データで実践! 本特集ではPythonによるデータの前処理と可視化,さらにその情報のWebアプリケーション化を解説します。政府などが公開するオープンデータを自分の手元で,自分の見たい形に可視化する実践を通して,データ処理の手法と見せ方の工夫を自分のものにしましょう。 特集3 ツールで簡単! はじめての脆弱性調査 Rails,nginx,サブドメイン,DB,OpenSSL 本特集では,脆弱性の発見に役立つツールの使い方を紹介します。静的解析ツールやネットワークスキャナなどを用いることで,Ruby on Railsやnginxなどのミドルウェア,サーバやネットワーク機器の脆弱性を簡単に発見できます。脆弱性の修正コストは,開発後よりも開発中のほうが低いため,昨今,開発プロセスにセキュリティ対策を組み込むDevSecOpsの重要性が叫ばれています。脆弱性の見つけ方を知っておくことは,開発者にとっても大切です。
-
特集 安全運用のためのベストプラクティス! AWS/GCPセキュア化計画 本特集では,AWSとGCPでの安全な設定の指針を解説します。クラウド利用者にとってセキュリティは最優先事項です。また,クラウドには,従来のオンプレミスとは異なる特有のセキュリティ項目があります。本特集では,AWSとGCPそれぞれの特性を踏まえて,最小の工数で高いセキュリティレベルを実現する方法を説明します。さらに,セキュリティで必須となる監査において,結果の集中管理と可視化を行う方法を紹介します。 特集2 生体認証でさよならパスワード 作って学ぶWebAuthn WebAuthnは,2019年3月にW3Cで標準化されたパスワードの代わりに公開鍵を使用するWeb認証の仕様です。フィッシング被害を撲滅する安全性と,簡単にログインできる利便性を両立します。本特集では,まず第1章で,パスワードや2段階認証など従来の認証が抱える問題を,WebAuthnがどのように解決するのか紹介します。第2章でWebAuthnの仕様を詳しく解説します。第3章からは実践編として,WebAuthnの一番の魅力であるパスワードレス認証を実装します。第3章で開発環境を構築したうえで,第4章では公開鍵の生成と登録処理を,第5章では署名の生成と認証処理を実装します。 特集3 カード発行,決済,個人間送金の舞台裏 Kyash開発ノウハウ大公開 モバイルアプリからプリペイド式Visaカードの発行や個人間送金が誰でも簡単に行えるKyash。リアルカードを発行すれば,オンラインだけでなく実店舗でも決済ができます。本特集では,Kyashのカード決済システムやカード情報を守るためのセキュリティ,そして2019年10月から提供を開始したカード発行と決済を提供する企業向けサービスKyash Directの設計と実装を紹介します。 19周年記念エッセイ 経験,技術力の向上,技術の進化を経た今,思うこと 過去の自分へコードレビュー これまでに,みなさんもたくさんのコードを書いてきたと思います。自分のコードを年月を経て今見返すと,自分が成長したことにより,また取り巻く技術が進化したことにより,当時は気付かなかったことが見えてくるのではないでしょうか。本エッセイでは,各分野で活躍されているエンジニアの方々に,過去の自分のコードに対しレビューをしていただきます。Web開発者の方だけではなく幅広いジャンルの方々にご執筆いただいているので,新しい発見があるはずです。
-
特集1 はじめてのトラブルシューティング 本特集では,トラブルシューティングの基礎知識から実践までを紹介します。トラブルシューティングを行うためには,前提となる基礎知識が不可欠です。Webアプケーションであれば,フロントエンドからバックエンドまでの幅広い知識が必要ですモバイルアプリであれば,Webアプリケーションとは異なるリリースフローを意識しければなりませんし,OSごとの違いを知っておく必要もあります。 トラブルシューティングは備えあれば憂いなし。本特集を参考に,できることから始めていきましょう。 特集2 [実践]AWS CodeDeploy 本特集では,現場で活きるデプロイ環境の構築技術を身に付けることを目標に,AWS CodeDeployを使ったWebアプリケーションのデプロイを実践します。デプロイは,信頼性の高いサービスを提供するうえで欠かせない重要な役割を担っています。AWSCodeDeployにより,柔軟にスケールできる/安定状態にすぐロールバックできる/高速に自動デプロイできる,信頼性の高いデプロイを簡単に実現します。 特集3 アプリケーションアクセシビリティ 世の中のアクセシビリティについての情報は伝統的なWeb ページを前提としたものが多く,アプリケーションのUIに関する情報はあまり流通していません。また,モバイルアプリケーションでのアクセシビリティの実装方法もあまり知られていません。そこで本特集では,Web/モバイルアプリケーションでのアクセシビリティについて取り組み方から改善のノウハウ,よくある問題の解決法まで,先進的な取り組みで知れるfreeeでの実例も交えながら紹介していきます。
-
特集1 自作OS×自作ブラウザで学ぶ Webページが表示されるまで HTMLを運ぶプロトコルとシステムコールの裏側 ブラウザは,開発者にとってもユーザーにとっても,もはや日常の一部と言えるほど身近なソフトウェアです。しかし近年のブラウザはあまりにも高機能かつ巨大になってしまったため,そのしくみを詳しく理解することは難しくなっています。そこで,ブラウザ上でWebページを開くまでに裏側ではいったい何が起きているのかを大まかに解説しつつ,非常に単純な自作ブラウザを自作OS上に実装することで,ブラウザとその裏側を上からも下からも理解していきましょう。 特集2 最新Vue.js 3入門 コアチームが解説! 基本から新機能まで完全網羅 Vue.jsは,ビュー層に特化したライブラリです。必要最小限の学習コストですぐに動かすことができ,規模の大きなシステムにも対応できます。2020年9月に,2年以上をかけて開発されたバージョン3がリリースされました。これは,Vue.jsの歴史の中で過去最大のリリースです。本特集では,Vue.jsコアチームメンバーが,Vue.js 3で開発するうえで必要となる基礎を包括的に解説します。 20周年記念企画 これからのWeb開発 技術を追い,今を知り,この先を見据える 毎年恒例の記念号企画ですが,今回は20周年記念。拡大版として9人の方に3ページずつご執筆いただきました。しかも,テーマはそのものずばり「これからのWeb開発」。Web開発の中心である9つの分野について,第一人者の方々に「これから」を論じていただきます。もちろん変化の激しいこの世界ですから,未来予測はむずかしいもの。けれど,これまでの動向をふまえて現状を確認し,そのうえで語る「これから」は,きっとみなさんにとって大きな指針となるはずです。
-
特集1 [さらに速く! さらに書きやすく!] 詳解Ruby 3 JITコンパイラ,並列プログラミング,静的型解析 2020年12月25日にリリースされたRuby3には,「JITコンパイラ」「並列プログラミング」「静的型解析」の3つの新機能が追加されました。本特集では,これらがどのような機能で,どのような意図で実装されたのか,どう使うのが効果的なのかを,Rubyの開発を行っているコミッターの方々に解説いただきます。最終章では,言語設計者であるまつもとゆきひろ氏にRubyのこれからを語っていただきます。 特集2 UIKit,SwiftUI,iPadOS,ウィジェット iOS 14最前線 本特集では,iOSやiPadOSアプリのUI 開発に関する最新情報を解説します。第1章では,Appleプラットフォームの現状を整理します。第2章と第3章ではそれぞれ,2008年の公開以来アップデートを続けるUIKitと,2019年に新しく登場したSwiftUIという2つのUIフレームワークを用いて,UI開発を行う方法を見ていきます。第4章では,iOSアプリをiPadOSとmacOSに最適化する方法を解説します。第5章では,iOS 14の最大の新機能であるウィジェットについて学びます。 特集3 個人と組織の目標がリンクする管理手法 OKR運用指南 OKRは,開発にも適した目標管理手法で,Objective(目標)の「O」とKeyResult(成果指標)の「KR」を組み合わせたものです。組織の掲げる大きな目標とそれを達成するための成果指標から,最終的には個人の目標とそれを達成するための成果指標までが数珠つなぎになることで,最も重要な目標に注力でき,組織の透明性が上がり,一人一人の自律性やモチベーションが高まります。本特集では「個人のOKRを設定する」(第2章),「チームにOKRを導する」(第3章),「OKRの運用を改善する」(第4章)といった具体的なシナリオを通じてOKRの実践的な運用方法を紹介していきます。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-13001-5)も合わせてご覧ください。 特集1 イミュータブルデータモデルで始める 実践データモデリング 業務の複雑さをシンプルに表現! 良いデータモデルとは,モデリングの過程で,考慮されていない要求の穴やエッジケースの発見につながるものです。本特集では,データモデルを書くことを通して,顧客やチームとの対話をいかに進めていくかを解説します。 本特集では,データの更新に着目し,事実の記録は更新されないように整理・分類していくイミュータブルデータモデルという手法を紹介します。「更新」を手がかりに,分析の足りない箇所を洗い出し,堅牢なモデルになっていくさまを皆さんにも体験いただけたら幸いです。 特集2 いまはじめるFlutter iOS/Android両対応アプリを開発してみよう 本特集はマルチプラットフォームフレームワークFlutterの入門記事です。2022年5月にはmacOSとLinuxにも正式対応し,モバイル,Webフロントエンド,デスクトップのアプリケーション開発効率を大きく変える存在になりました。iOS/Android両対応アプリの開発を体験し,導入の足がかりにしてください。 特集3 作って学ぶWeb3 ブロックチェーン,スマートコントラクト,NFT 近年,「Web3」という言葉が注目を集めています。ただ,誇大広告ともとれる話や,暗号資産(仮想通貨)絡みの詐欺的な活動も横行していて,懐疑的な目で見ている方も少なくないと思います。本特集では,Web3の技術的な側面にフォーカスして解説します。どのようなことができるのか,そしてどのようなことができないのか,Web3という技術の,現在の等身大の姿を見ていきます。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-13112-8)も合わせてご覧ください。 特集1 [高速|安全|高生産性] Rust入門 言語の強みをWeb開発に活かす Rustは,パフォーマンス,信頼性,生産性に重きを置いたプログラミング言語です。習得が難しいという印象を持たれがちですが,フレームワークやツールの充実とともに,Webアプリケーションの開発もしやすくなっています。本特集でRust習得の一歩を踏み出してみませんか? 特集2 保守性・拡張性に優れた関数型言語 はじめてのElixir 本特集では,パターンマッチをサポートする関数型言語Elixirを取り上げます。第1章~第5章でElixirの基礎的な部分を網羅的に解説し,最終章では前章までの知識を活用して実践可能なプロジェクトの作成を行います。Elixirの魅力は,保守性や拡張性に優れた開発が可能であることです。本特集を読むことで,それらを実感してください。 特集3 実装して学ぶHTTP/3 通信の高速化をいかに実現しているか 2022年6月6日,HTTP/3が正式勧告になりました。HTTP/2に存在した数々の問題点が改善されています。なかでも通信の高速化は,Web開発者にもユーザーにも大きなメリットをもたらす重要なポイントです。本特集ではHTTP/3サーバを実装することで,HTTP/3がどのようなしくみで動作しているかを学びます。どういった情報がやり取りされているのか,どういう工夫により高速化を実現しているのか,HTTP/2から進化した点をしっかりと理解できるはずです。
-
特集1 識者がたどり着いた最適解 TypeScript最新活用 リンタ,バンドラ,ランタイム,エッジ TypeScriptはWebフロントエンドにおける実装言語として確固たる地位を築いていますが,昨今ではそれ以外の領域においても活用されています。本特集ではTypeScriptが使われる各領域に詳しい著者を招き,TypeScriptエコシステムに関わる具体的な技術領域について動向を概観し,各々の「推し」の技術を語ってもらいます。 特集2 コミッター直伝! 速習Ruby 3.2 Wasm対応,ReDoS対策,性能改善 2022年12月25日にRuby 3.2がリリースされました。本特集では,Ruby 3.2の新機能や改善点をコミッターの手により徹底解説します。まず,大きな変更点であるWebAssembly/WASIへの対応とReDoSへの対策について詳細に解説します。そのあと,新機能,新メソッド,仕様変更,性能改善などを徹底的に解説します。 特集3 Tailwind CSS実践入門 まず作ってから,あとで共通化する CSSフレームワークのTailwind CSSが注目を集めています。その特徴は,flex,pt-4,text-centerといったユーティリティクラスの組み合わせだけで,ほとんどすべてのスタイリングをしてしまおうという大胆なアプローチです。これまでのベストプラクティスと真っ向から対立するようなやり方ですが,だからこそ享受できるいくつもの強みがあります。本特集では,そうしたTailwind CSSの考え方や,具体的な使い方について紹介します。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-13246-0)も合わせてご覧ください。 特集1 古い常識を捨て適切に使う オブジェクト指向神話からの脱却 抽象データ型,ステートマシン,レイヤ構造 オブジェクト指向は1990年代を中心に大流行し開発技術を発展させ,プログラミングにおいて不可欠な技術になりました。その後コンピュータの発展とともにそのままでは適用が難しくなり定義があいまいになっても,「オブジェクト指向を使うと良いプログラムが作れる」といった神話のように扱われています。本特集ではオブジェクト指向技術がどういったものかを解説し,その特性がどのように分解されて現在のプログラミングに適用されているかを明確にすることで,神話のような状況から脱却することを目指します。 特集2 Swift 5.7,Regex,SwiftUI,Charts iOS 16最前線 2022年9月から10月にかけて,iOS 16,watchOS 9,tvOS 16,iPadOS 16,mac OS Ventura がリリースされました。また,Swift 5.7 とXcode 14も,iOS16と同時にリリースされています。本特集では,iOS 16とSwift 5.7を中心に,これらのアップデートを解説します。 特集3 開発を止めずに安全に移行する コンテナ化実践ガイド 長く稼働してきたモノリシックなシステムでは開発速度の低下や運用作業の増加が課題になります。コンテナ化やマイクロサービス化でこれらの課題を解決する事例は増えてきましたが,壁の高さを感じて,なかなか一歩が踏み出せずにいる方も多いのではないでしょうか。本特集では,仮想マシンや物理サーバで動いているシステムの開発・運用を続けながらコンテナ化を進めるための具体的なスケジュールの立て方からありがちな落とし穴まで,筆者の実施経験を基に解説します。
-
特集1 仕様ファーストでいこう! 実践API設計 堅牢で,保守性に優れたWebサービスの実現 本特集では,筆者自身が長年考えて実践してきたことに基づいて,「API仕様ファースト」という聞き慣れない言葉を中核として,Webサービスでのバックエンドサービスの開発方法について説明します。多くのソフトウェアエンジニアは,最初にAPI仕様をきちんと書いて,さらにテストファースト開発を行うことに慣れていません。しかし,本特集で説明することをきちんと実践することは,優れたソフトウェアエンジニアになる,あるいは優れた開発組織となってサービスの成長を支えるうえで重要です。 特集2 はじめての画像回帰テスト Storybook&Chromaticで品質も生産性も向上! 数あるフロントエンドのテストの中でも比較的運用が簡単で費用対効果の高い,画像回帰テストを実装・運用するための方法を紹介します。フロントエンドのテストにおける画像回帰テストの立ち位置と,画像回帰テストを採用するメリットを紹介したうえで,StorybookとChromaticを使った画像回帰テストの導入方法,簡単なチュートリアル,そして,複雑なコンポーネントのテスト方法を解説します。Appendixとして,Storybookをアクセシビリティテスト,UI検証で活用する方法も紹介します。 特集3 画像生成AIのしくみ Stable Diffusionの内部を探る 画像生成AIの一種であるStable Diffusionは,生成画像の自然さ,動作速度の高速さなどにより,登場してすぐに大きな注目を集めました。さらに衝撃的だったのは,「ソースコード」および「学習済みのAIの中身」が無償で公開されたことです。これにより,画像生成を行うだけではなく,そのしくみを詳しく知ることができます。本特集ではStable Diffusionがどのように動作しているのか,これらの情報を噛み砕きわかりやすく解説します。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-12891-3)も合わせてご覧ください。 特集1 Reactの深層 最新バージョンから読み解く! 変わる常識と変わらない思想 本特集はReact 18のリリースを受け,これまでのReactについて復習するとともに,React 18の新機能を紹介します。新機能を使いこなすにあたり,前半ではこれまでのReactの使い方やAPIに込められた思想を確認し,後半ではReactユーザーが対応を迫られる新しい常識を解説します。将来にわたってReactらしいコーディングをするための考察です。 特集2 できるところから無理なく導入! 小さく始めるデザインシステム 「デザインシステム」という用語を耳にする機会が増えました。しかし,重要な概念であることはわかっていても,考えなければいけないことがたくさんあり導入に踏み切れない方も多いのではないでしょうか。もちろんデザインシステムはすべての要素を考慮するのが理想ですが,完璧を目指すあまり採用を見送ってしまうのはもったいないと思います。本特集では「小さく始める」ことをコンセプトに,できるところから無理なく始め,そのメリットを知ってもらうことを目的としています。 特集3 最新レコメンドエンジン総実装 協調フィルタリングから深層学習まで レコメンドエンジンとは,ECサイトやWebサイト上で,ユーザーにお勧めの商品やコンテンツを表示するためのシステムです。本特集では,Python言語を用いてレコメンドエンジンを実際に作成し,理解を深めていきます。実サービスに導入できるレコメンドシステムのしくみ,汎用的なものから深層学習までのレコメンドエンジンの実装,良いレコメンドエンジンとは何かを評価する方法を紹介します。
-
特集1 作って学ぶプログラミング言語のしくみ インタプリタ,構文解析器,文法 プログラミング言語のしくみを,プログラミング言語自体を作ることで学ぶ特集です。「言語を作るのは難しい」と考えている人が多いと思います。しかし,プログラミング言語を作るだけならば,想像しているよりずっと簡単です。そして,実際に作ってみることで,どのようなしくみで動作しているのかをしっかりと楽しく理解できます。この経験は,新たに言語を作るときだけではなく,新しい言語を習得するときなどさまざまな局面で役に立つはずです。 特集2 GraphQL完全ガイド RESTの先へ! フロントエンドに最適化されたAPI GraphQLは,Web APIのためのクエリ言語です。近年の高度で複雑なクライアントサイドアプリケーションにおいては,REST APIでは通信量が多くなったり,レイテンシが大きくなったりすることがあります。GraphQLでは,そういったケースでも効率的にデータを取得できます。そのため,Facebook,GitHub,Netflixなど,多くの企業が採用しています。本特集では,GraphQLの活用に必要な情報を徹底解説していきます。 特集3 速習DynamoDB AWSフルマネージドNoSQLの探求 Amazon DynamoDBは,ご存じAmazon Web ServicesのNoSQLデータベースサービスです。フルマネージドなので機材管理の負荷なくスケールでき,パフォーマンスも自動で最適化されるなど,開発チームにとってはサービス自体を良くする作業に集中できる点が魅力です。とはいえ,よりパフォーマンス良く,よりコストを抑えられるチューニングのポイントはあります。AWSソリューションアーキテクト直伝の本特集でより深い使いこなし方を知ってください。
-
特集1 実践リファクタリング 凝集度と結合度を学び,保守性と生産性を高める 凝集度と結合度は,保守性と生産性の高いコードを書くための尺度です。順次,選択,反復という要素を持つ構造化プログラミングをベースとした,現代の多くの言語に適用できます。オブジェクト指向固有のデザインパターンやSOLID原則以上に,日常的に使う機会が多いかもしれません。本特集では,関数の分け方の基準として凝集度と結合を学び,実際のコードをどのようにリファクタリングしていけば良いか解説します。 特集2 Elixirによる高速なWeb開発! 作って学ぶPhoenix 本特集では,ElixirとPhoenixでWebアプリケーションを開発する方法を解説します。Elixirは,低遅延で高い可用性を実現するプログラミング言語で,その文法はRubyから大きく影響を受けています。Phoenixは,ElixirにおけるデァクトスタンダードなWebアプリケーションフレームワークで,リッチなフロントエンドを持つ昨今の開発で求められる要素がすべて組み込まれています。特集を通してRealWorldという一つのWebアプリケーションを作ることで,ElixirとPhoenixについて実践的に学んでいきましょう。 特集3 入社した会社にすばやく適応する 事業構造,カルチャー,コードの把握 転職もしくは新卒エンジニアとして働き始めるとき,すばやく会社やチームに適応できるに越したことはありません。そのためには,その会社の事業や組織,開発についての情報のインプットと,自分自身の言葉によるアウトプットとで良い循環を生み出すことが重要です。本特集は,まったく違う文化,組織へ転職した筆者が,できるだけ早くパフォーマンスを出して貢献できるようになるために行ったことを紹介します。
-
特集1 上から下まで全レイヤ解説! 複雑化した世界を体系的に学ぶ Web技術総整理 Web技術は,インターネットの普及/拡大に伴いその範囲が広がり,複雑化してきました。今Web技術を学ぼうとすると,どこからどう学べばよいかわからない人も多いと思います。本特集ではこれからWeb開発に携わる方に向けて,それぞれのWeb技術がどのような役割で,ほかのWeb技術とどのような関係なのかが整理できるよう,体系立てて解説します。複雑なWebアプリケーションを開発することになったとき,本特集の基礎知識が必ず役に立つはずです。 特集2 新バージョン登場! PythonによるWeb開発の基本 はじめてのDjango 新しいことを学び始めるなら人気のPythonはどうですか? 本特集でWebアプリケーション開発をやってみましょう!使うのは,Python定番のWebフレームワーク「Django」です。開発未経験でも順を追って進めていけば,Python+DjangoでのWebアプリケーション開発のいろはが学べます。 特集3 Rustで実装! 作って学ぶRDBMSのしくみ Webアプリケーションにおいて欠かせないRDBMSは,重要なシステムであるにもかかわらず,複雑さゆえに使いこなすのが難しいシステムです。また,実用的なRDBMSのコード量は多く,学習目的で読み解くには適していません。そこで,本特集では大きなRDBMSのコードを読むのではなく,小さなRDBMSを実装します。ミニRDBMSを実際に作りながらその内部を知り,RDBMSをもっと活用できるようになりましょう。
-
※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-12790-9)も合わせてご覧ください。 特集1 演習で慣れる! データベース入門 SQL操作,テーブル設計,分析用データ処理 本特集は新人エンジニアのみなさんに知っておいてほしいデータベースの基礎をまとめました。データベース全般,SQL言語,Webサービスとデータ分析基盤でのデータベースの使われ方について知っているつもりの知識を整理し,データベースに触れたことがない方も簡単な演習を通して使い方の一端を実体験としてください。 特集2 クラウド構築ツールの大本命! ゼロから学ぶTerraform Terraformは,インフラをコードで定義して構築するInfrastructure as Codeツールです。操作がシンプルで文法がわかりやすく,GCPやAWS,Azureといったさまざまなクラウドに対応していることから,クラウドインフラを構築するツールとしてデファクトスタンダードの地位を確立しつつあります。本特集ではTerraformについて,ゼロから徹底解説していきます。 特集3 チャットやIssueでちゃんと伝えたい! エンジニアのための英語 Web開発をしていると,海外のエンジニアと英語でやりとりする機会が多くあります。最新情報やドキュメントはまず英語で書かれることが多いですし,ライブラリなどの開発や議論の多くは英語でやり取りが行われています。英語でコミュニケーションができると,さまざまな可能性が開けるのです。本特集では,英語でやりとりするために必要な基礎の復習と,GitHubやコミュニケーションツールでよく使われる表現などを解説します。
-
特集1 開発環境から本番環境まで一気通貫! 実践コンテナ活用 VS Code,Docker,Kubernetes,Azure めまぐるしく変化する社会や技術に適応するため,アプリケーション開発者は「頻繁なリリースと迅速なデプロイ」「道具,環境の多様化」「役割分担とコラボレーション」といった課題に追われています。本特集ではコンテナ技術を使い,手もとの開発環境構築,アプリケーション開発と運用の実践を通じて,こうした課題の多くが解決できることを紹介します。 特集2 iOS 15開発最前線 Swift 5.5,UI開発,通知管理,Xcode Cloud 本特集では,iOS 15 以降のアプリ開発で使える新機能を解説します。Swift 5.5 では,非同期処理と同時並行処理を書くためにSwift Concurrency が追加されました。SwiftUI やUIKit によるUI開発,開発環境のXcode,アプリの通知管理や配信環境にも,多くの機能が追加されています。これらの新機能を使いこなし,魅力的なアプリを効率良く提供しましょう。 特集3 作って学ぶ検索エンジンのしくみ Goで実装! 膨大な情報からどう高速に探すのか 検索エンジンで知りたいことを調べる行為は,今や日常になっています。では,膨大なWebページの中から,なぜ一瞬で目的のページを探せるのでしょうか。それは,検索エンジンに使われているさまざまな工夫によるものです。本特集では検索エンジンをGo言語で作ってみることで,そのしくみを学びます。ユーザーが入力したキーワードがどう処理されるのか,検索のためのデータがどう保持されているのかなど,実装することでしっかりと理解できるはずです。
-
システム運用はいま,転換期を迎えています。DX(デジタルトランスフォーメーション)の推進やクラウドサービスの普及により,運用に求められる考え方は急速に変化しました。クラウドをどう管理していくのか?サービスマネジメントに最適な運用とは?セキュリティへの意識は今のままでいいのか?時代の最先端に常にキャッチアップできる運用チームを作り上げるための,継続的な運用改善ノウハウをまとめました。
-
「あなたの会社のWebサイト,遅くないですか?」 ふとした興味でWebにアクセスすると,重たくて読みたい情報が読めない……。Googleの調査では,Webページの読み込みに3秒かかると53%の人が,別のページに行ってしまいます。Webページを速くする,これはビジネスで成功するために必須の条件と言えます。本書は,Webページの高速化を図るための実践ノウハウを,Webデザイン,HTMLコーディングなどの見地から多面的にまとめました。Googleの提供するツールであるPageSpeed Insight,Chrome DevToolsを徹底活用し,客観的でかつ実際に効果が出る実践テクニックを紹介します。Web担当者,HTMLコーダー,Webデザイナーの皆さんの仕事を活性化します!
-
大好評! HTML5とCSS3のよく使われるタグ,プロパティに内容をしぼったリファレンスです。最新のブラウザ,HTML5の仕様に対応して増補改訂しました。誰もが知りたい目的別だから,使いやすく,引きやすい。あのタグ,どう書くんだっけ?というときにサッと調べられます。サンプルもシンプルで,わかりやすくて,しかも楽しい。ポケットサイズだから机の上でかさばらず,持ち運びやすい。開発業務で必要な方だけでなく,ブログやサイトを運営している方にもおススメです。
-
ビジネス・実用4.01巻3,278円 (税込)本書は,中級以上のGoプログラマーがツール開発・プロダクト開発で必要とされるプログラミングテクニックおよび周辺知識を学ぶための実践集です。 Goはコマンドラインツール,Webサービス開発,ソフトウェアやクラウドサービスの拡張機能開発,IoTなど利用範囲の広いプログラミング言語です。これらの用途でGoを使うには,基本的な文法だけでなく,Goの特徴を活かした定石のコードの書き方,ライブラリの知識,テストなどの開発手法,Go以外の周辺知識などの理解も必要です。文法解説が主の入門書では,これらを学ぶことは難しいです。そこで本書では,現役のGoプログラマーが実務や趣味で開発したオープンソースソフトウェア(OSS)を紹介します。その開発の過程で書かれたコード,参照された資料,使われた開発手法を解説しつつ,より詳しく学ぶための参考資料を提示します。入門レベルを脱して,自ら応用力を身につけるための取っ掛かりとなる情報を提供します。
-
※本書は2009年に発行された書籍の電子版になります。 【何が足りないのか? 何をすべきなのか?】 ムックとしては異例の5年にわたるロングセラーとなった『SEライフ』第1弾が、さらに読みやすい新装版として再登場。そろそろ若手ではなく、中堅としての活躍・貢献が期待される28歳。この年齢をいかに迎えるかが、その後のSE人生を大きく左右します。本書では、現場の第一線で活躍する執筆者たちが、28歳までにぜひ身につけておきたい力を28に分類して紹介。聞く力、10分の力、創り上げる力、納得させる力、考える力、覚える力、自己分析の力、ライセンスの力…。日々の仕事やこれからの人生の大きな力となるはずです。 ■こんな方におすすめ ・プログラマーやSEになって、まだ間もない方。 ・これからプログラマーやSEになりたい方。 ・SEとしてのこれからに不安を感じたり、悩みをかかえている方。 ■目次 ●Chapter1 交渉力 1 守る力 2 伝える力 3 聞く力 4 話す力 5 書く力 ●Chapter2 管理力 6 終える力 7 10分の力 8 残す力 9 分ける力 10 使われる力 ●Chapter3 実務力 11 根底を成す力 12 創り上げる力 13 くみ取る力 14 乗り切る力 15 納得させる力 16 立場を作る力 17 選ぶ力 ●Chapter4 勉強力 18 考える力 19 調べる力 20 覚える力 21 英語の力 ●Chpter5 自己力 22 自己分析の力 210 23 目標設定の力 216 24 ライセンスの力 資格なんて無意味?/どんな資格があるのか/資格をキャリアに生かす/身の丈に合った資格を 25 辞める力 26 保つ力 ●Chapter6 生活力 27 ストレスとつきあう力 28 家庭で生きる力 ■著者プロフィール 石川 説明堂(いしかわ せつめいどう):情報伝達のノウハウを提供する個人事業主。業務マニュアル制作、ウェブテキスト執筆、各種文書のわかりやすさ改善などを手伝っている。 伊藤 直也(いとう なおや):株式会社はてな 執行役員 最高技術責任者。青山学院大学物理学修士。株式会社ニフティを経て2004年9月に株式会社はてなに入社。共著作に『Blog Hacks』(オライリー・ジャパン)など多数。 今井 孝(いまい たかし):活躍の場をITという仕組みから、コミュニティという仕組みに拡大し、経営コンサルティングや研修講師を行っている。独自のコミュニティ・マネジメント方法論を体系化し、教育・支援した企業・団体は数百に上る。 中尾 真二(なかお しんじ):フリーランスのライター、エディター。アスキーの書籍編集から始まり、オライリー・ジャパン編集長を経て、翻訳や執筆、取材などを紙、ウェブを問わずこなす。IT系が多いが、たまに自動車関連の媒体で執筆することもある。 南方 司(みなかた つかさ):電子決済やセキュリティ、ネットワーク設計を得意とするSEだったが、デスマーチプロジェクトを境にSEから足を洗うことを宣言。現在は大手外資系ソフトウェア会社で政策渉外・国際標準化活動などに従事する傍ら、いくつかの大学で教鞭をとる。 山内 美香(やまうち みか):CORRECT Inc.(コレクト)代表。大手情報系出版社に入社後、企画・編集業務を経て独立。情報システムの戦略的利用が進んだ90年代からIT分野にも関与。PMとして国内最大シェア携帯電話キャリアのWWW社内研修システムを構築するなど、おもに企画・提案・構想・要求定義フェーズの実績を持つ。
-
システム開発の現場では、プログラミング言語と同じくらい、SQL(データベースのデータを参照/更新するための言語)が使われています。しかし、プログラムは書けても、SQLはよくわからないというITエンジニアは意外と多いです。SQLやデータベースの理解不足のまま開発すると、アプリケーションは作れても、「性能がでない」「メンテナンス性が悪い」といった問題が発生し、あとで苦労することになります。 本書は、SQLの文法は学んだもののSQLに苦手意識を持っているITエンジニアのための書籍です。複雑なSQLを読める/書けるようになるには、データベースの表をカタマリで操作する考え方(集合志向)を理解する必要があります。本書では、「データベースの表をカタマリで操作するイメージ」を持てるように、文法の解説はいったん脇に置き、どのようにイメージすれば良いか、ほかの手続き型言語とどう違うか、というポイントを豊富な図を使って入念に解説します。 また、SQLやデータベースで起こりがちな性能、メンテナンス性、開発効率などの問題を解決するには、データベースのしくみを理解し、アプリケーションとデータベースの役割を適切に分担する必要があります。こちらについても、さまざまな図と例を使って、問題が起きるメカニズムと解決のアイデアを紹介します。
-
本書は,「iPhoneアプリを開発してみたい!」と思う人が,最初に手に取っていただくことを想定した解説書です。難しいことは気にせず,開発ツールである「Xcode」をとにかく説明文のとおりに操作すればアプリを作ることができます。画面上の操作も,1つひとつのステップを掲載しました。プログラミング言語「Swift」のことをまったく知らなくても,iOSアプリを作れます。iOSアプリの開発は,SwiftのプログラムとStoryboardでのグラフィカルな設定の組み合わせで成り立っています。本書では,とくにStoryboardでの作業に重点をおき,極力プログラムを書く量を少なくしています。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 社会のさまざまな場面で使われるようになった人工知能(AI)。AIは,気づかないうちに私たちの社会や生活に深く入り込んでいて,多くの恩恵がもたらされるとともに,さまざまな課題も発生しています。本書は,社会を映す「鏡」でもあるAIについて,深層学習など技術の基本から,公平性や不平等,監視と安全のトレードオフ,分断やフェイクニュースといった社会の問題に対する影響と課題までをマンガとイラストでわかりやすく解説しました。AIというレンズを通して,今の私たちの社会を見つめなおし,技術とのかかわり方を考える1冊です。
-
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 情報通信技術(ITC)が高度に発展した今日,私たちは,さまざまなデータに囲まれて暮らしています。データがなければ,ありふれた日々の営みですらスムーズには行えません。そんな現代社会で必須の「データ」を扱う科学が,「データサイエンス」です。本書は,データサイエンスの概観がざっくりと把握できるよう,イラストや図をたくさん使って,やさしく解説した「入門の入門書」です。難しい数式は使っていないので,数式が苦手な方にもおすすめです。Excelでデータサイエンスを体験できるダウンロードデータ付き。
-
◆MSXで基礎から学べるBASICプログラミングの入門書◆ 当時はプログラミングに挫折した人に贈る、MSX-BASICを使用したゲームプログラミングの入門書です。制御構文や変数といったプログラミングの基礎から表現の幅を広げる工夫まで、まだプログラミングをしたことがない人でも理解できるように解説します。MSX-BASICは簡単な記述でゲームを作れるように設計されており、テキストベースのゲームからシューティング、アクション、RPGと、BASICの基礎を身につけながらステップアップすることで自分の作品を作れるようになります。特典として、MSX公式エミュレーター「MSXPLAYer」をダウンロードできます。 ■こんな方におすすめ ・あの頃はゲーム開発者になりたかった大人 ・新MSXからレトロゲーム開発をやってみたい人 ■目次 第1章 MSXとは ・MSXの概要 ・MSXのエミュレーター ・MSXPLAYerの使い方 ・MSX0 Stack ・MSX0 Stackの使い方 ・以前販売されていたMSX実機を利用する 第2章 MSX-BASICをはじめよう ・BASICとは ・まずは簡単なプログラムから ・MSXの基本操作 ・変数とは ・BASICの基本命令・構文 第3章 ブロックくずし ・テキストベースのブロック崩し ・しくみを考える ・ラケットの表示と移動 ・ボールの表示と移動 ・ラケットとボールの当たり判定 ・残機とスコアの表示 ・ブロックの表示と当たり判定 第4章 シューティング ・スプライトを使ったシューティング ・しくみを考える ・スプライトについて ・自機の処理 ・敵の処理 ・撃墜とゲームオーバー処理 ・効果音をつける 第5章 アクション ・PCGを使ったアクション ・スプライト定義 ・壁等のグラフィック定義 ・足場の処理 ・プレイヤーの処理 ・残機の管理とゲームオーバー処理 第6章 タイピング ・MSXでは珍しいタイピングゲーム ・課題文字列をまとめる ・キーボード入力の処理 ・その他の処理 第7章 アドベンチャー ・謎解きアドベンチャー ・図形を描く ・画面を作成する ・コマンド入力を実装する ・各コマンドでフラグを管理する 第8章 RPGのバトル画面 ・コマンド選択式バトル ・ゲーム画面を作成する ・メインループを作成する ・勇者のコマンドを実装する ・ドラゴンの行動を実装する 付録A VRAMアクセス 付録B MSXのドキュメント 付録C 便利なツール類 付録D BASIC命令まとめ ■著者プロフィール 山田 直樹(やまだ なおき):インディゲームクリエイター。スマホ向けのゲームアプリの個人製作を経て、2018年からMSX-BASIC等の再学習をはじめブログにまとめる。MSX用同人カートリッジゲーム「大仏パラダイス」やMSXゲーム製作解説の同人誌を製作。 米澤 遼(よねざわ りょう):「余熱」名義で、同人誌や同人ハードウェアの製作・販売を行う。近年はFPGA評価ボード向けMSX互換I/O拡張ボード「DEOCM」などMSX関連のアイテムを多くリリース。山田氏とは「大仏パラダイス」の製作を通じて交流を深め、その後の同人誌執筆などもサポート。著書:『CPU自作入門』(共著、技術評論社)
-
◆プロトタイプから一歩進んだ実践的なMCPサーバー◆ MCP(Model Context Protocol)は、LLM(大規模言語モデル)とツールを連携させる革新的なプロトコルとして急速に普及しています。MCPによってAIエージェントに各種のタスクを任せることが現実になりました。同時に重要性を増しているのが、自サービスのMCPサーバーを完備してAIフレンドリーにすることです。サービスやデータベースは「AIから使えるかどうか」によってその価値が大きく変わります。 本書はMCPの基礎概念からMCPサーバー開発のための環境構築、基本的な実装、複雑なドメインヘの応用、そして品質保証を扱います。書籍内では実例として、初歩的な天気予報サーバーや、実践的な社内ドキュメントサーバーを作成します。また、著者が独自に考案した「4層テスト戦略」は、従来のAPIテストでは対応困難なMCP特有の課題に対する解決策を提示します。さらにはCI/CDおよび自動テストの構築という運用面まで、MCPサーバー開発のすべてを学べる1冊です! ■こんな方におすすめ ・実践的なMCPサーバーを作りたい方 ・自身や自社の持つデータ資源をAIエージェントに活用させたい方 ・LLMが介在するシステムのテストや品質保証に関心のある方 ■目次 第1章 MCPサーバー開発の基礎知識 ・1.1 MCPとは何か ・1.2 MCPサーバーの基本アーキテクチャ ・1.3 開発環境の構築 ・1.4 まとめ 第2章 MCPアーキテクチャの理解 ・2.1 MCPプロトコルの全体像 ・2.2 MCPサーバーの設計パターン ・2.3 MCPサーバーのスケーラビリティ ・2.4 セキュリティアーキテクチャ ・2.5 他のプロトコル・アーキテクチャとの比較 ・2.6 まとめ 第3章 基本的なサーバー実装 ・3.1 公式サンプルの解析 ・3.2 HTTP APIとの連携 ・3.3 天気予報MCPサーバーの構築 ・3.4 まとめ 第4章 複雑なサーバー設計 ・4.1 複雑な処理フローの設計 ・4.2 実例:過ごし方提案MCPサーバー ・4.3 応用:社内ドキュメントサーバー ・4.4 スケーラビリティとパフォーマンス ・4.5 設定管理とデプロイメント ・4.6 まとめ 第5章 MCPサーバーのテスト戦略 ・5.1 4層テスト戦略 ・5.2 Layer 1:単体テストの実装 ・5.3 Layer 2:プロトコルテストの実装 ・5.4 Layer 3:カスケードテストの実装 ・5.5 Layer 4:E2Eテストの実装 ・5.6 まとめ 第6章 CI/CD統合 ・6.1 GitHub Actionsでの自動テスト ・6.2 テストカバレッジの測定と改善 ・6.3 デプロイメント自動化 ・6.4 その他の品質保証のベストプラクティス ・6.5 まとめ ■著者プロフィール ●岡 翔子(おか しょうこ):大阪在住。AWSジャパンを経て現在はLINEヤフー株式会社でエンジニアとして勤務。LLMの応答に関する論文執筆経験をもち、個人でMCPサーバーの開発を行っている。趣味は読書と現代美術鑑賞。X:@0xshooka ●高山 洪銘(たかやま こうめい):どちらかといえばソフトウェアエンジニア。モバイルアプリケーション開発やSDK開発のほか、ソフトウェアテストの自動化にも長年従事。近年は開発者支援や組織的なナレッジ共有にも注力する傍ら、機械学習やデータ分析にも関心を持ち、一部のAI作曲コンテスト等にも出没している。 ●餌打 優太(えうち ゆうた):LINEヤフー株式会社でエンジニアとして勤務。LINE公式アカウントのMCP Server(line-bot-mcp-server)の立ち上げを行う。また、株式会社Bocekでエンジニアリングマネージャーを務める。ポートフォリオ:https://euchi.jp
-
◆MCPを制するものが生成AI技術を制する。◆ 現在のAIは確かに賢くなりました。ChatGPT、GeminiやClaudeは、人間のような自然な会話ができ、複雑な質問にも的確に答えてくれます。しかし、1つだけ決定的に足りないものがあります。それは「手」です。どんなに賢くても、ファイルを読むことも、データベースに接続することも、外部のAPIを呼び出すこともできません。 この限界を突破するのが、本書で学ぶMCP(Model Context Protocol)です。MCPは、AIに「手」を与える革命的な技術です。Anthropic社が2024年11月にオープンソース化したこの技術により、AIは単なる会話パートナーから、実際に作業を実行するパートナーへと進化します。 ■こんな方におすすめ ・生成AIを本格的に開発に利用したい、プログラマー、ITエンジニア、研究者、大学生、高専生など。 ■目次 序章 AIのUSB-Cが変える開発の未来 第1章 MCPを30分で体験する 第2章 MCPとは何か 第3章 最初のMCPサーバーを作る 第4章 JSON-RPCを理解する 第5章 MCPをもっと便利に使う2つの通信方式 第6章 データベース連携サーバー 第7章 外部API連携サーバー 第8章 汎用MCPツール群を作る――Web検索編/コード実行編 第9章 MCPホストを自作する――FastMCPで作る基本クライアントとマルチサーバー管理 第10章 MCPエージェントを作る――対話型AIアシスタントの実装 第11章 独自MCPサーバーの公開・共有 ■著者プロフィール 小野哲:ソフトウェア開発歴40年を超えるプロ技術者。当社では『逆算式SQL教科書』『最新図解 データベースのすべて』『3ステップで学ぶOracle入門』『ソフトウェア開発にChatGPTは使えるのか?』『生成AIアプリ開発大全――Difyの探求と実践活用』などの書籍がある。そのほかに『現場で使えるSQL』(翔泳社)など。ウェブアプリからデータベースまで幅広い知見と技術を持つ。昨今では生成AIやPythonによるソフトウェア開発のコンサルも行う。