【2023最新】「java」のおすすめ本!人気ランキング

この記事では、「java」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。

スッキリわかるJava入門 第3版 (スッキリわかる入門シリーズ)

中山清喬
インプレス
おすすめ度
100

やさしいJava 第7版 (「やさしい」シリーズ)

高橋 麻奈
SBクリエイティブ
おすすめ度
70
紹介文
【シリーズ累計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

改訂3版 これからはじめるプログラミング 基礎の基礎

谷尻 かおり
技術評論社
おすすめ度
66

独習Java 新版

山田 祥寛
翔泳社
おすすめ度
64
紹介文
“標準教科書”が完全書き下ろしで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 「練習問題」「この章の理解度チェック」解答

ゼロからわかる Java超入門 [改訂3版]

佐々木 整
技術評論社
おすすめ度
62
紹介文
プログラミングを初めて学習する方のための書籍「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 例外処理 練習問題

スッキリわかるJava入門 実践編 第3版 (スッキリわかる入門シリーズ)

中山 清喬
インプレス
おすすめ度
61
紹介文
シリーズ累計50万部突破の定番入門書「スッキリわかるシリーズ」の『Java入門 実践編』に「第3版」が登場!最新Java16対応し、近年のJava改訂による新機能(Record等)の取り込みのほか、GitやMavenといったツール類の活用方法も具体的・実践的に解説! 新人エンジニア湊君の成長を傍らに、開発中に発生するJavaのいろんな「なぜ?」にしっかりと答えながら解説が進み、付録には「エラー解決・虎の巻」を用意して、独学に適した挫折しにくい紙面展開で、中級者に進むあなたを、効率的かつ、実践的にエスコートしていきます。

Java 第3版 入門編 ゼロからはじめるプログラミング

三谷 純
翔泳社
おすすめ度
60
紹介文
プログラミング学習シリーズJavaが、開発環境を最新化して改訂!文法やクラス、メソッドなどをしっかり学べる入門書 プログラミング学習シリーズJavaが、開発環境を最新化して改訂! 文法からクラスやメソッドの書き方・使い方までしっかり学ぼう! 本書は、現在もっとも幅広く使われているプログラミング言語の1つ 「Java」がはじめてという初心者を対象に、文法やプログラムの基本知識を わかりやすく丁寧に教える入門書です。 これまで多くの学生にJavaの授業をしてきた筆者が、その経験を活かし、 変数やif文、switch文による条件分岐、for文やwhile文を使った繰り返しから、 クラスやメソッドの使い方、作り方まで、つまずきやすいところを ケアしながら解説します。 サンプルプログラムは短くてシンプルなものを選び、何をしているのかが よくわかるように、コメントをしっかりつけました。 章の最後には練習問題があり、力試しもできます。 ・何から学習すれば良いかわからない ・Javaをはじめて学ぶ・あらためて基本から学びたい ・現場で通用する基礎を身につけたい という方におすすめの1冊です。 第1章 Java言語に触れる Java言語に触れる Java言語のプログラム構成 プログラムの作成 第2章 Java言語の基本 出力 変数 算術演算子と式 型変換と文字列の扱い 第3章 条件分岐と繰り返し 条件分岐 論理演算子 処理の繰り返し 配列 第4章 メソッド(クラスメソッド) メソッドとは メソッドの引数 メソッドの戻り値 メソッドのオーバーロード 第5章 クラスの基本 オブジェクト指向 クラスとインスタンス 参照 クラス活用の実例(バーチャルペット・ゲームの作成) 第6章 クラスの一歩進んだ使い方 コンストラクタ インスタンスメソッド クラス変数とクラスメソッド メソッドの活用の実例(バーチャルペット・ゲームの改良) 第7章 継承 継承とは フィールドとメソッドの継承 継承関係とコンストラクタの動き ポリモーフィズム 継承の実例(バーチャルペットの種類を増やす) 第8章 抽象クラスとインタフェース 修飾子とアクセス制御 抽象クラス インタフェース 抽象クラスとインタフェース(バーチャルペットクラスを抽象クラスにする)

独学プログラマー Python言語の基本から仕事のやり方まで

コーリー・アルソフ
日経BP
おすすめ度
60
紹介文
本書は「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) 補章 より良いコードにするために 補章 継続して学ぶために 謝辞 訳者あとがき 索引

プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書

きしだ なおき
技術評論社
おすすめ度
60
紹介文
本書では、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているが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 タスク情報の更新機能を追加する おわりに

Pythonスタートブック [増補改訂版]

辻 真吾
技術評論社
おすすめ度
59

スッキリわかるPython入門 (スッキリわかる入門シリーズ)

国本大悟
インプレス
おすすめ度
59

Pythonチュートリアル 第4版

Guido van Rossum
オライリージャパン
おすすめ度
58
紹介文
Pythonの作者自らが書き下ろした手引書。入門者がおさえておくべき機能やコンセプトを解説し、さらに特徴的な機能を多く紹介。 Python初心者必読のチュートリアルが3.9対応で登場! Pythonの作者Guido氏自らが書き下ろした、Python入門者のための手引書です。Pythonの言語と、入門者がおさえておくべきシステムの基本的な機能やコンセプトを解説し、さらにPythonの特徴的な機能を数多く取り上げて紹介することで、この言語の雰囲気とスタイルをわかりやすくつかめるよう配慮しています。5年ぶりの改訂版で、Python3.9.0に対応しました。入門者必読の書です。 Pythonの作者自らが書き下ろした手引書。入門者がおさえておくべき機能やコンセプトを解説し、さらに特徴的な機能を多く紹介。

Pythonでつくる ゲーム開発 入門講座

廣瀬 豪
ソーテック社
おすすめ度
58
紹介文
大手メーカーで活躍してきたクリエイターが ゲーム開発のノウハウをゼロから教えます! 本書は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つ目 ブロック崩し

Java 第2版 入門編 ゼロからはじめるプログラミング (プログラミング学習シリーズ)

三谷 純
翔泳社
おすすめ度
58
紹介文
プログラミング学習シリーズJavaが待望の改訂!文法やクラス、メソッドなどをしっかり学べる プログラミング学習シリーズJavaが待望の改訂! 文法からクラスやメソッドの書き方・使い方までしっかり学ぼう! 本書は、現在もっとも幅広く使われているプログラミング言語の1つ 「Java」がはじめてという初心者を対象に、文法やプログラムの基本知識を わかりやすく丁寧に教える入門書です。 これまで多くの学生にJavaの授業をしてきた筆者が、その経験を活かし、 変数やif文、switch文による条件分岐、for文やwhile文を使った繰り返しから、 クラスやメソッドの使い方、作り方まで、つまずきやすいところを ケアしながら解説します。 サンプルプログラムは短くてシンプルなものを選び、何をしているのかが よくわかるように、コメントをしっかりつけました。章の最後には練習問題があり、 力試しもできます。 ・何から学習すれば良いかわからない ・Javaをはじめて学ぶ・あらためて基本から学びたい ・現場で通用する基礎を身につけたい という方におすすめの1冊です。 第1章 Java言語に触れる  Java 言語に触れる  Java 言語のプログラム構成  プログラムの作成 第2章 Java言語の基本  出力  変数  算術演算子と式  型変換と文字列の扱い 第3章 条件分岐と繰り返し  条件分岐  論理演算子  処理の繰り返し  配列 第4章 メソッド(クラスメソッド)  メソッドとは  メソッドの引数  メソッドの戻り値  メソッドのオーバーロード 第5章 クラスの基本  オブジェクト指向  クラスとインスタンス  参照  クラス活用の実例(バーチャルペット・ゲームの作成) 第6章 クラスの一歩進んだ使い方  コンストラクタ  インスタンスメソッド  クラス変数とクラスメソッド  メソッドの活用の実例(バーチャルペット・ゲームの改良) 第7章 継承  継承とは  フィールドとメソッドの継承  継承関係とコンストラクタの動き  ポリモーフィズム  継承の実例(バーチャルペットの種類を増やす) 第8章 抽象クラスとインタフェース  修飾子とアクセス制御  抽象クラス  インタフェース  抽象クラスとインタフェース(バーチャルペットクラスを抽象クラスにする)

Java1年生 体験してわかる! 会話でまなべる! プログラミングのしくみ

森 巧尚
翔泳社
おすすめ度
58
紹介文
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章 もっとオブジェクト指向を知ろう

世界でいちばん簡単なJavaのe本[最新第3版]Javaの基本と考え方がわかる本

幸生, 堀江
秀和システム
おすすめ度
58
紹介文
この1冊でJavaプログラマーへの道が拓けます。難解だといわれているプログラムというものが、多彩なイラストによって簡単にわかります。 プログラミング言語Javaについて Javaでプログラミングをはじめる前に プログラミングの基本 プログラミングの心得 オブジェクト指向とプログラミング Javaを使う 資料編

スッキリわかるJava入門 第2版 (スッキリシリーズ)

中山 清喬
インプレス
おすすめ度
56

Java逆引きレシピ

竹添 直樹
翔泳社
おすすめ度
55
紹介文
達人が選んだ珠玉の現場ワザ。API活用から実践的コードの書き方まで。「困った」を解決、抜群の検索性、現場ですぐ使える。 第1章 Java開発の準備 第2章 Javaの基本 第3章 クラスとインターフェース 第4章 コレクション 第5章 日付操作 第6章 ファイルと入出力 第7章 並行プログラミング 第8章 XML 第9章 JDBC 第10章 JUnit 第11章 ネットワーク、ユーティリティ、システム

新わかりやすいJava オブジェクト指向徹底解説 第2版

川場隆
秀和システム
おすすめ度
55
紹介文
本書は、難しいと挫折しがちなオブジェクト指向を、初心者でも楽に読み進めることができ、すっきりと学べる書籍です。 モヤモヤがスッキリ晴れる。 難しいオブジェクト指向がわかる。 本当に理解したいから、じっくり丁寧に学ぶ。 人気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.用語集

AndroidエンジニアのためのモダンJava

山田 祥寛
技術評論社
おすすめ度
55
紹介文
Android開発者の底力を高める、Java言語の基礎を徹底解説! 第1章 イントロダクション 第2章 Javaの基本 第3章 演算子 第4章 制御命令 第5章 オブジェクト指向構文(クラスの基本) 第6章 オブジェクト指向構文(カプセル化/継承/ポリモーフィズム) 第7章 オブジェクト指向構文(パッケージ/例外処理/その他) 第8章 コレクション 第9章 ストリーム 第10章 スレッド

漫画でわかる デジタルマーケティング×データ分析

上野 佑馬(ウマたん)
ビジネス教育出版社
おすすめ度
55
紹介文
個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を… 個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を学ぶ

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

Dustin Boswell
オライリージャパン
おすすめ度
55
紹介文
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。 理解しやすいコード 第1部 表面上の改善(名前に情報を詰め込む 誤解されない名前 美しさ コメントすべきことを知る コメントは正確で簡潔に) 第2部 ループとロジックの単純化(制御フローを読みやすくする 巨大な式を分割する 変数と読みやすさ) 第3部 コードの再構成(無関係の下位問題を抽出する 一度に1つのことを コードに思いを込める 短いコードを書く) 第4部 選抜テーマ(テストと読みやすさ 「分/時間カウンタ」を設計・実装する) 付録 あわせて読みたい

新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト] (impress top gear)

Mala Gupta
インプレス
おすすめ度
55

世界でもっとも強力な9のアルゴリズム

ジョン・マコーミック
日経BP
おすすめ度
55
紹介文
第1章 イントロダクション-コンピュータが日常的に使っているすごいアイデアはどんなものか 第2章 検索エンジンのインデクシング-世界最大の藁山から針を探す 第3章 ページランク-グーグルを起ち上げたテクノロジー 第4章 公開鍵暗号法-葉書で機密情報を書き送る 第5章 誤り訂正符号-自分で誤りを訂正するシステム 第6章 パターン認識-経験から学ぶ 第7章 データ圧縮-無から有を生み出す 第8章 データベース-一貫性の追求 第9章 デジタル署名-このソフトウェアを本当に書いたのは誰か 第10章 決定不能性とはなにか 第11章 まとめ-指先の天才はもっと賢くなるか

スラスラわかるHTML&CSSのきほん 第2版

狩野 祐東
SBクリエイティブ
おすすめ度
55
紹介文
4万人が学んだベストセラーが、5年ぶりの大改訂! 小さなサイト作りを通してHTMLとCSSの基礎が学べる入門書の決定版! 第2版ではPCだけでなくスマホやタブレットにも対応したサイトが完成します。 ソースコードは現在のトレンドに合わせ、解説もいっそう丁寧にわかりやすくなりました。 これからWeb制作を始める人にも、HTML/CSSを学び直したい人にもおすすめの、充実の内容です! 最新HTML5.2準拠。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 番号なしリスト(非序列リスト) chapter05 リンクと画像の挿入 01 サイト内リンクと相対パス 02 外部サイトへのリンクと絶対パス 03 画像の表示 04 キーボードで入力しにくい文字の表示 05 ページの部分ごとに要素をまとめる 06 class属性 07 コメント文 chapter06 2ページ目以降を効率的に作成する 01 index.html以外のファイルの作成 02 段落にテキストと画像を含める 03 テキストを太字にする・改行する 04 id属性と特定の場所へのリンク 05 テーブル(表) 06 番号付きリスト(序列リスト) 07 CSS適用を考えた要素のグループ化 chapter07 CSSの基礎 01 HTMLの「見た目」を整えるCSS 02 CSSの基本的な書式 03 主なセレクタと書き方 04 CSSを書く場所 05 CSSファイルを作成する 06 HTMLファイルとCSSファイルを関連付ける chapter08 CSSでページのスタイルを調整 01 背景色の設定 02 テキスト色、フォントサイズの設定 03 マージン、ボーダー、パディング 04 行間の調整 05 リンクテキスト色の変更 06 コンテンツの行揃え 07 ブロック表示/インライン表示の変更 08 背景画像の指定 09 スタイルを上書きする 10 繰り返さない背景画像 11 ページの最大幅の設定 12 ページに固有のスタイルを適用 chapter09 フロートとテーブルのスタイル 01 テキストの回り込み 02 テーブルの整形 03 フレックスボックスで2コラムレイアウト 04 access.htmlのスタイルを作成しよう chapter10 フォームの作成 01 フォームの基礎知識 02 お問い合わせページの概要 03 フォーム全体の親要素 04 プルダウンメニュー 05 ラジオボタンとチェックボックス 06 テキストフィールド 07 テキストエリア 08 送信ボタン 09 ラベル 10 フォームのスタイルと属性セレクタ chapter11 モバイル端末に対応する 01 レスポンシブデザイン 02 ビューポートの設定 03 画像をレスポンシブデザインに対応させる 04 メディアクエリとブレイクポイント 05 ページ全体とナビゲーションのモバイル対応 06 コラムレイアウトの調整 07 フォームの調整 chapter12 Webサイトの公開 01 Webサイト公開までの準備 02 Webサーバーに接続 03 ファイルのアップロード 04 Webサイトの最終確認

スラスラ読める Javaふりがなプログラミング

リブロワークス
インプレス
おすすめ度
55

Unityの教科書 Unity 2021完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

北村 愛実
SBクリエイティブ
おすすめ度
55
紹介文
いちばん売れているUnity入門書が最新バージョンに対応!最新環境でゲーム制作を楽しく体験しましょう! Unity 2021に最速対応! いちばん売れているUnity入門書が最新バージョンに対応 最新環境でゲーム制作を楽しく体験しましょう! ■本書の特徴 ●初めてゲーム制作にチャレンジする人に最適! 最初は簡単な2Dゲームの制作からスタートし、徐々に難しいゲームへと進めていきます。サンプルゲームの制作を通じて、Unityの機能と、ゲームを作るための知識が自然と身に付きます。 ●プログラムの書き方がわからなくても大丈夫! C#の基礎知識も掲載しているので、プログラミング経験のまったくない人でも、安心して学習を開始することができます。 ●ゲームを面白くするためのヒントを掲載! Unityの使い方だけでなく、ゲームの設計方法、レベルデザインなど、ゲームを面白く作るための知識も紹介しています。 ■本書の構成 Chapter1 ゲーム作りの準備 ・Unityのインストール ・Unityの画面構成を知ろう ・Unityに触れて慣れよう Chapter2 C#スクリプトの基礎 ・スクリプトの第一歩 ・変数を使ってみよう ・制御文を使ってみよう ・配列を使ってみよう ・関数(メソッド)を作ってみよう ・クラスを作ってみよう Chapter3 オブジェクトの配置と動かし方 ・ゲームの設計を考えよう ・シーンにオブジェクトを配置しよう ・ルーレットを回すスクリプトを作ろう ・ルーレットが止まるようにしよう ・スマートフォンで動かしてみよう Chapter4 UIと監督オブジェクト ・スワイプで車を動かす方法を考えよう ・UIを表示しよう ・UIを書き換える監督を作ろう ・効果音の鳴らし方を学ぼう Chapter5 Prefabと当たり判定 ・キーボードでプレイヤを動かそう ・Physicsを使わない落下方法を学ぼう ・当たり判定を学ぼう ・Prefabと工場の作り方を学ぼう Chapter6 Physicsとアニメーション ・Physicsについて学ぼう ・コライダの形を工夫してみよう ・アニメーションについて学ぼう ・プレイヤの移動に合わせてカメラを動かそう ・Physicsを使った衝突検出を学ぼう ・シーン間の遷移方法を学ぼう Chapter7 3Dゲームの作り方 ・Terrainを使って地形を作ろう ・Physicsを使ってイガグリを飛ばそう ・パーティクルを使ってエフェクトを表示しよう Chapter8 レベルデザイン ・バスケットを動かそう ・アイテムを落下させよう ・アイテムをキャッチしよう Chapter1 ゲーム作りの準備 1-1 ゲームを作るのに必要なもの 1-2 Unityとは? 1-3 Unityのインストール 1-4 Unityの画面構成を知ろう 1-5 Unityに触れて慣れよう Chapter2 C#スクリプトの基礎 2-1 スクリプトとは? 2-2 スクリプトを作成しよう 2-3 スクリプトの第一歩 2-4 変数を使ってみよう 2-5 制御文を使ってみよう 2-6 配列を使ってみよう 2-7 関数(メソッド)を作ってみよう 2-8 クラスを作ってみよう 2-9 Vector型を使ってみよう Chapter3 オブジェクトの配置と動かし方 3-1 ゲームの設計を考えよう 3-2 プロジェクトとシーンを作成しよう 3-3 シーンにオブジェクトを配置しよう 3-4 スクリプトの作り方を学ぼう 3-5 スクリプトをアタッチしてルーレットを回そう 3-6 ルーレットが止まるようにしよう 3-7 スマートフォンで実行してみよう Chapter4 UIと監督オブジェクト 4-1 ゲームの設計を考えよう 4-2 プロジェクトとシーンを作成しよう 4-3 シーンにオブジェクトを配置しよう 4-4 スワイプで車を動かす方法を考えよう 4-5 UIを表示しよう 4-6 UIを書き換える監督を作ろう 4-7 効果音の鳴らし方を学ぼう 4-8 スマートフォンで実行してみよう Chapter5 Prefabと当たり判定 5-1 ゲームの設計を考えよう 5-2 プロジェクトとシーンを作成しよう 5-3 シーンにオブジェクトを配置しよう 5-4 キーボードでプレイヤを動かそう 5-5 Physicsを使わない落下方法を学ぼう 5-6 当たり判定を学ぼう 5-7 Prefabと工場の作り方を学ぼう 5-8 UIを表示しよう 5-9 UIを書き換える監督を作ろう 5-10 スマートフォンで実行してみよう Chapter6 Physicsとアニメーション 6-1 ゲームの設計を考えよう 6-2 プロジェクトとシーンを作成しよう 6-3 Physicsについて学ぼう 6-4 コライダの形を工夫してみよう 6-5 入力に応じてプレイヤを動かそう 6-6 アニメーションについて学ぼう 6-7 ステージを作ろう 6-8 プレイヤの移動に合わせてカメラを動かそう 6-9 Physicsを使った衝突検出を学ぼう 6-10 シーン間の遷移方法を学ぼう 6-11 スマートフォンで実行してみよう Chapter7 3Dゲームの作り方 7-1 ゲームの設計を考えよう 7-2 プロジェクトとシーンを作成しよう 7-3 Terrainを使って地形を作ろう 7-4 Physicsを使ってイガグリを飛ばそう 7-5 パーティクルを使ってエフェクトを表示しよう 7-6 イガグリを生産する工場を作ろう 7-7 スマートフォンで実行してみよう Chapter8 レベルデザイン 8-1 ゲームの設計を考えよう 8-2 プロジェクトとシーンを作成しよう 8-3 バスケットを動かそう 8-4 アイテムを落下させよう 8-5 アイテムをキャッチしよう 8-6 アイテムを生成する工場を作ろう 8-7 UIを作ろう 8-8 レベルデザインをしよう 8-9 スマートフォンで実行してみよう

JavaScript コードレシピ集

池田 泰延
技術評論社
おすすめ度
54

PythonではじめるiOSプログラミング 〜iOS+Pythonで数値処理からGUI、ゲーム、iOS機能拡張まで〜

掌田 津耶乃
ラトルズ
おすすめ度
54
紹介文
本書は、アプリ「Pythonista3」を使って、iPhone(iOS)でPythonプログラミングを学ぶための本です。 人気の高いプログラミング言語といえばPythonですが、Pythonを使うにはコンピュータが必要です。 しかし現在、コンピュータを持っていない人は若い人を中心に増えています。そんな時代にプログラミングをするにはどうすれば良いでしょうか?  答え「スマホでプログラミングすればいいのです!」 本書は、アプリ「Pythonista3」を使って、iPhone(iOS)でPythonプログラミングを学ぶための本です。 Pythonista3では、Pythonの基本的な機能は勿論、numpyやmatplotlibといったPythonで最も広く使われるモジュール、さらには「iPhoneのための機能」が充実していたり 2Dグラフィックに関する機能も強力で、すぐにでもリアルタイムゲームをプログラミングできます。 本書では、「標準モジュールを使った数理計算」「UI部品を使ったプログラミング」「2Dグラフィックを使ったゲームプログラミング」「iOSのさまざまな機能の利用」などについて 解説します。また、Pythonがはじめて、という読者のために、巻末ではPythonの基礎文法なども解説してあります。 Chapter1 Pythonista3開発を始めよう  Pythonista3のインストールからコンソールの使い方など、基本的な事柄の解説。 Chapter2 標準モジュールをマスターしよう   Pythonはさまざまなモジュールを追加して機能拡張していけます。Pythonista3では、Pythonで最も広く使われるモジュールの一つである「numpy」と「matplotlib」が標準で組み込まれています。これら「Pythonista3に標準で組み込まれているモジュール」について説明をします。 Chapter3 GUIを使おう  Pythonista3には、iOSの基本的なUIに相当する部品が用意されています。これにより、入力フィールドやボタンなど基本的なUIを使ったプログラムが作成できます。こうしたGUI関連について説明をします。 Chapter4 シーンとノードで2Dゲーム!  Pythonista3には、リアルタイムゲームで使う「スプライト」とよばれる機能が標準で用意されています。これを使うことで、キャラクタを自由に動かすアクションゲームが簡単に作れます。そのためのグラフィックやアニメーション関連の機能、効果音などサウンド再生の既往などについてまとめて説明します。 Chapter5 Pythonista3を更に使いこなそう!  Pythonista3には、iPhoneに用意されている機能を利用するためのライブラリ類が標準で用意されています。例えばセンサーやカメラ、フォトライブラリなどiPhone固有の機能をPythonista3のスクリプトから利用できるのです。こうしたiPhone独自の機能について説明をします。

いきなりはじめるPHP~ワクワク・ドキドキの入門教室

谷藤 賢一
リックテレコム
おすすめ度
54
紹介文
プログラミングは全く初めての人、他の入門書で挫折しちゃった人、つまづく所はみんな同じです。そこを徹底分析したメソッドで、全員ゴールに辿り着ける入門教室が秋葉原にあります。1日でWeb画面と簡単なDBまで作れるようになるとってもユニークな速習コース。その方法を1冊に凝縮した本書なら、いきなりの初心者でも、無理せず楽しくPHPとMySQLのエッセンスを習得できます。 1 なるほど!心の準備編-何から始めたらいいの?(とっても大切な心の準備! 挫折の落とし穴を跳び越えよう! ほか) 2 がんばろう!パソコン設定編-らくらく壁を跳び越えよう!(タダでサーバーを手に入れよう! タダでテキストエディタを手に入れよう! ほか) 3 ワクワク!プログラミング編-プログラミングは楽しい!(30分で覚えるHTML! 初めてのPHPを体験しよう! ほか) 4 ドキドキ!データベース編-あなたにもデータベースができる!(データベースはこうなってる! データベースの文字化け対策! ほか)

使って遊べる!Scratchおもしろプログラミングレシピ

倉本 大資
翔泳社
おすすめ度
54
紹介文
Scratch3.0対応。15の作例を紹介した入門書。タブレットでの遊び方やmicro:bit連携作品も紹介。 Scratch3.0で、楽しくプログラミングを学ぼう Scratchは、米国MITによって開発された教育用プログラミング環境です。2019年1月に3.0にバージョンアップされ、見た目の変更や新機能が追加。スマホやタブレット対応、外部サービスとの連携など、ますます楽しく使いやすくなりました。 この本のテーマは「遊べて使えるScratch」です。福笑いやトントン相撲といった昔ながらのゲームから、イマドキの写真加工風アプリまで、Scratchで再現してみました。紹介するのは全15作品。教育用コンピューター・micro:bitとつなげてあそぶ作品も紹介します。「Scratchでこんなこともできるんだ!」というおどろきがいっぱいです。 この本を書いたのは、長年子どもたちとScratchプログラミングに取り組んできた実力者、倉本大資さんと和田沙央里さん。Scratchプログラミングが初めての人でも大丈夫。つくりながら、プログラミングの基本を学んでいきましょう! 〈ここがポイント!〉 ●PCだけでなくスマホ・タブレットならではの作例・micro:bit連携など、Scratch3.0の最新機能を遊びつくせる! ●難易度がさまざまな15作例。Scratchコミュニティでよく見る作品もつくれるかも? ●注目の教育用コンピューター・micro:bitに連携してできる遊びを3作品収録。micro:bitを始めてみたい方にも最適 ●遊びながら、プログラミング用語や基本操作が学べる ●共有・リミックスOK! ダウンロードして使えるオリジナル素材つき 〈こんな人におススメ〉 ●プログラミングをはじめてみたい人 ●親子で一緒に学んでみたい人 ●子どもにプログラミングを教えてみたい人 ●Scratchを少し触ったことがあるけど、もっと楽しんでみたい人 ●Scratchとmicro:bitをつなげてあそびたい人 ※対象年齢:11歳~ 〈推薦のことば〉 ●村井 裕実子 氏(マサチューセッツ工科大学(MIT)メディアラボ 博士研究員)「アイデアの幅を広げてくれる、ポップで楽しいあっと驚くようなプロジェクトであふれている本。ここから、あなただけのプロジェクトをはじめましょう」 ●阿部 和広 氏(青山学院大学大学院 社会情報学研究科 特任教授) 「この本には、画面の中だけでなく、現実の世界に飛び出したアイデアがのっています。これからの世の中は、中とか外とか気にしなくてよくなるかもしれないですね。そんな新しい世界で暮らすための良いガイドになるでしょう」 ■0 Scratchを使う準備をしよう  ・Scratchのサイトにアクセスしよう  ・Scratchのアカウントを作成しよう ■1 プレゼントを贈ろう  1-1 手づくりメッセージカード  1-2 ケーキシミュレーター  1-3 誕生日ボイスメッセージ  1-4 ラッピング用包装紙 ■2 便利なツールをつくろう  2-1 みんなで使える伝言メモ  2-2 お料理レシピブック  2-3 おもしろ写真加工アプリ  2-4 スコアボード ■3 テーブルゲームであそぼう  3-1 Scratch福笑い  3-2 2人でハマる!○×ゲーム  3-3 ハラハラ危機一髪ゲーム  3-4 指のバトル!トントン相撲 ■4 micro:bitとつなげよう  4-0 Scratchとmicro:bitをつなげよう  4-1 フリフリおみくじ占い  4-2 ジャンプでキャッチゲーム  4-3 崖っぷち!アクションゲーム ■【学ぼう!コラム】  ・Scratchブロックの扱い方  ・スプライトとステージ  ・メッセージ  ・x座標・y座標  ・ペイントエディター  ・演算ブロック  ・コスチュームや背景の追加  ・変数・リスト  ・関数(ブロック定義)  ・クローン  ・タブレット・スマホ対応

Scratch〈スクラッチ〉とPython〈パイソン〉でまなぶプログラミング図鑑セット【全5巻】

キャロル・ヴォーダマン
創元社
おすすめ度
54
紹介文
最新のScratch 3.0に対応したスクラッチ関連書3冊と、パイソン関連書2冊を専用ケースに収めました。 人気のプログラミング言語「Scratch(スクラッチ)」と「Python(パイソン)」が学べる、大好評の「プログラミング図鑑」を集めたセット。最新のScratch 3.0に対応したスクラッチ関連書3冊と、パイソン関連書2冊を専用ケースに収めました。カラフルなイラストや図と1ステップごとの詳しい解説が特長。楽しいゲームやさまざまなプロジェクトを通して、プログラミングの基本スキルを学ぶことができます。 【セット内容】 『Scratch 3.0対応版 10才からはじめるプログラミング図鑑』 『Scratch 3.0対応版 10才からはじめるゲームプログラミング図鑑』 『Scratch 3.0対応版 10才からはじめるScratchプログラミング図鑑』 『たのしくまなぶPythonプログラミング図鑑』 『たのしくまなぶPythonゲームプログラミング図鑑』 注目度が高い2つのプログラミング言語が学べる、大好評の「プログラミング図鑑」を集めたセット。最新のScratch 3.0に対応したスクラッチ関連書3冊と、パイソン関連書2冊を専用ケースに収めました。

たのしいRuby 第6版 (Informatics&IDEA)

高橋 征義
SBクリエイティブ
おすすめ度
54
紹介文
いちばん売れているRuby入門書の決定版。 初版から17年。改訂とともに変化しながら、ずっと読まれ続けている定番書です。 第6版では、最新のバージョンに対応。 プログラミング初心者でも読み解けるように、 チュートリアル、基礎、クラス、実践とテーマを切り分けて、平易に解説。 Rubyの基礎から応用までがわかる一冊。 第1部 Rubyをはじめよう 第2部 基礎を学ぼう 第3部 クラスを使おう 第4部 ツールを作ってみよう

大人のためのScratch (I・O BOOKS)

美樹, 清水
工学社
おすすめ度
54

Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方

佐藤 昌基
翔泳社
おすすめ度
54
紹介文
初心者でも使いやすいPythonのフレームワーク「Flask」で物体検出アプリを作成するWebアプリ開発の入門書。 Webアプリの作り方からAPI化、デプロイメントまで エンジニアとデータサイエンティストのためのFlask入門 Pythonのフレームワーク「Flask」によるWebアプリ開発の入門書です。 まずは、最小のアプリの作成から始め、問い合わせフォーム、データベースを使ったアプリ、 認証機能と段階的に作成しながら、Flaskによるアプリ開発の基礎を習得します。 その後、画像データ(写真)から物体を判別する物体検知アプリを作成しながら 実践的なアプリの作り方、その機能をWeb API化する方法について解説します。 また、物体検知機能(手書き文字認識をする分析コード)を題材に、 どのように機械学習をアプリに組み込んでいくかについても詳しく解説します。 【本書の主な内容】 ●Flaskと開発の基礎  ◯問い合わせフォーム/DBアプリの作成  ◯認証機能の作成  ◯物体検知アプリの作成 ●API化/デプロイメント  ◯物体検知アプリのWeb API化  ◯Web APIとして外部公開 ●機械学習APIの開発  ◯分析コードから機械学習APIを開発する工程と方法 【主な対象読者】 ●Pythonで簡単にWebアプリ開発を始めたいエンジニア ●機械学習に興味のあるWebエンジニア ●Pythonを分析用途でしか使ったことがない人 ●自分でもアプリやWeb APIを作りたいデータサイエンティスト 【章構成】 ●第0部 イントロダクション  Flaskの概要と環境構築 ●第1部 Flask入門  最小限のアプリを作る――Flaskの基礎  データベースを利用したアプリを作る  認証機能を追加する ●第2部[Flask実践1]物体検知アプリの開発  アプリの仕様と準備  画像一覧画面を作る  サインアップとログインの画面を作る  画像アップロード画面を作る  物体検知機能を作る  検索機能を作る  カスタムエラー画面を作る  ユニットテストを作る ●第3部[Flask実践2]物体検知機能のAPI化/デプロイメント  Web APIの概要  物体検知APIの仕様  物体検知APIの実装  物体検知アプリのデプロイメント ●第4部機械学習APIの開発  機械学習の概要  機械学習APIの開発工程と実践 ■第0部 イントロダクション 第0章 Flaskの概要と環境構築 0.1 Flaskの設計思想 0.2 なぜFlaskを使うのか 0.3 Python製Webフレームワークの比較 0.4 環境構築 ■第1部 Flask入門 第1章 最小限のアプリを作る——Flask基礎の基礎 1.1 MVT(Model、View、Template)モデル 1.2 最小限のアプリを作成する 1.3 問い合わせフォームを作成する 1.4 クッキー(Cookie) 1.5 セッション 1.6 レスポンス 第2章 データベースを利用したアプリを作る 2.1 ディレクトリ構成 2.2 アプリを起動する―Blueprintの利用 2.3 SQLAlchemyをセットアップする 2,4 データベースを操作する 2.5 データベースを使ったCRUDアプリを作成する 2.6 テンプレートの共通化と継承 2.7 コンフィグを設定する 第3章 認証機能を作る 3.1 作成する認証機能とディレクトリ構成 3.2 アプリに認証機能を登録する 3.3 サインアップ機能を作成する 3.4 ログイン機能を作成する 3.5 ログアウト機能を作成する ■第2部 Flask実践(1) 物体検知アプリの開発 第4章 アプリの仕様と準備 4.1 物体検知アプリの仕様 4.2 ディレクトリ構成 4.3 物体検知アプリを登録する 第5章 画像一覧画面を作る 5.1 UserImageモデルを作成する 5.2 画像一覧画面のエンドポイントを作成する 5.3 画像一覧画面のテンプレートを作成する 5.4 SQLAlchemyのテーブル結合とリレーションシップ 第6章 サインアップとログインの画面を作る 6.1 サインアップ画面のエンドポイントを更新する 6.2 共通ヘッダを作成する 6.3 サインアップ画面のテンプレートを更新する 6.4 ログイン画面のエンドポイントを更新する 6.5 ログイン画面のテンプレートを更新する 6.6 サインアップ/ログイン画面の動作を確認する 第7章 画像アップロード画面を作る 7.1 画像アップロード先を指定する 7.2 画像を表示するエンドポイントを作成する 7.3 画像一覧画面に画像アップロード画面への導線と画像一覧を追加する 7.4 画像アップロード画面のフォームクラスを作成する 7.5 画像アップロード画面のエンドポイントを作成する 7.6 画像アップロード画面のテンプレートを作成する 7.7 画像アップロード画面の動作を確認する 第8章 物体検知機能を作る 8.1 UserImageTagsモデルを作成する 8.2 物体検知機能のフォームクラスを作成する 8.3 物体検知機能のライブラリをセットアップする 8.4 物体検知機能のエンドポイントを作成する 8.5 画像一覧画面にタグ情報を表示する 8.6 画像一覧画面に[検知]ボタンとタグ情報を表示する 8.7 物体検知機能の動作を確認する 8.8 画像削除機能を作成する 第9章 検索機能を作る 9.1 画像検索機能のエンドポイントを作成する 9.2 画像検索機能のテンプレートを作成する 9.3 画像検索機能の動作を確認する 第10章 カスタムエラー画面を作る 10.1 カスタムエラー画面のエンドポイントを作成する 10.2 カスタムエラー画面のテンプレートを作成する 10.3 カスタムエラー画面の表示を確認する 第11章 ユニットテストを作る 11.1 pytestを使ってみる―pytestの基礎 11.2 pytestのフィクスチャ 11.3 物体検知アプリのテストを作成する ■第3部 Flask実践(2)物体検知機能のAPI化/デプロイメント 第12章 Web APIの概要 12.1 World Wide Web(WWW)とAPIの意味 12.2 リソースの場所を示すURIの役割 12.3 HTTPメソッドによるリソースのCRUD操作 第13章 物体検知APIの仕様 13.1 物体検知APIの処理の流れ 13.2 PyTorchのインストールと学習済みモデルの保存 第14章 物体検知APIの実装 14.1 物体検知APIのディレクトリ構成とモジュール 14.2 実装の準備 14.3 [実装1]API起動コードの実装 14.4 [実装2]データの準備/前処理/後処理コードの実装 14.5 [実装3]学習済みモデルの実行コードの実装 14.6 [実装4]ルーティングの実装 第15章 物体検知アプリのデプロイメント 15.1 Dockerの概要 15.2 Cloud Runの概要 15.3 Dockerの利用準備 15.4 Cloud Runの利用準備 15.5 [手順1]Google Cloudのconfiguraionの初期設定 15.6 [手順2]Dockerfileの作成 15.7 [手順3]Dockerイメージをビルド 15.8 [手順4]DockerイメージをGCRにプッシュ 15.9 [手順5]Cloud Runにデプロイ ■第4部 機械学習APIの開発 第16章 機械学習の概要 16.1 機械学習にまつわる概念 16.2 機械学習で扱うデータ 16.3 機械学習が扱うタスク 16.4 数式とコードによるアルゴリズムの表現方法 16.5 機械学習で利用するPythonライブラリ 16.6 Pythonライブラリによるロジスティック回帰の表現方法 第17章 機械学習APIの開発工程と実践 17.1 最適な機械学習アルゴリズム/モデルの選定 17.2 機械学習アルゴリズム/モデルの実装 17.3 機械学習APIの仕様 17.4 開発の準備 17.5 [実装工程1]分析コードをプロダクションコードにする 17.6 [実装工程2]プロダクションコードをAPIにする 17.7 正常動作の挙動確認 17.8 [Future Work]機械学習APIから機械学習基盤とMLOpsへ

アイディアを実現させる最高のツール プログラミングをはじめよう

池澤 あやか
大和書房
おすすめ度
54
紹介文
世界中の小学生がプログラミングを学んでいる時代-。文系も、女子も、パソコン1台で簡単に「思いつき」を叶える方法!女優デビュー、慶應義塾大学卒業、いま、「タレント時々プログラマ」として注目される著者、初の書き下ろし。 1 プログラミングが好きになる7つの「ヒント」(「タレント時々プログラマ」のヒミツ プログラミングが「つまらなさそう」な理由 ほか) 2 文系でも、飽きっぽくても続けられるプログラミングの「勉強法」(わからないところはスルーで充分 週末プログラマのすすめ ほか) 3 5つの入り口から選ぶギークへの「最初の一歩」(5つの入り口から選ぼう! 学んですぐに実践できる-Web ほか) 4 「考え方」がわかるプログラミング的思考(「おねだり」をマスターする 文字と数字は扱いが違う-データ型 ほか)

プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業

米田 昌悟
SBクリエイティブ
おすすめ度
54
紹介文
必ず身につく世界最良の学習メソッド なぜ、世界中の成功者はプログラミングの基本を学んでいるのか。その答えと、具体的な学び方が一冊に! 世界中で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章 本格的にプログラミングを学ぶための手引き

達人プログラマー(第2版): 熟達に向けたあなたの旅

Thomas,David
オーム社
おすすめ度
54
紹介文
より効率的、生産的になりたいと願う開発者に向けて執筆。入門者には手引きとなり、ベテランでも読み直すたびに得るものがある。 より良いプログラマになるための実践的アプローチ 本書は、Andrew Hunt and David Thomas、 The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley、 2019)の日本語版です。 本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。 先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。

小学生でもわかる プログラミングの世界

林 晃
シーアンドアール研究所
おすすめ度
54

アルゴリズムの絵本 第2版 プログラミングが好きになる新しい9つの扉

株式会社アンク
翔泳社
おすすめ度
54
紹介文
コンピュータにものを考えさせる「アルゴリズム」を通じて、プログラミングの世界に第一歩を踏み出そう プログラミングとアルゴリズムの一番やさしい新定番書! プログラミング言語を習得しても、実際にコードを書いてみようとすると 「どう書いて良いかわからない」と感じる方は多いと思います。 本書はアルゴリズムとプログラムロジックの基本を通じて、 プログラミング(コードを書く)の実際を学んでいただけます。 アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く 処理するためのテクニックの集合体です。これらを通じて、誰でも効率の良い 効果的なコードを作るための第一歩を踏み出すことができます。 ・絵を多用し、短い解説で絵本のようにビジュアルに理解することができます。 ・2ページを単位とした説明、基礎に絞り込んだ内容でスピーディに習得。 ・説明は基本中の基本から。「C言語の基礎」から学べます。 ・プログラミングのために必要な知識を広くフォロー、コードの書き方が身につきます。 ・環境構築から内容を最新にアップデートし、実際に試して学ぶことができます。 【「絵本」シリーズは、ラインナップをリニューアル!】 翔泳社の「絵本シリーズ」は、豊富なイラストと簡潔な解説で コンピュータ技術に入門できる初心者向けのシリーズです。 コンピュータ言語/技術の超初心者や手軽に習得したい方に最適な入門書です。 新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、 基礎に徹した内容というコンセプトはそのままに、Web/ネットが全盛となった 現在のコンピュータ技術の潮流に合わせた解説を心掛けます。 『Cの絵本』『Javaの絵本』『Pythonの絵本』などを皮切りにラインナップを順次刷新、 さらに新しい仲間を増やしてラインナップを充実していきます。 アルゴリズムの勉強をはじめる前に  ●アルゴリズムとは何か  ●プログラムができるまで  ●フローチャート  ●C言語について  ●プログラミングから実行までの流れ  ●プログラム記述時の約束 第1章 C言語の基礎  ●第1章はここがkey  ●Hello World!  ●変数と定数  ●数値型  ●配列  ●ポインタ  ●文字と文字列  ●計算の演算子  ●その他の演算子  ●ファイルの読み書き  ●キーボード入力  ●メモリの確保  ●構造体  [コラム]~変数名のつけ方~ 第2章 基本的な制御  ●第2章はここがkey  ●制御の種類と構造化  ●if文  ●for文とwhile文  ●その他の制御文  [コラム]~構造化以前のプログラム~ 第3章 制御の活用  ●第3章はここがkey  ●1から5までの和  ●配列から値を見つける(1)  ●配列から値を見つける(2)  ●平均をとる  ●棒グラフを描く  ●2つの文字列の連結  ●逆さに読むと  ●ファイルの内容を表示する  ●表?裏?コイン投げゲーム  [コラム]~スタックとキュー~ 第4章 関数の利用  ●第4章はここがkey  ●関数とは?  ●関数の定義と利用  ●main()関数  ●関数の特徴  ●関数の活用  ●再帰処理  [コラム]~関数のポインタ~ 第5章 問題への取り組み方  ●第5章はここがkey  ●問題を整理する  ●プログラムの設計  ●プログラムの記述(1)  ●プログラムの記述(2)  ●プログラムを整理する  ●テストとデバッグ  ●完成プログラム  [コラム]~ボトムアップ的・トップダウン的な考え方~ 第6章 実践的プログラミング  ●第6章はここがkey  ●仕様を分析する  ●データ形式を決める(1)  ●データ形式を決める(2)  ●基本設計の決定(1)  ●基本設計の決定(2)  ●メイン部分を作る  ●機能を作る(1)  ●機能を作る(2)  ●完成プログラム  [コラム]~時間がかかる処理~ 第7章 高度なアルゴリズム  ●第7章はここがkey  ●素数を求める  ●素因数分解  ●最大公約数を求める  ●リンクリスト(1)  ●リンクリスト(2)  ●サンプルプログラム  [コラム]~アルゴリズムの工夫~ 付録  ●プログラムでつまったら  ●プログラミングの心得  ●Visual Studioのインストール  ●Visual Studioを使った開発  ●一般的なデバッグ手法  ●Visual Studioのデバッガー

増補版 -教養としてのプログラミング講座 (中公新書ラクレ (686))

清水 亮
中央公論新社
おすすめ度
54
紹介文
人類の叡智「プログラミング」。その歴史や日常で役立つ技術を天才プログラマーが解説。この一冊であなたが見ている世界は一変する! もの言わぬ機械とコミュニケーションをとる唯一の手段「プログラミング」。「もはやそれは誰もが学ぶべき教養」というメッセージを掲げ、刊行から数年を経ても売れ続けるロングセラーが『教養としてのプログラミング講座』だ。同書はプログラミングの歴史から簡単な作成、日常生活に役立つテクニックなどを、国認定「天才プログラマー」が解説。プログラマーの思考法を手に入れることを可能としたベスト・ガイドブックだ。学習を啓蒙する書籍が続々刊行、スクールも多く創設されるなど、現実としてプログラミングが必修の“教養”であることが広く認知された今、同書の内容を増補。小中学校での必修化がスタートする今年、あらためて刊行する。ジョブズやゲイツ、21世紀の成功者はどんな世界を見ているのか?

ちゃんと使える力を身につける Webとプログラミングのきほんのきほん

大澤 文孝
マイナビ
おすすめ度
54
紹介文
言語に限定されない応用が効く基礎力をつける!インターネットのしくみがわかる!Webプログラムがどのように動いているかを学べる!正規表現やテンプレート、ライブラリ、セキュリティまでカバー! 1 WebブラウザでWebページが表示される仕組み 2 WebサーバからWebブラウザにコンテンツが届くまで 3 Webプログラムがコンテンツを作る仕組み 4 Webプログラムを動かしてみよう 5 Webプログラミングをしてみよう 6 ライブラリやJavaScriptを使ったプログラミング 7 ユーザーを追跡するCookieとセッション情報 8 データベースを使ったプログラミング

確かな力が身につくJavaScript「超」入門 第2版

狩野 祐東
SBクリエイティブ
おすすめ度
54
紹介文
やさしく学べる、入門書の決定版! 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で天気予報

新・標準プログラマーズライブラリ なるほどなっとく C#入門

出井 秀行
技術評論社
おすすめ度
54

絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS 13】 完全対応 (Informatics & IDEA)

高橋 京介
SBクリエイティブ
おすすめ度
54
紹介文
売上、第1位 7年連続!不動の第1位! もっとも売れているiOSプログラミング解説書! これからはじめる人に読んでほしい とことん丁寧な本格入門書です。 プログラミング経験ゼロでも安心の「疑問を残さない詳細解説」だから、 Swiftとアプリ開発の基本はこの一冊で必ず習得できます! ・Xcode 11対応 ・iOS 13.5以降 対応 ・SwiftUI対応 本書は、これからはじめてiPhoneアプリ開発を学ぼうとしている人にとって少しでも役立つ本であるために、「誰一人、絶対に挫折しない」を命題に、どことんこだわって、とにかく丁寧に解説しています。自信がない人、大歓迎です! ぜひ本書を最後まで読み進めてください。 ★アプリ開発は「副業」にも最適!★ リスクゼロで始められて、スキマ時間で作ることができます。 また、世界を相手にアプリを販売できます。 iPhoneアプリ開発は、今の時代に最も適した副業の1つといえます! (詳しくは本文で解説しています) 最新第8版の目玉は次の通りです。 ・業界大注目の「Swift UI」に対応! ・アプリには今や欠かせない、「課金システム」を搭載したアプリが作れる!(本書だけ!) Chapter01 iPhoneアプリ開発の基礎知識 Chapter02 Xcodeとシミュレータの基本操作 Chapter03 今日からはじめるSwiftUIプログラミング【入門前夜】 Chapter04 今日からはじめるSwiftUIプログラミング【超入門】 Chapter05 iPhoneアプリ開発をはじめよう! Chapter06 アイコン画像の使い方 ~コンピューテッドプロパティとイニシャライザ~ Chapter07 カウンターアプリ開発で学ぶクロージャ Chapter08 地図アプリで学ぶプロトコル Chapter09 英単語カードアプリで学ぶオプショナル Chapter10 【総合演習】今後につながる少し高度なアプリ開発 Chapter11 アプリ開発の仕上げ Chapter12 アプリ開発で収益を上げる方法 Chapter13 情報の収集方法とアプリの公開 Appendix 契約手続きとアプリのリリース

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)

高橋 京介
SBクリエイティブ
おすすめ度
54
紹介文
これから始める人に読んでほしいとことん丁寧な本格入門書。 もっとも売れているiOSプログラミング解説書! 売上実績ナンバー1の本書が、最新開発環境にあわせての改訂となります。 本書は、これからはじめてiPhoneアプリ開発を学ぼうとしている人にとって少しでも役立つ本であるために、「誰一人、絶対に挫折しない」を命題に、とことんこだわって、とにかく丁寧に解説しています。手順の省略や解説の飛躍も一切ありません。 自信がない人、大歓迎です。ぜひ本書を最後まで読み進めてください! 経験ゼロからでも必ず読み進められ、Swiftとアプリ開発の基本はこの1冊で必ず習得できます!

たのしくまなぶPythonプログラミング図鑑

キャロル・ヴォーダマン
創元社
おすすめ度
54
紹介文
2020年より小・中学校でプログラミング教育が本格化――人気の言語「パイソン」を習得するための最高の入門書です。 2020年より小・中学校でプログラミング教育が本格化――プログラミングの手順を1ステップずつやさしく解説。カラフルなイラストや興味をひくプロジェクトを通して、Pythonの基本が楽しく学べます。絵を描いたり、動きのあるグラフィックを作ったり、かんたんなプログラムで動くおもしろいゲームを作ったり、この本一冊で基礎の習得から実践までカバー。【プロジェクトの例】動物クイズ:3回答えるあいだに正解を出そう!スパイラル:ふくざつな模様がかんたんに描けるぞ!星空:カラフルな星がつぎつぎ夜空に出現するよ!ペットをかおう:お世話をすると喜んだり、放っておくと悲しんだりするぞ!はらぺこイモムシ:葉っぱを食べるとどんどん成長していくぞ! キャロル・ヴォーダマンほか著/山崎正浩訳;0401;03;2020年より小・中学校でプログラミング教育が本格化――人気の言語「パイソン」を習得するための最高の入門書です。;20180901 1 パイソンを始めよう プログラミングってなんだろう? パイソンはどんな言語かな? パイソンのインストール IDLEを使ってみる 2 最初のステップ 最初のプログラム 変数 判断する くり返し 動物クイズ 関数 デバッグ(バグとり) パスワード生成機 モジュール 文字当てゲーム 3 タートル・グラフィックス ロボットを作ろう スパイラル 星空 レインボー・カラー 4 パイソンで遊んでみよう カウントダウン・カレンダー エキスパートシステム ひみつのメッセージ ペットをかおう 5 ゲームを作ってみよう はらぺこイモムシ スナップ 神経すい弱 エッグ・キャッチャー 6 リファレンス ソースコード 用語集 索引

誰もがあきらめずにすむPHP超入門

西沢 夢路
SBクリエイティブ
おすすめ度
54
紹介文
難しいことはぜんぶ後回しにして、とにかく体験してみよう! 作って覚えるPHP入門書! Webアプリケーションを作るのによく使われるPHP。Webアプリにはかかせませんが、プログラム初心者がいきなりやるにはそれなりのハードルがあります。 本書はPHPをとりあえず誰でも動かせるようになるということ! を最大の目的とした「超」入門者向けの解説書です。 はじめてPHPを学ぶ! という方におすすめの解説書です。

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)

五十嵐 邦明
技術評論社
おすすめ度
54

詳解Rustプログラミング

Tim McNamara
翔泳社
おすすめ度
54
紹介文
C/C++に代わるプログラミング言語として期待されるRustを、実践に向けて踏み込んだ構成・スタイルで解説します。 さまざまなCUIアプリケーションを通して システム言語としてのRustを徹底詳解 本書は、 Tim McNamara, "Rust in Action: Systems programming concepts and techniques" Manning Publications, の翻訳書です。 【本書の内容】 ダイレクトにメモリを操作し、OSのシステムコールを活用することで高速性を維持しつつ、コンパイラの進化によって安全性も確保した開発言語・Rust。 本書は、ファイルI/Oを使った入出力プログラムから、キーバリュー型のDB操作やメモリ操作、生のTCPを使うネットワークプログラム。そしてプロセスやスレッド、割り込みや例外処理などの低レイヤからカーネルそのものまで扱うためのノウハウを、Rust固有のテクニカルタームとともに解説します。 著者のTim McNamaraは、15年以上の時間をかけて、テキストマイニング、自然言語処理、データ工学のエキスパートになりました。彼はRust Wellingtonのオーガナイザであり、Rustプログラミングのチュートリアルを、オフラインでも、TwitchとYouTubeを介したオンラインでも、定期的に開催しています。 【本書で取り上げるジャンル】 ・メモリ操作 ・ファイルとストレージ ・ネットワーク ・時間管理 ・プロセスとスレッド ・カーネル ・割り込みと例外処理 【読者が得られること】 ・Rustによるプログラミング基礎 ・Rust固有のプログラミング手法 ・システムプログラミングの勘所 ・コンピュータサイエンスの知識 目次   第 1章:はじめに 第 1部:Rust言語の独自機能   第 2章:言語の基礎   第 3章:複合データ型   第 4章:ライフタイムと所有権と借用 第 2部:システムプログラミングの謎を解き明かす   第 5章:データの詳細   第 6章:メモリ   第 7章:ファイルとストレージ   第 8章:ネットワーク   第 9章:時間とタイムキーピング   第10章:プロセスとスレッドとコンテナ   第11章:カーネル   第12章:シグナルと割り込みと例外

Pythonエンジニア育成推進協会監修 Python実践レシピ

鈴木 たかのり
技術評論社
おすすめ度
54
紹介文
Pythonでプログラムを作成するときに役立つ機能とライブラリを網羅した、実践的なレシピ集です。本書を使いこなして、Pythonプログラマーとして大きなステップアップを図りましょう。 本書では、Pythonが提供する、環境構築、コーディング規約、言語仕様、オブジェクト指向をサポートするクラス、型をアノテーションとして付けられる型ヒントなどに関する実践で役立つ機能を幅広く網羅しています。さらに標準ライブラリとよく使われるサードパーティライブラリとして、テキスト処理、数値処理、日付・時刻処理、データ型、アルゴリズム、ファイルとディレクトリへのアクセス、データ圧縮・アーカイブ・永続化、特定データフォーマットやインターネット上データの扱い、HTMLの扱い、テスト、デバッグ、暗号、並行処理・並列処理までの活用法を紹介します。よくある使い方、よくあるエラーや周辺知識なども加えられており、プログラミングのヒントが満載です。 Chapter1 Pythonの環境 1.1 Pythonパッケージを管理する ─ pip 1.1.1 導入方法 1.1.2 基本的な使い方 1.1.3 requirements.txtを作って、複数の環境でバージョンを統一する 1.1.4 -cオプションで特定パッケージのインストール可能バージョンに制限をかける 1.1.5 pip:よくある使い方 1.1.6 pip:ちょっと役立つ周辺知識 1.2 仮想環境を作成する ─ venv 1.2.1 仮想環境とは何か 1.2.2 基本的な使い方 1.2.3 venv:よくある使い方 1.2.4 venv:ちょっと役立つ周辺知識 1.2.5 venv:よくあるエラーと対処法 Chapter2 コーディング規約 2.1 Python標準のスタイルガイド ─ PEP 8 2.1.1 PEP 8で定義されているルール 2.1.2 コードのレイアウト 2.1.3 コメント 2.1.4 命名規約 2.1.4 PEP 8:よくある使い方 2.2 静的コード解析ツール ─ Flake8 2.2.1 Flake8 のインストール 2.2.2 静的コードチェック 2.2.3 Flake8のオプションの利用 2.2.4 プラグインを利用したより便利なFlake8の利用 2.2.5 Flake8:よくある使い方 2.2.6 Flake8:ちょっと役立つ周辺知識 2.2.7 Flake8:よくあるエラーと対処法 2.3 ソースコードの自動整形 ─ Black 2.3.1 Blackのインストール 2.3.2 Blackの特徴 2.3.3 Blackによるフォーマット 2.3.4 Blackのオプション 2.3.5 Black:よくある使い方 2.3.6 Black:ちょっと役立つ周辺知識 2.3.7 Black:よくあるエラーと対処法 Chapter3 Pythonの言語仕様 3.1 例外処理 3.1.1 例外を処理する 3.1.2 基底クラスで例外を捕捉する 3.1.3 独自の例外を定義して、例外を送出する 3.1.4 例外処理:よくある使い方 3.1.5 例外処理:ちょっと役立つ周辺知識 3.1.6 例外処理:よくあるエラーと対処法 3.2 with文 3.2.1 with文 3.2.2 コンテキストマネージャー(context manager) 3.2.3 標準ライブラリのデコレーター ─ @contextlib.contextmaneger 3.2.4 with文:よくある使い方 3.2.5 with文:ちょっと役立つ周辺知識 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.3.9 関数の引数:よくある使い方 3.3.10 関数の引数:よくあるエラーと対処法 3.4 アンパック 3.4.1 アンパック 3.4.2 ネストしたタプル、リストのアンパック 3.4.3 アスタリスクを使ったアンパック 3.4.4 関数の引数のアンパック 3.4.5 アンパック:よくある使い方 3.5 内包表記、ジェネレーター式 3.5.1 リスト内包表記 3.5.2 その他の内包表記 3.5.3 内包表記、ジェネレーター式:よくある使い方 3.6 ジェネレーター ─ generator 3.6.1 ジェネレーター 3.6.2 list()関数を使用してリストに変換する 3.6.3 大きいファイルの処理にジェネレーターを使用する 3.6.4 ジェネレーター:よくある使い方 3.6.5 ジェネレーター:ちょっと役立つ周辺知識 3.6.6 ジェネレーター:よくあるエラーと対処法 3.7 デコレーター 3.7.1 デコレーターを使用する 3.7.2 関数デコレーターを自作する 3.7.3 functools.wrapsを使用する 3.7.4 デコレーター:よくある使い方 Chapter4 Pythonのクラス 4.1 class構文 4.1.1 クラス定義 4.1.2 インスタンス化 4.1.3 selfとは 4.2 属性とメソッド 4.2.1 コンストラクター 4.2.2 データ属性 4.2.3 メソッド 4.2.4 特殊メソッド 4.2.5 プロパティ化 4.2.6 クラスメソッドの具体的な使い方 4.3 継承 4.3.1 標準ライブラリの継承の例 4.3.2 子クラスの定義 4.3.3 多重継承 4.3.4 継承:よくある使い方 4.3.5 エラーと対処方法 4.4 dataclass 4.4.1 基本文法 4.4.2 コンストラクターの任意引数 4.4.3 データ変換 4.4.4 dataclass:よくある使い方 4.4.5 エラーと対処方法 4.5 オブジェクト関連関数 4.5.1 関数の種類 4.5.2 オブジェクト関連関数の使い方 4.5.3 周辺知識 4.5.4 エラーと対処方法 Chapter5 型ヒント 5.1 型ヒント 5.1.1 型ヒントとは 5.1.2 基本的な型ヒントの一覧と書き方 5.1.3 typingモジュールを利用した型ヒント 5.1.4 型ヒント:よくある使い方 5.2 静的型チェックを行う ─ mypy 5.2.1 静的型チェックツールで型ヒントをチェックする 5.2.2 mypyのインストール 5.2.3 mypyによる静的型チェック 5.2.4 mypyのオプション 5.2.5 mypy:よくある使い方 5.2.6 mypy:ちょっと役立つ周辺知識 5.2.7 mypy:よくあるエラーと対処法 Chapter6 テキストの処理 6.1 一般的な文字列操作を行う ─ str、string 6.1.1 文字列リテラルの書き方 6.1.2 文字列以外のオブジェクトを文字列に変換する 6.1.3 文字列のチェックメソッド 6.1.4 文字列の変換を行う 6.1.5 その他の文字列メソッド 6.1.6 文字列定数を利用する 6.1.7 str、string:ちょっと役立つ周辺知識 6.1.8 str、string:よくあるエラーと対処法 6.2 フォーマットと文字列リテラル ─ f-string 6.2.1 f-stringの書き方 6.2.2 =を付けた出力 6.2.3 フォーマットの指定方法 6.2.4 f-string導入前の文字列フォーマット方法 6.3 正規表現を扱う ─ re 6.3.1 基本的な関数 ─ search、match 6.3.2 reモジュールの定数(フラグ) 6.3.3 正規表現オブジェクト 6.3.4 マッチオブジェクト 6.3.5 re:よくある使い方 6.3.6 re:ちょっと役立つ周辺知識 6.3.7 re:よくあるエラーと対処法 6.4 Unicodeデータベースへアクセスする ─ unicodedata 6.4.1 Unicode文字と文字の名前を変換する 6.4.2 Unicode文字列の正規化 6.4.3 unicodedata:よくある使い方 6.4.4 unicodedata:ちょっと役立つ周辺知識 Chapter7 数値の処理 7.1 基本的な数値計算を行う ─ 組み込み関数、math 7.1.1 数値の計算を行う(組み込み関数) 7.1.2 数値の計算を行う ─ math モジュール 7.1.3 数値を丸める、絶対値を求める 7.1.4 数値計算に利用する定数を取得する 7.1.5 組み込み関数、math:ちょっと役立つ周辺知識 7.1.6 浮動小数の非数nanの値を確認する 7.2 十進数で計算を行う ─ decimal 7.2.1 精度を指定した計算を行う 7.2.2 数値の丸めを行う 7.2.3 decimal:よくある使い方 7.2.4 decimal:よくあるエラーと対処法 7.3 擬似乱数を扱う ─ random 7.3.1 乱数を生成する 7.3.2 特定の分布に従う乱数を生成する 7.3.3 ランダムに選択する 7.4 統計計算を行う ─ statistics 7.4.1 平均値や中央値を求める 7.4.2 標準偏差や分散を求める Chapter8 日付と時刻の処理 8.1 日付や時刻を扱う ─ datetime 8.1.1 日付を扱う ─ date オブジェクト 8.1.2 時刻を扱う ─ time オブジェクト 8.1.3 日時を扱う ─ datetimeオブジェクト 8.1.4 日時の差を扱う ─ timedelta オブジェクト 8.1.5 strftime()で使える主な指定子 8.1.6 datetime:よくある使い方 8.1.7 datetime:ちょっと役立つ周辺知識 8.1.8 datetime:よくあるエラーと対処法 8.2 時刻を扱う ─ time 8.2.1 時刻を取得する 8.2.2 時刻オブジェクト ─ struct_time 8.2.3 スレッドの一時停止 ─ sleep() 8.2.4 time:よくある使い方 8.2.5 time:ちょっと役立つ周辺知識 8.3 IANAタイムゾーンデータベースを扱う ─ zoneinfo 8.3.1 IANAタイムゾーンを表すオブジェクト ─ ZoneInfo 8.3.2 zoneinfo:よくある使い方 8.3.3 zoneinfo:ちょっと役立つ周辺知識 8.3.4 zoneinfo:よくあるエラーと対処法 8.4 datetimeの強力な拡張モジュール ─ dateutil 8.4.1 dateutilのインストール 8.4.2 日付文字列の構文解析 ─ parser 8.4.3 日付の差の計算 ─ relativedelta 8.4.4 繰り返しルール ─ rrule 8.4.5 dateutil:よくある使い方 8.4.6 dateutil:ちょっと役立つ周辺知識 8.4.7 dateutil:よくあるエラーと対処法 Chapter9 データ型とアルゴリズム 9.1 ソート ─ sorted、sort、operator 9.1.1 sorted()関数 9.1.2 reversed()関数 9.1.3 リストのsort()、reverse()メソッド 9.1.4 key引数 9.1.5 operatorモジュール 9.1.6 ソート:ちょっと役立つ周辺知識 9.1.7 sorted、sort、operator:よくあるエラーと対処法 9.2 さまざまなコンテナー型を扱う ─ collections 9.2.1 データの件数をカウントする ─ Counter 9.2.2 デフォルト値を持った辞書 ─ defaultdict 9.2.3 データの挿入順を維持する辞書 ─ OrderedDict 9.2.4 名前付きフィールドを持つタプル ─ namedtuple 9.2.5 collections:よくある使い方 9.3 二分法アルゴリズムを利用する ─ bisect 9.3.1 二分法アルゴリズムで挿入する位置を返す. 9.3.2 ソート済みのリストに要素を挿入する 9.3.3 bisect:よくあるエラーと対処法 9.4 列挙型による定数の定義を行う ─ enum 9.4.1 定数値を定義する 9.4.2 定数を呼び出す 9.4.3 定数同士を比較する 9.4.4 enum:よくある使い方 9.4.5 enum:ちょっと役立つ周辺知識 9.4.6 enum:よくあるエラーと対処法 9.5 データを読みやすい形式で出力する ─ pprint 9.5.1 オブジェクトを整形して出力する ─ pprint() 9.5.2 オブジェクトを整形した文字列を取得する ─ pformat 9.5.3 pprint:よくある使い方 9.5.4 pprint:ちょっと役立つ周辺知識 9.6 イテレーターの組み合わせで処理を組み立てる ─ itertools 9.6.1 イテラブルオブジェクトを連結する ─ chain() 9.6.2 連続する値をまとめる ─ groupby() 9.6.3 イテレーターから範囲を指定して値を取得する ─ islice() 9.6.4 複数のイテラブルオブジェクトの要素からタプルを作成する ─ zip()、zip_longest() 9.6.5 データを組み合わせたイテレーターを取得する 9.6.6 itertools:よくある使い方 9.6.7 itertools:ちょっと役立つ周辺知識 9.7 ミュータブルなオブジェクトをコピーする ─ copy 9.7.1 浅いコピーを行う ─ copy()関数 9.7.2 深いコピーを行う ─ deepcopy()関数 9.7.3 copy:よくある使い方 9.7.4 copy:ちょっと役立つ周辺知識 Chapter10 汎用OS・ランタイムサービス 10.1 OSの機能を利用する ─ os 10.1.1 実行中のプロセス属性の操作 10.1.2 ファイルとディレクトリの操作 10.1.3 さまざまなシステム情報へのアクセス 10.1.4 ランダムな文字列の生成 10.1.5 os:よくある使い方 10.1.6 os:ちょっと役立つ周辺知識 10.1.7 os:よくあるエラーと対処法 10.2 ストリームを扱う ─ io 10.2.1 インメモリなテキストストリームを扱う ─ StringIO 10.2.2 インメモリなバイナリストリームを扱う ─ BytesIO 10.2.3 ioモジュールをユニットテストで活用する 10.2.4 io:よくある使い方 10.2.5 io:ちょっと役立つ周辺知識 10.2.6 io:よくあるエラーと対処法 10.3 インタープリターに関わる情報を取得、操作する ─ sys 10.3.1 コマンドライン引数を取得する ─ argv 10.3.2 ライブラリのインポートパスを操作する ─ path 10.3.3 プログラムを終了する ─ exit() 10.3.4 コンソールの入出力を扱う ─ stdin、stdout、stderr 10.3.5 breakpoint()実行時のフック関数 ─ breakpointhook() 10.3.6 Pythonのバージョン番号を調べる ─ version_info 10.3.7 sys:よくある使い方 10.3.8 sys:ちょっと役立つ周辺知識 10.3.9 sys:よくあるエラーと対処法 10.4 コマンドラインオプション、引数を扱う ─ argparse 10.4.1 コマンドラインオプションを扱う 10.4.2 argparse:よくある使い方 10.4.3 argparse:ちょっと役立つ周辺知識 10.4.4 argparse:よくあるエラーと対処法 Chapter11 ファイルとディレクトリへのアクセス 11.1 ファイルパス操作を直観的に行う ─ pathlib 11.1.1 クラス構成 11.1.2 純粋パスを扱う ─ PurePath 11.1.3 具象パスを扱う ─ Path 11.1.4 pathlib:よくある使い方 11.1.5 pathlib:ちょっと役立つ周辺知識 11.1.6 pathlib:よくあるエラーと対処法 11.2 一時的なファイルやディレクトリを生成する ─ tempfile 11.2.1 一時ファイルを作成する 11.2.2 一時ディレクトリを作成する 11.2.3 tempfile:よくある使い方 11.3 高レベルなファイル操作を行う ─ shutil 11.3.1 ファイルをコピーする 11.3.2 再帰的にディレクトリやファイルを操作する 11.3.3 shutil:よくある使い方 11.3.4 shutil:ちょっと役立つ周辺知識 11.3.5 shutil:よくあるエラーと対処法 Chapter12 データ圧縮、アーカイブと永続化 12.1 gzip圧縮ファイルを扱う ─ gzip 12.1.1 gzipファイルを圧縮、展開する 12.1.2 gzip:よくある使い方 12.1.3 gzip:ちょっと役立つ周辺知識 12.1.4 gzip:よくあるエラーと対処法 12.2 ZIPファイルを扱う ─ zipfile 12.2.1 ZIPファイルを操作する 12.2.2 日本語のファイル名を扱う 12.2.3 zipfile:よくある使い方 12.2.4 zipfile:ちょっと役立つ周辺知識 12.2.5 zipfile:よくあるエラーと対処法 12.3 tarファイルを扱う ─ tarfile 12.3.1 tarファイルを操作する 12.3.2 tarfile:よくある使い方 12.3.3 tarfile:ちょっと役立つ周辺知識 12.3.4 tarfile:よくあるエラーと対処法 12.4 Pythonオブジェクトをシリアライズする ─ pickle 12.4.1 Pythonオブジェクトのシリアライズとデシリアライズ 12.4.2 pickleのプロトコルバージョン 12.4.3 pickle:よくある使い方 12.4.4 pickle:よくあるエラーと対処法 Chapter13 特定のデータフォーマットを扱う 13.1 CSVファイルを扱う ─ csv 13.1.1 CSVファイルの読み込みと書き込み 13.1.2 辞書データを用いたCSVファイルの読み込みと書き込み 13.1.3 csv:よくある使い方 13.1.4 csv:ちょっと役立つ周辺知識 13.1.5 csv:よくあるエラーと対処法 13.2 JSONを扱う ─ json 13.2.1 JSONのエンコードとデコード 13.2.2 JSONのエンコードとデコード(ファイルオブジェクト) 13.2.3 json:よくある使い方 13.2.4 json:ちょっと役立つ周辺知識 13.2.5 json:よくあるエラーと対処法 13.3 INIファイルを扱う ─ configparser 13.3.1 INIファイルを読み込む 13.3.2 INIファイルの高度な利用 13.3.3 configparser:よくあるエラーと対処法 13.4 YAMLを扱う ─ PyYAML 13.4.1 PyYAMLのインストール 13.4.2 YAMLファイルの読み込み 13.4.3 YAMLファイルの書き込み 13.4.4 PyYAML:ちょっと役立つ周辺知識 13.5 Excelを扱う ─ openpyxl 13.5.1 openpyxlのインストール 13.5.2 Excelの読み込み 13.5.3 Excelの書き込み 13.5.4 スタイルの適用 13.5.5 チャートの挿入 13.5.6 openpyxl:よくある使い方 13.5.7 openpyxl:ちょっと役立つ周辺知識 13.5.8 openpyxl:よくあるエラーと対処法 13.6 画像を扱う ─ Pillow 13.6.1 Pillowのインストール 13.6.2 画像のサイズを変更する・回転する 13.6.3 テキストの埋め込み 13.6.4 Pillow:よくある使い方 13.6.5 Pillow:よくあるエラーと対処法 Chapter14 インターネット上のデータを扱う 14.1 URLをパースする ─ urllib.parse 14.1.1 URLをパースする ─ urlparse() 14.1.2 クエリ文字列をパースする ─ parse_qs() 14.1.3 クエリ文字列を組み立てる ─ urlencode() 14.1.4 URLとして使用できる文字列に変換する ─ quote()、quote_plus() 14.1.5 URLを結合する ─ urljoin() 14.1.6 urllib.parse:よくある使い方 14.1.7 urllib.parse:よくあるエラーと対処法 14.2 URLを開く ─ urllib.request 14.2.1 指定のURLを開く ─ urlopen() 14.2.2 GET、POST以外のHTTPメソッドを扱う 14.2.3 レスポンスモジュール 14.2.4 urllib.request:よくある使い方 14.2.5 urllib.request:ちょっと役立つ周辺知識 14.2.6 urllib.request:よくあるエラーと対処法 14.3 ヒューマンフレンドリーなHTTPクライアント ─ Requests 14.3.1 指定のURLを開く 14.3.2 Requests:よくある使い方 14.3.3 Requests:ちょっと役立つ周辺知識 14.3.4 Requests:よくあるエラーと対処法 14.4 Base16、Base64などへエンコードする ─ base64 14.4.1 Base64にエンコードする 14.4.2 Base64からデコードする 14.4.3 base64:よくある使い方 14.4.4 base64:ちょっと役立つ周辺知識 14.5 電子メールのデータを処理する ─ email 14.5.1 メッセージのデータを管理する ─ email.message 14.5.2 メールを解析する ─ email.parser 14.5.3 email:ちょっと役立つ周辺知識 Chapter15 HTML/XMLを扱う 15.1 XMLをパースする ─ ElementTree 15.1.1 XMLのパース 15.1.2 要素の取得や検索 15.1.3 ElementTree:よくある使い方 15.1.4 ElementTree:ちょっと役立つ周辺知識 15.2 XML/HTMLを高速かつ柔軟にパースする ─ lxml 15.2.1 lxmlのインストール 15.2.2 HTMLをパースする 15.2.3 HTMLを書き換える 15.2.4 整形式ではない(non well-formed)XMLをパースする 15.2.5 lxml:よくある使い方 15.2.6 lxml:ちょっと役立つ周辺知識 15.3 使いやすいHTMLパーサーを利用する ─ Beautiful Soup 4 15.3.1 Beautiful Soup 4のインストール 15.3.2 html5libのインストール 15.3.3 BeautifulSoupオブジェクトの作成 15.3.4 HTML内の要素の情報を取得する 15.3.5 HTML内の要素を検索する 15.3.6 テキストの取得 15.3.7 特定要素から親、兄弟、前後の要素の取得. 15.3.8 Beautiful Soup 4:よくある使い方 15.3.9 Beautiful Soup 4:ちょっと役立つ周辺知識 15.3.10 Beautiful Soup 4:よくあるエラーと対処法 Chapter16 テスト 16.1 対話的な実行例をテストする ─ doctest 16.1.1 doctestを作成する 16.1.2 テキストファイル中の実行例をテストする. 16.1.3 doctest:よくある使い方 16.1.4 doctest:ちょっと役立つ周辺知識 16.1.5 doctest:よくあるエラーと対処法 16.2 ユニットテストフレームワークを利用する ─ unittest 16.2.1 テストを作成して実行する 16.2.2 さまざまな条件や失敗を記述する 16.2.3 1つのテストメソッドの中で複数のアサーションメソッドを呼ぶ ─ subTest() 16.2.4 テストの事前準備を行う ─ setUp()、setUpClass() 16.2.5 テストの事後処理を行う ─ tearDown()、tearDownClass() 16.2.6 コマンドラインインターフェースを利用する 16.2.7 unittest:よくある使い方 16.2.8 unittest:ちょっと役立つ周辺知識 16.2.9 unittest:よくあるエラーと対処法 16.3 モックを利用してユニットテストを行う ─ unittest.mock 16.3.1 モックオブジェクトを作成して戻り値や例外を設定する ─ Mock、MagicMock 16.3.2 クラスやメソッドをモックで置き換える ─ patch() 16.3.3 モックオブジェクトが呼び出されたかどうかを確認する 16.3.4 unittest.mock:よくある使い方 16.3.5 unittest.mock:ちょっと役立つ周辺知識 16.3.6 unittest.mock:よくあるエラーと対処法 16.4 高度なユニットテスト機能を利用する ─ pytest 16.4.1 pytest のインストール 16.4.2 テストを作成して実行する 16.4.3 自動的にテストを探して実行する 16.4.4 複数の入出力パターンについてテストする(パラメタライズドテスト) 16.4.5 テスト実行の前後に処理を挿入するfixtureを書く 16.4.6 pytest:よくある使い方 16.4.7 pytest:ちょっと役立つ周辺知識 16.4.8 pytest:よくあるエラーと対処法 16.5 ドキュメント生成とオンラインヘルプシステム ─ pydoc 16.5.1 モジュールのドキュメントを確認する 16.5.2 モジュールのドキュメントを書く 16.5.3 モジュールのドキュメントをHTML形式で生成する 16.5.4 HTTPサーバーを起動してブラウザーからドキュメントを確認する 16.5.5 pydoc:よくある使い方 16.5.6 pydoc:ちょっと役立つ周辺知識 16.5.7 pydoc:よくあるエラーと対処法 Chapter17 デバッグ 17.1 対話的なデバッグを行う ─ pdb、breakpoint 17.1.1 代表的なデバッガーコマンド 17.1.2 pdbでブレークポイントを挿入する 17.1.3 breakpoint()関数でブレークポイントを挿入する 17.1.4 Pythonの対話モードからデバッグを行う 17.1.5 異常終了するスクリプトをデバッグする ─ pdb.pm() 17.1.6 pdb、breakpoint:よくある使い方 17.1.7 pdb、breakpoint:ちょっと役立つ周辺知識 17.1.8 pdb、breakpoint:よくあるエラーと対処法 17.2 コードの実行時間を計測する ─ timeit 17.2.1 コマンドラインインターフェースで計測する 17.2.2 Pythonインターフェースで計測する 17.2.3 timeit:よくある使い方 17.2.4 timeit:ちょっと役立つ周辺知識 17.2.5 timeit:よくあるエラーと対処法 17.3 スタックトレースを扱う ─ traceback 17.3.1 スタックトレースを出力する 17.3.2 スタックトレースを文字列として扱う 17.3.3 traceback:よくある使い方 17.3.4 traceback:ちょっと役立つ周辺知識 17.3.5 traceback:よくあるエラーと対処法 17.4 ログを出力する ─ logging 17.4.1 3つのロギング設定方法 17.4.2 標準で定義されているログレベル 17.4.3 loggingモジュールからログを扱う 17.4.4 モジュール方式でロギングを設定する 17.4.5 辞書やファイルからロギングを設定する 17.4.6 logging:よくある使い方 17.4.7 logging:ちょっと役立つ周辺知識 17.4.8 logging:よくあるエラーと対処法 Chapter18 暗号関連 18.1 安全な乱数を生成する ─ secrets 18.1.1 パスワード(乱数)の生成 18.1.2 トークンの生成 18.1.3 secrets:よくある使い方 18.1.4 secrets:ちょっと役立つ周辺知識 18.2 ハッシュ値を生成する ─ hashlib 18.2.1 さまざまなアルゴリズムを使用したハッシュ値算出 18.2.2 hashlibによる鍵導出関数 18.2.3 hashlib:よくある使い方. 18.2.4 hashlib:ちょっと役立つ周辺知識 18.2.5 hashlib:よくあるエラーと対処法 18.3 暗号化ライブラリ ─ cryptography 18.3.1 cryptographyのインストール 18.3.2 共通鍵暗号による暗号化と復号 18.3.3 公開鍵暗号による暗号化と復号 18.3.4 cryptography:よくある使い方 18.3.5 cryptography:ちょっと役立つ周辺知識 Chapter19 並行処理、並列処理 19.1 イベントループでの非同期処理 ─ asyncio 19.1.1 非同期I/Oで並行処理を実現するasyncio 19.1.2 並行処理と非同期I/O 19.1.3 コルーチンの定義と実行 19.1.4 タスクを利用した並行処理とイベントループの役割 19.1.5 asyncioの基本的な機能 19.1.6 実践的な使い方の例 19.1.7 asyncio:よくある使い方 19.1.8 asyncio:ちょっと役立つ周辺知識 19.1.9 asyncio:よくあるエラーと対処法 19.2 マルチプロセス、マルチスレッドをシンプルに行う ─ concurrent.futures 19.2.1 機能の概要 19.2.2 まとめて処理を実行し、まとめて結果を受け取るmap()メソッド 19.2.3 concurrent.futures:よくある使い方 19.2.4 concurrent.futures:ちょっと役立つ周辺知識 19.2.5 concurrent.futures:よくあるエラーと対処法 19.3 サブプロセスを管理する ─ subprocess 19.3.1 子プロセスを実行する 19.3.2 run()関数で設定可能な主な引数 19.3.3 より高度にサブプロセスを実行する 19.3.4 subprocess:よくある使い方 19.3.5 subprocess:よくあるエラーと対処法

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

森 巧尚
翔泳社
おすすめ度
54
紹介文
Python初心者でも安心して学べる超入門書の登場! 【本書の概要】 Web開発やデータ分析などの分野で近年、ユーザー数が増えてきているPython。 最近では、Pythonに触れる方も多くなってきています。 本書はそうしたPython初心者の方に向けて、 簡単なサンプルを作りながら、対話形式でプログラミングのしくみを学ぶ書籍です。 【対象読者】 Pythonのついて、何も知らない超初心者 【1年生シリーズ・3つのポイント】 ・対話形式で解説し、イラストを交えながら、基礎知識を解説します。 ・初めての方でも安心して学習できるよう基本文法もしっかり解説します。 ・平易でサンプルを用意していますので、安心してプログラムを体験できます。 【本書のポイント】 ヤギ博士とフタバちゃんと一緒に 基本的なプログラムから、面白い人工知能アプリの作成まで 体験して、プログラミングのしくみを学ぶことができます。 【著者】 森 巧尚(もり よしなお) iPhoneアプリやWebコンテンツの制作、執筆活動、関西学院大学非常勤講師など、 プログラミングにまつわる幅広い活動を行っている。 近著に『やさしくはじめるiPhoneアプリ作りの教科書』(マイナビ出版)、 『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版) 、 『なるほど!プログラミング』(SBクリエイティブ)などがある。 第1章 Python で何ができるの? 第2章 Python を触ってみよう 第3章 プログラムの基本を知ろう 第4章 アプリを作ってみよう 第5章 人工知能(チノ)くんと遊んでみよう

なっとく! アルゴリズム

アディティア・Y・バーガバ
翔泳社
おすすめ度
54
紹介文
実際の生活の中で遭遇する身近な例をひきながら、アルゴリズムの成り立ちと基本的な考え方の道筋を、噛み砕いて教えてくれます。 数式でもない実装でもない、 半径3メートルの身近なアルゴリズムはこんなにわかりやすい! プログラミングにおいて、アルゴリズムは欠かせません。 それは「Hello World」から昨今のAIやIoTに代表される機械学習や ディープラーニングに至るまで変わりません。プログラミングとは、 裏を返せば、アルゴリズムをいかにして見通しよく実装するかにあるからです。 けれども、アルゴリズムの学習というと、七面倒臭い理屈の山と数式の谷間で 迷子になるのが、これまでの一般的な在り方でした。 そこで本書は、イラストを多用し、デファクトと言われるアルゴリズムが なぜデファクトなのか。けれども場合によってはデファクトたりえないのは なぜなのか。その差を分ける基準は何なのかを平易に解説してくれます。 アルゴリズムと聞くとアレルギー反応をおこす方でも、安心して その奥深い世界の扉から漏れてくる、豊かさの一端に触れることが出来るはずです。 【目次】 第1章 あれもこれもアルゴリズム 第2章 並べたり差し込んだり選んだり:ソート 第3章 同じ手順で何度でも:再帰 第4章 ちっちゃくしてから考えよう:クイックソート 第5章 関連付ければ話も早い:ハッシュテーブル 第6章 グラフを作れば見えてくる:幅優先探索 第7章 本からピアノへ物々交換大作戦:ダイクストラ法 第8章 問題は続くよどこまでも:貪欲法 第9章 ドロボーは計画的に:動的計画法 第10章 分類したら予測して:k近傍法 第11章 この先にはなにがあるの? 第12章 答え合わせ 【著者紹介】 Aditya Bhargava(アディティア・バーガバ) シカゴ大学でコンピューターサイエンスの修士号を取得したAditya Bhargavaは、 ハンドメイド商品のオンラインショップ、etsy.comのソフトウェアエンジニアです。 第1章 あれもこれもアルゴリズム 第2章 並べたり差し込んだり選んだり:ソート 第3章 同じ手順で何度でも:再帰 第4章 ちっちゃくしてから考えよう:クイックソート 第5章 関連付ければ話も早い:ハッシュテーブル 第6章 グラフを作れば見えてくる:幅優先探索 第7章 本からピアノへ物々交換大作戦:ダイクストラ法 第8章 問題は続くよどこまでも:貪欲法 第9章 ドロボーは計画的に:動的計画法 第10章 分類したら予測して:k近傍法 第11章 この先にはなにがあるの? 第12章 答え合わせ

micro:bitではじめるプログラミング 第3版 ―親子で学べるプログラミングとエレクトロニクス (Make: KIDS)

スイッチエデュケーション編集部
オライリージャパン
おすすめ度
54
紹介文
教育用マイコンボード「micro:bit」の基本からプログラミング、作品作りまでを解説。作例はV2の新機能を生かした内容。 micro:bit V2に完全対応!「1からはじめる」定番入門書の最新版! 2020年11月に発売された新バージョン「micro:bit V2」に対応した改訂版。教育用マイコンボード「micro:bit」のハードウェアの基本から、プログラミングのしかた、さまざまな作品の作り方までを丁寧に解説します。取り上げる作例はV2の新機能を生かした内容にすべて刷新、AIプログラミングにも挑戦します。また、実際の小学校の先生が教える「micro:bitを使った自由研究のコツ」も収録。夏休みの自由研究にも生かせます。MakeCode新ブロックのリファレンスも収録。 教育用マイコンボード「micro:bit」の基本からプログラミング、作品作りまでを解説。作例はV2の新機能を生かした内容。

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

石田 保輝
翔泳社
おすすめ度
54
紹介文
基本的な26のアルゴリズムをまるごと図解。50万人が学んだ大人気アプリが待望の書籍化! イメージがつかめるから、面白い! アルゴリズムをまるごとイラストにしました 【本書のポイント】 ・基本的な26のアルゴリズム+7つのデータ構造をすべてイラストで解説 ・誌面がフルカラーなので、図の「動き」がわかりやすい ・各アルゴリズムの考え方や計算効率、問題点もフォロー ・50万人が学んだ大人気アプリを書籍化 アルゴリズムはどんな言語でプログラムを書くにしても不可欠ですが、 現場で教わることはめったになく、かといって自分で学ぶには難しいものです。 本書は、アルゴリズムを独学する人のために作りました。 はじめて学ぶときにはイメージしやすく、 復習するときには思い出しやすくなるよう、 基本的な26のアルゴリズム+7つのデータ構造を すべてイラストにしています。 ソートやグラフなどの「動き」を図で追うことで、 考え方や仕組みを理解する手助けをします。 よいプログラムを書くために知っておかなきゃいけない アルゴリズムの世界を、楽しく学びましょう。 ●書籍のもとになったアプリ「アルゴリズム図鑑」の実績 ・50万ダウンロード達成(2017年4月時点) ・2016年 App Store「今年のベストApp 10選」に選出 【目次(抜粋)】 ●序章 アルゴリズムの基本 ●第1章 データ構造 ・リスト ・配列 ・スタック など ●第2章 ソート ・バブルソート ・選択ソート ・マージソート など ●第3章 配列の探索 ・線形探索 ・2分探索 ●第4章 グラフ探索 ・幅優先探索 ・ベルマン-フォード法 ・A* など ●第5章 セキュリティのアルゴリズム ・暗号の基本 ・公開鍵暗号方式 ・デジタル署名 など ●第6章 クラスタリング ・k-means法 など ●第7章 その他のアルゴリズム ・ユークリッドの互除法 ・ページランク など ●序章 アルゴリズムの基本 0-1 アルゴリズムとは? 0-2 計算時間の測り方 ●第1章 データ構造 1-1 データ構造とは? 1-2 リスト 1-3 配列 1-4 スタック 1-5 キュー 1-6 ハッシュテーブル 1-7 ヒープ 1-8 2分探索木 ●第2章 ソート 2-1 ソートとは? 2-2 バブルソート 2-3 選択ソート 2-4 挿入ソート 2-5 ヒープソート 2-6 マージソート 2-7 クイックソート ●第3章 配列の探索 3-1 線形探索 3-2 2分探索 ●第4章 グラフ探索 4-1 グラフとは? 4-2 幅優先探索 4-3 深さ優先探索 4-4 ベルマン-フォード法 4-5 ダイクストラ法 4-6 A* ●第5章 セキュリティのアルゴリズム 5-1 セキュリティとアルゴリズム 5-2 暗号の基本 5-3 ハッシュ関数 5-4 共通鍵暗号方式 5-5 公開鍵暗号方式 5-6 ハイブリッド暗号方式 5-7 ディフィ-ヘルマン鍵交換法 5-8 メッセージ認証コード 5-9 デジタル署名 5-10 デジタル証明書 ●第6章 クラスタリング 6-1 クラスタリングとは? 6-2 k-means法 ●第7章 その他のアルゴリズム 7-1 ユークリッドの互除法 7-2 素数判定法 7-3 ページランク 7-4 ハノイの塔

Scratchで学ぶ プログラミングとアルゴリズムの基本 改訂第2版

中植 正剛
日経BP
おすすめ度
54
紹介文
プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。 プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。 大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。 本書は、Scratchの操作方法を身につけて自由自在に使いこなせるようになるだけでなく、頭の中で考えているアイデアをプログラムとして実現するスキル、つまり論理的な思考のスキルを身につけることを目的としています。 本書の使い方 サンプルのプログラムを作りながら、Scratchの操作とプログラミングのポイントについて学んでいきます。ただし、何も考えずにサンプルの作り方をなぞって操作するだけでは、独り立ちして自分なりのプログラムを作る力はつきません。プログラミングの仕組みをきちんと「わかる」ことが大切です。 各章ののコーナーで自分なりに見通しを立てて考えたり、やのコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。 加えて、やといった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。 早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。 本書で紹介した「サンプルファイル」や「課題」の解答例、活用時の「指導者の手引き」などは、本書のWebページからダウンロードいただけます。 ●プログラミングをはじめよう 第1章 Scratchの基本 第2章 プログラムの流れをつかもう 第3章 変数と配列の使い方をマスターしよう ●本格的なプログラミングを身につけよう 第4章 構造化プログラミング 第5章 関数の使い方をマスターしよう ●アルゴリズムのキホンを学ぼう 第6章 アルゴリズムその1 サーチ(探索) 第7章 アルゴリズムその2 基本的なソート(並び替え) 第8章 アルゴリズムその3 すすんだソート(並び替え) ●Scratchを使いこなそう 第9章 クローン

シゴトがはかどる Python自動処理の教科書

クジラ飛行机
マイナビ出版
おすすめ度
54
紹介文
RAPソフトに頼らなくても、業務は自動化できる! 「これ、毎日同じ作業をしているけど、自動化できないかな?」 「この作業、手でやってたらとても終わらない…どうにかできないかな?」 そんな声にお答えするのが本書です。 本書では、Pythonを使って、ビジネス上よく起きるさまざまな作業を自動化します。 サンプルが用意されているので、実際にプログラムを動かして試してみることができます。 Pythonの文法も要点を押さえて説明してあるので、自分の作業に合わせてカスタマイズしやすくなっています。 1章では、Pythonをインストールして自動化を行うための環境を整えます。簡単なプログラムを通して、プログラムを実行するコツをつかみます。 2章、3章では、Excelへのデータ入力、データ抽出、書式設定、請求書などテンプレートがあるファイルへのデータ流し込み、Wordのテンプレートへのデータ流し込み、PDF化など、一般的なオフィス文書の自動化を扱います。基本的にはopenpyxlモジュールを使い、後半ではpython-docxやpywin32も使います。 4章では、Webブラウザからのデータ取り込み、一括ダウンロード、パスワードがかかっているサイトへのログインなど、Webブラウザの操作自動化について説明します。「Beautiful Soup」モジュールやSeleniumを使います。 5章では、メールの送信、LINEやTwitterなどのSNSの操作を扱います。また、即時に実行するのではなく、日々の決まった時間や先の日付けで実行したいスケジューリングの設定について説明します。 6章では、ダイアログを出してユーザーから言葉やファイルの入力を得る方法や、正規表現の使い方、プログラムをデスクトップアプリにする方法、他の人が実行しやすい形でプログラムを渡す方法、マウスやキーボードの操作を自動化する方法など、便利な情報を詰め込んでいます。TkinterやPyInstallerを使います。 Pythonの知識の浅い方でも使いやすいように、インストール方法から、実行方法までを丁寧に説明しています。また、巻末には文法をまとめたAppendixを入れています。 実行環境としては、Windows、macOS、Linuxに対応していますが、項目によっては一部OSにしか対応していないものもありますのでご注意ください。 Python3.x対応。 ※他の人が実行しやすい形でプログラムを渡す目的で使うPyInstallerは、Python3.5~3.7対応です。 Chapter1 Pythonで仕事を自動化しよう Chapter2 Excel作業を自動化しよう Chapter3 Excelの高度な作業も自動化しよう Chapter4 Webブラウザの自動化/スクレイピング Chapter5 メールやLINE/SNSを自動化しよう Chapter6 そのほかの便利な自動化テクニック Appendix Pythonの基本文法の紹介

12歳までに身につけたい プログラミングの超きほん (未来のキミのためシリーズ)

朝日新聞出版
朝日新聞出版
おすすめ度
54
紹介文
小学校で始まったプログラミング教育は論理的思考や国語力が養われると注目されています。本書は小学生なら知っておきたいプログラミングの超きほんがわかる本。マンガやワークがついているので理解しやすい。スクラッチの基本も紹介。小学校中学年 高学年向け。

はじめての3DCGプログラミング 例題で学ぶPOV-Ray

山住 富也
近代科学社Digital
おすすめ度
54
紹介文
初心者でも大丈夫。フリーウェアで3DCGを作りながら、プログラミングを学べる!  本書は、3DCG描画フリーウェア“POV-Ray”を使ってプログラミングを学習するための、初学者向けの教科書です。多くの例題・課題に取り組みながら、無理なくステップアップすることができます。  まず、3DCGを構成する要素や3次元の座標系などの基礎を学びます。続いて、基本的な図形の描画を通して、3DCGプログラミングに徐々に慣れ親しみます。次に、制御や演算等のさまざまなプログラミングの要素を学んでいき、最終的にはCGアニメーションのプログラムが作成できるようになります。  ぜひ、本書を手に取ってプログラミングの学習を始めましょう! 第1章 POV-Rayの基本 1.1 POV-Rayのインストール 1.2 POV-Rayの画面構成 1.3 描画の実行 1.4 CGを構成する3要素 1.5 座標系 1.6 ソースコード(シーンファイル) 1.7 3要素の指定 第2章 基本図形の描画 2.1 球 2.2 直方体 2.3 円柱 2.4 円錐・円錐台 2.5 トーラス 2.6 無限平面 第3章 物体の平行移動、回転、拡大・縮小 3.1 平行移動 3.2 回転 3.3 拡大・縮小 3.4 移動、回転、拡大・縮小の組み合わせ 第4章 物体のカラーとパターン 4.1 カラーの指定 4.2 透過度の指定 4.3 パターンの指定 4.4 さまざまなパターン 第5章 物体のテクスチャとマテリアル 5.1 テクスチャマッピング 5.2 ガラスのマテリアル 5.3 表面の凹凸 第6章 照明 6.1 点光源 6.2 面光源 6.3 スポットライト 第7章 背景 7.1 背景色 7.2 空の背景 7.3 星空 第8章 物体同士の演算 8.1 結合 8.2 差 8.3 交差 8.4 併合 第9章 処理の流れの制御 9.1 繰り返し 9.2 多重ループ 9.3 条件分岐 第10章 マクロ 10.1 マクロの定義 10.2 マクロの呼び出し 第11章 アニメーション 11.1 コマ割り 11.2 clock変数 11.3 物体の平行移動 11.4 物体の回転 11.5 カメラの移動 11.6 光源の明るさの変化 第12章 発展的な図形の描画 12.1 円盤 12.2 三角形 12.3 多角形 12.4 角柱 12.5 3次元テキスト 12.6 回転体 12.7 球スイープ 12.8 その他の図形

Pythonで儲かるAIをつくる

赤石 雅典
日経BP
おすすめ度
54
紹介文
見込み客、土日の需要、商品リコメンド…営業、マーケティングが劇的に変わる。業務に本当に役立つ“儲かるAI”を自分で作る! 見込み客、土日の需要、商品リコメンド… 営業、マーケティングが劇的に変わる 業務に本当に役立つ“儲かるAI”を自分で作る! ◆数学なしでアルゴリズム選びもチューニングもわかる ◆現場目線でAIの最適化までできる ◆ブラウザだけで試せるPython実習(Google Colab) ◆XGBoost、Prophetなど話題のAI技術を活用 ◆全PythonコードをGoogle Colab用のNotebook形式で用意 <機械学習のための Python入門講座>つき! 業務に本当に役立つ“儲かるAI”を作るには 「業務目線」と「技術目線」の両方が必要です。 業務の課題を認識し、どう改善するかという「業務目線」が必要なのは 従来システムと同じですが、AIの構築ではさらに 業務の課題が本当に AIで解決できるのか、AIのどの処理方式なら適用できそうか という「技術目線」が不可欠なのです。 本書のPython実習で学ぶことで、「AIの目利きができる技術目線」を獲得し 自分でもAIを作れるようになります。 見込み客、土日の需要、商品リコメンド… 営業、マーケティングが劇的に変わる 業務に本当に役立つ“儲かるAI”を自分で作る! 1章 業務と機械学習プロジェクト 2章 機械学習モデルの処理パターン 3章 機械学習モデルの開発手順 4章 機械学習モデル開発の重要ポイント 5章 業務要件と処理パターン ・営業成約予測(分類) ・天候による売り上げ予測(回帰) ・季節などの周期性で売り上げ予測(時系列分析) ・お薦め商品の提案(アソシエーション分析) ・顧客層に応じた販売戦略(クラスタリング、次元圧縮) 6章 AIプロジェクトを成功させる上流工程のツボ

子どものためのC言語 (プログラミング はじめのいっぽ絵本)

ヴァンデン・ヒューヴェル
教育画劇
おすすめ度
54

入門 Python 3 第2版

Bill Lubanovic
オライリージャパン
おすすめ度
54
紹介文
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。 実践を見据えた本格的な入門書の改訂版! プログラミング初心者を対象としたPythonの総括的な入門書で、前提知識がなくても取り組むことができます。プログラミングとPythonの基礎から、データベース処理、Webプログラミング、ネットワークプログラミング、初歩の並列処理といった応用までわかりやすく丁寧に解説します。「入門Python 3」の5年ぶりの改訂版でPython3.9.0に対応、f文字列などの新機能が追加され大幅にボリュームアップしています。 プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。

プログラミングのはじめかた (サイエンス・アイ新書)

あすな こうじ
SBクリエイティブ
おすすめ度
54
紹介文
知識ゼロでも大丈夫! 人気声優・山口勝平氏のボイスデータも収録! 100を超える3D・2D・音声データ付き! ゲーム作りを通じてプログラミングを体験する、画期的な実践書! 小学校におけるプログラミングの必修化が議論されています。 人工知能やロボットがプログラミング技術を土台に急速な発展を続ける昨今、 もうプログラミングを知らずに過ごすわけにはいかないでしょう。 プログラミングを身につける上で、はじめに何をすべきなのでしょうか。プログラミング言語の文法を覚えることでしょうか。それとも、たくさんのアルゴリズムを知ることでしょうか。プログラミングを身につける上で重要なのは、まず体験してみることです。そのために最適な方法はゲームを作ることです。ほとんどのゲームの動きは視覚的なグラフィックスで表現されています。自分の指示どおりにキャラクターが動くかどうか、カンタンに試せるのです。 本書は、ゲーム作りを通してプログラミングを理解するという、単純明快なプログラミング本。難しい理論は放置して、まずは体験してみよう! それが動作原理を科学的に理解できるようになる一番の近道です。 第0章 はじめに 第1章 はじめてのUnity 第2章 はじめてのプログラミング 第3章 はじめてのゲームづくり 第4章 はじめてのゲーム企画 第5章 ベース部分に挑戦 第6章 ゲームを彩る表現集 第7章 さいごに 第0章 はじめに 第1章 はじめてのUnity 第2章 はじめてのプログラミング 第3章 はじめてのゲームづくり 第4章 はじめてのゲーム企画 第5章 ベース部分に挑戦 第6章 ゲームを彩る表現集 第7章 さいごに

小学生と親が楽しむ初めてのプログラミング ―たった5時間でできます!

米村 貴裕
さくら舎
おすすめ度
54
紹介文
楽しく読んでばっちり理解!パソコンの初歩からプログラミングの基礎知識までカバー!親も子も、これでプログラミングは怖くない! イラストでラクラク学ぶプログラミング! パソコンに関係する用語やプログラミングの基礎知識が大人も子どもも楽しみながら身につく!個性的なキャラクターなど、イラストいっぱいのプログラミング本。 2020年4月から、小学校でプログラミング教育が必修化するが、これからプログラミングを学ぶ子どもたちはもちろん、教育現場もまた知識や情報を求めて手探りの状態。家庭でサポートしようにも、保護者の方たちも「プログラミングって何?」という方が多い。そんな方たちのために、パソコンの立ち上げ方、ファイルの保存の仕方などから、小学校で使われるプログラミング言語「Scratch(スクラッチ)」の使い方、その他のプログラミング言語やアルゴリズムの考え方まで、プログラミングするにあたって必須となる知識をわかりやすく解説! 1時間目 人より先行できるプログラミング入門 2時間目 CGとプログラミング 3時間目 ロボットとプログラミング 4時間目 めざせ!キレイで速いプログラム 5時間目 クラウド+ストリーミング+AIでプログラム激変

プログラミング言語Standard ML入門 改訂版

大堀 淳
共立出版
おすすめ度
54
紹介文
Standard MLの好評テキストの改訂版。最先端のSML#コンパイラを用いて,MLプログラミングの基礎を習得できる。 MLを初めて学ぶ者を対象に,Standard ML言語によるプログラミングの基礎から基本ライブラリ (Standard ML Basis Library) の利用法までをわかりやすく解説した定番テキストの改定版である。  初版の刊行から20年が経ち,Standard MLを取り巻く環境も大きく変化したことに伴い,改訂版では,著者らが開発を行ってきた新しいStandard ML系言語「SML#」が使用するコンパイラとして採用されており,SML#が提供するシステムプログラミング機能の解説が新たに加えられた。MLプログラミングの基礎を,最先端のSML#コンパイラを用いて習得できる点が特徴である。さらに,初版刊行時にはまだドラフトであった標準ライブラリ (Standard ML Basis Library) の仕様の確定に伴い,第Ⅱ部のライブラリコードをすべて見直したほか,Standard MLの言語仕様の不十分さを補うSML#の機能であるレコード多相性,オーバーロード多相性,およびランク1多相性の解説を追加した。  姉妹書である『SML#で始める実践MLプログラミング』(共立出版,2021)と併せて学ぶことで,本書が提供するStandard MLの系統的な知識を活用し,高度なシステム開発をMLで安全かつ快適にプログラムする技術を身につけることができる。  大学でのプログラミングやプログラミング言語の入門コース用テキストとしても最適の一書である。 第I部 Standard ML言語 第1章 MLプログラミングの基本 1.1 システムの起動と終了 1.2 式の入力と評価 1.3 構文と型のエラー 1.4 変数の束縛と識別子 1.5 ファイルからのプログラムの入力 1.6 プログラムの終了と中断 第2章 関数を用いたプログラミング 2.1 関数の定義 2.2 関数適用の評価 2.3 再帰的関数 2.4 局所変数の使用 2.5 相互再帰的関数 2.6 高階の関数 2.7 関数式 2.8 変数のスコープ 2.9 2項演算子 第3章 MLの型システム 3.1 型推論と静的型チェック 3.2 型の多相性と多相関数 3.3 明示的な型宣言 3.4 関数名の多重定義とSML#のオーバーロード多相性 3.5 多相型の使用の制限 3.6 等値演算子の型の扱い 第4章 MLの基本データ型 4.1 単位型(eqtype unit) 4.2 真理値型(eqtype bool) 4.3 整数型(eqtype int,eqtype word) 4.4 実数型(type real) 4.5 文字型(eqtype char) 4.6 文字列型(eqtype string) 第5章 レコード 5.1 レコード型とレコード式 5.2 フィールド取り出し演算#l 5.3 パターンマッチングによるレコードの操作 5.4 SML#のレコード多相性 5.5 組型 第6章 リスト 6.1 リスト構造 6.2 リスト型(τ list) 6.3 パターンマッチングによるリストの分解 6.4 リスト処理の基本関数 6.5 リスト処理の一般構造と汎用のリスト処理関数 第7章 データ構造の定義と利用 7.1 datatype文によるデータ型の定義 7.2 パターンマッチングを用いたデータ構造の利用 7.3 パターンマッチングの拡張機能 7.4 システム定義のデータ型 7.5 データ型を用いたプログラミング例 7.6 無限なデータ構造の定義と利用 第8章 参照型 8.1 参照型(eqtype τ ref)と逐次評価 8.2 履歴に依存するプログラム 8.3 変更可能なデータ構造 8.4 参照型と参照透明性 8.5 参照型と値多相性 8.6 SML#のランク1多相性 第9章 例外処理 9.1 例外の定義と生成 9.2 例外ハンドラを用いた例外処理 9.3 例外を用いたプログラミング 9.4 多相型を引数とする例外 第10章 モジュールシステム 10.1 Structure文によるモジュールの定義と利用 10.2 モジュールのシグネチャの指定 10.3 不透明なシグネチャ制約とwhere type文 10.4 モジュールを用いたプログラミング例 10.5 functor文を用いたモジューラプログラミング 第11章 Standard MLの文法 11.1 表記上の約束 11.2 定数と識別子の書式 11.3 核言語式の文法構造 11.4 モジュール定義の構文構造 第II部 Standard ML基本ライブラリ 第12章 基本ライブラリの利用法 12.1 ライブラリの種類とそのシグネチャの表示法 12.2 Generalストラクチャ 12.3 トップレベル環境 第13章 配列を用いたプログラミング 13.1 配列型(eqtype’a array) 13.2 配列のソートアルゴリズム 第14章 システム時計の利用 14.1 TimeとTimerストラクチャ 第15章 入出力処理 15.1 MLの入出力処理のモデル 15.2 テキスト入出力 15.3 関数型ストリームモデルの入出力処理 15.4 簡単な字句解析処理 15.5 入出力エラーの処理 第16章 データのフォーマッティング 16.1 SubstringとStringCvtストラクチャ 16.2 文字列からのデータの読み込み 16.3 書式付き書き出し処理 第17章 OSとのインターフェイス 17.1 OSストラクチャの構造とシステムプログラミングの現状 17.2 ディレクトリとファイルの操作 第18章 付録 SML#コンパイラの活用方法 18.1 SML#コンパイラの導入方法 18.2 実行コマンドの作成 18.3 分割コンパイル 18.4 外部関数の利用

独習PHP 第4版

山田 祥寛
翔泳社
おすすめ度
54
紹介文
PHPプログラミングの標準教科書『独習PHP』が、最新のPHP8に対応して登場! 5年ぶりのメジャーバージョンアップに合わせて大幅改訂! PHP8の基本構文から、クラス、DB連携、セキュリティ対策まで、しっかり習得。 PHPプログラミングの標準教科書『独習PHP』が、最新のPHP8に対応。 PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、 PHPの基本構文から、クラス、データベース連携、セキュリティまで、 詳細かつ丁寧に解説します。 解説→例題→練習問題(理解度チェック)という3つのステップで、 PHPによるWebアプリ開発の基礎・基本テクニックをしっかり習得できます。 実際にサンプルコードを入力し、動作を確かめながら学習することで、 いっそう理解が深まります。 「PHPを一から学びたい・しっかり基礎固めをしたい」 「PHPでWebアプリを作りたい」という方におすすめの1冊です。 第1章 イントロダクション 第2章 PHPの基本 第3章 演算子 第4章 制御構文 第5章 組み込み関数 第6章 ユーザー定義関数 第7章 標準クラスライブラリ 第8章 リクエスト情報 第9章 データベース連携 第10章 オブジェクト指向構文 第11章 高度なプログラミング

図解! Pythonのツボとコツがゼッタイにわかる本 プログラミング実践編

立山秀利
秀和システム
おすすめ度
54
紹介文
Pythonは、AIのみならず日常の様々なシーンで使われ、すっかり身近なプログラミング言語となりました。本書は、『図解! Pythonのツボとコツがゼッタイにわかる本 “超”入門編』の続編として、入門者が次のステップとして学んでほしい「Pythonプログラミングのノウハウ」を体感しつつ、しっかり学べるプログラミング実践編です。入門から段階的にステップアップして、最後はOpenCVを使って簡単な顔認識プログラムを作りましょう! フクザツな処理のプログラミングは体験しながら理解しよう。「図解! Pythonプログラミングのツボとコツがゼッタイにわかる本 “超”入門編」の次は本書でステップアップ。本書では顔認識プログラムに挑戦します。 Chapter01 Pythonで一歩進んだ自動化をしよう  01 より実用的なプログラムをPythonで作ろう!   フクザツな処理を作る力が必要  02 本書で前提とするPythonの知識   これだけの基礎を押さえておこう! ただし暗記は不要  03 本書で前提とするPythonの開発環境   AnacondaとJupyter Notebookを利用   ファイルの置き場所はカレントディレクトリ Chapter02 フクザツな処理には、この仕組みが必要  01 命令文を「上から並べて書く」の限界   フクザツな処理は「上から並べて書く」以外も必要  02 フクザツな処理に不可欠な「分かれる」   「もし○○なら~」の仕組みは「分岐」で作る  03 大量の処理は「繰り返す」を使うと格段にベンリ   同じ処理のコードを書くのは1個だけ  04 変数をもっと活用すると、 処理の幅がグンと広がる   変数でデータを自在に扱いフクザツな処理を作る  05 複数のデータをまとめて効率よく扱う   「繰り返し」と組み合わると効果倍増!  06 さまざまな仕組みをいかに組み合わせるか   フクザツな処理は各仕組みの組み合わせで作る!   Column 既定のブラウザーを確認・変更するには Chapter03 フクザツな処理のプログラムを作るツボとコツ  01 フクザツな処理も「段階的に作り上げる」がキホン   自力でプログラムを作るために必要なノウハウ   ツボは「誤りは必ずその場で修正」  02 なぜ段階的に作り上げるノウハウが大切なの?   誤りを自力で発見しやすくできる   コレが極意! 誤りを探す範囲を絞り込む   誤りが複数同時にあると…  03 段階的な作成は命令文ごとの PDCAサイクルの積み重ね   個々の命令文ごとにPDCAサイクルを回す   1つの大きなPDCAサイクルを回すのはNG  04 フクザツな処理を段階分けするには   作りたいプログラムを小さな単位に分解して段階分け!   3つの切り口を組み合わせて段階分け!  05 こんな機能のプログラムをこれから作ろう!   複数の画像をリサイズするサンプルで学ぼう   「サンプル1」の機能の詳細   「サンプル1」を準備しよう  06 サンプルを3つの切り口で段階分けしよう   【切り口1】一連の処理で段階分け   【切り口2】“複数→単一”で段階分け   【切り口3】“条件あり→なし”で段階分け  07 処理に必要な変数や関数は 作りながら考えればOK   「その都度調べる・考える」で問題なし   Column 作りながら段階分けを随時見直そう Chapter04 画像を1つリサイズする処理まで作ろう  01 本章で作るプログラムの機能と作成の流れ   容量に関係なく1つの画像をリサイズ  02 画像の処理は定番の「Pillow」を使う   「001.jpg」を使って①~③の処理を作る   「Pillow」の概要とインポートのセオリー  03 1つの画像を開く処理を作ろう   PIL.Image.open関数で画像を開く   開いた画像はオブジェクトとして得られる   別のセルを使って動作確認  04 画像をリサイズする処理を作ろう   リサイズはこのメソッドひとつでOK!   カッコが入れ子のかたちに注目   リサイズのコードを追加しよう   リサイズ処理の動作確認しよう   リサイズ後の幅と高さも確認  05 上書き保存する処理を作ろう   画像の保存はsaveメソッドで   001.jpgはバックアップしてから動作確認   縦長の画像でも動作確認 Chapter05 容量が200KB以上ならリサイズする処理まで作ろう  01 容量が200KB以上ならリサイズするには   新たに必要な仕組みはこの2つ  02 画像の容量を調べてみよう   容量はos.path.getsize関数で取得   os.path.getsize関数を別のセルで体験しよう  03 分岐の条件式の記述に欠かせない「比較演算子」   2つの値を比較した結果を返す演算子  04 比較演算子を体験しよう!   数値の比較を体験しよう   「~以上」の比較を体験しよう   変数を使った比較を体験しよう  05 if文による分岐の基礎を学ぼう   条件が成立する場合のみ処理を実行  06 条件式が成立する/しないで異なる処理を実行   不成立時の処理は「else」以下に  07 if文を体験しよう   if文の1つ目のパターンを体験   インデントのあり/なしは大違い!   if文の2つ目のパターンを体験   Column if文3つ目のパターン  08 200KB以上の写真だけ リサイズする処理を作ろう   コードの大まかな構造を先に考えよう   具体的なコードを記述しよう   さっそく動作確認しよう   200KB未満の画像でも動作確認  09 分岐の処理の動作確認はこの2点に注意!   条件が成立しない場合のチェックも忘れずに   条件式に使うデータと得られるハズの結果を先に明確化   Column import文を記述する順番   Column 条件式だけを単独で動作確認   Column 複数の条件で分岐する Chapter06 複数の画像のリサイズは「繰り返し」と「リスト」がカギ  01 複数の画像をリサイズしたい! どうすればいい?   同じようなコードを並べても誤りではないけど……  02 複数画像の処理は「繰り返し」を使えば効率的!   ファイル名の一覧は関数でカンタンに得られる  03 関数ひとつでファイル名の一覧を取得できる   os.listdir関数の使い方のキホン  04 os.listdir関数を体験しよう   photoフォルダー内のファイル名を取得する   ファイル名の一覧は「リスト」形式で得られる   Column 「ユーザー定義関数」もある  05 「リスト」のキホンを学ぼう   複数の“箱”が並んだものがリスト  06 リストのコードの書き方のキホン   全体を「[」と「]」で囲み、要素を「,」で区切る  07 リストは変数に入れて使うこともできる   入れた変数の名前がリストの名前になる  08 リストを体験しよう   リストを作成し、変数に入れて出力  09 リストの個々の要素を扱うには   何番目の“箱”なのか、「インデックス」で指定   インデックスはこう指定する  10 リストのインデックスを体験しよう   リストの各要素の値を取得・出力する   要素数以上の値をインデックスに指定すると?  11 photoフォルダー内のファイル名を 取得・出力しよう   os.listdir関数で得られたリスト操作を体験   photoフォルダー内のファイル名を取得・出力  12 サンプル1にos.listdir関数と リストだけを使っても……   繰り返しとの組み合わせでリストが活きる   Column リストのベンリな小ワザ その1 Chapter07 繰り返しを活用してサンプル1を完成させよう  01 リストとfor文の組み合わせのキホン   繰り返される回数はリストの要素数  02 リストとfor文の組み合わせを体験しよう   「こんにちは」を繰り返し出力する   リストの要素数を変更して試す   for文もインデントのあり/なしに注意!  03 for文の変数の動作を知ろう   リストの要素が先頭から順に格納される  04 for文の変数を体験しよう   リストaryの要素を順に出力する   リストの要素数を変更して試そう  05 photoフォルダー内のファイル名を 順に出力してみよう   os.listdir関数のおさらい   for文を使ってファイル名を順に出力   インデックス不要でリストの要素を扱える!  06 すべての画像をリサイズするには、 フォルダー名の処理もカギ   ファイル名の前にフォルダー名を連結する必要あり  07 フォルダー名を連結してファイル名を 順に出力しよう   体験のコードとパス区切り文字のおさらい   os.path.join関数のおさらい   フォルダー名とファイル名を連結して順に出力  08 サンプル1ですべての画像を リサイズ可能にしよう   サンプル1とここまで学んだ内容をおさらい   まずはファイル名の一覧を取得する処理を追加   とりあえずfor文で画像の数だけ繰り返すようにしよう   各画像を順に処理できるよう変更して完成!   意図通りリサイズできるかシッカリ動作確認  09 完成までの段階的な作成の道のりを振り返ろう   サンプル1を段階的に作成した過程  10 初心者が分岐や繰り返しの処理を より確実に作成するノウハウ   変更前のコードはコメント化して一時保管  11 “練習”用のセルで先に体験するメリット   なぜ、ぶっつけ本番はダメなのか?   Column 繰り返しの処理の動作確認のコツ Chapter08 サンプル1のコードをカイゼンしよう  01 なぜコードをカイゼンした方がよいのか?   今のままじゃ見づらく、追加・変更も大変!  02 同じコードが何度も登場する状態を解消しよう   全く同じ記述が3箇所にある!   重複するコードを変数でまとめるのがツボ   実際に変数でまとめよう!  03 重複するコードをまとめると 処理の効率化もできる!   重複する処理を何度も実行するのは非効率的  04 コードの重複は他にも残っているけど……?   1回実行すれば済む処理の重複を解消しよう  05 重複を変数にまとめるコードは どこに挿入する?   この処理よりはゼッタイに前でないとダメ   ここより後でもうまく動かなくなる!  06 文字列のコードの重複を解消しよう   文字列の重複も変数でまとめる   慣れない間は段階的にまとめるのが吉  07 数値や文字列を直接記述している箇所は なぜカイゼンすべきか   記述している箇所を探すだけでも一苦労   同じ数値だが、意味や用途が異なると……  08 数値や文字列を直接記述している箇所は 変数でカイゼン   冒頭で変数に格納してまとめておく  09 数値や文字列を直接記述している箇所を 実際に変数でカイゼンしよう   ファイル容量の数値を変数に入れて置き換える   幅と高さの数値も変数でカイゼンしよう   これで変更がより効率的に行える!   文字列はすでに解決済み!   Column 変数MAX_FSIZEの数値の変更をよりわかりやすくするコツ  10 変数名を大文字アルファベットで付けたワケ   変わらない値なら大文字の変数名  11 数値や文字列を変数に格納する コードの挿入位置   特に繰り返しが絡む際は注意!  12 タプルのキホンを改めて学ぼう   タプルの一般的な書式と使い方  13 タプルを変数に格納して使ってみよう   幅と高さのタプルを変数に入れる   引数や戻り値がタプルの関数やメソッド  14 タプルとリストって何が違うの?   タプルもリストみたいに要素を取得できる   大きな違いは要素を変更できるかどうか  15 指定した回数だけfor文で繰り返すには?   range関数で回数を指定する   変数には連番が自動で格納されていく   Column 画像のパスの文字列はもっと前の段階でまとめてもOK?   Column もうひとつの繰り返し while文   Column データの“集まり”には「辞書」もある Chapter09 ちょっとした顔認識のプログラムを作ろう  01 シンプルな顔認識のプログラムにチャレンジ!   ライブラリを使えばAIもカンタン  02 顔認識のプログラムを作る準備をしよう   定番ライブラリ「OpenCV」をインストール   “顔認識用のファイル”をコピー   顔認識に使う写真を用意  03 OpenCVで顔を認識する大まかな流れ   OpenCVの顔認識は4つの処理で  04 認識した顔の場所と大きさを出力してみよう   顔認識の【STEP1】はこの関数で   長い関数名は補完機能で入力  05 OpenCVで画像を開く処理を作ろう   cv2.imread関数で画像を開く  06 グレースケールに変換する処理を作ろう   画像の変換はcv2.cvtColor関数で  07 顔認識を実行して結果を出力   detectMultiScaleメソッドで顔認識  08 認識した顔のデータの意味と扱い方   顔のデータはこの形式で得られる   1人ぶんの顔のデータを取り出してみよう   入れ子の内側の要素を取り出す   内側の要素をすべて出力しよう   print関数のちょっとしたワザ  09 1人の顔に赤枠を引き、 別名で保存する処理を作ろう   cv2.rectangle関数で赤枠を引く   試しに任意の位置・大きさで赤枠を引いてみよう   別名で保存はcv2.imwrite関数で   赤枠を引き、別名で保存を体験  10 認識した1人目の顔に赤枠を引こう   1人目の顔の場所・大きさで座標を指定   X/Y座標、幅、高さは変数に入れて指定   Column リストのベンリな小ワザ その2  11 X座標などを変数に代入するコードを 1行で済ます   複数の変数に要素を一気に代入   リストの分割代入を体験   顔のデータを分割代入してみよう   分割代入でサンプル2を書き換えよう  12 認識した全員の顔に赤枠を引くには   for文で個々の顔のデータを取り出す   個々の顔のデータを取得・出力しよう   X座標などを変数に代入して出力   for文は分割代入で要素を取り出すことも  13 サンプルで全員の顔に赤枠を引こう   for文を追加し赤枠を繰り返し引く   本来はカイゼンの余地はあるが……  14 detectMultiScaleメソッドの引数scaleFactor   うまく顔を認識できなければ、この値を調整   detectMultiScaleメソッドのその他の引数  15 サンプル2のプログラムはここもツボ   変数imgと変数grayを使い分ける理由   別名で保存する処理はfor以下じゃダメ?   Column ユーザー定義関数 実装編

プログラミングRust 第2版

Jim Blandy
オライリージャパン
おすすめ度
54
紹介文
Rustは、安全性、高速性、並行性に優れた言語。概要と用途について書かれた書籍で、ほとんどの機能を詳細にカバーした決定版。 安全性、高速性、並行性に優れた言語Rustの決定版の改訂! 次世代ブラウザ開発用にMozillaによって開発されたRustは、C/C++並みのパフォーマンスと低レベルの制御能力に加え、メモリとスレッドの安全性を担保し、さらに並行性にも優れるといった特徴を持つ、優れた言語です。本書はMozillaで実際にRustを使ってFirefoxを開発している著者による、言語の概要と、用途について書かれた書籍で、Rustのほとんどの機能を詳細にカバーします。Rustのメジャーバージョンアップにより非同期処理が可能となったことに対応し、第2版では新たに非同期の章を設け、この機能を詳細に解説しています。 Rustは、安全性、高速性、並行性に優れた言語。概要と用途について書かれた書籍で、ほとんどの機能を詳細にカバーした決定版。

現場ですぐに使える! Visual C# 2019逆引き大全 500の極意

智明, 増田
秀和システム
おすすめ度
54
紹介文
開発で使用する基本的なテクニックから現場ですぐに役立つ実用性の高いテクニックなど、500項目を逆引き形式で紹介! ◆基礎から応用まで幅広い内容を解説したTips集です 本書は、次のようなVisual C# 2019の初歩的な内容から 実務的な内容、新機能に至るまで幅広い分野を網羅したTips集です。 ・IDE(統合開発環境)の操作方法 ・基本プログラミングの概念 ・ユーザーインターフェイスの作成 ・データベース操作、 ・エラーやデバッグ ・Webアプリケーションの作成、 ・ユーザーコントロールの作成 ・WPF ・XAML ・LINQ また、逆引き形式になっているので、 「やりたいこと」「知りたいこと」から 必要なテクニックを探すことができます。 学習中の方はもちろん、実務で活用されている方にも すぐに役立てることができます。 ◆新たにTipsを追加いたしました さらに2019対応版となる本書では、 ・ASP.NET MVCの強化 ・.NET Coreの導入 ・WPFアプリ作成、 ・MVVMパターンの利用 ・async/awaitを利用した非同期処理、 ・リフレクションを利用したプロパティアクセス など、仕事でのちょっとした壁を超えるようなTipsを 追加いたしました。 ◆サンプルプログラムをダウンロードで提供いたします 本文中のサンプルプログラムを、サポートページから ダウンロードいただけます。 皆さまのお手元にある環境で、実際に各ファイルや アプリケーションを操作し、動作確認をしていただくことが 可能です。それにより、プログラミングや動作の理解を 深めていただくことができます。 【目次】 第1章 Visual C# 2019の基礎 第2章 プロジェクト作成の極意 第3章 ユーザーインターフェイスの極意 第4章 基本プログラミングの極意 第5章 非同期処理の極意 第6章 リフレクションの極意 第7章 文字列操作の極意 第8章 ファイル、フォルダー操作の極意 第9章 コモンダイアログの極意 第10章 データベース操作の極意 第11章 エラー処理の極意 第12章 デバッグの極意 第13章 グラフィックの極意 第14章 WPFの極意 第15章 ネットワークの極意 第16章 ASP.NETの極意 第17章 アプリケーション実行の極意 第18章 Excelの極意 第1部 スタンダード・プログラミングの極意 第1章 Visual C# 2019の基礎 第2章 プロジェクト作成の極意 第3章 ユーザーインターフェイスの極意 第4章 基本プログラミングの極意 第5章 非同期処理の極意 第6章 リフレクションの極意 第7章 文字列操作の極意 第8章 ファイル、フォルダー操作の極意 第9章 コモンダイアログの極意 第2部 アドバンスド・プログラミングの極意 第10章 データベース操作の極意 第11章 エラー処理の極意 第12章 デバッグの極意 第13章 グラフィックの極意 第14章 WPFの極意 第15章 ネットワークの極意 第16章 ASP.NETの極意 第17章 アプリケーション実行の極意 第18章 Excelの極意
search