【2023最新】「java入門」のおすすめ本!人気ランキング
この記事では、「java入門」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。
Amazonで詳しく見る
紹介文
【シリーズ累計100万部突破! 】
【Java入門書の売り上げ累計部数No.1】
とことん丁寧に解説した信頼のロングセラー
Java入門書のベストセラーを、最新環境に合わせて、よりわかりやすく改訂しました。
Javaプログラミングの基本の1つ1つを丁寧に解説しています。
文法の基礎からクラス、オブジェクト指向まで、しっかりと理解できる構成で、無理なく読み進められる書籍です。
わかりやすく、読みやすい解説と、動かして理解できる多数のサンプルプログラムで、大切な基本がきちんと身につきます。
最新のJava環境であるJava 11に対応し、OpenJDKを使った環境構築も紹介しています。
「プログラミングをやってみたいけど、Javaはちょっと難しいかも……」と思っている人に、
ぜひ手に取っていただきたい入門書です。
Lesson1 はじめの一歩
1.1 Javaのプログラミング
1.2 コードの入力
1.3 プログラムの作成
1.4 プログラムの実行
1.5 レッスンのまとめ
Lesson2 Javaの基本
2.1 画面への出力
2.2 コードの内容
2.3 文字と数値
2.4 レッスンのまとめ
Lesson3 変数
3.1 変数
3.2 識別子
3.3 型
3.4 変数の宣言
3.5 変数の利用
3.6 キーボードからの入力
3.7 レッスンのまとめ
Lesson4 式と演算子
4.1 式と演算子
4.2 演算子の種類
4.3 演算子の優先順位
4.4 型変換
4.5 レッスンのまとめ
Lesson5 場合に応じた処理
5.1 関係演算子と条件
5.2 if文
5.3 if~else文
5.4 複数の条件を判断する
5.5 switch文
5.6 論理演算子
5.7 レッスンのまとめ
Lesson6 何度も繰り返す
6.1 for文
6.2 while文
6.3 do~while文
6.4 文のネスト
6.5 処理の流れの変更
6.6 レッスンのまとめ
Lesson7 配列
7.1 配列
7.2 配列の準備
7.3 配列の利用
7.4 配列の記述のしかた
7.5 配列変数
7.6 配列の応用
7.7 多次元配列
7.8 レッスンのまとめ
Lesson8 クラスの基本
8.1 クラスの宣言
8.2 オブジェクトの作成
8.3 クラスの利用
8.4 メソッドの基本
8.5 メソッドの引数
8.6 メソッドの戻り値
8.7 レッスンのまとめ
Lesson9 クラスの機能
9.1 メンバへのアクセスの制限
9.2 メソッドのオーバーロード
9.3 コンストラクタの基本
9.4 コンストラクタのオーバーロード
9.5 クラス変数、クラスメソッド
9.6 レッスンのまとめ
Lesson10 クラスの利用
10.1 クラスライブラリ
10.2 文字列を扱うクラス
10.3 そのほかのクラス
10.4 クラス型の変数
10.5 オブジェクトの配列
10.6 レッスンのまとめ
Lesson11 新しいクラス
11.1 継承
11.2 メンバへのアクセス
11.3 オーバーライド
11.4 Objectクラスの継承
11.5 レッスンのまとめ
Lesson12 インターフェイス
12.1 抽象クラス
12.2 インターフェイス
12.3 クラスの階層
12.4 レッスンのまとめ
Lesson13 大規模なプログラムの開発
13.1 ファイルの分割
13.2 パッケージの基本
13.3 パッケージの利用
13.4 インポート
13.5 レッスンのまとめ
Lesson14 例外と入出力処理
14.1 例外の基本
14.2 例外とクラス
14.3 例外の送出
14.4 入出力の基本
14.5 レッスンのまとめ
Lesson15 スレッド
15.1 スレッドの基本
15.2 スレッドの操作
15.3 スレッドの作成方法
15.4 同期
15.5 レッスンのまとめ
Lesson16 グラフィカルなアプリケーション
16.1 GUIアプリケーションの基本
16.2 アプリケーションの応用
16.3 Javaの応用と展開
16.4 レッスンのまとめ
AppendixA 練習の解答
AppendixB FAQ
Amazonで詳しく見る
紹介文
“標準教科書”が完全書き下ろしで11年ぶり新登場! Javaプログラミングに必要な知識・概念・機能を体系的かつ網羅的に習得!
“標準教科書”が完全書き下ろしで11年ぶり新登場!
Javaプログラミングに必要な知識・概念・機能を体系的かつ網羅的に習得!
Java言語の独学に最適な標準教科書として、長年にわたって読まれてきた『独習Java』。プログラミング言語入門書の執筆で定評のある山田祥寛氏による完全書き下ろしで新登場です!
独習シリーズの強みである、手を動かしておぼえる(書いて実行して結果を確認する)特長を生かし、Java開発で必要となる基本的な言語仕様から、標準ライブラリ、コレクション、オブジェクト指向、ラムダ式/Stream API、スレッド、マルチスレッド処理、アノテーション、モジュールまで、サンプルプログラムを例示しながら詳細かつ丁寧に解説します。
プログラミングの基礎知識がない方でも、解説→例題(サンプル)→理解度チェックという3つのステップで、Javaの文法を完全習得できます。
[ポイント]
●Java言語の独学に最適な教科書として好評の『独習Java』最新版。初心者がJava言語を学ぶにふさわしい一冊
●Javaでプログラミングを行う際に必要となる基本的な知識・概念・機能、文法・書き方を、網羅的かつ体系的に習得できる
Java言語の入門者、これからJava言語で開発を始めたい初学者から、再入門者、学生・ホビープログラマまで、
「一からJava言語を学びたい」「Javaプログラミングの基本をしっかり身につけたい」という方におすすめの一冊です。
●第1章 イントロダクション
1.1 Javaとは?
1.2 Javaアプリを開発/実行するための基本環境
1.3 Javaプログラミングの基本
●第2章 Javaの基本
2.1 変数
2.2 データ型
2.3 リテラル
2.4 型変換
2.5 参照型
●第3章 演算子
3.1 算術演算子
3.2 代入演算子
3.3 関係演算子
3.4 論理演算子
3.5 ビット演算子
3.6 演算子の優先順位と結合則
●第4章 制御構文
4.1 条件分岐
4.2 繰り返し処理
4.3 ループの制御
●第5章 標準ライブラリ
5.1 ラッパークラス
5.2 文字列の操作
5.3 正規表現
5.4 日付/時刻の操作
5.5 ストリーム
5.6 その他の機能
●第6章 コレクションフレームワーク
6.1 コレクションフレームワークの基本
6.2 リスト
6.3 セット
6.4 マップ
6.5 スタック/キュー
●第7章 オブジェクト指向構文―基本
7.1 クラスの定義
7.2 フィールド
7.3 メソッド
7.4 変数のスコープ
7.5 コンストラクター
7.6 クラスメソッド/クラスフィールド
7.7 引数/戻り値の様々な記法
7.8 パッケージ
●第8章 オブジェクト指向構文―カプセル化/継承/ポリモーフィズム
8.1 カプセル化
8.2 継承
8.3 ポリモーフィズム
●第9章 オブジェクト指向構文―入れ子のクラス/ジェネリクス/例外処理など
9.1 Objectクラス
9.2 例外処理
9.3 列挙型
9.4 入れ子のクラス
9.5 ジェネリクス
●第10章 ラムダ式/Stream API
10.1 メソッド参照/ラムダ式
10.2 Stream API
●第11章 高度なプログラミング
11.1 マルチスレッド処理
11.2 アノテーション
11.3 モジュール
●付録A 「練習問題」「この章の理解度チェック」解答
Amazonで詳しく見る
紹介文
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
理解しやすいコード
第1部 表面上の改善(名前に情報を詰め込む
誤解されない名前
美しさ
コメントすべきことを知る
コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする
巨大な式を分割する
変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する
一度に1つのことを
コードに思いを込める
短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ
「分/時間カウンタ」を設計・実装する)
付録 あわせて読みたい
Amazonで詳しく見る
紹介文
プログラミングを初めて学習する方のための書籍「IT基礎講座」の最新刊です。プログラミング初心者が始めて学習するプログラミング言語としてJavaは非常に適しています。本書はJavaの習得において基礎に絞って解説しています。この1冊を読めば、プログラミング知識ゼロの状態からでも、Javaプログラミングの基本はしっかりマスターできます。また学習結果の確認を行うため、章末に練習問題を収録しています。練習問題の回答は別紙になっており、取り外して利用できます。
CHAPTER 1 Java でプログラミングをはじめる前の準備
1-1 プログラミング言語Java
1-2 プログラム動作の仕組み
1-3 JDK のインストール手順
CHAPTER 2 はじめてのJava プログラミング
2-1 プログラム作成の準備
2-2 プログラムの作成
2-3 プログラムのコンパイル
2-4 コンパイルでエラーが出たら
2-5 プログラムの実行
2-6 その他のHello!プログラム
CHAPTER 3 プログラムの基本スタイル
3-1 基本のスタイル
3-2 表示させる文字列の変更
3-3 print文
3-4 文字の表示
3-5 数の表示
3-6 コメント
練習問題
CHAPTER 4 計算
4-1 演算子
4-2 足し算・引き算・掛け算
4-3 割り算
4-4 文字列の足し算
練習問題
CHAPTER 5 データの保管
5-1 変数
5-2 変数の性質と使い方
5-3 整数型変数
5-4 実数型変数
5-5 文字型変数
5-6 論理型変数
5-7 型推論による変数宣言
練習問題
CHAPTER 6 条件判断
6-1 判断(if)
6-2 まとめて判断(switch)
練習問題
CHAPTER 7 繰り返し処理
7-1 繰り返し
7-2 回数指定の繰り返し(for)
7-3 条件指定の繰り返し(while)
練習問題
CHAPTER 8 データの入力
8-1 引数と配列
8-2 Scannerを使ったデータ入力
8-3 import
8-4 int型以外のデータの読み込み
8-5 new
8-6 例外処理
練習問題
Amazonで詳しく見る
紹介文
シリーズ累計50万部突破の定番入門書「スッキリわかるシリーズ」の『Java入門 実践編』に「第3版」が登場!最新Java16対応し、近年のJava改訂による新機能(Record等)の取り込みのほか、GitやMavenといったツール類の活用方法も具体的・実践的に解説! 新人エンジニア湊君の成長を傍らに、開発中に発生するJavaのいろんな「なぜ?」にしっかりと答えながら解説が進み、付録には「エラー解決・虎の巻」を用意して、独学に適した挫折しにくい紙面展開で、中級者に進むあなたを、効率的かつ、実践的にエスコートしていきます。
Amazonで詳しく見る
紹介文
プログラミング学習シリーズJavaが、開発環境を最新化して改訂!文法やクラス、メソッドなどをしっかり学べる入門書
プログラミング学習シリーズJavaが、開発環境を最新化して改訂!
文法からクラスやメソッドの書き方・使い方までしっかり学ぼう!
本書は、現在もっとも幅広く使われているプログラミング言語の1つ
「Java」がはじめてという初心者を対象に、文法やプログラムの基本知識を
わかりやすく丁寧に教える入門書です。
これまで多くの学生にJavaの授業をしてきた筆者が、その経験を活かし、
変数やif文、switch文による条件分岐、for文やwhile文を使った繰り返しから、
クラスやメソッドの使い方、作り方まで、つまずきやすいところを
ケアしながら解説します。
サンプルプログラムは短くてシンプルなものを選び、何をしているのかが
よくわかるように、コメントをしっかりつけました。
章の最後には練習問題があり、力試しもできます。
・何から学習すれば良いかわからない
・Javaをはじめて学ぶ・あらためて基本から学びたい
・現場で通用する基礎を身につけたい
という方におすすめの1冊です。
第1章 Java言語に触れる
Java言語に触れる
Java言語のプログラム構成
プログラムの作成
第2章 Java言語の基本
出力
変数
算術演算子と式
型変換と文字列の扱い
第3章 条件分岐と繰り返し
条件分岐
論理演算子
処理の繰り返し
配列
第4章 メソッド(クラスメソッド)
メソッドとは
メソッドの引数
メソッドの戻り値
メソッドのオーバーロード
第5章 クラスの基本
オブジェクト指向
クラスとインスタンス
参照
クラス活用の実例(バーチャルペット・ゲームの作成)
第6章 クラスの一歩進んだ使い方
コンストラクタ
インスタンスメソッド
クラス変数とクラスメソッド
メソッドの活用の実例(バーチャルペット・ゲームの改良)
第7章 継承
継承とは
フィールドとメソッドの継承
継承関係とコンストラクタの動き
ポリモーフィズム
継承の実例(バーチャルペットの種類を増やす)
第8章 抽象クラスとインタフェース
修飾子とアクセス制御
抽象クラス
インタフェース
抽象クラスとインタフェース(バーチャルペットクラスを抽象クラスにする)
Amazonで詳しく見る
紹介文
本書では、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているがJavaも使えるようになりたいという方を対象に、Javaでプログラミングができるようになるための解説をわかりやすく丁寧に行います。
Javaは、企業システムの構築を得意とするプログラミング言語で、銀行でお金を振り込む、宅配便で荷物を送るといった業務システムで多く使われているほか、検索サイトやSNS、買い物サイトなどサービスの構築でも広く使われています。多くの業務システムで利用されており、Javaプログラマーの人材募集も多いことから、Javaエンジニアになりたい人も比較的多いという状況があります。本書では、そうした中でプロとしてJava開発に携われるようになるために必要なプログラミングの知識をゼロから解説しています。Javaをすでに使っているがもっとプログラムをきちんと書けるようになりたいという人にもおすすめです。
多くの「プログラミングの入門書」では、プログラミング言語の構文は丁寧に解説されていますが、プログラムの書き方の説明はあまりありません。本書ではJavaを対象として、プログラミングに入門できるように解説しています。プログラムを作るという体験を通して、プログラムが動くことの楽しさやまた難しさを感じてもらえることを目標としています。自転車に乗れるようになるために何が必要かというと、自転車のパーツの名前や働き、原理を知ることではありません。自転車に実際に乗って、何度かこけそうになったりこけたりして、徐々にうまく乗ることができるようになるものです。プログラミングも技能なので、文法を覚えてライブラリの使い方を知るだけではプログラムが組めるようにはなりません。実際にプログラムを組んで、動かなかったり動いたりしながら徐々にうまくプログラムが組めるようになります。本書ではこうしたプログラムの組み方をわかりやすく解説します。
本書では、第1部「Javaを始める準備」では、Javaの基本および開発環境のインストール方法について解説します。第2部「Javaの基本」では、JShellを使って基本的な計算や変数、標準API、GUI開発について解説します。第3部「Javaの文法」では、条件分岐と繰り返し、データ構造、メソッドについて解説します。第4部「高度なプログラミング」では、ファイルやネットワークでの入出力と例外、処理の難しさ、クラスとインタフェースを使ったプログラムの構成について解説します。第5部「ツールと開発技法」では、Maven、Javadoc、JUnit、IDE、バージョン管理、Gitについて解説します。第6部「Webアプリケーション開発」では、Spring Bootやデータベースを用いたWebアプリケーション開発について解説します。
本書で、プロとして仕事ができるためのJavaの基礎をしっかりと習得していきましょう。
目次
本書の読み方・動作環境
●第1部 Javaを始める準備
第1章 Java ってなんだろう
1.1 Javaとは
1.1.1 プログラミング言語とは
1.1.2 Javaはどんなプログラミング言語なの?
1.1.3 Javaで何ができるの?
1.1.4 Javaの仕様とJDKディストリビューション
1.2 Javaの情報源
COLUMN Java 公式キャラクター Duke
第2章 開発環境の準備と最初の一歩
2.1 Oracle JDKのインストール
2.1.1 Oracle JDKのダウンロード
2.1.2 Oracle JDKのインストール
COLUMN Oracle 社はJavaを有償化した?
2.2 IntelliJ IDEAのインストールと設定
2.2.1 初心者の段階からIDEを!
2.2.2 IntelliJ IDEAとは
2.2.3 IntelliJ IDEAのダウンロードとインストール
2.2.4 Toolbox Appの設定とIDEの起動
COLUMN IntelliJ IDEAのエディション
2.2.5 IntelliJ IDEAの初期設定
2.3 最初のプログラムを書いてみよう
2.3.1 プロジェクトの作成
2.3.2 IntelliJ IDEAの初期画面
2.3.3 クラスの作成
2.3.4 mainメソッドの実装
COLUMN 近年のJava IDE 事情
●第2部 Javaの基本
第3章 値と計算
3.1 JShellの起動
3.1.1 ターミナルの起動
3.1.2 JShellの起動
3.1.3 JShellの終了
3.2 値と演算
3.2.1 整数
3.2.2 構文エラー
3.2.3 実数
3.2.4 文字列
3.2.5 例外
3.2.6 プログラムがうまく動かない3 段階
3.3 メソッドの呼び出し
3.3.1 メソッドの呼び出し
3.3.2 文字列の掛け算や引き算?
3.3.3 メソッドのシグネチャ
3.3.4 メソッドの使い方がわからないとき
3.3.5 文字列のフォーマット
3.3.6 formattedメソッドでの例外
第4章 変数と型
4.1 変数
4.1.1 複合代入演算子
4.1.2 値に名前を付けるメリット
4.2 型
4.2.1 変数の型
4.2.2 基本型と参照型
4.2.3 変数の型を指定する
4.2.4 文字を扱う型
4.2.5 数値の型変換
4.2.6 型の役割
第5章 標準API
5.1 日付時刻
5.1.1 APIとライブラリ
5.1.2 現在日時を取得する
5.1.3 パッケージとimport
5.1.4 日付時刻の操作
5.1.5 指定した日付時刻を扱う
5.1.6 日付時刻の整形
5.1.7 staticメソッドとインスタンスメソッド
5.2 BigDecimal
5.2.1 実数計算の誤差
5.2.2 BigDecimalでの計算
5.2.3 newによるBigDecimalオブジェクトの生成
5.2.4 BigDecimalオブジェクト生成時の注意
5.2.5 オブジェクトの生成の仕方の違い
第6章 SwingによるGUI
6.1 Swingでのウィンドウ表示
6.1.1 Swing
6.1.2 ウィンドウを表示してみる
6.1.3 入力領域の配置
6.1.4 2つ目の入力領域
6.1.5 ボタンを配置
6.1.6 クラスとオブジェクト、インスタンス
6.1.7 参照を扱う
6.2 画面に絵を描いてみる
6.2.1 ウィンドウの準備
6.2.2 画像の準備
6.2.3 図形の描画
6.3 Javaの基本文法
6.3.1 Javaの文法
6.3.2 入力エラーの対処
6.3.3 IntelliJ IDEAを使わずに実行する
●第3部 Javaの文法
第7章 条件分岐
7.1 論理型
7.1.1 値の比較
7.1.2 オブジェクトの大小比較
7.1.3 オブジェクトが等しいかどうかの比較
7.1.4 論理演算子
7.1.5 条件演算子
7.2 if 文による条件分岐
7.2.1 if 文
7.2.2 else 句
7.2.3 else if
7.3 switchによる条件分岐
7.3.1 switch 文
7.3.2 default 句
7.3.3 switch 式
7.3.4 古い形式のswitch
第8章 データ構造
8.1 Listで値をまとめる
8.1.1 List
8.1.2 変更のできるList
8.1.3 ジェネリクスによる型検査
8.1.4 ジェネリクスの型推論
8.1.5 ラッパークラス
8.2 配列
8.2.1 配列の初期化
8.2.2 要素を設定した配列の初期化
8.2.3 配列の要素の利用
8.2.4 多次元配列
8.3 レコードで違う種類の値を組み合わせる
8.3.1 違う種類の値をListでまとめて扱う
8.3.2 違う種類の値をまとめて扱うレコードを定義する
8.3.3 レコードのオブジェクトを生成する
8.4 Mapで辞書を作る
8.4.1 Map
8.4.2 変更可能なMap
8.4.3 イミュータブル(不変)なオブジェクト
第9章 繰り返し
9.1 ループ構文
9.1.1 for 文の基本
9.1.2 for 文の応用
9.1.3 while 文
9.1.4 do while 文
9.1.5 ループのcontinueとbreak
9.2 ループに慣れる
9.2.1 デバッガーでループを覗く
9.2.2 二重ループ
COLUMN i、jの次は?
9.2.3 もう少しループの練習
9.2.4 迷路ゲームを作る
第10章 データ構造の処理
10.1 データ構造を拡張for 文で扱う
10.1.1 基本for 文でのListの要素の処理
10.1.2 拡張for 文によるListの要素の処理
10.1.3 拡張for 文による配列の要素の処理
10.1.4 値の集合の処理のパターン
10.2 Stream
10.2.1 IntelliJ IDEAによるStreamへの変換
10.2.2 Streamの構成
10.2.3 ラムダ式
10.2.4 Streamソース
10.2.5 終端処理
10.2.6 中間処理
10.2.7 Optional
10.3 基本型のStream 処理
10.3.1 IntStreamで整数の処理
10.3.2 StreamとIntStreamの行き来
第11章 メソッド
11.1 メソッドの宣言
11.1.1 JShellでのメソッド宣言
11.1.2 staticメソッドの宣言
11.1.3 インスタンスメソッドの宣言
11.1.4 IntelliJ IDEAにメソッドを宣言してもらう
11.2 ラムダ式とメソッド参照
11.2.1 ラムダ式
11.2.2 メソッド参照
11.2.3 IntelliJ IDEAでラムダ式とメソッド参照の変換
11.3 メソッドの使いこなし
11.3.1 メソッドのオーバーロード
11.3.2 メソッド呼び出しの組み合わせ
COLUMN うまく名前を付けるのも実力のうち
11.3.3 再帰とスタック
●第4部 高度なプログラミング
第12章 入出力と例外
12.1 ファイルアクセスと例外
12.1.1 ファイル書き込み
12.1.2 ファイル読み込み
12.1.3 例外
12.1.4 throwsで例外を押しつける
12.1.5 try 句で例外に対処する
12.1.6 検査例外と非検査例外
12.1.7 例外を投げる
12.2 ネットワークでコンピュータの外の世界と関わる
12.2.1 サーバーとクライアント
12.2.2 ソケット通信とTCP/IP
12.2.3 OutputStreamでのデータ送信
12.2.4 InputStreamでのデータ受信
12.2.5 try-with-resources
12.3 Webの裏側を見てみる
12.3.1 HTTP
12.3.2 HTTPクライアント
12.3.3 HTTPSで安全なWebアクセス
12.3.4 Webクライアントライブラリ
12.3.5 Webサーバーを作る
第13章 処理の難しさの段階
13.1 ループの難しさの段階
13.1.1 他のデータを参照するループ
13.1.2 隠れた状態を扱うループ
13.2 状態遷移と正規表現
13.2.1 状態遷移の管理とenum
13.2.2 正規表現
13.3 スタックとキュー
13.3.1 スタックとキュー
13.3.2 ツリーの探索
13.3.3 メソッドの再帰呼び出しをスタックを使った処理に置き換える
13.3.4 幅優先探索とキュー
13.3.5 計算の複雑さの階層
第14章 クラスとインタフェース
14.1 クラス
14.1.1 クラスのメンバー
14.1.2 アクセス制御(可視性)
14.1.3 コンストラクタ
14.1.4 this
14.1.5 フィールド
14.1.6 ネステッドクラスとインナークラス
14.2 インタフェース
14.2.1 インタフェースが欲しい状況
14.2.2 インタフェースを使ってメソッドを統一的に扱う
14.2.3 必要なメソッドを実装していないときのエラー
14.2.4 実装を持ったメソッドをインタフェースに定義する
14.2.5 インタフェースにおけるアクセス制御
14.2.6 公称型と構造的部分型
14.3 ラムダ式と関数型インタフェース
14.3.1 関数型インタフェース
14.3.2 標準APIで用意されている関数型インタフェース
14.4 クラスとファイル
14.4.1 ソースファイル
14.4.2 classファイル
14.4.3 コメント
14.4.4 コマンドラインパラメータ
第15章 継承
15.1 継承
15.1.1 クラスの継承
15.1.2 継承でのコンストラクタ
15.1.3 Objectクラス
15.1.4 メソッドのオーバーライド
15.1.5 匿名クラス
15.2 継承の活用
15.2.1 差分プログラミング
15.2.2 継承でデータを分類する
15.2.3 継承とオブジェクト指向
●第5部 ツールと開発技法
第16章 ビルドツールとMaven
16.1 ビルドツールの必要性
16.2 Mavenの基本
COLUMN Maven 以外のJavaビルドツール
16.3 Mavenのモジュールとディレクトリ構成
16.3.1 groupIdとartifactId
16.3.2 Mavenプロジェクトのディレクトリ構成
16.4 ライブラリとMaven Repository
16.4.1 ライブラリへの依存
16.4.2 Maven Central Repository
16.4.3 Mavenプロジェクトへライブラリを追加する
16.4.4 依存のscope
16.4.5 pom.xmlへの依存の記述
16.4.6 pom.xml 記述内容のプロジェクトへの反映
16.4.7 Maven Central Repository のインデックス作成
16.4.8 ライブラリの確認
16.4.9 businessCalendar4Jの動作確認
16.4.10 目的に合ったライブラリを見つける
16.5 MavenのGoal
第17章 Javadocとドキュメンテーション
17.1 Javadocとは
17.2 ブラウザでJavadocを見る
17.2.1 標準APIのJavadoc
17.2.2 Javadocの読み方
17.2.3 英語版のJavadoc
17.3 IDEからJavadocを見る
17.4 Javadocを書く
17.5 JavadocのHTMLを生成する
第18章 JUnitとテストの自動化
18.1 テストの自動化とは
18.1.1 JUnitのセットアップと実行
18.1.2 テストケースの実装、実装コードの修正
18.1.3 その他のアサーションメソッド
18.2 テスト自動化のヒント
18.2.1 効果的にテストケースを書く
18.2.2 テスト駆動開発
18.2.3 GUIアプリケーションやWebアプリケーションのテスト
COLUMN 時間がないからテストは書かない?
18.3 オリンピック開催年を判別するコードをテスト
第19章 IntelliJ IDEAを使いこなす
19.1 補完機能を使いこなす
19.1.1 補完の候補表示と補完確定
19.1.2 import 文の補完
19.2 Live Templateと後置補完
第20章 バージョン管理とGit
20.1 アンドゥやファイルコピーによる履歴管理
20.1.1 Local History
20.2 バージョン管理システム
20.2.1 Gitのインストール
20.3 Git 連携を有効にする
20.4 コミット
20.4.1 コミット対象ファイルの選択
20.4.2 コミットの実行
20.4.3 ファイル追加時の確認ダイアログ
20.4.4 変更したファイルの差分とコミット
20.4.5 Gitログの確認
20.4.6 .gitignoreファイルの作成
20.5 ブランチ
20.5.1 ブランチの作成と切り換え
20.5.2 ブランチのマージ
20.6 Git 誤操作後の復旧方法
20.6.1 Amend
20.6.2 Revert
20.6.3 コミットのReset
●第6部 Webアプリケーション開発
第21章 Spring BootでWebアプリケーションを作ってみる
21.1 Webアプリケーションとフレームワーク
21.1.1 Webアプリケーションとは
21.1.2 Webアプリケーションの仕組み
21.1.3 アプリケーションフレームワークとは
21.1.4 フレームワークを利用するメリット
21.1.5 Webアプリケーション開発に使える代表的なフレームワーク
21.2 Spring Bootでタスク管理アプリケーションを作ってみる
21.2.1 タスク管理アプリケーションの概要
21.2.2 Webアプリケーション用のプロジェクトを作る
21.3 RestControllerでWebアプリケーションの仕組みを学ぶ
21.3.1 @RestControllerアノテーションでコントローラを作成する
21.3.2 クライアントからのリクエストに応えるためのエンドポイントを作る
21.3.3 helloエンドポイントにアクセスしてみる
21.3.4 タスク管理アプリケーションをコマンドラインから起動する
21.4 モデルを使ってアプリケーションの内部情報を保持する
21.4.1 タスクの情報を保持するためのモデルの作成
21.4.2 タスクを追加するエンドポイントの作成
21.4.3 タスクを一覧表示するエンドポイントの作成
21.5 ユーザーインタフェースの作成にテンプレートエンジンを活用する
21.5.1 @Controllerアノテーションでコントローラを作成する
21.5.2 テンプレートエンジン
21.5.3 Thymeleafが使えるようにpom.xmlを修正する
21.5.4 Thymeleaf 用のHTMLテンプレートを作る
21.5.5 HomeControllerのhelloメソッドを修正する
21.5.6 タスクの追加および一覧表示用のテンプレートを用意する
21.5.7 HomeControllerにタスクの一覧表示機能のエンドポイントを実装する
21.5.8 HomeControllerにタスクの追加機能のエンドポイントを実装する
21.5.9 CSSを使ってテンプレートを装飾する
第22章 Webアプリケーションにデータベースを組み込む
22.1 データベースとは
22.1.1 DBMSの種類
22.1.2 リレーショナルデータベースとは
22.1.3 リレーショナルデータベースにアクセスするための言語「SQL」
22.1.4 Javaによるデータベース接続とJDBC
22.2 SQLでH2データベースを操作する
22.2.1 H 2とは
22.2.2 pom.xmlへの依存関係の追加
22.2.3 application.propertiesへの設定の追加
22.2.4 H 2コンソールを使ったデータベース接続
22.2.5 テーブルを作成するCREATE 文
22.2.6 テーブルにレコードを追加するINSERT 文
22.2.7 テーブルに格納されたデータを取得するSELECT 文
22.2.8 すでに登録されているレコードを更新するUPDATE 文
22.2.9 テーブルに登録されているレコードを削除する
22.2.10 タスク管理アプリケーションで使用するSQL 文の例
22.3 Spring BootアプリケーションでSpring JDBCを使用する
22.3.1 Spring JDBCとは
22.3.2 pom.xmlへの依存関係の追加
22.3.3 テーブル初期化用のスクリプトを用意する
22.3.4 データベース操作用のクラスを作成する
COLUMN DI/DIコンテナとは
22.3.5 HomeControllerクラスを修正する
22.3.6 タスク情報の削除機能を追加する
22.3.7 タスク情報の更新機能を追加する
おわりに
Amazonで詳しく見る
紹介文
『オブジェクト指向でなぜつくるのか』10年ぶり、待望の改訂第3版!
『オブジェクト指向でなぜつくるのか』10年ぶり、待望の改訂第3版!
「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を平易な文章で核心をズバリと解説します。
生産性のかぎを握るプログラム開発の主要技術をわかりやすく教えるという位置づけは変わりません。
そのうえで「今ドキのOOP」として人気言語(Java、Python、Ruby、JavaScript)の最新動向を新たに盛り込んでいます。
もちろん、すべての文章を細かく見直して現況に沿うよう更新しています。
本書の特徴
◆オブジェクト指向(OOP)の全体像と特徴がわかる
◆OOPのプログラムが動く仕組みが具体的にわかる
◆関数型言語の本質とOOPとの関係がわかる
◆アジャイル開発手法と実践手法がわかる
【目次】
第1章 オブジェクト指向はソフトウエア開発を楽にする技術
今ドキのOOP:とっつきやすくて、奥の深いPython
第2章 オブジェクト指向と現実世界は似て非なるもの
オブジェクトの向こう側:バズワードになったオブジェクト指向
第3章 OOPを理解する近道はプログラミング言語の歴史にあり
プログラミング昔話: COBOL コンパイラのニワトリとタマゴの話
第4章 OOPは無駄を省いて整理整頓するプログラミング技術
今ドキのOOP:ホームページツールから進化したPHP
第5章 メモリの仕組みの理解はプログラマのたしなみ
プログラミング昔話: OOPはダンプが見づらい?
第6章 OOPがもたらしたソフトウエアとアイデアの再利用
今ドキのOOP:Rails フレームワークでブレークしたRuby
第7章 汎用の整理術に化けたオブジェクト指向
オブジェクト指向の向こう側:言語が先か、コンセプトが先か
第8章 UMLは形のないソフトウエアを見る道具
第9章 現実世界とソフトウエアのギャップを埋めるモデリング
第10章 擬人化して役割分担させるオブジェクト指向設計
今ドキのOOP:クラスに縛られずに動くJavaScript
第11章 オブジェクト指向から生まれたアジャイル開発
プログラミング昔話:昔は許されなかったXP
第12章 オブジェクト指向を使いこなそう
補章 関数型言語でなぜつくるのか
今ドキのOOP:関数型言語の箱庭を用意したJava
Amazonで詳しく見る
紹介文
「実習」「講義」の形を取ることで、プログラムが動く仕組みを誰でも理解できるように解説した、初学者や非プログラマーのための入門書。
1 プログラミングの世界をのぞいてみよう-世の中にあふれるプログラム
2 コンピュータの仕組みと役割を理解しよう-プログラムが動く器
3 OSの仕組みと役割を理解しよう-プログラムを監督するプログラム
4 プログラミング言語の基礎知識-プログラミング言語の基本と分類
5 プログラミング言語を学ぼう1-JavaScript編
6 プログラミング言語を学ぼう2-C言語編
7 オブジェクトって何だろう-オブジェクト指向モデリング入門
Appendix 代表的なプログラミング言語とその特徴-補講
Amazonで詳しく見る
紹介文
プログラミング学習シリーズJavaが待望の改訂!文法やクラス、メソッドなどをしっかり学べる
プログラミング学習シリーズJavaが待望の改訂!
文法からクラスやメソッドの書き方・使い方までしっかり学ぼう!
本書は、現在もっとも幅広く使われているプログラミング言語の1つ
「Java」がはじめてという初心者を対象に、文法やプログラムの基本知識を
わかりやすく丁寧に教える入門書です。
これまで多くの学生にJavaの授業をしてきた筆者が、その経験を活かし、
変数やif文、switch文による条件分岐、for文やwhile文を使った繰り返しから、
クラスやメソッドの使い方、作り方まで、つまずきやすいところを
ケアしながら解説します。
サンプルプログラムは短くてシンプルなものを選び、何をしているのかが
よくわかるように、コメントをしっかりつけました。章の最後には練習問題があり、
力試しもできます。
・何から学習すれば良いかわからない
・Javaをはじめて学ぶ・あらためて基本から学びたい
・現場で通用する基礎を身につけたい
という方におすすめの1冊です。
第1章 Java言語に触れる
Java 言語に触れる
Java 言語のプログラム構成
プログラムの作成
第2章 Java言語の基本
出力
変数
算術演算子と式
型変換と文字列の扱い
第3章 条件分岐と繰り返し
条件分岐
論理演算子
処理の繰り返し
配列
第4章 メソッド(クラスメソッド)
メソッドとは
メソッドの引数
メソッドの戻り値
メソッドのオーバーロード
第5章 クラスの基本
オブジェクト指向
クラスとインスタンス
参照
クラス活用の実例(バーチャルペット・ゲームの作成)
第6章 クラスの一歩進んだ使い方
コンストラクタ
インスタンスメソッド
クラス変数とクラスメソッド
メソッドの活用の実例(バーチャルペット・ゲームの改良)
第7章 継承
継承とは
フィールドとメソッドの継承
継承関係とコンストラクタの動き
ポリモーフィズム
継承の実例(バーチャルペットの種類を増やす)
第8章 抽象クラスとインタフェース
修飾子とアクセス制御
抽象クラス
インタフェース
抽象クラスとインタフェース(バーチャルペットクラスを抽象クラスにする)
Amazonで詳しく見る
紹介文
Java初心者でも安心して学べる超入門書の登場!
【本書の概要】
Javaは企業向けの大きなシステムから、Androidアプリなどの小さなシステムまで、
さまざまな分野で非常に多く利用されている人気の言語です。
開発会社などでは、新人研修の際に、Javaを学習するケースも多いです。
本書はJava初心者の方に向けて、
簡単なサンプルを作りながら、
対話形式でプログラミングのしくみを学ぶ書籍です。
【対象読者】
Javaについて、何も知らない超初心者
【1年生シリーズ・3つのポイント】
・イラストを交えながら、対話形式で基礎知識を解説します。
・はじめての方でも安心して学習できるよう基本文法をしっかり解説します。
・学習用に簡単で楽しいサンプルを用意していますので、安心してプログラムを体験できます。
【本書のポイント】
オオカミ先生、いろはちゃんと一緒に、
基本文法から、オブジェクト指向によるプログラムの作成までを体験して、
プログラミングのしくみをまなぶことができます。
【目次】
第1章 Javaに触れてみよう
第2章 データと変数
第3章 プログラムの基本
第4章 オブジェクト指向って何?
第5章 もっとオブジェクト指向を知ろう
【著者】
森 巧尚(もり よしなお)
iPhoneアプリやWebコンテンツの制作、執筆活動、関西学院大学非常勤講師など、
プログラミングにまつわる幅広い活動を行っている。
近著に『Python1年生』(翔泳社)、『やさしくはじめるiPhoneアプリ作りの教科書』(マイナビ出版)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)、
『なるほど!プログラミング』(SBクリエイティブ)などがある。
第1章 Javaに触れてみよう
第2章 データと変数
第3章 プログラムの基本
第4章 オブジェクト指向って何?
第5章 もっとオブジェクト指向を知ろう
Amazonで詳しく見る
紹介文
入り口でつまずかない!Java入門の決定版。
学習環境ソフトウェアを活用してスイスイ学習!
「BlueJ(ブルージェイ)」というツールを使って、Javaの基礎から応用まで
ていねいに解説しています。
一般的に、Javaの開発環境を作るためには複数のファイルをダウンロードし、
すべてインストールする必要があります。この手順が初心者には難しいため、
Javaのプログラムを学ぶ前に挫折してしまう人もいます。BlueJを使えば開発環境を
簡単に構築できます。まずはインストールしてJavaに触れてみましょう。
Javaは、基本情報技術者の午後試験で出題されています。本書では過去問を
厳選・抜粋し、その解説を付録に掲載しています。受験対策にも活用できる1冊です!
【本書の構成】
第0章 まずはJavaを体験してみよう
第1章 Javaの基本を知ろう
第1編 Javaプログラミングの文法編
第2章 プログラムの基本
第3章 クラスとメソッドの基礎
第4章 変数とデータ型
第5章 演算子
第6章 繰り返しと条件分岐
第7章 クラス
第8章 メソッド
第3編 Javaプログラミングの応用編
第9章 実践的なJavaプログラミング①(オブジェクト指向の考え方)
第10章 実践的なJavaプログラミング②(チーム開発)
付録1 コメントの書き方
付録2 例外処理
付録3 エラーの対処
付録4 デバッグの方法
付録5 基本情報技術者試験 午後(Java)過去問題
第0章 まずはJavaを体験してみよう
第1章 Javaの基本を知ろう
Javaプログラミングの文法編
第2章 プログラムの基本
第3章 クラスとメソッドの基礎
第4章 変数とデータ型
第5章 演算子
第6章 繰り返しと条件分岐
Javaプログラミングの基礎編
第7章 クラス
第8章 メソッド
Javaプログラミングの応用編
第9章 実践的なJavaプログラミング①(オブジェクト指向の考え方)
第10章 実践的なJavaプログラミング②(チーム開発)
付録1 コメントの書き方
付録2 例外処理
付録3 エラーの対処
付録4 デバッグの方法
付録5 基本情報技術者試験 午後(Java)過去問題
Amazonで詳しく見る
紹介文
本書では、日々の生活に転がっている「身近な疑問」から考えはじめることで、会計の重要なエッセンスを学んでいきます。いわゆる「会計の入門書」ではありません。細かい財務諸表はひとつも出てきませんし、専門用語もそれほど多くはないので、気を楽にして、ひとつの読み物として読んでみてください。
1 さおだけ屋はなぜ潰れないのか?-利益の出し方
2 ベッドタウンに高級フランス料理店の謎-連結経営
3 在庫だらけの自然食品店-在庫と資金繰り
4 完売したのに怒られた!-機会損失と決算書
5 トップを逃して満足するギャンブラー-回転率
6 あの人はなぜいつもワリカンの支払い役になるのか?-キャッシュ・フロー
7 数字に弱くても「数字のセンス」があればいい-数字のセンス
Amazonで詳しく見る
紹介文
本書は、難しいと挫折しがちなオブジェクト指向を、初心者でも楽に読み進めることができ、すっきりと学べる書籍です。
モヤモヤがスッキリ晴れる。
難しいオブジェクト指向がわかる。
本当に理解したいから、じっくり丁寧に学ぶ。
人気No.1の完全独習テキスト
学生の“わからない”を徹底的になくした
授業で使えるJavaオブジェクト指向の決定版!
------------------
Java 17(LTS)準拠
新機能も徹底解説
------------------
ラムダ式、ストリーム、パターンマッチなど、最新プログラムがわかる
本書は、難しいと挫折しがちなオブジェクト指向を、初心者でも楽に読み進めることができ、すっきりと学べる書籍です。
■第1章 クラスの作り方
1.1 オブジェクトとは
1.オブジェクトって何?
2.データの集まりをオブジェクトにする
3.まずクラスを作る
4.クラスの作り方
5.基本機能として必要なもの
1.2 クラスを作る
1.クラスを作る手順
2.完成したクラスについて
1.3 まとめとテスト
1.まとめ
2.演習問題
■第2章 インスタンスの作り方と使い方
2.1 インスタンスを作る
1.作成には new演算子とコンストラクタを使う
2.作成したインスタンスはクラス型の変数に代入する
3.インスタンスとは
2.2 ゲッターとセッターの使い方
1.メンバ参照演算子
2.ゲッターの使い方
3.セッターの使い方
2.3 メソッドを追加する
1.toStringメソッドの作成
2.toStringメソッドを使ってみる
3.メソッドを増やすには
4.メソッドを書いてみよう
2.4 まとめとテスト
1.まとめ
2.演習問題
■第3章 クラスの仕組み
3.1 他のクラスからのアクセスを制限する
1.privateとpublic
2.privateでもpublicでもないケース
3.カプセル化とは
3.2 メンバの仕組み
1.スタティックメンバとは
2.インスタンスメンバとは
3.インスタンスメンバとスタティックメンバの混在
3.3 コンストラクタの仕組み
1.オーバーロード
2.コンストラクタをオーバーロードする
3.thisによるコンストラクタの簡単化
4.デフォルトコンストラクタ
3.4 まとめとテスト
1.まとめ
2.演習問題
■第4章 インスタンスと参照
4.1 参照とは
1.参照とその役割
2.参照を使う理由
4.2 参照を意識する
1.変数から変数への代入
2.イミュータブル(immutable)なクラス
4.3 完全にイミュータブルなクラス
4.4 参照型
1.Java言語の型
2.nullとは
4.5 まとめとテスト
1.まとめ
2.演習問題
■第5章 オブジェクト・モデリング
5.1 何かの機能を実現するクラス
1.処理の概要
2.クラスの定義(仕様)を考える
3.クラスの最終的な仕様を検討する
4.コーディング
5.クラスのインスタンスを作って処理を実行する
6.結論
5.2 record
1.recordとは
2.recordの定義と機能
3.recordへの機能追加
4.完全にイミュータブルなレコード
5.簡易な使い方
5.3 まとめとテスト
1.まとめ
2.演習問題
■第6章 継承とは
6.1 クラス図
1.クラス図の見方
2.クラス図の書き方
6.2 継承
1.継承してクラスを作る
2.インスタンスの初期化
3.継承の効果を確認する
6.3 継承の規則
1.Is-a の関係
2.継承できないクラス
3.封印されたクラス(シールクラス)
4.継承できないメンバ
6.4 まとめとテスト
1.まとめ
2.演習問題
■第7章 継承関係
7.1 継承ツリー
1.継承ツリーとは
2.Objectクラス
7.2 コンストラクタの連鎖
1.コンストラクタの連鎖
2.super( )の省略
7.3 複数のクラスを1つのファイルにする
7.4 protected修飾子
1.protectedの機能
2.protectedの注意点
3.アクセス修飾子のまとめ
7.5 まとめとテスト
1.まとめ
2.演習問題
■第8章 参照の自動型変換
8.1 参照の自動型変換
1.自動型変換
8.2 アップキャストとダウンキャスト
1.視覚的な模式図
2.アップキャストとダウンキャスト
8.3 instanceof演算子
8.4 switchによる型の判定
1.switch文/switch式
2.switchによるオブジェクト型の判定
3.関係式による条件
8.5 まとめとテスト
1.まとめ
2.演習問題
■第9章 ポリモーフィズム(多態性)
9.1 オーバーロード
1.サブクラスでのオーバーロード
2.メソッドのシグネチャー
9.2 オーバーライド
1.オーバーライドとは
2.オーバーライドの例外
3.@Overrideアノテーション
9.3 ポリモーフィズム(多態性)
1.ポリモーフィズムとは
2.ダイナミックバインディング
3.汎用化の仕組み
9.4 まとめとテスト
1.まとめ
2.演習問題
■第10章 抽象クラス
10.1 抽象クラスとは
1.抽象クラスの特徴
2.抽象クラスの書き方
10.2 抽象クラスを継承する
1.抽象メソッドの実装
2.サブクラスも抽象クラスにする
10.3 抽象クラスのクラス図
10.4 まとめとテスト
1.まとめ
2.演習問題
■第11章 インタフェース
11.1 インタフェースとは
1.インタフェースの定義
2.クラスへの実装
3.封印されたインタフェース
11.2 インタフェース型への型変換
1.インタフェース型
2.インタフェース型への型変換
11.3 インタフェースによるポリモーフィズム
1.ポリモーフィズム
2.インタフェースの使い方
11.4 インタフェースの継承
1.インタフェース同士の継承
2.インタフェースはサブクラスに継承される
11.5 まとめとテスト
1.まとめ
2.演習問題
■第12章 例外処理の基礎
12.1 例外処理の必要性
1.例外とは
2. if文による例外対策と限界
12.2 例外処理
1.throw文で例外を投げる
2.try文で例外処理をする
12.3 例外処理の手順と流れ
1.例外処理のあるプログラム
2.例外の伝播
12.4 例外の型
1.例外クラス
2.Errorクラス(システムエラー)
3.チェック例外
4.実行時例外(非チェック例外)
12.5 まとめとテスト
1.まとめ
2.演習問題
■第13章 例外処理の使い方
13.1 例外の投げ方
1.例外の投げ方
2.例外のコンストラクタとメソッド
13.2 カスタム例外
1.カスタム例外クラスの作り方
2.カスタム例外クラスの使い方
13.3 例外のかわし方と受け方
1.例外をかわす
2.複数のcatchブロック
3.マルチキャッチ
4. finallyブロック
13.4 オーバーライドと例外処理
13.5 まとめとテスト
1.まとめ
2.演習問題
■第14章 ファイルとディレクトリの操作
14.1 Pathインタフェースの使い方
1.パスオブジェクトの作成
2.絶対パスと相対パス
3.Pathインタフェースのメソッド
4.Pathインタフェースのその他のメソッド
14.2 Filesクラスの使い方
1.ディレクトリの作成
2.ファイルの作成
3.ファイルのコピー
4.ファイル名の変更と移動
5.ファイル削除
6.ディレクトリの削除
7.Filesクラスのメソッドのまとめ
14.3 まとめとテスト
1.まとめ
2.演習問題
■第15章 ファイル入出力
15.1 I/Oストリームと標準クラス
1.I/Oストリームとは
2.バイナリストリームとテキストストリーム
3.I/Oストリームのクラス
15.2 テキスト入力ストリーム
1.BufferedReaderの使い方
2.文字セットを指定して読み出す方法
15.3 リソース付きtry文
1.例外処理
15.4 テキスト出力ストリーム
1.PrintWriterの使い方
2.BufferedWriterで追記する
3.Scanner --- データを解析して入力する方法
15.5 オブジェクトの入出力
1.ObjectOutputStreamとObjectInputStream
2.オブジェクトとデータの入出力
3.シリアライズとデシリアライズ
15.6 まとめとテスト
1.まとめ
2.演習問題
■第16章 コレクションフレームワークとリスト
16.1 コレクションフレームワーク
1.コレクションフレームワークの構成
2.各クラスの特徴
3.格納するオブジェクトの要件
16.2 リストの使い方
1.ArrayList
2.一般的なオブジェクトのリスト
3.ラッパークラス型のリスト
4.LinkedList
16.3 リストのAPI
1.ArrayListのコンストラクタ
2.Listインタフェースのメソッド
3.配列からリストを作る
4.既存のリストから不変リストを作る
5.リストを並び替える(sortメソッド)
16.4 まとめとテスト
1.まとめ
2.演習問題
■第17章 SetとMap
17.1 Setの使い方
1.Set系クラスの特徴
2.HashSetクラス
3.LinkedHashSetクラス
4.TreeSetクラス
17.2 Set系のAPI
17.3 Mapの使い方
1.Map系クラスの特徴
2.HashMapクラス
3.すべてのエントリを取り出す
4.LinkedHashMapとTreeMap
17.4 Map系のAPI
17.5 まとめとテスト
1.まとめ
2.演習問題
■第18章 総称型とインタフェースの応用
18.1 総称型
1.基本的な総称型の作成
2.総称型のインタフェース
3.境界ワイルドカード型
4.結論
18.2 インタフェース文法の拡張
1.デフォルトメソッド
2.スタティックメソッド
18.3 匿名クラス
1.匿名クラス
18.4 ネストクラス
18.5 まとめとテスト
1.まとめ
2.演習問題
■第19章 ラムダ式
19.1 ラムダ式とは
1.ラムダ式の書き方
2.ラムダ式を使う
19.2 ラムダ式の詳細
1.関数型インタフェース
2.ラムダ式の文法
3.標準の関数型インタフェース
19.3 メソッド参照とコンストラクタ参照
1.クラスメソッド参照
2.インスタンスメソッド参照
3.コンストラクタ参照
19.4 まとめとテスト
1.まとめ
2.演習問題
■第20章 ストリーム処理入門
20.1 ストリーム処理の概要
1.ストリーム処理とは
2.簡単なストリーム処理
3.いろいろなソースからのストリーム生成
20.2 中間操作の概要
1.中間操作メソッドの概要
2.例題で使用するPCレコードのリストについて
20.3 いろいろな中間操作
1. 抽出(filter)
2. 変換(map)
3.重複の除去 (distinct)
4.並び替え (sorted)
5.処理のスキップと上限 (skip 、 limit)
6.平坦化 (flatMap)
7.1対多変換(mapMulti)
8.切り捨てと切り取り(dropWhile、takeWhile)
9.デバッグ処理(peek)
20.4 まとめとテスト
1.まとめ
2.演習問題
■第21章 ストリーム処理の応用
21.1 基本的な終端操作
1.終端操作メソッドの概要
2.条件にマッチするか調べる(~Match)
3.存在するかどうか調べて結果を受け取る(find~)
4.ひとつの値に畳み込む(reduce)
5. 基本的な集計(count、sum、average、max、min)
6.最大、最小のオブジェクトを得る(max、min)
21.2 collectによる終端操作
1.分類(groupingBy、partitioningBy)
2.変換(toList、toSet、toMap、toCollection、toUnmodifiableXXX)
3.文字列連結(joining)
4.計算(counting、summingXXX、averagingXXX、maxBy、minBy、summarizingXXX)
5.tee型のパイプライン処理(teeing)
21.3 Optionalクラス
1.Optional型の値の作成
2.値の取り出し
3.ストリーム処理
4.プリミティブ型のOptional
21.4 まとめとテスト
1.まとめ
2.演習問題
■第22章 日付と時刻
22.1 Date and Time APIについて
22.2 日付の作り方と表示方法
1.日付の作り方
2.日付の編集
3.和暦で表示する
22.3 日付の操作
1.日付から値を取り出す
2.日付の計算
3.日付の比較
4.期間の計算
5.日付のストリーム
6.カレンダーの計算
22.4 その他のクラス
1.LocalTimeとLocalDateTime
2.時間についての期間
22.5 まとめとテスト
1.まとめ
2.演習問題
■第23章 文字列と正規表現
23.1 文字列
1.文字列の特徴
2.テキストブロック
3.Stringクラスの主なAPI
4.Stringクラスのメソッドの使い方
5.文字列の連結とStringBuilderクラス
23.2 正規表現
1.正規表現とは
2.正規表現の文法
3.含む、含まない、を調べる
23.3 正規表現の利用
1.文字列の置き換えと分割
2.文字列の検査
3.Scannerクラスの区切り文字
23.4 まとめとテスト
1.まとめ
2.演習問題
■第24章 列挙型
24.1 列挙型
1.列挙型の必要性
2.列挙型の作り方と特徴
24.2 列挙型の使い方
1.列挙型の値を比較する
2.switch文でcaseラベルとして使う
3.列挙型のメソッド
24.3 独自の列挙型の作成
1.列挙型を作成する
24.4 まとめとテスト
1.まとめ
2.演習問題
■第25章 マルチスレッド
25.1 マルチスレッドの処理
1.マルチスレッドと非同期処理
2.スレッドの作成と実行
25.2 スレッドプールの利用
1.スレッドプールとは
2.スレッドプールの使い方
25.3 CompletableFuture
1.CompletableFutureとは
2.supplyAsync()による非同期処理の起動
3.thenAccept()による後処理の実行
4.エラー対策
5.非同期処理を連結する
6.非同期処理を結合する
25.4 まとめ
■補足資料
1.LocalTime、LocalDateTimeクラスの主なAPI
2.日付、時間の編集表示のためのパターン文字
3.printfの書式指定
4.InputクラスのAPI(jp.kwebs.Input)
5.モジュールシステム
6.URL一覧
7.用語集
Amazonで詳しく見る
紹介文
好評の「新わかりやすいJava」最新版。プログラミング定番のJava言語。誰でも読めばわかる丁寧さで独学・自学習に最適です。
じっくり丁寧に学ぶから プログラムの「なぜ」がわかる
『人気 No.1 完全独習テキスト』
学生の“わからない”に徹底的にこたえる
授業で使えるJava入門の決定版。
-----------------------------------
・「解説動画」でさらに詳しく説明を見てわかる!
・「基本的な文法」から「オブジェクト指向」も基本がわかる!
・「ラムダ式」「ストリーム」「マイクロサービス」まで新機能がわかる!
・「ハンズオン」で手を動かして学べる。「練習問題」で理解度を確認できる。学べる!
-----------------------------------
好評の「新わかりやすいJava」の最新版。プログラミングの定番のJava言語。誰でも読めばわかる丁寧さで、「独学・自学習に最適」です。自分の理解力を試すために章の最後に練習問題もつき、学校の教材としても秀逸です。
プログラミングの基本からJavaの基本が手に取るようにわかるようになります。
好評の「新わかりやすいJava」最新版。プログラミング定番のJava言語。誰でも読めばわかる丁寧さで独学・自学習に最適です。
■■PartⅠ 基本的な文法
■Chapter1 Eclipseの操作
●1.1 プログラムの作成手順
最初にプロジェクトとパッケージを作成しておく
簡単なプログラムを作成して起動する
JShellの利用
■Chapter2 基本的な文法
●2.1 プログラムの構造
クラスの役割
コメント
プログラムの整形
出力文について― println()とprint()
●2.2 データ型
リテラルとは
リテラルを表示する
データ型と変数
データ型の詳細
●2.3 変数宣言と変数の使い方
いろいろな変数宣言
変数の使い方
識別子の作り方
●2.4 自動型変換
すべての整数型は、浮動小数点型の変数に代入できる
整数型は、より大きなサイズの整数型に代入できる
char型の値は、int型の変数に代入できる
整数と浮動小数点数が混在する式
●2.5 特殊なリテラル
2進数、8進数、16進数
文字のユニコード(Unicode)表現
エスケープ文字
テキストブロック
練習2-5-1
●2.6 演算子と演算
基本的な演算子の概要
インクリメント・デクリメント演算子
四則演算と剰余の演算子
文字列連結演算子
代入演算子と複合代入演算子
キャスト演算子
練習2-6-1
●2.7 クラスメソッド
クラスメソッドを使ってみよう
Mathクラスのクラスメソッド
練習2-7-1
●2.8 外部のクラスの利用(Inputクラス)
外部クラスの利用方法
Inputクラスの使い方
Inputクラスのクラスメソッド
練習2-8-1
●2.9 文字列のインスタンスメソッド
文字列リテラルで使う
String型の変数で使う
Stringクラスのインスタンスメソッド
練習2-9-1
●2.10 書式付出力
書式文字列とは
System.out.printf()メソッド
formatted()メソッド
練習2-10-1
■Chapter3 データ構造
●3.1 配列
配列の作成と配列要素へのアクセス
拡張for文による配列要素のアクセス
練習3-1-1
●3.2 レコード
recordとは
recordのプログラム
練習3-2-1
●3.3 リスト
簡単なリストの作成
拡張for文によるリストの操作
リストの要素を集計する
練習3-3-1
レコードのリスト
レコードの集計
練習3-3-2
●3.4 可変リスト
可変リストの作成
プリミティブ型のデータを入れるリスト
リストにデータを追加する
練習3-4-1
リストにレコードを追加する
練習3-4-2
リストで使えるメソッド
練習3-4-3
■Chapter4 メソッドの作成
●4.1 メソッドの基本
メソッドの役割
引数のあるメソッド
複数の引数
値を返すメソッド
練習4-1-1
オーバーロード
練習4-1-2
ライブラリクラスの作成
Javadocの作成
練習4-1-3
●4.2 メソッドの引数と戻り値
配列を引数にする
可変長引数
練習4-2-1
リストを引数にする
練習4-2-2
リストを戻り値にする
練習4-2-3
■Chapter5 実行の制御
●5.1 条件を作成する演算子
関係演算子
論理演算子
条件演算子
練習5-1-1
●5.2 if文
if文
if-else文
if-else if文
練習5-2-1
●5.3 switch文とswitch式
switch文
switch文の使用例
switch式
練習5-3-1
●5.4 for文
繰り返しの回数を指定するfor文
繰り返し回数を指定するfor文の仕組み
練習5-4-1
●5.5 while文
while文とは
キーボード入力の方法
練習5-5-1
●5.6 breakとcontinue
繰り返しを中止するbreak
後続の処理をskipするcontinue
練習5-6-1
●5.7 その他の構文
do-while
レガシーなswitch文
■■PartⅡ オブジェクト指向
■Chapter6 オブジェクトの作成
●6.1 オブジェクト・モデリング
オブジェクトの種類
クラスを使ってオブジェクトを定義する
●6.2 インスタンスの作成とインスタンスメソッドの実行
コンストラクタを作成する
インスタンスメソッドを実行してみる
練習6-2-1
●6.3 共通メソッドを追加する
共通メソッドとは
ゲッターとセッターを追加する
toString()を追加する
equals()とhashCode()を追加する
練習6-3-1
■Chapter7 オブジェクトの仕組み
●7.1 カプセル化
●7.2 コンストラクタ
コンストラクタのオーバーロード
練習7-2-1
thisによるコンストラクタの簡単化
デフォルトコンストラクタ
練習7-2-2
●7.3 クラスメンバ
クラスメンバとは
スタティックメンバとインスタンスメンバ
スタティックメンバとインスタンスメンバの違い
メンバの混在
練習7-3-1
●7.4 参照と不変性
参照とは
参照の型
nullとは
●7.5 イミュータブルなオブジェクト
代入では参照がコピーされる
メソッドへの受け渡しでも参照がコピーされる
イミュータブルなオブジェクト(基本編)
イミュータブルなオブジェクト(実践編)
練習7-5-1
●7.6 内部クラス
内部クラスとは
内部クラスを使ってみる
■Chapter8 継承
●8.1 クラスの継承
クラス図
継承とは
スーパークラスとサブクラス
練習8-1-1
継承を確認する
継承のクラス図
練習8-1-2
●8.2 Objectクラスと継承の連鎖
Objectクラス
継承の連鎖とクラス図
is-aとhas-aの関係
練習8-2-1
8.3 アップキャストによる操作
オーバーライド
アップキャスト ― 参照型の自動型変換
アップキャストの働き
オーバーライドメソッドの起動規則
サブクラスをスーパークラス型で処理する
オーバーライドを予定してスーパークラスを設計する
練習8-3-1
■Chapter9 抽象クラスと多態性
●9.1 抽象クラスによる継承
抽象クラスとは
抽象クラスによる継承
練習9-1-1
サブクラスをスーパークラス(抽象クラス)型で処理する
varによる型推論について
●9.2 多態性(ポリモーフィズム)
Java言語の多態性とは
instanceof演算子
switchによるパターンマッチ
練習9-2-1
●9.3 継承に関するその他の文法
シールクラス(封印されたクラス)
継承されないもの
■Chapter10 インタフェース
●10.1 インタフェースとは
インタフェースの定義
インタフェースの実装
インタフェース型として使う
練習10-1-1
●10.2 インタフェースの応用
アルゴリズムを差し替える
アルゴリズムを差し替えるプログラム
練習10-2-1
■■PartⅢ 応用的な文法
■Chapter11 ラムダ式
●11.1 ラムダ式とは
所得税の計算 ― ラムダ式の機能を知る
ラムダ式への書き換え
ラムダ式の意味
ラムダ式と関数型インタフェース
練習11-1-1
ラムダ式を使うもうひとつの例示
練習11-1-2
●11.2 ラムダ式の文法
引数
戻り値
ブロック
変数
練習11-2-1
●11.3 標準の関数型インタフェース
主なインタフェース
使用例
●11.4 メソッド参照とコンストラクタ参照
クラスメソッド
インスタンスメソッド
外部で定義された変数のインスタンスメソッド
System.out::println
コンストラクタ参照
練習11-4-1
■Chapter12 コレクションフレームワーク
●12.1 コレクションフレームワーク
インタフェースと実装クラスの概要
インスタンスの生成
主なメソッドの概要
●12.2 List
forEach()メソッド
sort()メソッド
練習12-2-1
●12.3 Set
HashSetを使う
順序を保存するLinkedHashSet
自然な順序で並び替えるTreeSet
練習12-3-1
●12.4 Map
HashMap
LinkedHashMap
TreeMap
練習12-4-1
■Chapter13 ストリーム処理
●13.1 ストリームとは
簡単なストリーム処理
結果をリストで受け取る
●13.2 いろいろな中間操作
中間操作メソッド
中間操作メソッドの使い方
練習13-2-1
●13.3 主な終端操作
結果をコンテナに入れる
最大と最小を求める
プリミティブ型で集計する
文字列連結する
分類する
練習13-3-1
■Chapter14 例外
●14.1 例外と例外クラス
例外のメカニズム
例外の種類
●14.2 例外処理
ファイルの読み出し
try-catch文の書き方
try-catch文の機能
例外クラスのメソッド
●14.3 リソース付きtry文
クローズの問題
リソース付きtry文
●14.4 例外を投げる・キャッチする
カスタム例外クラスの作成
例外の投げ方
例外のマルチキャッチ
サブクラス型の例外をキャッチする
■Chapter15 列挙型
●15.1 列挙型とは
●15.2 列挙型の機能
列挙型を作成する
列挙定数の特徴
列挙型のフィールドとメソッド
●15.3 列挙定数の使い方
同値の判定
switchでの利用
classと同じファイルに列挙を定義する
練習15-3-1
■Chapter16 正規表現
●16.1 正規表現とは
メタ文字
正規表現の文法
学習の準備
●16.2 基本的な正規表現
文字列と任意の1文字
[ ]内の文字のどれかにマッチするパターン
繰り返しのパターン
行頭、行末を指定するパターン
特定の文字を表すメタ文字
回数を指定して繰り返すパターン
ORとグループ化
大文字と小文字の区別
含む、含まない
●16.3 複雑な正規表現の見方
パスワード
ユーザー名
時間表示
●16.4 正規表現にマッチしているかどうか調べる
練習16-4-1
■Chapter17 日付と時刻
●17.1 Date and Time API
日付と時刻の作成
練習17-1-1
●17.2 日付と時刻の表示
練習17-2-1
●17.3 日時の計算
日時の比較とうるう年のチェック
日時の加算と減算
期間の計算
練習17-3-1
■Chapter18 ファイル入出力
●18.1 ファイル入出力について
バイナリとテキスト
主な入出力クラス
ファイルのパス
●18.2 テキストを行単位で入力する
ファイルの作成
行単位の入力
文字コードを指定して入力する
●18.3 行データを項目に分ける
split()で項目に分割する
scannerクラスを使う
練習18-3-1
●18.4 テキストを出力する
PrintWriterによる出力
追記モードで出力する
●18.5 ファイルとディレクトリの操作
Filesクラスの操作メソッド
ディレクトリとファイルのリスト
■Chapter19 マルチスレッド
●19.1 マルチスレッドとは
マルチスレッドと非同期処理
簡単なスレッドの作成
いろいろなマルチスレッド処理
●19.2 スレッドプール
スレッドプールとは
スレッドプールの使い方
●19.3 CompletableFuture
CompletableFutureとは
CompletableFutureによる非同期処理の実行
エラーへの対処
●19.4 高度なマルチスレッド処理
synchronized による同期化
生産者-消費者問題
■■PartⅣ 実践編
■Chapter20 初めてのQuarkusプロジェクト
●20.1 Quarkusプロジェクトの作成と実行
プロジェクトの作成
Eclipseへプロジェクトをインポートする
マイクロサービスとウェブアプリケーションの違い
マイクロサービスのビルドと実行
動作の仕組み
●20.2 プログラムの書き方
ウェブサービスの基本
テストプログラムについて
●20.3 パスとパラメータ
サブURL
パスパラメータ
クエリーパラメータ
クエリーパラメータのデフォルト値
●20.4 pom.xmlとは
基本情報
拡張機能の記述
■Chapter21 Bookサービスの作成
●21.1 プロジェクトの作成
コマンドによるプロジェクトの作成
プロジェクトの確認
●21.2 Bookエンティティの作成
●21.3 Bookリソースクラスの作成
BookResourceクラスの作成
●21.4 Bookサービスを実行する
初期データの準備
ブラウザからのアクセス
●21.5 新規、更新、削除の機能を追加する
Bookデータの新規追加
Bookデータの更新
Bookデータの削除
例外対策
全体のソースコードを確認
●21.6 検索式による検索機能を追加する
ソースコードの更新
検索機能をテストする
■Chapter22 クラウドへのデプロイ
●22.1 拡張機能の追加
●22.2 設定ファイルの編集
完成したapplication.properties
●22.3 minikubeの起動と環境設定
minikubeを起動する
環境変数をコピーする
kubernetes secretを作成する
●22.4 kubernetes(minikube)へのデプロイ
postgreSQLをデプロイする
Bookサービスをデプロイする
Bookサービスにローカルからアクセスする
●22.5 クライアントAPI
client-serviceプロジェクトの作成
RESTクライアントAPIの使い方
サービスURLの登録
クラウドで実行する
■Chapter23 Quteによるウェブの作成
●23.1 Quteとは
Quteの仕組み
Quteテンプレートファイルの作成
リソースクラスの作成
book-clientサービスの再実行
●23.2 Quteの応用と実践
よりスマートなウェブへ ― Bootstrapの利用
開発モードの利用方法
UTF-8問題
POSTデータの送信
POSTデータの受信
更新と削除
●23.3 終わりに
■補足資料
演算子一覧表
PanacheEntityBaseのメソッド
Panacheの検索で使える演算子
Javaの予約語一覧表
Unicode表(アスキー文字のみ)
URL
Amazonで詳しく見る
紹介文
Android開発者の底力を高める、Java言語の基礎を徹底解説!
第1章 イントロダクション
第2章 Javaの基本
第3章 演算子
第4章 制御命令
第5章 オブジェクト指向構文(クラスの基本)
第6章 オブジェクト指向構文(カプセル化/継承/ポリモーフィズム)
第7章 オブジェクト指向構文(パッケージ/例外処理/その他)
第8章 コレクション
第9章 ストリーム
第10章 スレッド
Amazonで詳しく見る
紹介文
個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を…
個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を学ぶ
Amazonで詳しく見る
紹介文
開発言語SwiftUI+Swiftを使って、iPhoneアプリ開発を始めよう! Xcode 14/Swift 5.7対応
●本書が対象とする方
・プログラムを書いたことはないけれど、iPhoneアプリを作ってみたい方
・iPhoneアプリをよく利用していて、自分でも作ってみたいと思った方
・中高生、大学生でiPhoneアプリ開発を学んでみたい方
・シルバー世代や中高年の方で再学習を実施したい方
・企業で入社前研修や企業導入研修での教材を検討している方
そんなiPhoneアプリを作ってみたい、すべての初心者が対象です。
アプリを作ることを「開発」するともいいます。開発といっても「難しいことをする!」と身構える必要はありません。プログラミングを楽しみながら、リラックスして読み進めてください。
●本書でできるようになること
初心者の方もサンプルアプリを作ることにより、動く体験と基本の知識が身につくようになります。
この書籍を終えるころには、他の入門書やプログラミング文法書を読む力もついていると思います。そして、作りたいアプリや学習したい分野も見えてくると思いますので、ぜひ、次の書籍を購入してステップアップを目指してください。
●本書の目次
はじめに
この本の読み方と使い方
ご利用の前に必ずお読みください
Day 1
Lesson 1 はじめてのアプリを開発する前に知っておこう
Lesson 2 アプリ開発の環境を整えて、Xcodeの使い方を学ぼう
Lesson 3 じゃんけんアプリを作ろう―Swiftの基本を学ぶ―
Lesson 4 楽器アプリを作ろう―音の扱い方を学ぶ―
Lesson 5 マップ検索アプリを作ろう―MapKitとクロージャを学ぶ―
Day 2
Lesson 1 タイマーアプリを作ろう―画面遷移とデータの永続化―
Lesson 2 カメラアプリを作ろう[前半]―カメラとSNS投稿―
Lesson 3 カメラアプリを作ろう[後半]―エフェクト機能の追加―
Lesson 4 お菓子検索アプリを作ろう―Web APIとJSONの使い方を学ぶ―
索引
Swiftビギナーズ倶楽部について
謝辞
執筆陣プロフィール
はじめに
この本の読み方と使い方
ご利用の前に必ずお読みください
Day 1
Lesson 1 はじめてのアプリを開発する前に知っておこう
Lesson 2 アプリ開発の環境を整えて、Xcodeの使い方を学ぼう
Lesson 3 じゃんけんアプリを作ろう―Swiftの基本を学ぶ―
Lesson 4 楽器アプリを作ろう―音の扱い方を学ぶ―
Lesson 5 マップ検索アプリを作ろう―MapKitとクロージャを学ぶ―
Day 2
Lesson 1 タイマーアプリを作ろう―画面遷移とデータの永続化―
Lesson 2 カメラアプリを作ろう[前半]―カメラとSNS投稿―
Lesson 3 カメラアプリを作ろう[後半]―エフェクト機能の追加―
Lesson 4 お菓子検索アプリを作ろう―Web APIとJSONの使い方を学ぶ―
索引
Swiftビギナーズ倶楽部について
謝辞
執筆陣プロフィール
Amazonで詳しく見る
紹介文
プログラミング初学者に向けた独習シリーズに『独習Python』が新登場。山田祥寛氏によるPython入門書の決定版。
手を動かしておぼえるPythonプログラミング
――独学に最適な“標準教科書”
プログラミングの初学者に向けた独習シリーズに『独習Python』が新登場。
プログラミング言語入門書の執筆で定評のある山田祥寛氏による、
Python入門書の決定版です。
独習シリーズの強みである、手を動かしておぼえる(書いて実行して結果を確認する)
特長を生かし、Pythonの基本的な言語仕様から、標準ライブラリ、ユーザー定義関数、
オブジェクト指向構文、モジュールまで、サンプルプログラムを例示しながら
詳細かつ丁寧に解説します。
プログラミングの基礎知識がない方でも、解説→例題(サンプル)→理解度チェック
という3つのステップで、Pythonでプログラミングを行う際に必要な知識・概念・機能を
体系的に習得できます。
プログラミングの入門者、これからPythonで開発を始めたい初学者から、再入門者、
学生・ホビープログラマまで、「一からPython言語を学びたい」「Pythonプログラミング
の基本をしっかり身につけたい」という方におすすめの一冊です。
第1章 イントロダクション
1.1 Pythonとは?
1.2 Pythonの歴史と現状
1.3 Pythonアプリを開発/実行するための基本環境
1.4 Pythonプログラミングの基本
1.5 Pythonの基本ルール
1.6 開発/学習の前に押さえておきたいテーマ
第2章 Pythonの基本
2.1 変数
2.2 データ型
第3章 演算子
3.1 算術演算子
3.2 代入演算子
3.3 比較演算子
3.4 論理演算子
3.5 ビット演算子
3.6 演算子の優先順位と結合則
第4章 制御構文
4.1 条件分岐
4.2 繰り返し処理
4.3 ループの制御
4.4 例外処理
第5章 標準ライブラリ[基本]
5.1 ライブラリの分類
5.2 文字列の操作
5.3 日付/時刻の操作
第6章 標準ライブラリ[コレクション]
6.1 シーケンス型
6.2 セット(集合)型
6.3 辞書(dict)型
第7章 標準ライブラリ[その他]
7.1 正規表現
7.2 ファイル操作
7.3 ファイルシステムの操作
7.4 HTTP経由でコンテンツを取得する
7.5 その他の機能
第8章 ユーザー定義関数
8.1 ユーザー定義関数の基本
8.2 変数の有効範囲(スコープ)
8.3 引数のさまざまな記法
8.4 関数呼び出しと戻り値
第9章 ユーザー定義関数[応用]
9.1 デコレーター
9.2 ジェネレーター
9.3 関数のモジュール化
9.4 非同期処理
9.5 ドキュメンテーション
第10章 オブジェクト指向構文
10.1 クラスの定義
10.2 カプセル化
10.3 継承
10.4 ポリモーフィズム
第11章 オブジェクト指向構文[応用]
11.1 例外処理
11.2 特殊メソッド
11.3 データクラス
11.4 イテレーター
11.5 メタクラス
付録A 「練習問題」「このの理解度チェック」解答
Amazonで詳しく見る
紹介文
本質の理解…オブジェクト指向の考え方を、短期間で本質的に理解する。実戦力の習得…オブジェクト指向を使って、ゼロからプログラムを作成する力を身につける。この2点を目的として書かれた一冊。
1 オブジェクト指向をなぜ難しいと感じるのか
2 オブジェクト指向は本当に必要なのか
3 オブジェクト指向でのソフトウェア開発
4 オブジェクト指向でプログラムを拡張する
5 ソフトウェアの振る舞いを変更する
6 より複雑なソフトウェアの作成
7 既存のソフトウェアの再利用
8 再利用を考慮したソフトウェアの設計
9 フレームワークを利用したソフトウェア開発
Amazonで詳しく見る
紹介文
Web界隈やデザイナーに大人気!
【4年連続、売上第1位!】
【全国の書店員がオススメする本(2019年度 CPU大賞)第1位!】
ずっと、一番売れているHTML本!
大反響! 32刷突破!
読者の圧倒的な支持!シリーズ35万部突破の大ヒット!
全国の書店員がオススメする本(CPU大賞)第1位!
2019-2022年、年間売上 第1位!※
Web制作に必要な知識がすべて身につく!
※日販売上げランキング: HTML関連書籍
----------------------------------------------------------------------------
Web界隈やデザイナーに大人気!
Web関連の情報やデザインについて記事が学べる『Webクリエイターボックス』の管理人、
Manaによる渾身のHTML & CSSとWebデザインが学べる本
----------------------------------------------------------------------------
今のWebサイトの作り方が一気に学べる!
・知識ゼロから体系的に学べる!HTMLとCSSの基本
・最新の技術に対応!レスポンシブ、Flexbox、CSSグリッド
・手を動かしながら学べる!プロの現場で役立つテクニック
・コードの知識からデザインのことまで1冊ですべて学べる!
WebクリエイターボックスのManaが教える
Webサイト制作の定番&旬のスキル。
この1冊で必要なことがすべて学べる!
コードもデザインも全部学べる!
●本書の対象読者
・これからWebサイトを作り始める初心者
・HTMLとCSSを基本から学びたい人
・美しいデザインのWebサイトを作りたい人
・Webの最新技術を学びたい人
Web界隈やデザイナーに大人気!
CHAPTER 1 最初に知っておこう!Webサイトの基本
1-1 よいWebデザインとは
1-2 様々な種類のWebサイト
1-3 ユーザビリティとは
1-4 Webサイトの仕組み
1-5 デバイスの種類
1-6 ブラウザーの種類
1-7 制作の流れ
1-8 制作をはじめる前に
CHAPTER 2 Webの基本構造を作る!HTMLの基本
2-1 HTMLとは
2-2 HTMLファイルを作ろう
2-3 HTMLファイルの骨組み
2-4 HTMLの基本の書き方を身につけよう
2-5 見出しをつけよう
2-6 文章を表示しよう
2-7 画像を挿入しよう
2-8 リンクをはろう
2-9 リストを表示しよう
2-10 表を作ろう
2-11 フォームを作ろう
2-12 より使いやすいフォームにしよう
2-13 ブロック要素でグループ分けをしよう
2-14 よく使うHTMLタグ一覧
CHAPTER 3 Webのデザインを作る!CSSの基本
3-1 CSSとは
3-2 CSSを適用させる方法
3-3 CSSファイルを作ろう
3-4 CSSの基本の書き方を身につけよう
3-5 文字や文章を装飾しよう
3-6 Webフォントを使おう
3-7 色をつけよう
3-8 背景を彩ろう
3-9 幅と高さを指定しよう
3-10 余白を調整しよう
3-11 線を引こう
3-12 リストを装飾しよう
3-13 クラスとIDを使った指定方法
3-14 レイアウトを組もう
3-15 デフォルトCSSをリセットしよう
3-16 よく使うCSSプロパティ一覧
CHAPTER 4 フルスクリーンのWebサイトを制作する
4-1 フルスクリーンとは
4-2 フルスクリーンページの制作の流れ
4-3 「head」を記述しよう
4-4 「header」部分を作ろう
4-5 コンテンツ部分を作成しよう
4-6 ファビコンを用意しよう
4-7 フルスクリーンページのカスタマイズ例
CHAPTER 5 2カラムのWebサイトを制作する
5-1 2カラムのレイアウトとは
5-2 2カラムページの制作の流れ
5-3 ページ全体の見出しを作成しよう
5-4 フッター部分を作成しよう
5-5 横並びの設定をしよう
5-6 メインエリアを作ろう
5-7 サイドバーを作ろう
5-8 レスポンシブに対応させよう
5-9 カラムページのカスタマイズ例
CHAPTER 6 タイル型のWebサイトを制作する
6-1 タイル型レイアウトとは
6-2 タイル型レイアウトの制作の流れ
6-3 ページ上部の紹介文を作成しよう
6-4 タイル型レイアウトを設定しよう
6-5 レスポンシブに対応させよう
6-6 タイル型レイアウトのカスタマイズ例
CHAPTER 7 外部メディアを利用する
7-1 お問い合わせページの制作の流れ
7-2 フォームを設置しよう
7-3 地図を表示しよう
7-4 Facebookプラグインを挿入しよう
7-5 Twitterプラグインを挿入しよう
7-6 YouTube動画を挿入しよう
7-7 レスポンシブに対応させよう
7-8 OGPの設定をしよう
7-9 外部メディアのカスタマイズ例
Amazonで詳しく見る
紹介文
Sun Microsystemsが支援するIDE(統合開発環境)「NetBeans」を使ってJavaを創りながら学習。コマンドプロンプトで説明せざるを得なかったJavaの文法事項や概念を、GUI講築環境を使ってフォーム上にサンプルを創りながら学習。必須の技術でありながら別々の書籍で途切れ途切れの学習を強いられてきた、基本API、データベースからJSP/サーブレットまでを一貫して学習。
インストール
Javaとは
NetBeansの使い方
Javaの基本
制御構造と配列
クラスとインタフェース
標準API
入出力
プログラムの整理と配布
データベース
Webアプリケーションの準備
JSPとWebアプリケーションの基礎
Webアプリケーションの構成
外部ライブラリとWebフレームワーク
Amazonで詳しく見る
紹介文
Java入門書の最高峰!!
シリーズ累計120万部突破!!
「Java入門書の最高峰」と多くの読者から絶賛された前著(2016年刊行)の改訂版です。
たくさんの図表とサンプルプログラムを使って、Javaの基礎から、オブジェクト指向プログラミングの本質までを
わかりやすく解き明かします。
今回の改訂にあたっては、最新のJavaに対応させるとともに、文章とレイアウトを全面的に見直し、
一段と読みやすく、理解しやすい内容になっています。
初めてプログラミングを学ぶ人、他の入門書ではマスターできなかった人、本当にJavaをマスターしたい人など、
Javaに関心をもつすべての読者にとって、最良の1冊です。
■主要目次
第1章 画面に文字を表示しよう
第2章 変数を使おう
第3章 プログラムの流れの分岐
第4章 プログラムの流れの繰返し
第5章 基本型と演算
第6章 配列
第7章 メソッド
第8章 クラスの基本
第9章 日付クラスの作成
第10章 クラス変数とクラスメソッド
第11章 パッケージ
第12章 クラスの派生と多相性
第13章 抽象クラス
第14章 インタフェース
第15章 例外処理
第16章 文字と文字列
Amazonで詳しく見る
紹介文
必ず身につく世界最良の学習メソッド
なぜ、世界中の成功者はプログラミングの基本を学んでいるのか。その答えと、具体的な学び方が一冊に!
世界中で2億人以上が夢中になった学び方!
バラク・オバマ(アメリカ大統領)、ビル・ゲイツ(Microsoft創業者)、マーク・ザッカーバーグ(Facebook創業者)らも賛同した、
「世界最良の学習メソッド」を徹底紹介!
抜群の面白さとわかりやすさで、小学生から大人まで全世代がハマる!
★★こらからはじめる人にオススメの1冊です!★★
・なぜ、世界中の成功者はプログラミングの基本を学んでいるのか?
・プログラミングの基本を最少の時間で確実に習得できる学び方とは?
世界最先端の学習研究が「学び方」を劇的に変えた。
この知識は決して無駄にはなりません。
プログラミングの基礎知識は、近い将来、必ず役立つスキルになります。
◆◆本書の対象読者◆◆
・ できるだけ効率よく、とプログラミングの基本を習得したい人
・ プログラミングに興味はあるが、そもそもの「学び方」がよくわからない人
・ 社会人の一般教養として「プログラミングの基本」を身につけておきたい人
・ 子どものプログラミング教育に興味のある人
ぜひご一読ください。
本書掲載の「新しい学び方」は、あなたの「プログラミング」に対する見方を
完全に変えるかもしれません。
第1部 新しいスキルを獲得しよう!
第1章 プログラミング・スキルの想像以上の価値
第2章 効率よく、確実にプログラミング・スキルを習得する方法
第2部 世界最高の学習メソッドで学ぶ、はじめてのプログラミング
第3章 主な学習サービスの概要と特徴
第4章 はじめてでも絶対につまずかない「Hour of Code」
第5章 最もシンプルかつ強力な学習ツール「Lightbot」
第6章 世界最高峰の叡智が作った「Scratch」
第7章 コード入力による制御・処理を学べる「CodeMonkey」
第3部 「プログラミング」の全体像を理解する
第8章 1つのプログラムを最初から最後まで作ってみよう!
第9章 他者のプログラムを活用することの大切さ
第4部 入門者からの脱却 ~もう1つ上のステップへ~
第10章 どのプログラミング言語を学ぶべきか
第11章 本格的にプログラミングを学ぶための手引き
Amazonで詳しく見る
紹介文
人類の叡智「プログラミング」。その歴史や日常で役立つ技術を天才プログラマーが解説。この一冊であなたが見ている世界は一変する!
もの言わぬ機械とコミュニケーションをとる唯一の手段「プログラミング」。「もはやそれは誰もが学ぶべき教養」というメッセージを掲げ、刊行から数年を経ても売れ続けるロングセラーが『教養としてのプログラミング講座』だ。同書はプログラミングの歴史から簡単な作成、日常生活に役立つテクニックなどを、国認定「天才プログラマー」が解説。プログラマーの思考法を手に入れることを可能としたベスト・ガイドブックだ。学習を啓蒙する書籍が続々刊行、スクールも多く創設されるなど、現実としてプログラミングが必修の“教養”であることが広く認知された今、同書の内容を増補。小中学校での必修化がスタートする今年、あらためて刊行する。ジョブズやゲイツ、21世紀の成功者はどんな世界を見ているのか?
Amazonで詳しく見る
紹介文
デザインパターン入門書の決定版
■『Java言語で学ぶデザインパターン入門 第3版』について
本書は、オブジェクト指向プログラミングにおいて古典的な23個のデザインパターンを、Java言語で書かれた短いサンプルプログラムとUMLを使い、オブジェクト指向プログラミングの初心者にもわかりやすく解説した技術書です。
2001年に初版が刊行されて以来、「最もわかりやすいデザインパターン解説書」「オブジェクト指向プログラミングとデザインパターンを学ぶ定番の一冊」と数多くの読者、技術者から支持されてきました。2004年には増補改訂版が刊行され、2020年には第31刷まで達するという人気のロングセラーとなっています。
しかし、Java言語は大きく進化しています。そこで第3版となる本書では、書籍の基本的構造と解説のわかりやすさはそのままに、扱っているサンプルプログラムを現代のJava言語に合わせて一新し、オブジェクト指向プログラミングとデザインパターンを身につけたいと思う技術者が、なおいっそう学びやすいように改訂を行いました。
結城浩 1963年生まれ。
プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆。
代表作に、『数学ガール』 シリーズ、『暗号技術入門』などかある。
J.S.バッハの「フーガの技法」が大好きな、プロテスタントのクリスチャン。
2014年度日本数学会出版賞受賞。
Amazonで詳しく見る
紹介文
イラストや写真を使ってわかりやすく解説するHead Firstシリーズのデザインパターン版。現在の状況に合わせアップデート。
ビジュアルで学ぶデザインパターン。ロングセラー待望の改訂版!
2005年の発刊以来、15年にわたって売れ続けている定番の待望の改訂版です。イラストや写真、会話調の説明を使ってわかりやすく解説する人気のHead Firstシリーズのデザインパターン版で、入門書として不動の人気を誇っていますが、このたびJavaのバージョンアップや現在の状況に合わせて全面的にアップデート。第1版と同様に、抽象的でわかりにくい概念も、豊富なイラストや、身近なもののたとえで難なく理解でき、例題を通して、オブジェクト指向プログラミングの考え方を身につけることができます。
Amazonで詳しく見る
紹介文
筋の良いMVCフレームワークとして実績も安定感も抜群のPlay Framework。JavaとScala両対応の入門書です。
JavaでWebアプリケーションを開発するフレームワークには種々ありますが、Scalaを使いたいなら、Play一択 。筋の良いMVCフレームワークとして、実績も安定感も抜群です。また、StrutsやSeasarといったレガシーフレームワークからの移行にも実力を発揮し、隠れた人気を誇っています。本書は、そんなPlayのわかりやすい入門書。JavaとScalaに両対応だから、Javaプログラマーも安心です。
Chapter 1 Play Frameworkを用意する
1-1 Play Frameworkのインストール
1-2 Playアプリケーションの作成と実行
1-3 開発環境について
Chapter 2 コントローラーとルーティング
2-1 コントローラーの利用
2-2 アクションの基本
2-3 パラメーターの利用
2-4 クッキーの利用
2-5 セッションの利用
セッションでの値の追記
Chapter 3 ビューとテンプレート
3-1 Twirlテンプレートの基本
3-2 レイアウトを利用する
3-3 ブロックをマスターする
3-4 フォームの利用
Chapter 4 JDBCによるデータベースアクセス
4-1 H2とJDBCの準備
4-2 JDBCによるデータベースアクセス
4-3 CRUDを考える
Chapter 5 Anorm/Slickの利用(Scala編)
5-1 Anormによるデータベースアクセス
5-2 AnormによるCRUD
新規作成(Create)について
更新(Update)について
削除(Delete)について
Anormの利用は基本パターンを覚えるだけ!
5-3 Slickの基本
5-4 CRUDを作成する
Chapter 6 JPAとEbeanの利用(Java編)
6-1 JPAによるデータベースアクセス
6-2 JPAによるCRUD
6-3 Ebeanによるデータベースアクセス
Chapter 7 バリデーション、フラッシュメッセージ、テーブル連携
7-1 バリデーションとフラッシュメッセージ(Scala版)
7-2 バリデーションとフラッシュメッセージ(Java版)
7-3 複数テーブルの連携(Scala版)
7-4 複数テーブルの連携(Java版)
Amazonで詳しく見る
紹介文
プログラミングを勉強してみたけれど、なかなかうまくいかない。
プログラミングに漠然と興味があるけれど何からはじめていいのかわからない。
Progateなどの入門サイトで試してみたけれど、その後何をしたらいいかわからない。
そんなことを思っている方は多いのではないでしょうか?
独学でプログラミングをマスターするためには、実は最も大切なものがあります。
それが、学習方法です。
本書では、プログラミングの参考書を買う前に読んで欲しいプログラミングの学習方法をお伝えしていきます。
受験勉強や資格獲得、語学をマスターするためなどの勉強でこのような経験はないでしょうか?
毎日ひたすら勉強しているのに、まったく成績が上がらない。
他の人と比べて、知識が身につくのが遅い。
これらも全て、学習方法が原因なのです。
かつて僕も、がむしゃらに勉強をしていた時期がありました。
しかし、全く知識が身につかず、結局あきらめてしまったことも多かったです。
しかし、学習方法を改善してからは、知識がすんなり身につくようになったのです。
本書では、これからプログラミングを始める方のために、その学習方法をご紹介します。
またプログラミングを使って作りたいモノ別に、おすすめの学習ルートも紹介しています。
これからプログラミングを始める方、プログラミングを勉強中だけれど、身についているか実感がなく不安に思っている方、にぜひ読んでいただきたい内容となっています。
本書は、学習方法を知らないがゆえにプログラミングを断念してしまう人すべての人を救うために作られました。
そして本書が、一人でも多くの人がプログラミングというスキルを身につけ、自分の武器とするための道しるべとなれば嬉しいです。
第1章 プログラミングがなぜ注目されているのか?
1 IT技術者の需要が高まっている
2 世界は機械化している
3 プログラミング教育が世界で必修化されている
4 課題を解決するための新しい力が求められている
5 プログラミングは自己実現のための最強の武器
第2章 プログラミングって一体なんなのか?
1 プログラミングってそもそも何?
2 プログラミングの知識が必要な職業は?
3 60%の人間にはプログラミングの素質がない?
4 プログラミングで何ができるか
5 プログラミングでできる身近な事例
第3章 プログラミングができるようになるための9つの学習ステップ
1 プログラミングを学ぶ目的を作る
2 自己評価を上げる
3 作りたい目標を決める
4 作りたい物のための知識を得る
5 写経の次は改造して遊ぶ
6 得た知識を組み合わせて作品を作る
7 作品を公開して改善する
8 人に教える
9 インターリーブで学習をより効率的にする
Interlude 誰もやったことがないことが無限にある!
第4章 作品別プログラミング学習ルート
1 Webページを作ろう
2 Webアプリケーションを作ろう
3 作業自動化ツールを作ろう
4 ゲームを作ろう
5 AI(人工知能)を作ろう
6 スマホアプリを作ろう
7 VR・ARを作ろう
8 暗号資産(仮想通貨)を作ろう
第5章 <応用編>テーマ別プログラミング学習法まとめ
1 チーム開発手法
2 プロジェクト管理
3 デバッグ
4 設計
5 セキュリティ
6 サーバ
7 データベース
8 美しいプログラム
9 アルゴリズム
10 コンピュータサイエンス
第6章 プログラミングを楽しく体験してみよう
1 CodeMonkey
2 Hour of CodeのMineCraft
3 CODE COMBAT
第7章 プログラミングコンテストに参加してみよう
1 プログラミングコンテストに参加するメリット
2 国内の有名なプログラミングコンテスト
第8章 ハッカソンに参加してみよう
1 ハッカソンに参加するメリット
2 国内の有名なハッカソン一覧
Amazonで詳しく見る
紹介文
本書は、23のGoFデザインパターンすべてについてその目的と効用を明確にし、巷で言われている誤解や偏見を取り除き、よりよいJavaコードを書くためのポイントをわかりやすく解説する。
デザインパターンとは何かを理解する(オブジェクト指向言語とデザインパターン
デザインパターンの使い方)
GoFのデザインパターンを理解する(Factory Methodパターン
Abstract Factoryパターン
Builderパターン ほか)
デザインパターンの難しさを理解する(デザインパターンを適用すれば、難しいプログラムが簡単に書ける
自分のプログラムはデザインパターンを適用するのに向いている
自分のプログラムは特定のデザインパターンに「正確に」従ってデザインされている ほか)
Appendix(Javaの基本を理解する
GoFデザインパターン図解集
INDEX)
Amazonで詳しく見る
紹介文
Java資格対策書の定番である徹底攻略シリーズ。Bronze、Silverの対策問題集で人気の著者が、新しくJava Gold SE 11試験[試験番号:1Z0-816]に対応した問題集を書き下ろしました。問題を解き進めるうちに必要な知識が体系的に学べる問題構成となっているほか、一問一問に教科書を超える丁寧な解説付きで、Goldに合格するためのスキルが確実に身に付きます。巻末には試験を体験できる模擬試験1回分付き。「丁寧な解説」+「実戦的な模擬問題」で、本書一冊だけで一発合格が目指せます。
Amazonで詳しく見る
紹介文
まいぜんシスターズと一緒にゲーム感覚でプログラミングを理解できちゃう!
絶大な人気を集めるYouTuberコンビ「まいぜんシスターズ」が、プログラミング的思考を楽しく教えてくれる最強のガイドブックがついに登場!
まじめな「ぜんいち」とゆかいな「マイッキー」といっしょに、楽しくて心温まる大冒険にくり出そう!
みんなの大好きなエピソードを読み進めながら、途中にあらわれる問題をクリアしていくことで、2020年から小学校で必修となった「プログラミング学習」の基本をマスターできます。
●パソコンやスマートフォンがなくても、プログラミングの考え方がスラスラとわかるようになります。
●自由研究のアイデア探しにも最適! 「つくってみよう!」のコーナーでは、遊びながらプログラミング的思考を学べるゲームなどを自分でつくれます。
●「プログラミング学習って、一体何?」という保護者の方も、お子さまと一緒に楽しみながら基本を理解できます。
チャンネル登録者数110万人超! 絶大な人気を集めるYouTuberコンビ“まいぜんシスターズ”初のプログラミング入門書。パズル、謎解きなどワクワクする内容でプログラミングの基礎を学べます。
●1章 プログラミングの基本は「順次」「反復」「条件分岐」ぜんいちVSマイッキー マイクラでバトル!
●2章 「変数」「配列」「関数」をマスターしよう 友とMAGIC
●3章 「アルゴリズム」で問題解決! ぜんいち&マイッキー マイクラで遊ぼう
●4章 プログラミングがもっとわかる! 家族再会
Amazonで詳しく見る
紹介文
『プログラムはなぜ動くのか』14年ぶり、待望の改訂第3版!
『プログラムはなぜ動くのか』14年ぶり、待望の改訂第3版!
「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。
第3版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第2版で好評だったハードウエアに関する説明や、C言語によるサンプル・プログラムも更新しています。巻末の補章のC言語の解説「レッツ・トライ C言語!」も最新仕様に沿うよう改訂しています。
新たに書き下ろした第12章では、Pythonを使った機械学習を取り上げます。初めて機械学習を体験する読者は、コンピュータとプログラムの活用方法としての人工知能(AI)を身近に感じられることでしょう。さらに、巻末の補章にPythonの解説「レッツ・トライ Python!」を追加しています。
本書の特徴
◆プログラムの成り立ち、動作の仕組みを説明…基礎知識をきちんと解説!
◆メモリーについて充実した説明…プログラマの必須知識をしっかり解説!
◆HW、OS、アプリ、クラウドなど動作環境を網羅…実践・実装知識も解説!
何事にも言えることですが、ものごとの本質を知ることは、とても大切なことです。本質を知ってこそ応用が利きます。新しい技術が登場しても、容易に理解できます。本書によって、プログラムを奥底まで探究し、プログラムの本質に触れてください。
――「おわりに」より――
【目次】
第1章 プログラマにとってCPU とはなにか
第2章 データを2 進数でイメージしよう
コラム:ピカピカの小学生にCPU と2 進数を説明する
第3章 コンピュータが小数点数の計算を間違える理由
第4章 四角いメモリーを丸く使う
第5章 メモリーとディスクの親密な関係
第6章 自分でデータを圧縮してみよう
コラム:ゲームに夢中な中学生にメモリーとディスクを説明する
第7章 プログラムはどんな環境で動くのか
第8章 ソース・ファイルから実行可能ファイルができるまで
第9章 OS とアプリケーションの関係
コラム:スマホが大好きな女子高生にOS の役割を説明する
第10章 アセンブリ言語からプログラムの本当の姿を知る
第11章 ハードウエアを制御する方法
コラム:近所のおばあちゃんにディスプレイとテレビの違いを説明する
第12章 コンピュータに「学習」をさせるには
コラム:行きつけの居酒屋のマスターに機械学習の種類を説明する
補章1 レッツ・トライ C言語!
補章2 レッツ・トライ Python!
Amazonで詳しく見る
紹介文
株式会社セガのゲームプログラマが書いた、プログラムの初心者に入門書を読む前に読んでほしい「プログラムを根本から理解し考え出す能力を身につける」書籍です。世間一般のプログラム入門書は、プログラムを自分で作るにはどのように頭を動かせばいいのかという根本の考え方を教えてくれません。本書は『ゲームプログラマになる前に覚えておきたい技術』の著者が、プログラミングの未経験者や基本をやり直したいと考えている人のために、簡単なゲーム制作をとおして、プログラムを作る上でどのように頭を働かせればいいのかを学べるように工夫しました。
Chapter 0 この本は誰に何を提供するか
0.1 これまでの教え方が持つ三つの問題
0.1.1 要素がバラバラ
0.1.2 プロ向けの道具がもたらす挫折
0.1.3 できなくても仕方ないと思われている
0.2 この本は何が違うか
0.2.1 一つのプログラムを最初から最後まで作る
0.2.2 専用に道具を用意する
0.2.3 本当に初めての人を対象にする
0.3 では、始めよう!
Chapter 1 プログラム作りを始める前に
1.1 あのゲームを作るためにはどうしたらいいか
1.1.1 あのゲームに必要なプログラム技術とは何か
1.1.2 あのゲームはどんなものか
1.1.3 プログラムとは何なのか
1.1.4 この奇妙な文章は何なのか
1.1.5 君の目標はどのくらいの高さにあるのか
1.2 どこから手をつけるか
1.2.1 プログラミング言語の学び方
1.2.2 どこから作り始めるか
1.2.3 何か手のつけやすい要素を抜き出せないか
1.3 この章で伝えたかったこと
Chapter 2 メモリに触れてみる ~四角を描く~
2.1 書いたプログラムを動かす
2.2 四角を描く
2.2.1 四角を描くための最低限のルール
2.2.2 この一行は何を意味しているのか
2.2.3 メモリとは何か
2.2.4 メモリをいじると点が出るのはなぜか
2.2.5 コンピュータとはどういう機械か
2.2.6 画面の点は何番のメモリにつながっているか
2.2.7 メモリに覚えさせる数と色の関係
2.3 好きな場所に四角を描く
2.3.1 画面の真ん中に赤い四角を描く
2.3.2 1足したり引いたりが面倒だ!
2.3.3 なぜ0始まりか
2.3.4 これであのゲームの絵を描けるか
2.4 この章で伝えたかったこと
Chapter 3 くり返し ~プログラムを短くする~
3.1 行数を減らす
3.1.1 一行で複数のメモリをいじりたい
3.1.2 なぜくり返しか
3.2 くり返しの使い方
3.2.1 くり返しの文法
3.2.2 何があれば四角を描くのに使えるか
3.2.3 固定していない数
3.2.4 1回実行して終わりにする
3.2.5 2回実行して終わりにする
3.2.6 16回実行して終わりにするにはどうするか
3.2.7 好きな回数くり返す方法
3.2.8 くり返す度に別の画素を塗るにはどうするか
3.3 くり返しで四角を描く
3.3.1 だがそう簡単には行かない
3.3.2 くり返しをくり返すにはどうするか
3.3.3 このプログラムの何が悪いのか
3.3.4 頭の中で動かす
3.3.5 結果から考える
3.3.6 思ったように動かない時にすべきこと
3.3.7 くり返しで書くことに価値はあるか
3.3.8 画面の真ん中に描くにはどうするか
3.4 この章で伝えたかったこと
Chapter 4 プログラムの変形 ~四角をたくさん描く~
4.1 くり返しで壁を描く
4.1.1 四角を描くことをくり返す
4.1.2 20個描く
4.1.3 この調子で右の壁や底も描く
4.1.4 注釈
4.2 もっと短くしたい
4.2.1 くり返しをくっつける
4.2.2 まだやれることはないか
4.2.3 底も含めてもっと短く書く方法はないか
4.2.4 これはわかりやすいプログラムか
4.3 この章で伝えたかったこと
Chapter 5 プログラムを分ける ~四角を楽にたくさん描く~
5.1 行を使い回すための、くり返し以外の手段
5.1.1 参照が使えたとしたらどうなるか
5.1.2 参照のわかりやすさ
5.2 Sunabaにおける「参照」
5.2.1 実行について
5.2.2 部分プログラムが役立つために必要なもの
5.2.3 参照する度に違う点を塗りたい
5.3 部分プログラムを使って壁と底を描く
5.3.1 左右も部分プログラムを使って描くには
5.3.2 部分プログラムに価値はあるか
5.4 もっとわかりやすく
5.4.1 注釈はなぜ必要か
5.4.2 「変な数」に注目する
5.5 この章で伝えたかったこと
Chapter 6 動きのあるプログラム ~四角を落とす~
6.1 次は何をすべきか
6.2 四角を落とす
6.2.1 点を落としてみる
6.2.2 四角を落としてみる
6.2.3 間違いを直す
6.2.4 問題を直す
6.3 もっと速く塗りたい
6.3.1 手加減をやめさせるには
6.3.2 手加減とは何か
6.3.3 手紙を送る
6.4 ここまでを組み合わせる
6.4.1 まずはくっつけるだけ
6.4.2 壁と底を描く
6.4.3 手加減をやめる
6.4.4 落ちる四角を真ん中に
6.5 この章で伝えたかったこと
Chapter 7 メモリに名前をつける ~もっと日本語で~
7.1 今のプログラムは何が悪いか?
7.1.1 どんな道具がほしいか
7.1.2 番号を自分で決めたくない
7.2 Sunabaでメモリに名前をつける
7.2.1 とりあえず使ってみる
7.2.2 メモリの番号を決めなくていい、ということ
7.3 名前付きメモリのルール
7.3.1 名前付きメモリが作られるのはいつか
7.3.2 名前付きメモリは部分プログラムごと
7.3.3 くり返しの外からは見えない
7.4 この章で伝えたかったこと
Chapter 8 操作できるプログラム ~四角を動かす~
8.1 操作するとはどういうことか
8.1.1 キーボードに反応する
8.1.2 プログラムはどうやって外のことを知るか
8.2 操作できるようにする
8.2.1 押す暇がないし、押せてもわからない
8.2.2 動いている間にキーを押したい
8.2.3 点を動かしてみる
8.2.4 手加減をオフに
8.2.5 下以外にも動くように
8.2.6 四角を動かす
8.3 動きっぱなしを避ける
8.3.1 まずは小さく始める
8.3.2 動き続けないとはどういうことか
8.3.3 前回押されていなければ、をどうするか
8.3.4 ホワイトボードを見てどうするか決める
8.3.5 式を思いつく
8.3.6 上下左右に動けるようにする
8.3.7 四角に戻そう
8.4 落ちてくる四角を動かせるようにする
8.4.1 壁と底を描いて、すぐできる改造をする
8.4.2 落とす
8.5 この章で伝えたかったこと
Chapter 9 「計算」の本当の意味 ~ゆっくり落とす~
9.1 ゆっくり落とすということ
9.1.1 毎回動かないプログラム
9.1.2 前動いたら今回動かない
9.1.3 割り算を使う
9.1.4 もう一つの方法
9.2 条件実行
9.2.1 行を実行したりしなかったりする
9.2.2 くり返しを1回で止める
9.2.3 条件実行はおいしいか?
9.3 Sunabaで条件実行
9.3.1 前の例はどうなるか
9.3.2 ゆっくり線を引く
9.3.3 ここまでを組み合わせる
9.3.4 押しっぱなしへの対処を整理する
9.4 計算の本当の意味
9.4.1 条件式が正しいということ
9.4.2
Amazonで詳しく見る
紹介文
Webとプログラミングの根幹を知ることで、長く使える基礎力を身に付けよう!
ロングセラーが8年ぶりに全面改訂!
「これからWebプログラミングを学んでみたい」、
「色々なプログラミング言語に通用するような知識が欲しい」。
そんな風に思っている方にぴったりの1冊です。
本書では、例としてPHPやJavaScriptを取り上げながら、様々なプログラミング言語に共通する基本を学習していきます。言語によって少しずつ用語や特徴は違っていますが、根幹を理解しておくことで、新しい言語も短期間で身につけることができるでしょう。
また本書では、インターネットの仕組みや、Webページがコンテンツを表示する仕組み、Cookieやセッション、フレームワークやライブラリ、データベースといった技術に関しても、包括的にまとめています。
プログラムに関係する一連の仕組みもちゃんと理解することで、しっかりとした長く使える知識を身につけることができます。
今回の改訂版では、内容をすべて現状に合わせて見直し、変更したほか、チーム開発やコンテナなど、近年の開発環境・体制を説明する章を追加しました。
(以下本書より抜粋・編集)
Chapter1からChapter3では、インターネットやWebの仕組みを説明します。Webプログラムを作って動かすには、そもそも、それが動作するWebサーバが必要です。実際にインターネット上にWebプログラムを置く場合、Webサーバは、どのような環境のものを用意し、どこに構築すればよいのか、その要件も説明します。
Chapter4とChapter5では、プログラミングの基本的な話をします。
この2つの章は、実際に、簡単に試せる構成にしました。
Chapter4では、「XAMPP」というWebプログラムを実行できる環境をインストールし、PHPを使ってプログラムする方法を説明します。Chapter5では、PHPを題材に、実際に簡単なWebプログラムを示しながら、プログラムの基本的な流れと構文を説明します。
言語はPHPですが、ここで扱う内容は、文法の差こそあれ、どのようなプログラミング言語にも通用するものです。
Chapter6以降は、応用です。実際のWebプログラム開発の現場では、どのような技術が使われているのか、そのトレンドを紹介します。
Chapter6では、省力化できるライブラリや操作性を向上させるJavaScriptの扱い方を説明します。Chapter7では、ショッピングサイトで「カゴの中身」を実現するのに不可欠な、Cookieの仕組みを説明します。
そしてChapter8では、データベースの使い方を説明します。最後のChapter9では、開発ツールやチーム開発、そして、ユーザー体験を向上させるいまどきのプログラミングの作り方など、実際に仕事で開発する場面で必要となる情報をまとめました。
Chapter 1 WebブラウザでWebページが表示される仕組み
Chapter 2 WebサーバからWebブラウザにコンテンツが届くまで
Chapter 3 Webプログラムがコンテンツを作る仕組み
Chapter 4 Webプログラムを動かしてみよう
Chapter 5 Webプログラミングをしてみよう
Chapter 6 ライブラリやJavaScriptを使ったプログラミング
Chapter 7 ユーザー情報を保存するCookieとセッション情報、Web Storage
Chapter 8 データベースを使ったプログラミング
Chapter 9 いまどきのプログラミング
Amazonで詳しく見る
紹介文
入門書のベストセラーが最新トレンドに対応
累計10万部のベストセラーが、現代のトレンドに対応して大改訂!
1つのストーリーに沿ってWebサイト作りとHTML&CSSの基本がスラスラ学べる、入門書の決定版!
第3版では現代のトレンドにあわせて制作するサイトを一新。PC・モバイル端末に対応したサイト作りの全手順を、図入りでとことん丁寧に解説しています。
これからWeb制作を始める人にも、HTML・CSSを学び直したい人にもおすすめの、充実の内容です!
最新のHTML Living Standardに準拠。Windows/Mac対応。
Chapter01 Webサイト制作を始める前に
01 Webサイトとその構成要素
02 Webブラウザの機能と種類
03 Webサイトを公開するまで
04 制作に使うアプリのインストール
Chapter02 HTMLの基礎
01 HTMLはWebページを制作するための言語
02 HTMLの基本的な書式
03 親子、子孫、兄弟 ~HTMLの階層関係
Chapter03 制作の準備と基本のHTML
01 Webサイト制作の準備
02 すべてのページに共通するHTMLタグ
Chapter04 テキストの表示
01 見出し
02 段落
03 番号なしリスト(非序列リスト)
04 要素のグループ化
05 コメント文
06 ヘッダーにナビゲーションを設置
07 キーボードで入力しにくい文字の表示
08 テーブル(表)
Chapter05 リンクと画像の挿入
01 サイト内リンクと相対パス
02 外部サイトへのリンクと絶対パス
03 ページ内リンク
04 画像の挿入
05 画像+リンク
Chapter06 CSSの基礎
01 HTMLの「見た目」を整えるCSS
02 CSSの基本的な書式
03 主なセレクタと書き方
04 CSSを書く場所
05 CSSファイルの作成とHTMLとの関連付け
Chapter07 テキストのスタイル、背景色、ボックスモデル
01 CSSのコメント
02 ページ全体のフォントやテキストの設定
03 個別のテキストのスタイル変更
04 リンクテキストのスタイル
05 テキストと画像の行揃え
06 背景色の設定
07 ボックスモデル① マージンとパディング
08 ボックスモデル② ボーダー
09 メインコンテンツを中央揃えに
10 画像の伸縮
Chapter08 スタイルの上書き、フレックスボックス、テーブルの整形
01 スタイルの上書き
02 繰り返す背景画像
03 デフォルトCSSの調整 ~リストの「・」をなくす
04 ナビゲーションを横に並べる
05 繰り返さない背景画像
06 背景画像の表示方法を調整
07 テーブルの整形
Chapter09 2ページ目以降のHTMLとグリッドレイアウト
01 ホームページ以外のファイルを作成
02 各ページにヒーロー画像を表示する
03 番号付きリスト ~アクセスページのHTMLを編集
04 メニューページのHTMLを編集
05 メニューページのスタイルを設定
Chapter10 フォームを使うページの作成
01 フォームの基礎知識
02 お問い合わせページの概要
03 フォーム全体の親要素
04 セレクトリスト
05 ラジオボタンとチェックボックス
06 テキストフィールド
07 テキストエリア
08 送信ボタン
09 ラベル
10 フォームのスタイル
11 送信ボタンのスタイル
Chapter11 モバイル端末に対応する
01 レスポンシブデザイン
02 ビューポートの設定
03 メディアクエリとブレイクポイント
04 ナビゲーションを調整
05 メインコンテンツの左右にスペースを作る
06 ホームページのヒーロー画像のサイズを調整
07 メニューページの列数を変更
Chapter12 Webサイトを公開する
01 Webサイト公開までの準備
02 Webサーバーに接続
03 ファイルのアップロード
04 Webサイトの最終確認
Amazonで詳しく見る
紹介文
Webサイト制作の初学者に最適の1冊目!作りながら楽しく基本を学べる入門書が登場です。豊富なイラスト・図解で理解を助けます。
Webサイト制作をこれから学ぶ人へ送る
“1冊目”に最適の入門書!【学びをサポートする4大特典つき】
本書は手を動かしてWebサイトを作りながら
HTML/CSSとWebデザインの基本を楽しく学べる入門書です。
初学者が1冊目に読む本としてふさわしい内容を盛り込んでいるため、
これを読めば必要な基礎知識がひととおり身につきます。
制作できるサイトは計4種。
初歩的な内容から少しずつレベルアップしていき、
Flexboxレイアウト・CSSグリッドレイアウト・
レスポンシブデザイン・CSSアニメーションも作れるようになります。
またコーディングの知識だけではなく、
学習を続ける上での学び方のコツやポイントも紹介。
知識ゼロからスタートした人でも、1冊を読み終えるころには
自ら学習を深めていけるようになるでしょう。
■わかりやすい!楽しい!ポイント
・やさしく要点をおさえた解説
・手を動かして作ることを重視した構成
・おしゃれでバリエーション豊かなサンプルサイト
・豊富な図解とイラスト、キャラクターによるガイド
・重要ポイントの理解を助ける補足動画
■こんな方におすすめ!
・Webサイト制作をゼロから学びたい初心者
・1冊目の入門書を探している人
・Web制作の仕事を目指している人
■学習をサポート!嬉しい4大特典つき
(※翔泳社サイトにて無料のID登録とダウンロードの必要があります)
1.サンプルサイトのXDデータ
- 画像の切り出しや色/数値抽出の練習用に
- デザインファイルの作り方の参考に
2.特典PDF:Webサイトの公開方法
- 最後に必要な公開作業の手順も解説!
- レンタルサーバー/ドメインについてやFTPソフトの使い方
3.制作に役立つおすすめサイト集
- 実際のしごとで使っているサイトを厳選!
- Webデザイン編/コーディング編と合計、約50サイトを紹介
4.初学者必携のチートシート
- 横において学習すると学びやすい!
- Flexboxレイアウト/CSSグリッドレイアウト/CSSのショートハンド/キーボード入力サポートの4種
Part1:HTMLを書いてみよう
01章 ウォーミングアップをしよう
02章 HTMLのきほんを学ぼう
Part2:SNSリンク集を作ってみよう
03章 CSSのきほんを学ぼう
04章 SNSリンク集のCSSを書いてみよう
Part3:2カラムページを作ってみよう
05章 ブログサイトのHTMLを書いてみよう
06章 ブログサイトのCSSを書いてみよう
Part4:1カラムページを作ってみよう
07章 Web招待状サイトのHTMLを書いてみよう
08章 Web招待状サイトのCSSを書いてみよう
09章 CSSアニメーションをつけてみよう
10章 レスポンシブウェブデザインに対応させよう
Part5:複数ページのサイトを作ってみよう
11章 制作の流れとWebデザインのきほん
12章 レストランサイトのCSSを書こう(モバイル)
13章 レストランサイトのCSSを書こう(PC)
14章 参考サイトの活用方法を学ぼう
15章 Webサイトを公開する準備をしよう
Amazonで詳しく見る
紹介文
<コンセプト>PC&モバイルサイトデザインの基礎力とHTML・CSSコーディングの知識が1冊で同時に身につく!
ウェブ制作を仕事にするならHTMLとCSSを学ぶことから始めますが、本書は体系立てた文法学習よりも、まずは「コーディングとはどのような作業なのか」を理解できる初学者向け入門書です。架空のカフェのショップ紹介&ネットショップサイトをチュートリアル形式で作成しながら、基本的なHTML要素/CSSの基本構造(セレクタ、プロパティ、値)を学ぶことができ、レイアウトのテクニックやデザイン(Webデザイン&レスポンシブデザイン)の基本も身につきます。
<本書のポイント>
・チュートリアル学習では、PC版だけでなくウェブ制作の現場でニーズの高いモバイルサイトのデザインがしっかり学べます
・定番となったflexbox、displayを使ったレイアウト手法の基礎から実践まで丁寧に解説します
・「フルスクリーン」「フレックスボックス」「シングルカラム」「2カラム」「グリッド」の5種類のレイアウトパターンを学習できます
・横スクロールするレイアウト、アニメーションで拡大するボタンなど動きのあるサイトづくりも体験できます
・「動画コンテンツページ」「ネットショップページ」も制作します
<綴じ込み特典つき>
付録①デザインのバリエーションが学べる!「レスポンシブデザインのネタ帖」
付録②インターン、就転職に役立つ!「ポートフォリオ用アレンジのネタ帖」
Chapter 1 知っておきたいサイトとデザインのきほん知識
1-1 ウェブサイトのしくみについて知ろう
1-2 サイト制作のフローとウェブデザイン
1-3 コーディングについて知っておくべきこと
1-4 ウェブページのパーツやレイアウトについて知ろう
1-5 ウェブデザインで知っておくべきこと
Chapter 2 サイト制作の前に準備しておくこと
2-1 制作環境を整えよう
2-2 Google Chromeのインストールと使い方
2-3 Visual Studio Codeのインストールと使い方
2-4 入力したコードをブラウザで確認する方法
2-5 実習用サンプルサイトを見てみよう
Chapter 3 知っておきたいHTMLのきほんと書き方
3-1 HTMLのきほん知識
3-2 サンプルサイト共通のHTMLを書いてみよう
3-3 見やすいコードとコメントの書き方
Chapter 4 知っておきたいCSSのきほんと書き方
4-1 CSSのきほん知識
4-2 CSSを書いてみよう<ページの基本設定を記述する>
4-3 CSSを書いてみよう
4-4 ウェブフォントを指定してみよう
Chapter 5 知っておきたいレスポンシブデザインのきほんと書き方
5-1 レスポンシブデザインのきほん知識
5-2 モバイルサイト用のCSSを書いてみよう
5-3 ハンバーガーメニューを作成しよう
5-4 モバイル用フッターのレイアウトを調整しよう
Chapter 6 フルスクリーンレイアウトを制作する
6-1 フルスクリーンレイアウト制作で学ぶこと
6-2 フルスクリーンレイアウトのHTMLを書いてみよう
6-3 フルスクリーンレイアウトのCSSを書いてみよう
6-4 フルスクリーンレイアウトのモバイル用CSSを書いてみよう
Chapter 7 フレックスボックスレイアウトを制作す
7-1 フレックスボックスレイアウト制作で学ぶこと
7-2 フレックスボックスレイアウトのHTMLを書いてみよう
7-3 フレックスボックスレイアウトのCSSを書いてみよう
7-4 フレックスボックスレイアウトのモバイル用CSSを書いてみよう
Chapter 8 シングルカラムで動画コンテンツページを制作する
8-1 シングルカラムレイアウト制作で学で学ぶこと
8-2 シングルカラムレイアウトのHTMLを書いてみよう
8-3 シングルカラムレイアウトのCSSを書いてみよう
8-4 シングルカラムレイアウトのモバイル用CSSを書いてみよう
Chapter 9 グリッドで格子状レイアウトを制作する
9-1 グリッドレイアウト制作で学ぶこと
9-2 グリッドレイアウトのHTMLを書いてみよう
9-3 グリッドレイアウトのCSSを書いてみよう
9-4 グリッドレイアウトのモバイル用CSSを書いてみよう
Chapter 10 2カラムでショップページを制作する
10-1 2カラムレイアウト制作で学ぶこと
10-2 2カラムレイアウトのHTMLを書いてみよう
10-3 ECサイトへリンクするページのHTMLを書いてみよう
10-4 2カラムレイアウトのCSSを書いてみよう
10-5 2カラムレイアウトのモバイル用CSSを書いてみよう
Chapter 11 Googleマップ付きの問い合わせページを制作する
11-1 問い合わせページ制作で学ぶこと
11-2 問い合わせページのHTMLを書いてみよう
11-3 問い合わせページのCSSを書いてみよう
11-4 問い合わせページのモバイル用CSSを書いてみよう
Appendix オリジナルのポートフォリオサイトに改変してみよう
デザインのバリエーションが学べる!「レスポンシブデザインのネタ帖」
インターン、就転職に役立つ!「ポートフォリオ用アレンジのネタ帖」
Amazonで詳しく見る
紹介文
せっかく学ぶのなら、プロ志向のHTMLを!
ウェブデザイン制作の現場で役立つHTMLを奥深くまで徹底解説。ウェブサイトの基本的なしくみから、要素を使いこなすための知識まで、じっくりと学習することができます。ただHTMLを書くだけではなく、アクセシビリティやユーザビリティの視点を知ることで、よりよいコーディングに自らたどりつけるようになります。現役講師による会話形式のやさしい解説つきで、はじめてHTMLを学ぶ方でも挫折しません。また、HTMLを学んだことはあるけれど、ゼロから書きはじめる自信がない方、次の1冊で確実なコーディング力をつけたいと望む方にも、おすすめです。これ1冊で、ウェブページの先頭から末尾まで、HTMLを自力で書けるようになります!
本書の進め方
ダウンロード練習ファイルについて
■INTRODUCTION
0-1 Webページが表示される仕組み
0-2 HTMLとCSSとJavaScriptの立ち位置
0-3 開発環境の準備
0-4 タグの基礎知識
COLUMN 誰もがアクセスできるWebメディアの特性
■CHAPTER1 HTMLの全体構造と基本ルールを知ろう
このチャプターのゴール
1-1 HTMLの基本構造の要素
1-2 HTMLの属性
1-3 HTMLのバージョンとDOCTYPE
1-4 文字エンコーディングと文字化け
1-5 要素の配置ルールとカテゴリ
章末練習問題
COLUMN CodeHeroでタグを調べてみよう
■CHAPTER2 テキストやリストをマークアップしよう
このチャプターのゴール
2-1 見出しを表す
2-2 段落を表す
2-3 特殊な記述が必要な文字
2-4 改行を表す
2-5 強調を表す
2-6 重要性を表す
2-7 サイドコメント
2-8 日時
2-9 箇条書き
2-10 説明リスト
章末練習問題
COLUMN Webサイト制作の仕事とは?
■CHAPTER3 リンクやコンテンツを埋め込もう
このチャプターのゴール
3-1 リンクを設定する
3-2 URL の指定方法
3-3 ページ内リンク
3-4 画像を埋め込む
3-5 動画を埋め込む
3-6 外部のコンテンツを埋め込む
3-7 本文から切り離せる図や写真
章末練習問題
COLUMN 勉強のモチベーション
■CHAPTER4 表とフォームを作ろう
このチャプターのゴール
4-1 表(テーブル)を作る
4-2 表の構造を明確化する
4-3 フォームとコントロール部品
4-4 複数行の入力フィールド
4-5 選択式メニュー
4-6 コントロール部品のラベル
章末練習問題
COLUMN フォームのユーザ体験の向上
■CHAPTER5 セクションとページ構造を整理しよう
このチャプターのゴール
5-1 セクショニングに関する要素
5-2 アウトラインを意識する
COLUMN かつてのセクショニング・コンテンツ
COLUMN かつて存在していた「セクショニング・ルート」カテゴリ
5-3 ページやセクションの基本構造を示す
5-4 連絡先情報
COLUMN 汎用的な要素
章末練習問題
COLUMN HTML にメモを残す
■CHAPTER6 よりよいページにしよう
このチャプターのゴール
6-1 ページの紹介文を設定する
6-2 SNS の共有情報を設定する
6-3 ファビコンを設定する
6-4 URL を正規化する
6-5 検索エンジンのクローラーを制御する
6-6 構文をチェックする
章末練習問題
COLUMN 自走する力
■PRACTICE ページをまるごとマークアップしよう!
7-1 架空のお店のWeb ページをマークアップしてみよう!
7-2 解答例を確認しよう
■付録
カテゴリ一覧表
グローバル属性一覧表
Amazonで詳しく見る
紹介文
最新のPython、ライブラリおよびWindoes 11に対応した「Python1年生」の第2版の登場!
おかげさまで8万部突破!
読者の声に応えて
第2版の登場
【本書の概要】
Web開発やデータ分析などの分野で、ユーザー数が増えてきているPython。
最近では、Pythonに触れる方も多くなってきています。
本書はそうしたPython初心者の方に向けて、
ヤギ博士とフタバちゃんと一緒に
基本的なプログラムの作成から、面白い人工知能アプリの作成までを体験。
対話形式でプログラミングのしくみを学ぶことができます。
【対象読者】
Pythonについて何も知らないプログラミング超初心者
【本書のポイント】
・対話形式で解説し、イラストを交えながら、基礎知識を解説します。
・初めての方でも安心して学習できるよう基本文法もしっかり解説します。
・平易なサンプルを用意していますので、安心してプログラムを体験できます。
・2022年時点の最新の環境(Windows 11、Python 3.10など)に対応しています。
・エラーでつまづいた場合の対応方法を巻末に掲載しています。
【目次】
第1章 Pythonで何ができるの?
第2章 Pythonを触ってみよう
第3章 プログラムの基本を知ろう
第4章 アプリを作ってみよう
第5章 人工知能くんと遊んでみよう
【著者プロフィール】
森 巧尚(もり・よしなお)
『マイコンBASICマガジン』(電波新聞社)の時代からゲームを作り続けて現在はコンテンツ制作や執筆活動を行い関西学院大学非常勤講師、
関西学院高等部非常勤講師、成安造形大学非常勤講師、大阪芸術大学非常勤講師、プログラミングスクールコプリ講師などを行っている。
近著に、『Python1年生』『Python2年生 スクレイピングのしくみ』『Python2年生 データ分析のしくみ』『Python3年生 機械学習のしくみ』
『Java1年生』『動かして学ぶ!Vue.js開発入門』『Python自動化簡単レシピ』(いずれも翔泳社)、
『ゲーム作りで楽しく学ぶ Pythonのきほん』『楽しく学ぶ Unity2D超入門講座』『楽しく学ぶ Unity3D超入門講座』(いずれもマイナビ出版)などがある。
第1章 Pythonで何ができるの?
第2章 Pythonを触ってみよう
第3章 プログラムの基本を知ろう
第4章 アプリを作ってみよう
第5章 人工知能くんと遊んでみよう
Amazonで詳しく見る
紹介文
本書は「Pythonだけ」を学ぶ本ではありません。Pythonを使ってプログラミングを紹介していますが、伝えたい内容はPythonに限らない「プログラミング全般」の知識です。
本書の著者、コーリー・アルソフ(Cory Althoff)は、「独学プログラマー」です。本書は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。
プログラミングを独学で身に付けるために、著者がPythonを通して学んだエッセンスが書かれています。彼の独学プログラマーとしての学び方は、Amazon.comでの本書の評価を見るとわかるように、多くの人に支持されています。
――訳者あとがきより
第1部(Part1)
第1章 イントロダクション
第2章 さあ、はじめよう!
第3章 プログラミング入門
第4章 関数
第5章 コンテナ
第6章 文字列操作
第7章 ループ
第8章 モジュール
第9章 ファイル
第10章 知識を1つにまとめる
第11章 ハマったときの助け
第2部(Part2)
第12章 プログラミングパラダイム
第13章 オブジェクト指向プログラミングの4大要素
第14章 もっとオブジェクト指向プログラミング
第15章 知識を1つにまとめる
第3部(Part3)
第16章 Bash
第17章 正規表現
第18章 パッケージ管理
第19章 バージョン管理
第20章 知識を1つにまとめる
第4部(Part4)
第21章 データ構造
第22章 アルゴリズム
第5部(Part5)
第23章 プログラミングのベストプラクティス
第24章 プログラマーとしての最初の仕事
第25章 チームで働く
第26章 さらに学ぼう
第27章 次のステップ
第6部(Part6)
補章 より良いコードにするために
補章 継続して学ぶために
謝辞
訳者あとがき
索引
第1部(Part1)
第1章 イントロダクション
第2章 さあ、はじめよう!
第3章 プログラミング入門
第4章 関数
第5章 コンテナ
第6章 文字列操作
第7章 ループ
第8章 モジュール
第9章 ファイル
第10章 知識を1つにまとめる
第11章 ハマったときの助け
第2部(Part2)
第12章 プログラミングパラダイム
第13章 オブジェクト指向プログラミングの4大要素
第14章 もっとオブジェクト指向プログラミング
第15章 知識を1つにまとめる
第3部(Part3)
第16章 Bash
第17章 正規表現
第18章 パッケージ管理
第19章 バージョン管理
第20章 知識を1つにまとめる
第4部(Part4)
第21章 データ構造
第22章 アルゴリズム
第5部(Part5)
第23章 プログラミングのベストプラクティス
第24章 プログラマーとしての最初の仕事
第25章 チームで働く
第26章 さらに学ぼう
第27章 次のステップ
第6部(Part6)
補章 より良いコードにするために
補章 継続して学ぶために
謝辞
訳者あとがき
索引
Amazonで詳しく見る
紹介文
大手メーカーで活躍してきたクリエイターが
ゲーム開発のノウハウをゼロから教えます!
本書はPythonを使用した、ゲームプログラミングの解説書です。
類書とは異なり、終始一貫「ゲーム開発」に焦点を当て、
今書いているプログラムがどのような"動き"に反映され、
どのような"面白さ"に結びつくのかを、正しく学ぶことができます。
一般的なソフト開発ではなく「ゲーム開発の作法」をきちんと学ぶことによって、ゲーム好きな読者の皆さんの就職や趣味といったリアルな世界がより充実してくれることを願い、出版されました。
【読者対象】
○ゲーム業界に就職したい学生・社会人
○SNSや同人で自作ゲームを発表したい方
○落ち物パズル、RPGの作り方を知りたい方
○一般ソフトとゲーム制作の違いを知りたい方
○Pythonを始めたけど作るものが浮かばない方
……高校生ぐらいから読めます!
【本書の特長】
○業界の基礎知識やプログラマーの役割からきちんと解説
○Pythonの基本文法をしっかり解説、プログラミング初心者も安心
○プログラム1行ごとに説明を付けており、理解しやすい
○豊富な図解とイラストを用い、イメージで理解できる
○開発に必要な素材はすべて無償ダウンロードできる
クイズ、すごろく、おみくじ、診断アプリ、迷路、自動生成ダンジョン、落ち物パズル、本格PRGなど……簡単なミニゲームから難しいものまで幅広く教材を用意しています。
さらに、読者特典として3つのおまけゲームもプレゼント!
すべてのゲームをつくり終えた時、あたなのプログラミングスキルは何倍にも向上しているに違いありません。
本書を機に、ぜひゲームプログラミングの世界に飛び込んでみてください!
Prologueゲームプログラマーになろう!
Chapter 1 Pythonのインストール
Lesson 1-1 Pythonとは?
Lesson 1-2 Pythonのインストール
Lesson 1-3 Pythonを起動しよう
COLUMN ゲームクリエイターって儲かるの?
Chapter 2 Pythonを始めよう
Lesson 2-1 計算してみる
Lesson 2-2 文字列を出力する
Lesson 2-3 カレンダーを出力する
Lesson 2-4 プログラミングの準備
Lesson 2-5 プログラムを記述しよう
Lesson 2-6 入出力命令を知ろう
Lesson 2-7 プログラムの記述の仕方
COLUMN ゲームが完成するまで
Chapter 3 プログラミングの基礎を学ぼう
Lesson 3-1 変数と計算式
Lesson 3-2 リストについて
Lesson 3-3 条件分岐について
Lesson 3-4 繰り返しについて
Lesson 3-5 関数について
COLUMN ゲームの開発費はどれくらい? その1
Chapter 4 importの使い方
Lesson 4-1 モジュールについて
Lesson 4-2 カレンダーの復習
Lesson 4-3 日時を扱う
Lesson 4-4 乱数の使い方
COLUMN RPGで逃げるのに失敗する確率
Chapter 5 CUIでつくるミニゲーム
Lesson 5-1 CUIとGUI
Lesson 5-2 クイズゲームを作る
Lesson 5-3 すごろくを作る
Lesson 5-4 消えたアルファベットを探すゲームを作る
COLUMN ゲームの開発費はどれくらい? その2
Chapter 6 GUIの基礎1
Lesson 6-1 GUIについて
Lesson 6-2 ラベルを配置する
Lesson 6-3 ボタンを配置する
Lesson 6-4 キャンバスを使う
Lesson 6-5 おみくじを引くソフトを作る
COLUMN キャンバスに図形を表示する
Chapter 7 GUIの基礎2
Lesson 7-1 テキスト入力欄を配置する
Lesson 7-2 複数行のテキスト入力欄を配置する
Lesson 7-3 チェックボタンを配置する
Lesson 7-4 メッセージボックスを表示する
Lesson 7-5 診断ゲームを作る
COLUMN RGBによる色指定
Chapter 8 本格的なゲーム開発の技術
Lesson 8-1 リアルタイム処理を実現する
Lesson 8-2 キー入力を受け付ける
Lesson 8-3 キー入力で画像を動かす
Lesson 8-4 迷路のデータを定義する
Lesson 8-5 二次元画面のゲーム開発の基礎
COLUMN ゲームソフトを完成させるには
Lesson 8-6 ゲームとして完成させる
COLUMN デジタルフォトフレームを作る
Chapter 9 落ち物パズルを作ろう!
Lesson 9-1 ゲームの仕様を考える
Lesson 9-2 マウス入力を組み込む
Lesson 9-3 ゲーム用のカーソルの表示
Lesson 9-4 マス上のデータを管理する
Lesson 9-5 ブロックを落下させるアルゴリズム
Lesson 9-6 クリックしてブロックを置く
Lesson 9-7 ブロックが揃ったかを判定するアルゴリズム
Lesson 9-8 正しいアルゴリズムを組み込む
Lesson 9-9 タイトル画面とゲームオーバー画面
Lesson 9-10 落ち物パズルの完成
COLUMN winsoundで音を鳴らす
Chapter 10 Pygameの使い方
Lesson 10-1 Pygameのインストール
Lesson 10-2 Pygameのシステム
Lesson 10-3 画像を描画する
Lesson 10-4 図形を描画する
Lesson 10-5 キー入力を行う
Lesson 10-6 マウス入力を行う
Lesson 10-7 サウンドを出力する
COLUMN Pygameで日本語を使う
Chapter 11 本格RPGを作ろう! 前編
Lesson 11-1 ロールプレイングゲームについて
Lesson 11-2 迷路を自動生成する
Lesson 11-3 ダンジョンを作る
Lesson 11-4 ダンジョン内を移動する
Lesson 11-5 戦闘シーンを作る その1
Lesson 11-6 戦闘シーンを作る その2
Lesson 11-7 戦闘シーンを作る その3
COLUMN ゲームの画面演出 287
Chapter 12 本格RPGを作ろう! 後編
Lesson 12-1 ロールプレイングゲームの全体像
Lesson 12-2 ファイルのダウンロードとプログラムの実行
Lesson 12-3 プログラムリスト
Lesson 12-4 プログラムの詳細
COLUMN Pythonでのファイル処理
Chapter 13 オブジェクト指向プログラミング
Lesson 13-1 オブジェクト指向プログラミングについて
Lesson 13-2 クラスとオブジェクト
Lesson 13-3 tkinterを使ってオブジェクト指向を学ぶ
Lesson 13-4 オブジェクト指向プログラミングをもっと学ぶ
COLUMN 筆者も苦労したオブジェクト指向プログラミング
Appendix 池山高校Python研究部
Intro ゲームをつくろう!
1つ目 一筆書き迷路ゲーム
2つ目 英単語学習ソフト
3つ目 ブロック崩し
Amazonで詳しく見る
紹介文
やさしく学べる、入門書の決定版!
3万部突破のベストセラーが充実のアップデート!
JavaScriptをこれから始める人にも、前に挫折したことのある人にも。
手を動かしてサンプルをひとつずつ作っていくことで、知識だけでなく、
現場で活きる、応用・実践につながる基礎力が「この一冊で」身につきます。
ポイント1「サンプルが楽しい。」
よくある“勉強のためのサンプル”を可能な限り排除し、「こういうの見たことある!」「こういうのが作ってみたかった!」というような、実際に仕事に使えそうなサンプルを集めました。なので、最初の「やるぞ!」というモチベーションを維持したまま、最後のページまで読み進めることができます。
ポイント2「つまずきポイントを徹底カバー。」
初学者がつまずきやすい・挫折しやすいポイントを丁寧に拾って「これはどういうこと?」に対処する解説を用意しています。
共感しながら読み進められる文章で「絶対に挫折しない・させない」内容に仕上げました。
【第2版の主な改訂内容】
・ECMA Scriptの新規格に対応。新しい機能・文法のうち、入門者でも取り組みやすく便利なものを紹介
・書籍内の情報を2019年の状況にあわせて全面的にアップデート
・3~6章のサンプルを更新。解説内容をより丁寧にわかりやすくブラッシュアップ
・7章は全面刷新し、より現代的・実践的なテクニックを学べる内容に
【こんな方におすすめ!】
・HTMLとCSSは何となくわかっていて、JavaScriptもやらないと…と思いつつなかなか手がつけられない方
・「フロントエンドエンジニア」という言葉に惹かれる方
・Web業界に入りたい方、または入りたての方
・「他のWebデザイナーに差をつけたい!」というWebデザイナーの方
・「フロントエンドエンジニアやWebデザイナーとまともにコードの話をしたい!」というWebディレクターの方
やさしく学べる、入門書の決定版!
Chapter1 イントロダクション
1-1 これからJavaScriptを始める皆さんへ
1-2 JavaScriptってどういうもの?
1-3 JavaScriptの「プログラミング」と動作の仕組み
1-4 各章の概要
1-5 用意するツール
1-6 サンプルデータのダウンロード
1-7 テンプレートを準備して、いざ出発!
Chapter2 アウトプットの基本
2-1 コンソールにアウトプット ~開発ツールを使ってみよう
2-2 JavaScriptはどこに書く? ~タグとJavaScriptの記述場所
2-3 ダイアログボックスを表示する ~window.alert()
2-4 HTMLを書き換える ~要素を取得する・コンテンツを書き換える
Chapter3 JavaScriptの文法と基本的な機能
3-1 確認ダイアログボックスを表示する ~条件分岐(if)
3-2 入力内容に応じて動作を変更する ~変数、定数
3-3 動作のバリエーションを増やす ~条件分岐(else if)
3-4 数当てゲーム ~比較演算子、データ型
3-5 時間で異なるメッセージを表示する ~論理演算子
3-6 1枚、2枚、3枚…と出力する ~回数が決まっている基本の繰り返し
3-7 コンソールでモンスターを倒せ! ~回数が決まっていない繰り返し
3-8 税込価格を計算する ~ファンクション
3-9 FizzBuzz ~算術演算子
3-10 項目をリスト表示する ~配列
3-11 アイテムの価格と在庫を表示する ~オブジェクト
Chapter4 インプットとデータの加工
4-1 フォームの入力内容を取得する ~入力内容の取得とイベント
4-2 わかりやすく日時を表示する ~Dateオブジェクト
4-3 小数第◯位で切り捨てる ~Mathオブジェクト
Chapter5 一歩進んだテクニック
5-1 カウントダウンタイマー ~時間の計算とタイマー
5-2 プルダウンメニューで指定ページへ ~URLの操作、ブール属性の設定
5-3 プライバシーポリシー承認パネルを作る ~クッキー(cookie)
5-4 イメージの切り替え ~サムネイルのクリックによる画像の切り替え
5-5 スライドショー ~ここまでの知識を総動員
Chapter6 jQuery入門
6-1 開閉するナビゲーションメニュー ~要素の取得とclass属性の追加・削除
6-2 ドロワーを作ってみよう ~CSSと組み合わせてアニメーションを実現
6-3 空き席状況をチェック ~AjaxとJSON
Chapter7 外部データを活用したアプリケーションに挑戦!
7-1 あなたはいまどこ? ~位置情報(navigator.geolocation)
7-2 Web APIを使ってみよう ~OpenWeatherMap APIで天気予報
Amazonで詳しく見る
紹介文
好評の『スクラッチプログラミングの図鑑』のスクラッチ3.0対応版です。ブラウザから公式サイトにアクセスして使うオンライン版と、Scratchデスクトップをインストールして使うオフライン版の両方に対応しています。スクラッチは、小学生からのプログラミング教育が本格化しているなか、はじめての言語として人気です。子供にプログラミングを学ばせたい親や、教材として使用したい先生に注目されています。本書は「まなびのずかん」シリーズとして、スクラッチによるゼロからのプログラミングをビジュアルふんだんの図鑑形式で解説。小学生でも始められる基礎的なところから、大人もうなる本格的なプログラミングまで扱っています。また、数学、国語、社会、音楽など教科をテーマにした章も設けており、先生や親がプログラミング教育を見据えた教材として使用することもできます。総ルビとなっており、本書1冊で永くご使用いただけます。
■1章 プログラミングとは
1 プログラムって何? プログラミングって何?
2 プログラムは何で作るの?
3 プログラムはどうやって使うの?
4 スクラッチを知ろう
5 スクラッチの画面を知ろう
6 スクラッチを使ってみよう
7 作ったプログラムを保存しよう
8 保存したプログラムを再開しよう
■2章 プログラミングの基本をマスターしよう
1 キャラクターを動かしてみよう
2 動かす量を変えてみよう
3 キャラクターの向きを変えてみよう
4 複数の動きを組み合わせてみよう
5 キャラクターの大きさを変えてみよう
6 キャラクターの色を変えてみよう
7 コスチュームを変えてみよう
■3章 プログラミングの世界を楽しもう
1 複数のキャラクターを表示させてみよう
2 複数のキャラクターを同時に動かしてみよう
3 キャラクターを作ってみよう
4 キャラクターの保存と読み込みをしてみよう
5 写真を読み込んで加工してみよう
6 音を鳴らしてみよう
■4章 かんたんなゲームを作ってみよう
1 ゲームの内容を考えよう
2 画面の背景を決めよう
3 キャラクターと役割を決めよう
4 プログラミングの最初に知っておこう
5 宇宙船を動かすスクリプトを作ろう
6 タマを撃つスクリプトを作ろう
7 ロボットを動かすスクリプトを作ろう
8 点数を表示しよう
9 自分なりの工夫をしてみよう
■5章 ミニゲームの作り方を学ぼう
1 マウスをおいかけるゲーム
2 キーボードでスプライトを動かそう
3 でたらめを楽しもう
4 数をあつかうゲーム
5 音をあつかうゲーム
■6章 本格的なゲームを作ろう
1 ゲームの内容を考えよう
2 迷路ステージを用意しよう
3 迷路の中を移動させよう
4 オープニングを作ろう
5 ゲームを改良しよう
■7章 教材を作ってみよう
1 絵本を作ってみよう(国語)
2 計算ドリルを作ってみよう(算数)
3 月の満ち欠けのしくみ(理科)
4 名勝案内を作ろう(社会)
5 名画を鑑賞しよう(図工)
6 曲を作ってみよう(音楽)
■8章 アルゴリズムを学ぼう
1 リストと乱数を知ろう
2 目的の数を探してみよう
3 成績判定をしてみよう
4 最大値を探してみよう
5 数を並べ替えてみよう
■付録
Amazonで詳しく見る
紹介文
「ITエンジニア本大賞2023」技術書部門で大賞受賞!
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。
システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。
コードの可読性が低く調査に時間がかかる、
コードの影響範囲が不明で変更すると動かなくなる、
新機能を追加したいがどこに実装すればいいかわからない……。
変更しづらいコードは、成長できないコードです。
ビジネスの進化への追随や、機能の改善が難しくなります。
成長できないコードの問題を、設計で解決します。
1 悪しき構造の弊害を知覚する
1.1 意味不明な命名
1.2 理解を困難にする条件分岐のネスト
1.3 さまざまな悪魔を招きやすいデータクラス
1.4 悪魔退治の基本
2 設計の初歩
2.1 省略せずに意図が伝わる名前を設計する
2.2 変数を使い回さない、目的ごとの変数を用意する
2.3 ベタ書きせず、意味のあるまとまりでメソッド化
2.4 関係し合うデータとロジックをクラスにまとめる
3 クラス設計 ―すべてにつながる設計の基盤―
3.1 クラス単体で正常に動作するよう設計する
3.2 成熟したクラスへ成長させる設計術
3.3 悪魔退治の効果を検証する
3.4 プログラム構造の問題解決に役立つ設計パターン
Column 種類の異なる言語と本書のノウハウ
4 不変の活用 ―安定動作を構築する―
4.1 再代入
4.2 可変がもたらす意図せぬ影響
4.3 不変と可変の取り扱い方針
5 低凝集 ―バラバラになったモノたち―
5.1 staticメソッドの誤用
5.2 初期化ロジックの分散
5.3 共通処理クラス(Common・Util)
5.4 結果を返すために引数を使わないこと
Column C#のoutキーワード
5.5 多すぎる引数
5.6 メソッドチェイン
6 条件分岐 ―迷宮化した分岐処理を解きほぐす技法―
6.1 条件分岐のネストによる可読性低下
6.2 switch文の重複
Column クソコード動画「switch文」
6.3 条件分岐の重複とネスト
6.4 型チェックで分岐しないこと
6.5 interfaceの使いこなしが中級者への第一歩
6.6 フラグ引数
7 コレクション ―ネストを解消する構造化技法―
7.1 わざわざ自前でコレクション処理を実装してしまう
Column 車輪の再発明
7.2 ループ処理中の条件分岐ネスト
7.3 低凝集なコレクション処理
8 密結合 ―絡まって解きほぐせない構造―
8.1 密結合と責務
Column クソコード動画「共通化の罠」
8.2 密結合の各種事例と対処方法
Column クソコード動画「継承」
9 設計の健全性をそこなうさまざまな悪魔たち
9.1 デッドコード
9.2 YAGNI原則
9.3 マジックナンバー
9.4 文字列型執着
9.5 グローバル変数
9.6 null問題
9.7 例外の握り潰し
9.8 設計秩序を破壊するメタプログラミング
9.9 技術駆動パッケージング
9.10 サンプルコードのコピペ
9.11 銀の弾丸
10 名前設計 ―あるべき構造を見破る名前―
10.1 悪魔を呼び寄せる名前
10.2 名前を設計する―目的駆動名前設計
10.3 設計時の注意すべきリスク
10.4 意図がわからない名前
Column 技術駆動命名を用いる分野もある
10.5 構造を大きく歪ませてしまう名前
Column クソコード動画「Managerクラス」
10.6 名前的に居場所が不自然なメソッド
10.7 名前の省略
11 コメント ―保守と変更の正確性を高める書き方―
11.1 退化コメント
11.2 コメントで命名をごまかす
11.3 意図や仕様変更時の注意点を読み手に伝えること
11.4 コメントのルール まとめ
11.5 ドキュメントコメント
12 メソッド(関数) ―良きクラスには良きメソッドあり―
12.1 必ず自身のクラスのインスタンス変数を使うこと
12.2 不変をベースに予期せぬ動作を防ぐ関数にすること
12.3 尋ねるな、命じろ
Column クソコード動画「カプセル化」
12.4 コマンド・クエリ分離
12.5 引数
12.6 戻り値
Column メソッドの名前設計
Column staticメソッドの扱いに注意
13 モデリング ―クラス設計の土台―
13.1 邪悪な構造に陥りがちなUserクラス
13.2 モデリングの考え方とあるべき構造
13.3 良くないモデルの問題点と解決方法
Column クソコード動画「Userクラス」
13.4 機能性を左右するモデリング
14 リファクタリング ―既存コードを成長に導く技―
14.1 リファクタリングの流れ
14.2 ユニットテストでリファクタリングのミスを防ぐ
14.3 あやふやな仕様を理解するための分析方法
14.4 IDEのリファクタリング機能
14.5 リファクタリングで注意すべきこと
Column Railsアプリのリファクタリング
15 設計の意義と設計への向き合い方
15.1 本書はなんの設計について書いたものなのか
15.2 設計しないと開発生産性が低下する
15.3 ソフトウェアとエンジニアの成長性
15.4 課題を解決する
15.5 コードの良し悪しを判断する指標
Column クラスを分割すると読みにくくなる?
15.6 コード分析をサポートする各種ツール
Column シンタックスハイライトを品質可視化に利用する
15.7 設計対象と費用対効果
15.8 時間を操る超能力者になろう
16 設計を妨げる開発プロセスとの戦い
16.1 コミュニケーション
16.2 設計
16.3 実装
16.4 レビュー
16.5 チームの設計力を高める
17 設計技術の理解の深め方
17.1 さらにステップアップするための設計技術書紹介
Column バグ退治RPG『バグハンター2 REBOOT』
17.2 設計スキルを高める学び方
Column C#と長き旅、そして設計への道
Amazonで詳しく見る
紹介文
より効率的、生産的になりたいと願う開発者に向けて執筆。入門者には手引きとなり、ベテランでも読み直すたびに得るものがある。
より良いプログラマになるための実践的アプローチ
本書は、Andrew Hunt and David Thomas、 The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley、 2019)の日本語版です。
本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。