【本書のポイント】
・解説とイラストがセットで理解しやすい!
・どんな言語でも使える知識を解説!
・言語の特徴からWebの知識までを網羅!
・キーワードから知りたい項目を調べやすい!
・しくみがわかると開発がぐっとはかどる!
【こんな方におすすめ】
・プログラミングをはじめたばかりの人
・ステップアップしてスキルをみがきたい人
・プログラミングの基礎知識を知りたい人
・周囲の人が使う用語がわからないことがある人
【内容紹介】
一口にエンジニアといっても
その業務は、開発するものや
開発環境によって全く異なるものです。
どんな言語でも使える知識を
身につければ、スムーズに
開発を行うことができます。
そこで、本書では見開きで
1つのテーマを取り上げ、
図解を交えて解説しています。
最初から順に読んで
体系的な知識を得るのはもちろん、
気になるテーマやキーワードに
注目しながら読むなど、
状況に合わせて活用してください。
【目次】
第1章 プログラミングの基礎知識~まずは全体像から理解する~
第2章 プログラミング言語の違いとは?~それぞれの言語の特徴、コードを比較する~
第3章 数値とデータの扱い方~どのように値を持つのが理想?~
第4章 流れ図とアルゴリズム~手順を理解し、順序立てて考える~
第5章 設計からテストまで~知っておきたい開発方法とオブジェクト指向の基本~
第6章 Web技術とセキュリティ~Webページを支える技術を理解する~
この1冊で、プログラミングの考え方から技術、開発方法まで理解できます。(※紙の書籍と電子書籍でレイアウトが異なります)
解説とイラストがセットなので、文字だけでは想像しにくい技術がスッと頭に入ります。
体系的な学習はもちろん、知りたい項目を探して効率よく読むこともできます。
第1章 プログラミングの基礎知識~まずは全体像から理解する~
1-1 プログラミングを取り巻く環境~ハードウェア、五大装置、OS、アプリケーション、ソフトウェア、プログラム~
1-2 プログラムが動く環境~デスクトップアプリ、Webアプリ、スマホアプリ~
1-3 誰がプログラムを作るのか?~職業プログラマ、趣味プログラマ、RPA~
1-4 プログラミングに関わる業界の違い~SIer、Web系、組込み系、パッケージベンダー~
1-5 プログラムの開発に関わる職種の違い~SE、プログラマ、PM、プロダクトマネージャー、テスター~
1-6 プログラマの働き方~SES、準委任契約、派遣、請負~
1-7 ソフトウェアの開発工程~要求分析、要件定義、設計、開発、テスト~
1-8 ソフトウェア開発の流れ~ウォーターフォール、アジャイル、スパイラル~
1-9 開発(実装)工程ですること~コーディング、環境の構築~
1-10 チームで開発するいろいろな手法~ペアプログラミング、モブプログラミング、1on1~
1-11 開発したプログラムを公開する~フリーソフト、フリーウェア、シェアウェア、アプリストア~
1-12 プログラミングをどうやって学ぶか~書籍、動画、スクール、勉強会~
やってみよう 使っているソフトウェアについて調べてみよう
第2章 プログラミング言語の違いとは?~それぞれの言語の特徴、コードを比較する~
2-1 コンピュータが処理できる形に変換する~ソースコード、実行ファイル、コンパイラ、インタプリタ~
2-2 人とコンピュータが理解しやすい表現~低水準言語、高水準言語、クロスプラットフォーム~
2-3 プログラミング言語を分類する~プログラミングパラダイム、手続き型、オブジェクト指向~
2-4 宣言型のプログラミング言語~関数型、論理型~
2-5 手軽に使えるプログラミング言語~スクリプト言語、マクロ、マークアップ言語~
2-6 プログラミング言語の比較1~C言語、C++、Java、C#~
2-7 プログラミング言語の比較2~Ruby、Python、PHP~
2-8 プログラミング言語の比較3~JavaScript、TypeScript、VBScript、VBA~
2-9 どこでも動かせるようにする工夫~JIT方式、バイトコード~
2-10 プログラミング言語の選び方~実行環境、開発規模~
2-11 入力と出力~標準入力、標準出力、エラー出力~
2-12 プログラムを作成する環境~エディタ、IDE、RAD~
やってみよう コマンドラインの操作に慣れよう
第3章 数値とデータの扱い方~どのように値を持つのが理想?~
3-1 コンピュータでの数字の扱いを知る~10進数、2進数、16進数~
3-2 2進数での処理を知る~論理演算、ビット演算、シフト演算~
3-3 計算の基本を理解する~四則演算、演算子~
3-4 コンピュータに記憶させる~変数、定数~
3-5 数学における「=」との違い~値、代入、比較演算子~
3-6 読む人がわかりやすい名前~予約語、リテラル、マジックナンバー~
3-7 コンピュータで数字を扱う~整数、整数型、浮動小数点数、実数型~
3-8 同じ型のデータをまとめて扱う~配列、静的配列、動的配列、多次元配列~
3-9 コンピュータで文字を扱う~文字コード、文字列、NULL文字~
3-10 日本語を扱うときの注意点~Shift_JIS、EUC-JP、JISコード、文字化け、Unicode~
3-11 複雑なデータ構造を表現する~構造体、列挙型~
3-12 異なる型でも扱えるようにする~型変換、暗黙的型変換、明示的型変換、オーバーフロー~
3-13 配列を番号ではなく名前で扱う~連想配列、ハッシュ関数~
3-14 メモリの構造を知ってデータを扱う~アドレス、ポインタ~
3-15 データを順にたどる構造を知る~連結リスト、双方向リスト、環状リスト~
3-16 データを順に処理する~スタック(LIFO)、キュー(FIFO)~
3-17 階層構造でデータを扱う~木構造、二分木、完全二分木、バランス木~
やってみよう プログラムを実際に実行してみよう
第4章 流れ図とアルゴリズム~⼿順を理解し、順序⽴てて考える~
4-1 処理の流れを図解する~フローチャート、プログラムの処理の基本~
4-2 データの大小を比べる~条件分岐、if、三項演算子~
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 ある文字列から別の文字列を探す~文字列探索、力任せ法、BM法~
やってみよう 簡単なプログラムを作ってみよう
第5章 設計からテストまで~知っておきたい開発⽅法とオブジェクト指向の基本~
5-1 読みやすいソースコードを書く~コメント、インデント、ネスト~
5-2 ソースコードを書くルールを決める~命名規則、コーディング規約~
5-3 実装の不具合を取り除く~単体テスト、結合テスト~
5-4 求める要件を満たしているか確認する~システムテスト、受入テスト~
5-5 テストの手法を知る~ブラックボックステスト、ホワイトボックステスト、網羅率~
5-6 ブラックボックステスト技法の手法を学ぶ~同値分割、境界値分析~
5-7 不具合を発見し、管理する~バグ、デバッグ、デバッガ、BTS~
5-8 ソフトウェアを実行せずに検証する~インスペクション、静的解析、ソフトウェアメトリックス~
5-9 ソフトウェアの企画から利用終了までを考える~ソフトウェアライフサイクル、DevOps~
5-10 ソフトウェア開発のプロセスを自動化する~CI、CD~
5-11 動作を変えずにソースコードを整理する~リファクタリング~
5-12 自動テストを前提に開発を進める~テスト駆動開発、テストファースト、XP~
5-13 データの構造や流れを可視化する~ER図、DFD~
5-14 コンパイルを自動化する~ビルド、make、Ant~
5-15 オブジェクト指向の基本的な考え方を知る~クラス、インスタンス、オブジェクト~
5-16 クラスの属性を引き継ぐ~継承、サブクラス、多重継承~
5-17 クラスを構成するデータと操作を扱う~フィールド、メソッド、プロパティ~
5-18 必要な情報や手続きのみを外部に公開する~カプセル化、アクセス修飾子~
5-19 同じ名前のメソッドを作る~ポリモーフィズム、インターフェイス~
5-20 オブジェクト指向開発に用いられるモデリング手法~UML、デザインパターン~
5-21 複数のオブジェクトの関係性を考える~関連、汎化、集約、コンポジション~
5-22 関連するクラスをまとめる~名前空間、モジュール、パッケージ~
5-23 オブジェクト指向で扱いにくい問題を解決する~AOP、DI~
5-24 顧客と開発者が共通の言葉を使う~DDD、値オブジェクト~
5-25 オブジェクトの初期化と解放~コンストラクタ、デストラクタ~
5-26 開発の進捗を管理する~WBS、EVM~
やってみよう テストコードを書いてみよう
第6章 Web 技術とセキュリティ~Web アプリを⽀える技術を理解する~
6-1 Webの基本を知る~HTML、HTTP~
6-2 ソフトウェア開発に必要な機能の集合体~ライブラリ、DLL、SDK、フレームワーク~
6-3 Webサイトのデザインを変更する~CSS、CSSフレームワーク~
6-4 同じ利用者を識別する~Cookie、セッション~
6-5 インターネット上でサービスを提供する~静的なWebサイト、動的なWebサイト、CGI~
6-6 GUIアプリの機能を分割する~MVC、MVVM~
6-7 HTMLなどの要素を操作する~DOM、Ajax~
6-8 Webブラウザで動的な制御を簡単に行う~jQuery、仮想DOM~
6-9 Webでよく使われるデータ形式~CSV、XML、JSON、YAML~
6-10 整合性を保った状態でデータを扱う~SQL、DBMS~
6-11 データの整合性を確保する技術~同時実行制御、排他制御、トランザクション、デッドロック~
6-12 サーバーを借りてサービスを提供する~レンタルサーバー、VPS~
6-13 クラウド技術のサービス形態~SaaS、 PaaS、 IaaS~
6-14 ソフトウェア的にハードウェアを実現する~仮想マシン、Docker、Vagrant~
6-15 OSや他のアプリケーションの機能を呼び出す~API、システムコール、マッシュアップ~
6-16 バージョン管理システムを知る~Git、GitHub、Subversion~
6-17 無償で公開されているソースコード~OSS、ライセンス~
6-18 他人のプログラムを元に戻す~リバースエンジニアリング、逆アセンブラ、逆コンパイラ~
6-19 セキュリティ上の不具合を知る~脆弱性、セキュリティホール、バッファオーバーフロー~
やってみよう WebアプリのCookieを調べてみよう
まぁ さん
2021-02-27
ひとつひとつの操作が図解で説明されている。初心者には読みやすくちょうどいいと思う。1つのトピックに対して細かく書かれている訳ではないので、自分の興味のある分野を探す本としても使えると思う。
スプリント さん
2020-08-15
後半は基礎知識不足で脱落しましたが それは別の書籍で補います。 プログラミングの概要は理解できたので有用でした。
ホセ さん
2021-03-03
プログラミングだけではなく、プログラマーまわりの必要な知識がざっくりとわかる本。