図解まるわかり プログラミングのしくみ(増井敏克)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 図解まるわかり プログラミングのしくみ

図解まるわかり プログラミングのしくみ 発売予定


形式:
書籍
発売日:
ISBN:
9784798163284
価格:
本体1,680円+税
仕様:
A5・240ページ
分類:
プログラミング・開発
シリーズ:
図解まるわかり
  • このエントリーをはてなブックマークに追加

言語の特徴からWebの知識、
アルゴリズムまですべて図解
確かな知識がつく「使える教科書」

【本書のポイント】
・解説とイラストがセットで理解しやすい!
・どんな言語でも使える知識を解説!
・言語の特徴からWebの知識までを網羅!
・キーワードから知りたい項目を調べやすい!
・しくみがわかると開発がぐっとはかどる!

【こんな方におすすめ】
・プログラミングをはじめたばかりの人
・ステップアップしてスキルをみがきたい人
・プログラミングの基礎知識を知りたい人
・周囲の人が使う用語がわからないことがある人

【内容紹介】
一口にエンジニアといっても
その業務は、開発するものや
開発環境によって全く異なるものです。

どんな言語でも使える知識を
身につければ、スムーズに
開発を行うことができます。

そこで、本書では見開きで
1つのテーマを取り上げ、
図解を交えて解説しています。

最初から順に読んで
体系的な知識を得るのはもちろん、
気になるテーマやキーワードに
注目しながら読むなど、
状況に合わせて活用してください。

【目次】
第1章 プログラミングの基礎知識~まずは全体像から理解する~
第2章 プログラミング言語の違いとは?~それぞれの言語の特徴、コードを比較する~
第3章 数値とデータの扱い方~どのように値を持つのが理想?~
第4章 流れ図とアルゴリズム~手順を理解し、順序立てて考える~
第5章 設計からテストまで~これだけは知っておきたい開発方法とオブジェクト指向の基本~
第6章 Web技術とセキュリティ~Webページを支える技術を理解する~


第1章 プログラミングの基礎知識~まずは全体像から理解する~
1-1 プログラミングを取り巻く環境〜ハードウェア、ソフトウェア、プログラム、アプリケーション~
1-2 プログラムが動く環境を知る〜Webアプリ、スマホアプリ、デスクトップアプリ~
1-3 誰がプログラムを作るのか〜職業プログラマ、趣味プログラマ、事務作業の自動化、RPA~
1-4 プログラムの開発に関わる職種の違い〜SE、プログラマ、PM、テスター~
1-5 プログラミングに関わる業界の違い〜SIer、Web業界、組込み系、メーカー系、ゲーム~
1-6 プログラマの働き方を知る〜SES、派遣社員、請負、1on1~
1-7 複数人が共同でプログラムを実装する〜ペアプログラミング、モブプログラミング~
1-8 開発したプログラムを公開する〜フリーウェア、シェアウェア、販売方法~
1-9 プログラミングをどうやって学ぶか〜書籍、動画、スクール、勉強法~
やってみよう

第2章 プログラミング言語の違いとは?~それぞれの言語の特徴、コードを比較する~
2-1 コンピュータが処理できる形に変換する〜ソースコード、実行ファイル、インタプリタ、コンパイラ~
2-2 人とコンピュータが理解しやすい表現〜高水準言語、低水準言語、クロスプラットフォーム~
2-3 プログラミング言語を分類する〜パラダイム、手続き型、オブジェクト指向~
2-4 宣言型のプログラミング言語〜関数型、論理型~
2-5 手軽に使えるプログラミング言語〜スクリプト言語、マクロ、マークアップ言語~
2-6 プログラミング言語の比較1〜C 言語、Java, C# ~
2-7 プログラミング言語の比較2〜Ruby、Python, PHP ~
2-8 プログラミング言語の比較3〜JavaScript, VBScript ~
2-9 どこでも動かせるようにする工夫〜JIT 方式(バイトコード、中間言語) ~
2-10 プログラミング言語の選び方〜実行環境別、開発規模別~
2-11 プログラムを作成する環境〜エディタ、IDE、RAD、イベント駆動~
2-12 ソフトウェア開発の流れを知る〜ウォーターフォール、アジャイル、スパイラル~
やってみよう

第3章 数値とデータの扱い方~どのように値を持つのが理想?~
3-1 コンピュータでの数字の扱いを知る〜10 進数、2 進数、16 進数、ビット~
3-2 計算の基本を理解する〜四則演算、演算子~
3-3 コンピュータが処理する単位〜式、文、値~
3-4 コンピュータに記憶させる〜変数、定数、マジックナンバー~
3-5 自由に変えられない名前〜予約語、リテラル~
3-6 数学における「=」との違い〜比較、代入~
3-7 コンピュータで数字を扱う〜整数型、論理型、実数型、浮動小数点数~
3-8 コンピュータで文字を扱う〜文字型、文字列、配列~
3-9 文字を扱うときの注意点〜文字コード、文字化け~
3-10 複雑なデータ構造を表現する〜構造体、列挙型~
3-11 データをまとめて管理する〜抽象データ型、オブジェクト指向~
3-12 異なる型でも扱えるようにする〜型キャスト、型変換~
3-13 プログラミング言語による型の扱いの違い〜静的型付け、動的型付け、ダックタイピング~
3-14 何も値がないことを表現する〜NULL、nil、NaN ~
3-15 同じ型のデータをまとめて扱う〜静的配列、動的配列、多次元配列~
3-16 配列を番号ではなく名前で扱う〜ハッシュ、連想配列~
3-17 データを順にたどる構造を知る〜線形リスト(単方向リスト)、双方向リスト、環状リスト~
3-18 積み上げたデータを順に処理する〜スタック(LIFO)、プッシュ、ポップ~
3-19 届いたデータを順に処理する〜キュー(FIFO)、エンキュー、デキュー~
3-20 階層構造でデータを扱う〜木構造、根、二分木、完全二分木、バランス木~
3-21 メモリの構造を知ってデータを扱う〜アドレス、ポインタ~
3-22 一度使ったデータを高速に扱う〜キャッシュ~
やってみよう

第4章 流れ図とアルゴリズム~手順を理解し、順序立てて考える~
4-1 処理の流れを図解する〜フローチャート(順次、条件分岐、ループ)~
4-2 データの大小を比べる〜比較演算、三項演算子~
4-3 一連の処理をまとめて扱う〜関数、手続き、引数、返り値~
4-4 関数にパラメータを渡す〜値渡し、参照渡し~
4-5 変数の有効範囲を決める〜スコープ、ローカル変数、グローバル変数~
4-6 管理しやすいようにソースコードを分ける〜構造化プログラミング、モジュール分割~
4-7 想定外の事態に対応する〜例外処理、ゼロ除算~
4-8 同じ処理をパラメータを変えながら繰り返し実行する〜再帰、遅延評価、末尾再帰~
4-9 処理しても他に影響が出ないようにする〜参照透過性、副作用~
4-10 繰り返し処理を扱う〜イテレータ~
4-11 不要なメモリを解放する〜ガーベジコレクション~
4-12 ソートの基本を学ぶ〜選択ソート、挿入ソート、バブルソート~
4-13 ソートを高速化する〜マージソート、クィックソート~
4-14 処理にかかる時間を概算する〜計算量、オーダー記法~
4-15 配列やリストから欲しい値を探す〜線形探索、二分探索~
4-16 木構造を順に辿りながら探す〜深さ優先探索、幅優先探索~
4-17 探索の順番による違いを理解する〜先行順、後行順、中間順~
4-18 ある文字列から別の文字列を探す〜文字列照合~
4-19 大きな問題を小さな問題に分けて考える〜分割統治法~
4-20 括弧を使わず演算の優先順位を指定する〜逆ポーランド記法~
4-21 データの終了を示す特殊なデータ〜番兵、フラグ~
4-22 同じ意味を表すシンプルでわかりやすい書き方〜糖衣構文、シンタックスシュガー~
やってみよう

第5章 設計からテストまで~これだけは知っておきたい開発方法とオブジェクト指向の基本~
5-1 データの構造や流れを可視化する〜ER図、DFD~
5-2 複数のサービスを組み合わせて新たなサービスを作る〜マッシュアップ~
5-3 ソフトウェア開発の企画から利用終了までを考える〜ソフトウェアライフサイクル、DevOps~
5-4 ソフトウェア開発のプロセスを自動化する〜CI、CD~
5-5 実装の不具合を取り除く〜単体テスト、結合テスト~
5-6 求める要件を満たしているか確認する〜システムテスト、受入テスト~
5-7 テストの手法を知る〜ブラックボックステスト、ホワイトボックステスト~
5-8 ブラックボックステスト技法の手法を学ぶ〜同値分割、境界値分析~
5-9 不具合を発見し、管理する〜バグ、デバッグ、デバッガ、BTS~
5-10 ソフトウェアを実行せずに検証する〜コードインスペクション、静的解析~
5-11 プログラムの作成前にテストケースを作成する〜XP、テスト駆動開発~
5-12 動作を変えずにソースコードを整理する〜リファクタリング~
5-13 コンパイルを自動化する〜make、ant~
5-14 読みやすいソースコードを書く〜コメント、可読性、字下げ、ネスト、インデント~
5-15 ソースコードを書くルールを決める〜命名標準、コーディング規約、ドキュメント生成~
5-16 オブジェクト指向の基本的な考え方を知る〜クラス、インスタンス~
5-17 データと操作を扱う〜属性、プロパティ、メソッド~
5-18 クラスの属性を引き継ぐ〜継承(インヘリタンス)、サブクラス、多重継承~
5-19 外部に必要な情報や手続きのみを提供する〜カプセル化、部品化、再利用~
5-20 引数の数やデータ型などが異なる実装を同じ名前で作る〜多相性、多態性(ポリモーフィズム)~
5-21 複数のオブジェクトの関係性を考える〜関連、汎化、集約~
5-22 関連するクラスをまとめる〜パッケージ、モジュール~
5-23 オブジェクト指向で扱いにくい問題を解決する〜アスペクト指向、DI(依存性の注入)~
5-24 オブジェクト指向開発に用いられるモデリング手法〜UML、デザインパターン~
5-25 オブジェクトの初期化と解放〜コンストラクタ、デストラクタ~
やってみよう

第6章 Web技術とセキュリティ~Webページを支える技術を理解する~
6-1 Webの基本を知る〜HTML、HTTP~
6-2 Webサイトのデザインを変更する〜CSS、CSSフレームワーク~
6-3 インターネット上でサービスを提供する〜Webサーバー、CGI、Webアプリケーション~
6-4 サーバーを借りてサービスを提供する〜レンタルサーバ、VPS~
6-5 クラウド技術のプラットフォーム〜SaaS, PaaS, IaaS~
6-6 ソフトウェア的にハードウェアを実現する〜仮想マシン、Docker、Vagrant~
6-7 GUIアプリの機能を分割する〜MVCフレームワーク(RoR, Laravel)、MVVM、MVP~
6-8 Webブラウザで動的な制御を行う〜JavaScript(jQuery, React, Vue, …)~
6-9 Webでよく使われるデータ形式〜XML、JSON、YAML、シリアライズ~
6-10 HTMLなどの要素を操作する〜DOM、Ajax、リッチクライアント~
6-11 バージョン管理システムを知る〜Git、GitHub、Subversion~
6-12 ソースコードの著作権を考える〜オープンソース(OSS)、コピーレフト、GPL、ライセンス~
6-13 OSや他のアプリケーションの機能を呼び出す〜API、システムコール~
6-14 ソフトウェア開発に必要な機能の集合体〜SDK、ライブラリ、DLL~
6-15 セキュリティ上の不具合を知る〜脆弱性、セキュリティホール(バッファオーバーラ、スタックオーバーフロー)~
6-16 データベースを扱うプログラムの脆弱性〜SQL, RDBMS, SQLインジェクション~
6-17 処理の整合性を確保する〜トランザクション、排他制御~
6-18 Webアプリケーションに対する代表的な攻撃手法〜CSRF、XSS~
6-19 保護された領域でプログラムを実行する〜サンドボックス~
やってみよう
用語集

本書は付属データの提供はございません。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。
正誤表の登録はありません。