【2023最新】「プログラマー」のおすすめ本!人気ランキング
この記事では、「プログラマー」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。
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で詳しく見る
紹介文
言語に限定されない応用が効く基礎力をつける!インターネットのしくみがわかる!Webプログラムがどのように動いているかを学べる!正規表現やテンプレート、ライブラリ、セキュリティまでカバー!
1 WebブラウザでWebページが表示される仕組み
2 WebサーバからWebブラウザにコンテンツが届くまで
3 Webプログラムがコンテンツを作る仕組み
4 Webプログラムを動かしてみよう
5 Webプログラミングをしてみよう
6 ライブラリやJavaScriptを使ったプログラミング
7 ユーザーを追跡するCookieとセッション情報
8 データベースを使ったプログラミング
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で詳しく見る
紹介文
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
理解しやすいコード
第1部 表面上の改善(名前に情報を詰め込む
誤解されない名前
美しさ
コメントすべきことを知る
コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする
巨大な式を分割する
変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する
一度に1つのことを
コードに思いを込める
短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ
「分/時間カウンタ」を設計・実装する)
付録 あわせて読みたい
Amazonで詳しく見る
紹介文
プログラミングは全く初めての人、他の入門書で挫折しちゃった人、つまづく所はみんな同じです。そこを徹底分析したメソッドで、全員ゴールに辿り着ける入門教室が秋葉原にあります。1日でWeb画面と簡単なDBまで作れるようになるとってもユニークな速習コース。その方法を1冊に凝縮した本書なら、いきなりの初心者でも、無理せず楽しくPHPとMySQLのエッセンスを習得できます。
1 なるほど!心の準備編-何から始めたらいいの?(とっても大切な心の準備!
挫折の落とし穴を跳び越えよう! ほか)
2 がんばろう!パソコン設定編-らくらく壁を跳び越えよう!(タダでサーバーを手に入れよう!
タダでテキストエディタを手に入れよう! ほか)
3 ワクワク!プログラミング編-プログラミングは楽しい!(30分で覚えるHTML!
初めてのPHPを体験しよう! ほか)
4 ドキドキ!データベース編-あなたにもデータベースができる!(データベースはこうなってる!
データベースの文字化け対策! ほか)
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で詳しく見る
紹介文
『プログラムはなぜ動くのか』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で詳しく見る
紹介文
必ず身につく世界最良の学習メソッド
なぜ、世界中の成功者はプログラミングの基本を学んでいるのか。その答えと、具体的な学び方が一冊に!
世界中で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で詳しく見る
紹介文
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で詳しく見る
紹介文
第1章 達人の哲学
第2章 達人のアプローチ
第3章 基本的なツール
第4章 妄想の達人
第5章 柳に雪折れ無し
第6章 コーディング段階
第7章 プロジェクトを始める前に
第8章 達人のプロジェクト
Amazonで詳しく見る
紹介文
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サイトの最終確認
Amazonで詳しく見る
紹介文
プログラミングとアルゴリズムの基礎、および、「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章 クローン
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版登場!
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。
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で詳しく見る
紹介文
近年のゲーム開発では3DCGや物理シミュレーションなどの技術が多用されているため、その基盤である数学についての理解なしに商業ベースのゲーム開発はありえません。本書では、ゲーム開発や3DCGで用いられる数学的な要素-デカルト座標系、ベクトル、行列、線型代数、オイラー角、四元数、座標変換(平行移動、回転、拡大縮小)、幾何形状プリミティブの種類と構造体、プリミティブの可視性と衝突判定といった3D数学、さらにはグラフィックス用の3D数学-についてサンプルを多用しながらわかりやすく解説します。
デカルト座標系
複数の座標空間
ベクトル
ベクトルの演算
簡単な3Dベクトルクラス
行列入門
行列と線型変換
より詳しい行列の説明
3Dにおける方向と角変位
C++による座標変換
幾何形状プリミティブ
幾何テスト
三角形メッシュ
グラフィックス用の3D数学
可視性の決定
Amazonで詳しく見る
紹介文
とんでもなく、わかりやすい。学び直すならこの一冊! 全世界700万人が感動した「伝説の学習参考書」シリーズ日本上陸!!
とんでもなく、わかりやすい。学び直すならこの一冊! 全世界700万人が感動した「伝説の学習参考書」シリーズ日本上陸!!
Amazonで詳しく見る
紹介文
人類の叡智「プログラミング」。その歴史や日常で役立つ技術を天才プログラマーが解説。この一冊であなたが見ている世界は一変する!
もの言わぬ機械とコミュニケーションをとる唯一の手段「プログラミング」。「もはやそれは誰もが学ぶべき教養」というメッセージを掲げ、刊行から数年を経ても売れ続けるロングセラーが『教養としてのプログラミング講座』だ。同書はプログラミングの歴史から簡単な作成、日常生活に役立つテクニックなどを、国認定「天才プログラマー」が解説。プログラマーの思考法を手に入れることを可能としたベスト・ガイドブックだ。学習を啓蒙する書籍が続々刊行、スクールも多く創設されるなど、現実としてプログラミングが必修の“教養”であることが広く認知された今、同書の内容を増補。小中学校での必修化がスタートする今年、あらためて刊行する。ジョブズやゲイツ、21世紀の成功者はどんな世界を見ているのか?
Amazonで詳しく見る
紹介文
「実習」「講義」の形を取ることで、プログラムが動く仕組みを誰でも理解できるように解説した、初学者や非プログラマーのための入門書。
1 プログラミングの世界をのぞいてみよう-世の中にあふれるプログラム
2 コンピュータの仕組みと役割を理解しよう-プログラムが動く器
3 OSの仕組みと役割を理解しよう-プログラムを監督するプログラム
4 プログラミング言語の基礎知識-プログラミング言語の基本と分類
5 プログラミング言語を学ぼう1-JavaScript編
6 プログラミング言語を学ぼう2-C言語編
7 オブジェクトって何だろう-オブジェクト指向モデリング入門
Appendix 代表的なプログラミング言語とその特徴-補講
Amazonで詳しく見る
紹介文
現役シリコンバレーエンジニアが教える「最強のプログラミング」講義!
10万人が選んだ人気No.1オンライン講座が
超わかりやすくパワーアップして書籍化!
海外企業でも通用する
一流のプログラミング技術が学べます!
★基礎から応用、一流コードスタイルまで1冊で学べる★
【応用編】ではニーズの高い実践的テクニックを中心に、
【入門編】では基礎から1歩ずつ、わかりやすく解説。
シリコンバレーのトップIT企業で活躍する著者が
世界標準のPythonスキルを一気に伝えます。
★海外でも通用する
一流のプログラミング技術が身につく★
知っていましたか?
アメリカのエンジニアの年収は日本の5~10倍です。
本書は「いつか海外で活躍したい」、
そんな夢の実現も強力にバックアップしてくれる
「海外進出の道しるべ」ともなる一冊です。
★10万人が選んだ人気No.1講座の書籍化★
本書のもととなったのは、オンライン講座Udemyで人気No.1を獲得したPython講座。
本格的な内容をわかりやすく伝える著者の講座は人気が高く、延べ20万人以上が受講しています(全講座計)。
本書はさらに内容を充実させてパワーアップ! 自分のペースでしっかり学べます。
独学の強い味方、「サンプルコード」の無料ダウンロードサービス付き。
★エンジニアの成功戦略も教えます★
コラムでは、エンジニアのキャリア戦略の立て方、成功するポイント、独学のコツなども紹介。
文系出身、TOEIC300点代からスタートした著者が渾身のエールを送ります。
★用語集、Pointなども充実★
コードを書くときの注意点、知っておきたい豆知識、
開発の現場で必要なことなどは
「Point」としてたっぷり掲載。
巻末には「用語集」も収録し、
徹底して実践的な内容となっています。
オンライン講座Udemyで9万人以上が選んだ人気No.1講座を完全書籍化! 超わかりやすくパワーアップして、基礎から応用、一流コードスタイルまで、世界で通用する「最強のプログラミング」が学べる!
学習を始める前に ~Pythonの環境設定
【入門編】
Lesson 1 Pythonの基本
1 変数の宣言と数値の計算をマスターしよう
2 文字列のさまざまな操作方法
Lesson 2 データ構造
1 複数データを並列にまとめる
2 変更できないリスト? いえ、タプルです
3 キーと値をセットで記憶する辞書型
4 データ同士の演算ができる集合
Lesson 3 制御フロー
1 読みやすいコードを書こう
2 条件に応じて処理を分岐させよう
3 繰り返し処理でデータを一気に処理しよう
Lesson 4 関数と例外処理
1 何度も実行する処理の関数を作ろう
2 関数の応用をマスターしよう
3 内包表記でリストをシンプルに生成しよう
4 変数の有効範囲
5 例外処理
Lesson 5 モジュールとパッケージ
1 作成したパッケージをインポートしよう
2 Pythonのライブラリの使い方
Lesson 6 オブジェクトとクラス
1 クラスとメソッド
2 クラスをもっと活用してみよう
Lesson 7 ファイル操作とシステム
1 ファイルの基本的な操作
2 ファイルの便利な活用方法
3 圧縮ファイルを扱おう
4 さらに高度なファイルに関する操作
【演習編】
Lesson 8 簡単なアプリケーションを作ってみよう
【応用編】
Lesson 9 コードスタイル
1 Pythonのコードスタイル
2 さらにくわしくPythonの書き方を知ろう
Lesson 10 コンフィグとロギング
1 設定ファイルのさまざまな形式
2 ロギングの基本と適切な書き方
3 ログをメールで送信しよう
4 実行環境を切り替えて使う
Lesson 11 Webとネットワーク
1 Webでよく使うファイル形式
2 Pythonで通信してみよう
3 PythonでWeb サーバーを作ろう
4 Webスクレイピングしてみよう
Lesson 12 並列化
1 マルチスレッドで並列化しよう
2 マルチプロセスによる並列化
3 高水準のインターフェースを使って並列化しよう
Lesson 13 データ解析
1 データ解析を始める前に
2 データをまとめて扱うnumpy
3 pandasで表形式のデータを扱う
4 matplotlibでグラフを描画する
5 scikit-learnで機械学習を行う
6 株価のデータ解析と予測
Amazonで詳しく見る
紹介文
世界中の小学生がプログラミングを学んでいる時代-。文系も、女子も、パソコン1台で簡単に「思いつき」を叶える方法!女優デビュー、慶應義塾大学卒業、いま、「タレント時々プログラマ」として注目される著者、初の書き下ろし。
1 プログラミングが好きになる7つの「ヒント」(「タレント時々プログラマ」のヒミツ
プログラミングが「つまらなさそう」な理由 ほか)
2 文系でも、飽きっぽくても続けられるプログラミングの「勉強法」(わからないところはスルーで充分
週末プログラマのすすめ ほか)
3 5つの入り口から選ぶギークへの「最初の一歩」(5つの入り口から選ぼう!
学んですぐに実践できる-Web ほか)
4 「考え方」がわかるプログラミング的思考(「おねだり」をマスターする
文字と数字は扱いが違う-データ型 ほか)
Amazonで詳しく見る
紹介文
基本文法からライブラリ活用まで、一番わかりやすいRubyの入門書。到達度がわかる練習問題付き。
第0章 環境を構築しよう
第1章 Rubyの世界へようこそ!
第2章 プログラムの基本とデータを理解する
第3章 データのまとまりを扱う
第4章 条件に応じてプログラムの処理を変える
第5章 繰り返し処理する
第6章 メソッドで処理する
第7章 クラスでプログラムをまとめる
第8章 エラー処理と例外をプログラミングする
第9章 モジュールやライブラリを活用する
第10章 実践的なプログラミングに挑戦する
Amazonで詳しく見る
紹介文
手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学べる入門書。
Pythonによる自動処理入門。とにかく、わかりやすい!
ファイル名の変更や表計算のデータ更新といった作業は、日々の仕事の中で頻繁に発生します。ひとつふたつ修正するだけであれば問題はありません。しかし、それが数十、数百となってくると手に負えません。そのような単純な繰り返し作業はコンピュータに肩代わりしてもらうとすごくラクになります。本書では、手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学びます。対象読者はノンプログラマー。本書で基本をマスターすれば、プログラミング未経験者でも面倒な単純作業を苦もなくこなす便利なプログラムを作れるようになります。さらに、章末の練習問題を解くことで、類似のタスクを自動処理するスキルをもっと高めることができます。
Amazonで詳しく見る
紹介文
こんどはデータ分析に挑戦!「数式一切なし」で理解できちゃう!データ分析のきほんとしくみ
Pythonでデータ分析を体験してみよう!
【データ分析を一緒に体験しよう】
スクレイピングなどで集めた大量のデータ。
どうやって分析してたらよいか、困っていませんか?
「数式があって難しそう」
「プログラムも大変そう」
と思っている方も多いはず。
本書は、そうした方に向けて、サンプルを元にやさしく
データ分析の方法を解説しています。
【Python2年生について】
「Python2年生」は、「Python1年生」を読み終えた方を対象とした入門書です。
ある程度、技術的なことを盛り込み、本書で扱う技術について身に着けてもらいます。
『Python2年生 スクレイピングのしくみ』(ISBN:9784798161914)も刊行されています。
【対象読者】
・データの分析方法を知りたい初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、データ分析の考え方から丁寧に解説。
データを分析する時に必要な前処理の方法や、データの集まりの見方、
データを見やすいグラフにする方法、データの分布の見方、予測の立て方を
解説する書籍です。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。関西学院大学非常勤講師、
関西学院高等部非常勤講師、成安造形大学非常勤講師、プログラミングスクールコプリ講師など、
プログラミングに関する幅広い活動を行っている。
近著に『Python1年生』、『Python2年生 スクレイピングのしくみ』、
『Java1年生』、『動かして学ぶ!Vue.js開発入門』(いずれも翔泳社)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 データ分析って何?
LESSON 01 データ分析って何
LESSON 02 データ分析の手順:PPDACサイクル
LESSON 03 Jupyter Notebookをインストールしよう
LESSON 04 Jupyter Notebookの使い方
第2章 集めたデータは前処理が必要
LESSON 05 表データを読み込もう
LESSON 06 データをざっくりと眺める
LESSON 07 データのどこを使う?
LESSON 08 データのミスをチェックする
第3章 データの集まりをひとことでいうと?:代表値
LESSON 09 データを平らに均(なら)す
LESSON 10 平均値を代表といっていいの?
LESSON 11 平均値が同じなら、同じといっていいの?
第4章 図で特徴をイメージしよう:グラフ
LESSON 12 データのばらつきがわかる
LESSON 13 基本的なグラフを作ろう
LESSON 14 ばらつきのわかるグラフ
LESSON 15 グラフをわかりやすく調整する
第5章 これって普通なこと?珍しいこと?:正規分布
LESSON 16 データのばらつきを数値で表す
LESSON 17 自然なばらつき
LESSON 18 この値は普通なこと?珍しいこと?
LESSON 19 このデータは自然なばらつき?
LESSON 20 違うばらつきのデータでの比較ができる
第6章 関係から予測しよう:回帰分析
LESSON 21 2種類のデータの関係性の強さ:相関係数
LESSON 22 散布図の上に線を引いて予測
LESSON 23 総当たりで表示させる散布図
LESSON 24 アヤメのデータを見てみよう
Amazonで詳しく見る
紹介文
初心者でも大丈夫!アプリ開発を体験してみよう!
Pythonで
デスクトップアプリ開発を
体験してみよう!
【初心者でもできる!デスクトップアプリ開発を一緒に体験しよう】
Pythonの基礎知識はあるけど、
「アプリ開発って初心者には難しそう」
「プログラムで何か残るものを作ってみたい」
と思っていませんか?
本書はそうした方に向けて、初心者にも簡単に作れる方法を使ってデスクトップアプリ開発の基本をやさしく解説します。スマホアプリ、Webアプリに比べて、手軽に取り組めますので挫折することなく学習できます。本書を読んだあとは、スマホアプリやWebアプリ開発に挑戦してみてください。
【Python2年生について】
「Python2年生」は、「Python1年生」を読み終えた方を対象とした入門書です。ある程度、技術的なことを盛り込み、本書で扱う技術について身につけてもらいます。
『Python2年生 スクレイピングのしくみ』(ISBN:9784798161914)
『Python2年生 データ分析のしくみ』(ISBN:9784798164960)
も刊行されています。
【対象読者】
デスクトップアプリの作り方を知りたい初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、デスクトップアプリ開発の考え方から丁寧に解説。デスクトップアプリ開発をする時に必要な前提知識からはじまり、デスクトップアプリ作りの基本、応用的なデスクトップアプリ、そしてゲームアプリ開発まで解説します。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。関西学院大学非常勤講師、関西学院高等部非常勤講師、成安造形大学非常勤講師、プログラミングスクールコプリ講師など、プログラミングに関する幅広い活動を行っている。近著に、『Python1年生 第2版』、『Python3年生機械学習のしくみ』、『Python2年生 スクレイピングのしくみ』、『Python2年生 データ分析のしくみ』、『Java1年生』、『動かして学ぶ!Vue.js開発入門』(いずれも翔泳社)、『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 Pythonでアプリを作ろう
LESSON 01 デスクトップアプリってなに?
LESSON 02 Pythonをインストールしよう
LESSON 03 tkinterでアプリを作ろう
LESSON 04 PySimpleGUIでアプリを作ろう
第2章 アプリ作りの基本
LESSON 05 アプリの作り方を理解しよう
LESSON 06 配色を選べるよ
LESSON 07 レイアウトで画面を作ろう
第3章 計算アプリを作ろう
LESSON 08 変数で文字列を作るなら、f文字列が便利
LESSON 09 割り勘アプリ
LESSON 10 BMI値計算アプリ
LESSON 11 出生の秘密アプリ
LESSON 12 干支調べアプリ
第4章 時計アプリを作ろう
LESSON 13 時間を測ろう
LESSON 14 時計アプリ
LESSON 15 ストップウォッチアプリ
LESSON 16 時間割アプリ
第5章 ファイル操作アプリを作ろう
LESSON 17 ファイルの読み書きをしよう
LESSON 18 テキストエディタアプリ
LESSON 19 画像を表示するアプリ
LESSON 20 画像の加工アプリ
LESSON 21 QRコードメーカーアプリ
第6章 ゲームアプリを作ろう
LESSON 22 おみくじアプリ
LESSON 23 じゃんけんアプリ
LESSON 24 足し算ゲームアプリ
LESSON 25 数当てゲームアプリ
LESSON 26 31ゲームアプリ
LESSON 27 これから先は、どうしたらいいの?
Amazonで詳しく見る
紹介文
どうやってプログラミングを学んだ?他人のコードをどうやって読む?ソフトウェアはどう設計する?バグを追跡する方法は?プログラミングの将来はどうなる?プログラミング言語が果たす役割は?プログラマであるピーター・サイベルが15人の偉大なコーダーからその技を聞き出すインタビュー。
ジェイミー・ザウィンスキー
ブラッド・フィッツパトリック
ダグラス・クロックフォード
ブレンダン・アイク
ジョシュア・ブロック
ジョー・アームストロング
サイモン・ペイトン・ジョーンズ
ピーター・ノーヴィグ
ガイ・スティール
ダン・インガルス
L・ピーター・ドイチュ
ケン・トンプソン
フラン・アレン
バーニー・コーセル
ドナルド・クヌース
Amazonで詳しく見る
紹介文
ディープラーニングの本格的な入門書。外部のライブラリに頼らずPython 3によってゼロからディープラーニングを作成できる。
実際にシステムを作りながらディープラーニングを学ぶ!
ディープラーニングの本格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優れているのか? なぜ層を深くすると認識精度がよくなるのか? といった“Why”に関する問題も取り上げます。
Amazonで詳しく見る
紹介文
システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処方法について解説。コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介。
第1部 変更のメカニズム(ソフトウェアの変更
フィードバックを得ながらの作業
検出と分離
接合モデル
ツール)
第2部 ソフトウェアの変更(時間がないのに変更しなければなりません
いつまで経っても変更作業が終わりません
どうやって機能を追加すればよいのでしょうか?
このクラスをテストハーネスに入れることができません
このメソッドをテストハーネスで動かすことができません
変更する必要がありますが、どのメソッドをテストすればよいのでしょうか?
1カ所にたくさんの変更が必要ですが、関係するすべてのクラスの依存関係を排除すべきでしょうか?
変更する必要がありますが、どんなテストを書けばよいのかわかりません
ライブラリへの依存で身動きが取れません
私のアプリケーションはAPI呼び出しだらけです
変更できるほど十分に私はコードを理解していません
私のアプリケーションには構造がありません
自分のテストコードが邪魔になっています
私のオブジェクトはオブジェクト指向ではありませんが、どうすれば安全に変更できるでしょうか?
このクラスは大きすぎて、もうこれ以上大きくしたくありません
同じコードをいたるところで変更しています
モンスターメソッドを変更する必要がありますが、テストを書くことができません
どうすれば何も壊していないことを確認できるでしょうか?
もうウンザリです。何も改善できません)
第3部 依存関係を排除する手法
Amazonで詳しく見る
紹介文
Pythonの作者自らが書き下ろした手引書。入門者がおさえておくべき機能やコンセプトを解説し、さらに特徴的な機能を多く紹介。
Python初心者必読のチュートリアルが3.9対応で登場!
Pythonの作者Guido氏自らが書き下ろした、Python入門者のための手引書です。Pythonの言語と、入門者がおさえておくべきシステムの基本的な機能やコンセプトを解説し、さらにPythonの特徴的な機能を数多く取り上げて紹介することで、この言語の雰囲気とスタイルをわかりやすくつかめるよう配慮しています。5年ぶりの改訂版で、Python3.9.0に対応しました。入門者必読の書です。
Pythonの作者自らが書き下ろした手引書。入門者がおさえておくべき機能やコンセプトを解説し、さらに特徴的な機能を多く紹介。
Amazonで詳しく見る
紹介文
一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
プロローグ 本書の読み方
0.1 プリンシプルのカテゴリ
0.2 プリンシプルの説明のフォーマット
0.3 プリンシプルの説明における用語法
0.4 プリンシプルの説明の注意点
第1章 前提 ~プログラミングの変わらぬ真実~
1.1 プログラミングに銀の弾丸はない
1.2 コードは設計書である
1.3 コードは必ず変更される
第2章 原則 ~プログラミングのガイドライン~
2.1 KISS
2.2 DRY
2.3 YAGNI
2.4 PIE
2.5 SLAP
2.6 OCP
2.7 名前重要
第3章 思想 ~プログラミングのイデオロギー~
3.1 プログラミングセオリー
3.2 【プログラミングセオリーを支える3つの価値1】コミュニケーション
3.3 【プログラミングセオリーを支える3つの価値2】シンプル
3.4 【プログラミングセオリーを支える3つの価値3】柔軟性
3.5 【プログラミングセオリーを実現する6つの原則1】結果の局所化
3.6 【プログラミングセオリーを実現する6つの原則2】繰り返しの最小化
3.7 【プログラミングセオリーを実現する6つの原則3】ロジックとデータの一体化
3.8 【プログラミングセオリーを実現する6つの原則4】対称性
3.9 【プログラミングセオリーを実現する6つの原則5】宣言型の表現
3.10 【プログラミングセオリーを実現する6つの原則6】変更頻度
3.11 アーキテクチャ根底技法
3.12 【アーキテクチャ根底技法1】抽象
3.13 【アーキテクチャ根底技法2】カプセル化
3.14 【アーキテクチャ根底技法3】情報隠蔽
3.15 【アーキテクチャ根底技法4】パッケージ化
3.16 【アーキテクチャ根底技法5】関心の分離
3.17 【アーキテクチャ根底技法6】充足性、完全性、プリミティブ性
3.18 【アーキテクチャ根底技法7】ポリシーと実装の分離
3.19 【アーキテクチャ根底技法8】インタフェースと実装の分離
3.20 【アーキテクチャ根底技法9】参照の一点性
3.21 【アーキテクチャ根底技法10】分割統治
3.22 アーキテクチャ非機能要件
3.23 【アーキテクチャ非機能要件1】変更容易性
3.24 【アーキテクチャ非機能要件2】相互運用性
3.25 【アーキテクチャ非機能要件3】効率性
3.26 【アーキテクチャ非機能要件4】信頼性
3.27 【アーキテクチャ非機能要件5】テスト容易性
3.28 【アーキテクチャ非機能要件6】再利用性
3.29 7つの設計原理
3.30 【7つの設計原理1】単純原理
3.31 【7つの設計原理2】同型原理
3.32 【7つの設計原理3】対称原理
3.33 【7つの設計原理4】階層原理
3.34 【7つの設計原理5】線形原理
3.35 【7つの設計原理6】明証原理
3.36 【7つの設計原理7】安全原理
3.37 UNIX思想
3.38 【UNIX思想1】モジュール化の原則
3.39 【UNIX思想2】明確性の原則
3.40 【UNIX思想3】組み立て部品の原則
3.41 【UNIX思想4】分離の原則
3.42 【UNIX思想5】単純性の原則
3.43 【UNIX思想6】倹約の原則
3.44 【UNIX思想7】透明性の原則
3.45 【UNIX思想8】安定性の原則
3.46 【UNIX思想9】表現性の原則
3.47 【UNIX思想10】驚き最小の原則
3.48 【UNIX思想11】沈黙の原則
3.49 【UNIX思想12】修復の原則
3.50 【UNIX思想13】経済性の原則
3.51 【UNIX思想14】生成の原則
3.52 【UNIX思想15】最適化の原則
3.53 【UNIX思想16】多様性の原則
3.54 【UNIX思想17】拡張性の原則
3.55 UNIX哲学
3.56 【UNIX哲学1】小は美なり
3.57 【UNIX哲学2】1つ1仕事
3.58 【UNIX哲学3】即行プロトタイプ
3.59 【UNIX哲学4】効率性より移植性
3.60 【UNIX哲学5】データはテキスト
3.61 【UNIX哲学6】レバレッジ・ソフトウェア
3.62 【UNIX哲学7】シェルスクリプト活用
3.63 【UNIX哲学8】対話インタフェース回避
3.64 【UNIX哲学9】フィルタ化
第4章 視点 ~プログラマの観る角度~
4.1 凝集度
4.2 結合度
4.3 直交性
4.4 可逆性
4.5 コードの臭い
4.6 技術的負債
第5章 習慣 ~プログラマのルーティーン~
5.1 プログラマの3大美徳
5.2 ボーイスカウトの規則
5.3 パフォーマンスチューニングの箴言
5.4 エゴレスプログラミング
5.5 1歩ずつ少しずつ
5.6 TMTOWTDI
第6章 手法 ~プログラマの道具箱~
6.1 曳光弾
6.2 契約による設計
6.3 防御的プログラミング
6.4 ドッグフーディング
6.5 ラバーダッキング
6.6 コンテキスト
第7章 法則 ~プログラミングのアンチパターン~
7.1 ブルックスの法則
7.2 コンウェイの法則
7.3 割れた窓の法則
7.4 エントロピーの法則
7.5 80-10-10の法則
7.6 ジョシュアツリーの法則
7.7 セカンドシステム症候群
7.8 車輪の再発明
7.9 ヤクの毛刈り
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で詳しく見る
紹介文
第1部 はじめに(真珠貝を開いて
「ああ(そうか)!」アルゴリズム
データで決まるプログラムの構造 ほか)
第2部 パフォーマンス(パフォーマンスに関する考察
封筒の裏で…
アルゴリズムデザインのテクニック ほか)
第3部 作品(ソート
サンプリング問題
探索 ほか)
Amazonで詳しく見る
紹介文
待望の「機械学習のしくみ」が登場!ヤギ博士&フタバちゃんと一緒に機械学習の世界を体験してみよう!
ヤギ博士・フタバちゃんと一緒に
機械学習のしくみを学ぼう!
【機械学習をいちから学んでみよう!】
「最近よく耳にする人工知能と機械学習について知りたい」
「機械学習ってどのようなことをするの?」
と思っている方は多いと思います。
本書はそうした方に向けて「機械学習」について
いちからやさしく解説します。
【Python3年生について】
「Python1年生」「Python2年生」を読み終えた方を対象とした入門書です。
(※「Python3年生」から初めて学ぶ方でもわかるように工夫しています)
【読者対象】
機械学習の初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、
機械学習のしくみについて、
サンプルを動かしながら、
楽しく学ぶことができます。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。
関西学院大学非常勤講師、関西学院高等部非常勤講師、
成安造形大学非常勤講師、大阪芸術大学非常勤講師、プログラミングスクールコプリ講師など、
プログラミングに関する幅広い活動を行っている。
近著に『Python1年生』、『Python2年生 スクレイピングのしくみ』、『Python2年生 データ分析のしくみ』、
『Java1年生』、『動かして学ぶ! Vue.js開発入門』(いずれも翔泳社)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 機械学習の準備
01 機械学習ってなんだろう?
02 分けることは、わかること
03 機械学習の準備をしよう
第2章 サンプルデータを見てみよう
04 scikit-learn のサンプルデータセット
05 サンプルデータセットを自動生成しよう
第3章 機械学習の手順を理解しよう
06 データを用意する
07 データを学習用とテスト用に分ける
08 モデルを選んで、学習する
09 モデルをテストする
10 新しい値を渡して、予測する
11 分類の状態を可視化しよう
第4章 機械学習のいろいろなアルゴリズム
12 回帰:線形回帰
13 分類:ロジスティック回帰
14 分類:SVM(サポートベクターマシン)
15 分類:決定木
16 分類:ランダムフォレスト
17 分類:k-NN(k 近傍法)
18 クラスタリング:k-means(k 平均法)
第5章 チノふたたび! 画像から数字を予測しよう
19 データを準備する
20 学習データを準備する
21 学習させる
22 予測させる
23 教師なし学習を利用して、データをイメージしよう
24 さらに先へ進もう
Amazonで詳しく見る
紹介文
タールの沼
人月の神話
外科手術チーム
貴族政治、民主政治、そしてシステムデザイン
セカンドシステム症候群
命令を伝える
バベルの塔は、なぜ失敗に終わったか?
予告宣言する
5ポンド袋に詰め込んだ10ポンド
文書の前提
1つは捨石にするつもりで
切れ味のいい道具
全体と部分
破局を生み出すこと
もう1つの顔
銀の弾などない-ソフトウェアエンジニアリングの本質と偶有的事項
「銀の弾などない」再発射
『人月の神話』の命題-真か偽か
『人月の神話』から20年を経て
Amazonで詳しく見る
紹介文
コードを書き、読み、洗練する
本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。
本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。
第1章 クリーンコード
第2章 意味のある名前
第3章 関数
第4章 コメント
第5章 書式化
第6章 オブジェクトとデータ構造
第7章 エラー処理
第8章 境界
第9章 単体テスト
第10章 クラス
第11章 システム
第12章 創発
第13章 同時並行性
第14章 継続的改良(コマンドライン引数のパーサを用いたケーススタディ)
第15章 JUnitの内部
第16章 SerialDateのリファクタリング
第17章 においと経験則
付録A 同時並行性II
付録B org.jfree.date.SerialDate
付録C 経験則のクロスリファレンス
Amazonで詳しく見る
紹介文
Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization.
For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes * Automating all facets of building, integrating, testing, and deploying software * Implementing deployment pipelines at team and organizational levels * Improving collaboration between developers, testers, and operations * Developing features incrementally on large and distributed teams * Implementing an effective configuration management strategy * Automating acceptance testing, from analysis to implementation * Testing capacity and other non-functional requirements * Implementing continuous deployment and zero-downtime releases * Managing infrastructure, data, components and dependencies * Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever-so you can deliver value to your business rapidly and reliably.
Foreword by Martin Fowler Preface Acknowledgements About the Authors Part I Foundations 1 The Problem of Delivering Software 2 Configuration Management 3 Continuous Integration 4 Implementing a Testing Strategy Part II The Deployment Pipeline 5 Anatomy of the Deployment Pipeline 6 Build and deployment scripting 7 Commit Testing Stage 8 Automated Acceptance Testing 9 Testing Non-Functional Requirements 10 Deploying and Releasing Applications Part III The Delivery Ecosystem 11 Managing infrastructure and environments 12 Managing Data 13 Managing components and dependencies 14 Advanced version control 15 Managing Continuous Delivery Bibliography Index
Amazonで詳しく見る
紹介文
もの言わぬ機械とコミュニケーションする手段「プログラミング」。コンピュータが隆盛を極めた今、もはやそれは必須の「教養」だ。この本は、一冊だけで優れたプログラマーの思考を習得することを目指す。ジョブズやゲイツ、現代の成功者はどんな世界を見ているのか?21世紀に生き残るための「必修科目」。
1 プログラミングはあなたの隣に(プログラミングを学ぶと、どうなる
プログラミングとは何だろう ほか)
2 コンピュータ要らずのプログラミング入門-基本ルールを知ろう(「伝え漏らすべからず」
あくまで「コミュニケーション」の一様態 ほか)
3 今すぐ役立つプログラミングテクニック-プログラマーの思考法を知ろう(アルゴリズム-効率的な作業手順を「形」にする
処理、分岐、ループ-プログラムの基礎パーツ ほか)
4 簡単コンピュータプログラミング講座(いよいよコンピュータプログラミングを始めよう!
MOONBlockを使ってみよう ほか)
5 プログラミングの未来(プログラミングは普通の文章に近づく
小学校でプログラミングを学ぶ時代 ほか)
Amazonで詳しく見る
紹介文
シェルのワンライナー(その場かぎりの1行プログラム)は、LinuxやMacのコマンドラインインターフェースを立ち上げたら、すぐにプログラムを書いて即実行できます。ちょっとした作業を手っ取り早く片付けるのに向いています。大量のデータ処理、繰り返し処理ほどその効果は絶大です。本書は、そんなシェル・ワンライナーを身につけるためのトレーニング本です。大量の問題を繰り返し解くことで、実務でワンライナーを活用できるようになることを目指します。
第1部でシェルによるデータ加工の定石を学び、第2部でとっさの閃きと柔軟な発想力を養い、第3部で実務にありそうな問題に取り組むことで応用力を鍛えます。実務でワンライナーを役立てるには、OS(Linux)、シェル、スクリプト言語、正規表現、文字コード、画像データ、日付や時間データ、通信プロトコルなどの幅広い知識が必要となります。本書では、まず[練習問題]でそのような事前知識を解説し理解を含め、[問題]で力試しを行うという構成になっています。
第1部 シェルとコマンドに親しむ
第1章 Linux環境
1.1 環境を準備する
1.2 端末、シェル、コマンド、ファイルの関係を理解する
練習1.2.a 端末を使う
練習1.2.b コマンドの止め方
練習1.2.c 1+1の計算
練習1.2.d ファイルへの保存
練習1.2.e ファイルとディレクトリの操作
練習1.2.f ファイルのパーミッション
練習1.2.g コマンドの調査
1.3 頻出コマンドを覚える
練習1.3.a sedによる置換の練習
練習1.3.b grepによる検索の練習
練習1.3.c grepによる検索&切り出しの練習
練習1.3.d awkによる検索と計算の練習
練習1.3.e sortとuniqによる集計
練習1.3.f xargsによる一括処理
練習1.3.g bashによるメタプログラミング
1.4 ファイルを操作する
練習1.4.a GitHubからリポジトリをクローン
問題1 ファイル名の検索
問題2 画像ファイルの一括変換
問題3 ファイル名の一括変更
問題4 特定のファイルの削除
1.5 もっとawkとsedに慣れる
問題5 設定ファイルからの情報抽出
問題6 端末に模様を描く
問題7 消費税
問題8 ログの集計
問題9 ログの抽出
問題10 見出しの記法の変換
問題11 議事録の整理
第2章 シェルの基本
2.1 変数と制御構文、コマンドの入出力操作を把握する
練習2.1.a 標準入出力・標準エラー出力
練習2.1.b シェルと変数
練習2.1.c 文字列の連結と置換
練習2.1.d 変数を使った計算
練習2.1.e クォートと変数
練習2.1.f Bashの配列と連想配列
練習2.1.g 繰り返しと終了ステータス
練習2.1.h 条件分岐
問題12 変数の読み込み
問題13 存在しないファイルの初期化
問題14 さまざまなループ
問題15 文字種の変換
2.2 プロセスを意識してシェルを操作する
練習2.2.a プロセスを知る
練習2.2.b プロセスの親子関係を知る
練習2.2.c ビルトインコマンドと外部コマンドを意識する
練習2.2.d サブシェルを使う
練習2.2.e コマンド置換とプロセス置換を使う
問題16 変数のローカル化
問題17 コマンドが使えないときのコピー
問題18 シェルのビルトインだけでの集計
問題19 シェルの機能を利用したファイルの上書き
2.3 ブレース展開とファイルグロブを使いこなす
練習2.3.a ブレース展開
練習2.3.b ワイルドカードとファイルグロブ
問題20 lsの出力をシェルの機能で
問題21 条件がややこしいファイルの一覧の作成
問題22 ダミーのFQDNの生成
2.4 シグナルを理解してあやつる
練習2.4.a シグナルの操作
練習2.4.b シグナルの種類
問題23 別のシェルにシグナルを飛ばす
問題24 exit時にファイルを消す
問題25 pipefail時の困りごと
問題26 18時を過ぎたら帰りましょう
2.5 シェルやコマンドを扱う際の微妙な挙動や機能に触れる
問題27 引数を変えてコマンドを再実行
問題28 変な名前のディレクトリの扱い
問題29 シェルスクリプトのエラーチェック
問題30 前方一致する変数名
第2部 発想力を鍛える
第3章 文章と文字の扱い
3.1 テキストの扱いを遊んで理解する
練習3.1.a Perl、Rubyワンライナー
練習3.1.b Pythonワンライナー
練習3.1.c 正規表現の種類
練習3.1.d Perlを使った置換
問題31 大文字への変換
問題32 回文の検出
問題33 回文かどうかの判定
問題34 漢字の後ろにふりがなを入れる
問題35 5文字以上のカタカナ言葉を使ったらアウト
問題36 括弧の対をチェック
3.2 文章を調査・加工する
練習3.2.a 行またぎの検索と置換
練習3.2.b ひらがなとカタカナの変換
練習3.2.c 漢字と読みの変換と日本語と英語の翻訳
練習3.2.d フォーマットの変換
問題37 コピペミスの検出
問題38 込み入った文字実体参照の解決
問題39 文章の折り返し
問題40 雑多な変換
問題41 注釈のチェック
問題42 順序付きリストの整形
問題43 文献リストのソート
問題44 行またぎの検索
問題45 複数行にわたる重複の検索
問題46 ルビを付ける
第4章 データの管理、集計、変換
4.1 表形式のデータを扱う
練習4.1.a 表計算
練習4.1.b データの連結
問題47 前月比データの付加
問題48 CPU負荷の調査1
問題49 CPU負荷の調査2
問題50 売り上げの集計
問題51 テストの得点一覧の出力
問題52 集計形式の変換
問題53 欠損値の補完
4.2 ややこしいフォーマットのデータを扱う
練習4.2.a JSONとjq
練習4.2.b エスケープの入ったCSVの扱い
問題54 JSONファイルからの抽出
問題55 JSONログの比較
問題56 非正規データ同士の結合
問題57 テーブルのレイアウトの整形
問題58 CSVファイルの数字の集計
問題59 CSVの列数の調査
4.3 日付や時間を扱う
練習4.3.a 日付や時刻の計算をする
問題60 プレミアムフライデー
問題61 先週のファイル
問題62 休日の突き合わせ
問題63 第5週が存在する月の調査
問題64 第三火曜日の列挙
問題65 各月の休日数
問題66 リスケジュール
問題67 曜日別に分割
問題68 Unix時刻の限界
問題69 うるう秒
第5章 文字コードとバイナリ
5.1 文字コードに親しむ
練習5.1.a n進数
練習5.1.b ASCIIコード
練習5.1.c UnicodeとUTF-8
練習5.1.d 文字コードと改行記号の変換
問題70 Excel方眼紙
問題71 文字のバイト数の調査
問題72 絵文字
問題73 展開後文字化けしたファイル名の修正
問題74 未確定の元号
問題75 絵文字を除去したい
問題76 少し前のMacでできたファイルのリスト
問題77 異なる文字コードのファイルの一括検索
問題78 常用漢字でない漢字の検出
問題79 文字コードの特定
5.2 バイナリをあやつる
練習5.2.a 文字列のバイナリ解析とバイトオーダ
練習5.2.b バイナリファイル調査用のコマンド
問題80 2進数から文字列を復元
問題81 BOMの識別
問題82 画像の分割
問題83 Shift_JISをそのままechoするシェルスクリプト
問題84 改行コードの識別と集計
問題85 文字のバイナリの平均をとる
問題86 分数の計算
問題87 odの出力の復元
問題88 電子透かしの解読
問題89 CTF
第6章 パズル
6.1 数学で遊ぶ
練習6.1.a 正確な計算
練習6.1.b 素数
練習6.1.c 組み合わせの生成
問題90 n進数の計算
問題91 組み合わせの抽出
問題92 指数の計算
問題93 最初に素数になる年月日時分秒
問題94 ラグランジュの四平方定理の部分的な検証
問題95 交番二進符号
6.2 雑多な問題を片付ける
問題96 日程調整
問題97 縦読みの文字列の検出
問題98 レコードの振り分け
問題99 ポーカーの役
問題100 しりとり順に並べる
問題101 連続するアルファベットの検出と略記
問題102 クワイン
第3部 応用する
第7章 Linux環境の調査、設定と活用
7.1 ファイル、ディレクトリを調査・操作する
練習7.1.a 各種ファイルの置き場所
練習7.1.b ファイルシステム
練習7.1.c iノード
問題103 ls -lの出力の2列目
問題104 ファイル名の長さの限界は?
問題105 ディスク使用量の集計
問題106 特殊なパーミッション
問題107 何回rootになった?
問題108 トラブルを起こしたプロセスの解析
問題109 中身が同じファイルの検索
問題110 複数のディレクトリ内のファイル数をカウント
7.2 疑似ファイルシステムを利用する
練習7.2.a 疑似ファイルシステム
練習7.2.b プロセス置換とファイル
問題111 ロードアベレージの調査
問題112 日付の取得
問題113 カレントディレクトリの調査
問題114 共有ライブラリの検索
問題115 USBメモリのアンマウント
問題116 デバイスの番号調査
問題117 USBの抜き差しの監視
問題118 プロセスが開いているファイルの調査
問題119 メモリマップの表示
問題120 謎のデータの調査
7.3 システムコールを追いかける
練習7.3.a straceを使う
問題121 ファイルパスの抽出
問題122 使ったプロセス数のカウント
問題123 計算時間の解析
7.4 雑多な調査と設定を片付ける
問題124 ネットワークデバイス一覧
問題125 IPアドレスの追加
問題126 Bashのバージョンと変数
問題127 端末エミュレータのウィンドウサイズ
問題128 grepの挙動の違いの正体を突き止めろ
問題129 実行ファイルから文字列を抜き取る
7.5 ワンライナーでサービスをしかける
問題130 即席のWebサーバ
問題131 メールの通知を投げる
問題132 ログの監視&アラート
問題133 システムを自動でシャットダウンする
第8章 ソフトウェア開発中に繰り出すワンライナー
8.1 ソースコードやスクリプトを調査・整形する
問題134 Pythonのインデントの確認
問題135 Lispの括弧の整合性の確認
問題136 関数の位置の入れ替え
問題137 コードの整形
8.2 データを生成する
練習8.2.a ダミーデータの生成
問題138 テストケースの作成
問題139 URLの列挙
問題140 Webサイトの構造からアクセスログを生成
問題141 テーブル情報からのダミーデータ生成
問題142 ビットスクワッティング
8.3 Gitのリポジトリを調査・操作する
練習8.3.a リポジトリの用意
練習8.3.b 変更されたファイルの確認
練習8.3.c コミット済みの情報を利用する
練習8.3.d ブランチとマージ
問題143 条件にあうファイルだけをコミット
問題144 条件にあうファイルだけをもとに戻す
問題145 コミットの頻度を調べる
問題146 ずっとマージされていないブランチを調べる
第9章 インターネットと通信
9.1 インターネットから情報を取得する
練習9.1.a HTML文章の処理
問題147 単語の出現頻度
問題148 駅名のリストの作成
問題149 天気情報の取得
問題150 複数ページのスクレイピング
問題151 複数サイトの情報の連携
9.2 通信関係の調査や操作を行う
練習9.2.a 名前解決
練習9.2.b HTTPステータスコード
問題152 ネットワーク監視
問題153 telnetコマンドでHTTP通信
問題154 /etc/hostsの使用調査
問題155 不正なContent-Length
問題156 複数IPのアドレスが登録されているドメイン
問題157 pingのパケット解析
問題158 パケットを使ったOSの推定
問題159 複数のドメインのチェック
問題160 SSL証明書の調査
Amazonで詳しく見る
紹介文
セガの新人教育カリキュラムから生まれたゲームプログラミング解説書。
1 2次元のゲーム(はじまりのゲーム
点から始める2Dグラフィックス
描いた絵を使う ほか)
2 3次元のゲーム(立体を描く
ライブラリの作り方
XMLモドキを読む ほか)
3 売り物への道(遅くない衝突検出
ローディング
floatの使い方 ほか)
Amazonで詳しく見る
紹介文
小学校で始まったプログラミング教育は論理的思考や国語力が養われると注目されています。本書は小学生なら知っておきたいプログラミングの超きほんがわかる本。マンガやワークがついているので理解しやすい。スクラッチの基本も紹介。小学校中学年 高学年向け。
Amazonで詳しく見る
紹介文
難解なプログラミングを、文字による解説だけで理解するのは困難。4章では、ブロック図を並べるというプログラミングの疑似体験を通して、「プログラミングの真髄」が視覚的に理解できる。続く5章では、実際にPythonを使って簡単なプログラムを作成しながら具体的な活用も体験し、理解を深める。
第1章 プログラミングとは何か
第2章 プログラミングの大きな流れを知ろう
第3章 どの言語にも共通するプログラミングの真髄を学ぼう
第4章 プログラミングを疑似体験しよう
第5章 Pythonでカンタンなプログラミングを体験しよう
第6章 スキルアップするために知っておきたいプログラミングの仕組み
第7章 最初に学ぶプログラミング言語は何にする?
第8章 これから後のプログラミング学習の進め方
Amazonで詳しく見る
紹介文
好評を博した『ゲームエンジンアーキテクチャ』の第3版。ゲームエンジンソフトウェア開発の理論と実践の両方を紹介します。
好評を博した『ゲームエンジンアーキテクチャ』の第3版として、ジェイソン・グレゴリーはミッドウェイ、エレクトロニック・アーツ、ノーティードッグでの20年近くの経験をもとに、ゲームエンジンソフトウェア開発の理論と実践の両方を紹介しています。本書では、AAAゲームスタジオで使用されている幅広い技術と技術がそれぞれ詳細に説明されており、実際の商業用ゲームエンジンの中でのそれらの役割を図解しています。
第3版の特徴
この第3版では、これまでの版と同様に、ゲームエンジンのアーキテクチャを包括的にカバーしており、また、ゲームエンジンのアーキテクチャについても最新の情報を提供しています。
以下の内容が前書から更新され、また新規の章を追加しました。
- コンピュータとCPUのハードウェアとメモリキャッシュ
- コンパイラの最適化
- C++の標準化
- IEEE-754の浮動小数点表現
- 二次元ユーザーインターフェース
- ハードウェアの並列性と並行プログラミング
本書は入門書としての役割を果たすことを目的としていますが、経験豊富なゲームプログラマーには、経験の浅いゲーム開発技術の側面についても有益な視点を提供しています。いつものように、この版では豊富な参考文献と引用が提供されているので、ゲーム開発プロセスの特定の側面をより深く掘り下げたい人にとっては絶好のジャンプオフポイントとなっています。
1章 イントロダクション
2章 仕事用ツール
3章 ゲームのためのソフトウェアエンジニアリングの基本
4章 並列・並行プログラミング
5章 ゲームのための3D数学
6章 エンジンサポートシステム
7章 リソースとファイルシステム
8章 ゲームループとリアルタイムシミュレーション
9章 ヒューマンインターフェイスデバイス
10章 デバッグおよび開発のツール
11章 レンダリングエンジン
12章 アニメーションシステム
13章 コリジョンと剛体力学
14章 オーディオ
15章 ゲームプレイシステムの概要
16章 ランタイムのゲームプレイ基本システム
17章 まだやることがあるってこと?
Amazonで詳しく見る
紹介文
これから学ぶ人のベストな一冊!
Webの全体像から、HTTPでやりとりする仕組み、さまざまなデータ形式、Webアプリケーションの開発、セキュリティ、システムの構築・運用まで、これからWebにかかわる人が知っておきたい知識をこの一冊で丸ごと解説!
すべての項目の解説は、徹底的にイラスト図解化。
これから仕事に必要な知識を学ぶ方に、すばやく、たのしく知識を身につけていただけるよう、読みやすさ、わかりやすさにこだわって制作しています。
・知識ゼロから全体像がつかめる!
・よく使われる用語の意味がわかる!
・技術の仕組みがスムーズに学べる!
実務に生かせる知識が、確実に身につく、これから学ぶ人のベストな一冊です!
<主な対象読者>
・これからIT系の仕事に就かれる方
・これから社内の情報システムを担当される方
・Webシステムに関連する技術と実務を、幅広く、バランスよく学びたい方
Chapter1 Web技術とは
1-01 Webとは
1-02 インターネットとWeb
1-03 Webのさまざまな用途
1-04 WebブラウザとHTML
1-05 WebサーバーとHTTP
1-06 Webページが表示される流れ
1-07 静的ページと動的ページ
1-08 動的処理
1-09 Webの標準化
1-10 Webの設計思想
Chapter2 Webとネットワーク技術
2-01 Webを実現するコンピューターネットワーク
2-02 インターネットの標準プロトコル
2-03 TCP/IP
2-04 IPアドレスとポート番号
2-05 URLとドメイン
2-06 DNS
2-07 HTTP
Chapter3 HTTPでやりとりする仕組み
3-01 HTTPメッセージ
3-02 HTTPリクエスト・レスポンス
3-03 HTTPメソッド
3-04 ステータスコード
3-05 メッセージヘッダー
3-06 TCPのやりとり
3-07 HTTP1.1のやりとり
3-08 HTTP2のやりとり
3-09 HTTP2での改良点
3-10 HTTPS
3-11 HTTPSのやりとり
3-12 ステートフルとステートレス
3-13 クッキー
3-14 セッション
3-15 URI
Chapter4 Webのさまざまなデータ形式
4-01 HTML
4-02 Webページで使用される画像形式
4-03 XML
4-04 CSS
4-05 スクリプト言語
4-06 DOM
4-07 JSON
4-08 フィード
4-09 マイクロフォーマット
4-10 動画配信
4-11 メディアタイプ
Chapter5 Webアプリケーションの基本
5-01 Webアプリケーションの3層構造
5-02 MVCモデル
5-03 フレームワーク
5-04 Webサーバー
5-05 Webクライアント
5-06 アプリケーションサーバー
5-07 データベース管理システム
5-08 キャッシュサーバー
5-09 Ajax
5-10 Webプログラミング
5-11 Web API
5-12 マッシュアップ
5-13 CGI
5-14 サーバー間の連携
Chapter6 Webのセキュリティと認証
6-01 Webシステムのセキュリティ
6-02 パスワードクラッキング、DoS攻撃
6-03 Webシステムの特徴を利用した攻撃
6-04 Webアプリケーションの脆弱性を狙う攻撃
6-05 Webシステムの脆弱性
6-06 ファイアウォール
6-07 IDS、IPS
6-08 WAF
6-09 暗号化
6-10 公開鍵証明書
6-11 認証
6-12 認可
6-13 CAPTCHA
Chapter7 Webシステムの構築と運用
7-01 提供するサービスの検討
7-02 利用言語、ソフトウェアの検討
7-03 ネットワーク構成の検討
7-04 サーバー構成の検討
7-05 サーバー基盤の検討
7-06 負荷分散
7-07 サーバー設計・構築
7-08 データベース設計
7-09 アプリケーション設計
7-10 バックアップ運用
7-11 ログ運用
7-12 Webサイトのパフォーマンス
7-13 脆弱性診断
Amazonで詳しく見る
紹介文
機械学習の研究開発が急速な勢いで進んでいます。理論研究はもちろん、機械学習手法が実装されたオープンソースのパッケージ開発も進み、それらを実務で利用するためのノウハウも蓄積されてきています。結果として、機械学習をはじめたばかりの入門者でも比較的高い精度の予測モデルを構築できるようになりました。
Deep Learning, Gradient Boosting Decision Tree, Random Forestなどの機械学習モデルは高い予測精度を誇りますが、モデルの解釈性が低いという欠点があります。これらの複雑なブラックボックスモデルにおいて、モデルがなぜそのような予測を行っているのかを知ることは困難ですが、データ分析者自身がモデルの振る舞いを把握し、説明責任を果たすことを実務においては頻繁に求められます。
本書では、このような予測精度と解釈性のトレードオフを克服するための手法について、実務において特に有用と考えるものを厳選して紹介します。本書の構成は以下になります。
1章: 機械学習の解釈性とは
2章: 線形回帰モデルを通して「解釈性」を理解する
3章: 特徴量の重要度を知る Permutation Feature Importance
4章: 特徴量と予測値の関係を知る Partial Dependence
5章: インスタンスごとの異質性を捉える Individual Conditional Expectation
6章: 予測の理由を考える SHapley Additive exPlanations
付録A: R による分析例 tidymodelsとDALEXで機械学習モデルを解釈する~
付録B: 機械学習の解釈手法で線形回帰モデルを解釈する
2章では極めて高い解釈性を誇る線形回帰モデルを通して、予測モデルに求められる解釈性について説明します。以降の4つの章では、それらの解釈性をブラックボックスモデルに与えるPFI, PD, ICE, SHAPと呼ばれる手法について解説します。
本書は機械学習の解釈手法を実用して頂くことを目的としています。Pythonでゼロから手法を実装することを通じて解釈手法のアルゴリズムを理解し、実データの分析を通じて解釈手法の勘所を押さえて頂きます。機械学習の解釈手法は強力な反面、使い方を誤ると間違った結論を導いてしまう危険もあります。本書では解釈手法を実用する際の注意点についても丁寧に触れています。
1章 機械学習の解釈性とは
1.1 機械学習の解釈性を必要とする理由
1.2 予測精度と解釈性のトレードオフ
1.3 機械学習の解釈手法
1.4 機械学習の解釈手法の注意点
1.5 本書の構成
1.6 本書に書いていること、書いていないこと
1.7 本書で用いる数式の記法
1.7.1 確率変数と実測値
1.7.2 期待値と分散
1.7.3 確率分布
1.7.4 線形回帰モデル
1.7.5 集合
1.8 本書のコードを実行するためのPython環境
1.9 参考文献
2章 線形回帰モデルを通して「解釈性」を理解する
2.1 線形回帰モデルの導入
2.1.1 回帰問題と線形回帰モデル
2.1.2 最小二乗法による回帰係数の推定
2.2 線形回帰モデルが備える解釈性
2.2.1 特徴量と予測値の平均的な関係
2.2.2 特徴量と予測値のインスタンスごとの関係
2.2.3 特徴量の重要度
2.2.4 インスタンスごとの予測の理由
2.3 実データでの線形モデルの分析
2.3.1 データの読み込み
2.3.2 データの前処理
2.3.3 線形モデルの学習と評価
2.3.4 予測誤差の計算
2.3.5 線形回帰モデルの解釈
2.3.6 Random Forestによる予測
2.4 線形回帰の利点と注意点
2.5 参考文献
3章 特徴量の重要度を知る~Permutation Feature Importance~
3.1 なぜ特徴量の重要度を知る必要があるのか
3.2 線形回帰モデルるにおける特徴量の重要度
3.2.1 シミュレーションデータの設定
3.2.2 シミュレーションデータの生成
3.2.3 線形回帰モデルの特徴量重要度の確認
3.3 Permutation Feature Importance
3.3.1 PFIのアルゴリズム
3.3.2 PFIの実装
3.3.3 PFIのシミュレーションデータへの適用
3.4 Leave One Covariate Out Feature Importance
3.5 Grouped Permutation Feature Importance
3.5.1 特徴量が相関するケース
3.5.2 GPFIの実装
3.5.3 GPFIのシミュレーションデータへの適用
3.6 特徴量重要度は因果関係として解釈できるか?
3.6.1 疑似相関
3.6.2 疑似相関のシミュレーション
3.7 訓練データとテストデータのどちらで予測精度を評価するべきか
3.8 実データでの分析
3.9 PFIの利点と注意点
3.10 参考文献
4章 特徴量と予測値の関係を知る~Partial Dependence~
4.1 なぜ特徴量と予測値の関係を知る必要があるのか
4.2 線形回帰モデルと回帰係数
4.2.1 シミュレーション1:線形の場合
4.2.2 シミュレーション2:非線形の場合
4.3 Partial Dependence
4.3.1 1つのインスタンスの特徴量とモデルの予測値の関係
4.3.2 すべてのインスタンスに対する特徴量と予測値の平均的な関係
4.3.3 Partial Dependenceクラスの実装
4.3.4 Partial Dependenceの数式表現
4.4 Partial Dependenceは因果関係として解釈できるのか
4.4.1 シミュレーション3:相関関係と因果関係
4.4.2 PDを因果関係として解釈することの危険性
4.5 実データでの分析
4.5.1 PDによる可視化
4.6 PDの利点と注意点
4.7 参考文献
5章 インスタンスごとの異質性をとらえる~Individual Conditional Expectation~
5.1 なぜインスタンスごとの異質性をとらえる必要があるのか
5.2 交互作用とPDの限界
5.2.1 シミュレーションデータの生成
5.2.2 PDの可視化
5.3 Individual Conditional Expectation
5.3.1 ICEの実装
5.3.2 ICEのシミュレーションデータへの適用
5.4 Conditional Partial Dependence
5.4.1 CPDの数式表現
5.4.2 CPDの可視化
5.5 ICEの解釈
5.5.1 what-if
5.5.2 特徴量に依存関係があるケース
5.6 実データでの分析
5.7 ICEの利点と注意点
5.8 参考文献
6章 予測の理由を考える~SHapley Additive exPlanations~
6.1 なぜ予測の理由を考える必要があるのか
6.2 SHAPのアイデア
6.2.1 SHAPの数式表現
6.2.2 貢献度の分解:線形回帰モデルの場合
6.3 協力ゲーム理論とShapley値
6.3.1 アルバイトゲーム
6.3.2 限界貢献度
6.3.3 Shapley値の数式表現
6.4 SHapley Additive exPlanations
6.4.1 特徴量が分かっている/分かっていない場合の予測値
6.4.2 具体例:特徴量が2つの場合
6.5 SHAPの実装
6.5.1 SHAPの実装
6.5.2 `ShapleyAdditiveExplanations`クラスの実装
6.6 実データでの分析
6.6.1 shapパッケージの導入
6.6.2 SHAP値の可視化
6.7 ミクロからマクロへ
6.7.1 SHAPによる特徴量重要度の可視化
6.7.2 SHAPによるPDの可視化
6.8 SHAPの利点と注意点
6.9 参考文献
付録A: Rによる分析例~tidymodelsとDALEXで機械学習モデルを解釈する~
A.1 tidymodelsとDALEX
A.2 データの読み込み
A.3 tidymodelsによる機械学習モデルの構築
A.4 DALEXによる機械学習モデルの解釈
A.4.1 PFIで特徴量の重要度を知る
A.4.2 PDで特徴量と予測値の平均的な関係を知る
A.4.3 ICEで特徴量と予測値のインスタンスごとの関係を知る
A.4.4 SHAPでインスタンスごとの予測の理由を知る
A.5 まとめ
A.6 参考文献
付録B: 機械学習の解釈手法で線形回帰モデルを解釈する
B.1 なぜ機械学習の解釈手法で線形回帰モデルを解釈するのか
B.1.1 線形回帰モデルの設定
B.1.2 シミュレーションの設定
B.1.3 線形回帰モデルの学習
B.2 線形回帰モデルとPFIの関係
B.2.1 シミュレーションによる比較
B.2.2 数式による比較
B.3 線形回帰モデルとPDの関係
B.3.1 数式による比較
B.3.2 シミュレーションによる比較
B.4 線形回帰モデルとICEの関係
B.4.1 数式による比較
B.4.2 シミュレーションによる比較
B.5 線形回帰モデルとSHAPの関係
B.5.1 数式による比較
B.5.2 シミュレーションによる比較
B.6 まとめ
B.7 考文献
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で詳しく見る
紹介文
第1部 基礎(ソフトウェアデリバリーの問題
構成管理
継続的インテグレーション
テスト戦略を実装する)
第2部 デプロイメントパイプライン(デプロイメントパイプラインの解剖学
ビルド・デプロイメントスクリプト
コミットステージ
自動受入れテスト
非機能要件をテストする
アプリケーションをデプロイ・リリースする)
第3部 デリバリーエコシステム(基盤と環境を管理する
データを管理する
コンポーネントや依存関係を管理する
高度なバージョン管理
継続的デリバリーを管理する)
Amazonで詳しく見る
紹介文
富士通ラーニングメディアがご提供する人気の研修コース「Python入門」をベースに書籍化しています。
Pythonは、データ解析やAI(人工知能)など様々な用途に使えることから、近年最も注目されているプログラミング言語です。富士通ラーニングメディアでは、Pythonに関する研修コースをラインナップとしてご提供しており、その中でも入門レベルに相当し、人気ベスト10にもよく入る「Python入門」の研修コースの内容を今回書籍化しました。
セールスポイント
●人気の研修コース「Python入門」を書籍化!
富士通ラーニングメディアがご提供する人気の研修コース「Python入門」をベースに書籍化しています。富士通ラーニングメディアの研修コースの特徴である「実習が多い」という特性を活かし、実習中心の作りにしています。
●手を動かしてプログラムをどんどん作る!
基本的な構文(文法)のプログラム実践例を、手を動かしてどんどん作成し、実行結果を確認します。1行でもわからないと理解できなくなるのがプログラムの常です。本書ではプログラム1行1行すべての動きを解説しています。
●挫折しやすいエラーを徹底フォロー!
プログラミングはエラーで挫折する傾向があります。本書では「よく起きるエラー」を随所で取り上げ、エラーの発生場所やその意味、対処方法(どこを修正したらよいか)を徹底解説しているので、学習を1人でも進めていけます。
●実習問題で実力がバッチリ身に付く!
実習問題を随所でご用意しており、プログラミングの実力を深められます。「実行結果例」をみて、同じように動作するプログラムの作成に取り組みます。解答例はプログラム1行1行すべての動きを解説しており、理解が深まります。
本書をご利用いただく前に
第1章 Pythonの概要を理解する
1-1 プログラムの概要
1-1-1 プログラムとは
1-1-2 プログラミング言語とは
1-1-3 プログラムを開発する流れ
1-2 Pythonの概要
1-2-1 Pythonとは
1-2-2 Pythonの様々な利用シーン
第2章 Pythonの環境構築を行う
2-1 環境構築
2-1-1 Pythonのインストール
2-1-2 開発ツール
2-2 Pythonの体験操作
2-2-1 メモ帳とコマンドプロンプトでPythonの
プログラムを実行する
2-2-2 対話モードでPythonのプログラムを実行
する
2-2-3 Visual Studio CodeでPythonのプログラ
ムを実行する
第3章 Pythonの基本文法を学ぶ
3-1 記述規約
3-1-1 Pythonのプログラムが読みやすい理由
3-1-2 Pythonの書き方
3-1-3 Pythonのプログラムを読みやすくするた
めの規則
3-2 データの保持
3-2-1 変数とは
3-2-2 関数の呼び出しとデータ入力
3-2-3 リストとは
3-2-4 多次元リストとは
3-2-5 タプルとは
3-2-6 辞書とは
3-2-7 集合とは
3-3 演算子
3-3-1 演算子とは
3-3-2 算術演算子
3-3-3 累計代入演算子
3-3-4 文字列を連結する演算子
3-3-5 比較演算子
3-3-6 論理演算子
3-4 制御構造
3-4-1 制御構造の種類
3-4-2 条件分岐
3-4-3 繰り返し ~for文~
3-4-4 繰り返し ~while文~
3-4-5 繰り返し処理の制御
3-5 関数
3-5-1 関数とは
3-5-2 関数の定義
3-6 例外処理
3-6-1 例外処理とは
3-6-2 例外処理の実装
第4章 外部プログラムの呼び出し方を学ぶ
4-1 ライブラリ
4-1-1 ライブラリとは
4-1-2 ライブラリの管理ツール
4-2 モジュールの関数の呼び出し
4-2-1 モジュールの関数の呼び出し方法
4-2-2 標準ライブラリのモジュールの利用例
4-2-3 外部ライブラリのモジュールの利用例
第5章 ファイルの入出力を学ぶ
5-1 アプリケーションとやり取りする
データの形式
5-1-1 データの入出力
5-1-2 JSON
5-1-3 XML
5-1-4 CSV
5-2 ファイルの読み書き
5-2-1 テキストファイルの読み込み
5-2-2 テキストファイルの書き込み
5-2-3 JSON形式のファイルの読み込み
5-2-4 JSON形式のファイルの書き込み
5-2-5 XML形式のファイルの読み込み
5-2-6 XML形式のファイルの書き込み
5-2-7 CSV形式のファイルの読み込み
5-2-8 CSV形式のファイルの書き込み
第6章 一歩進んだプログラムに挑戦する
6-1 オブジェクト指向プログラミング
6-1-1 オブジェクトとクラス
6-1-2 クラスの作成
6-1-3 オブジェクトの作成
6-1-4 継承
6-1-5 アクセス制御
6-2 PythonによるExcelの操作
6-2-1 Excelの操作のための外部ライブラリ
6-2-2 Excelシートのセルから値の読み込み
6-2-3 Excelシートのセルへの値の書き込み
付録
付録A よく起きるエラーの一覧
付録B 研修コースのご紹介
索引
Amazonで詳しく見る
紹介文
より効率的、生産的になりたいと願う開発者に向けて執筆。入門者には手引きとなり、ベテランでも読み直すたびに得るものがある。
より良いプログラマになるための実践的アプローチ
本書は、Andrew Hunt and David Thomas、 The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley、 2019)の日本語版です。
本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。
Amazonで詳しく見る
紹介文
シリーズ累計50万部突破の定番入門書「スッキリわかるシリーズ」の『Java入門 実践編』に「第3版」が登場!最新Java16対応し、近年のJava改訂による新機能(Record等)の取り込みのほか、GitやMavenといったツール類の活用方法も具体的・実践的に解説! 新人エンジニア湊君の成長を傍らに、開発中に発生するJavaのいろんな「なぜ?」にしっかりと答えながら解説が進み、付録には「エラー解決・虎の巻」を用意して、独学に適した挫折しにくい紙面展開で、中級者に進むあなたを、効率的かつ、実践的にエスコートしていきます。
Amazonで詳しく見る
紹介文
バンダイナムコスタジオの開発者が伝授!
CEDEC Awards著述賞受賞タイトルが、Unity5に対応してリニューアル!
プロのゲーム開発者秘伝・遊びのレシピ! バンダイナムコスタジオ開発陣による10種のオリジナルゲームを題材に、知っておくべき「ゲームのしくみ」を徹底解説。 簡単に始められるUnityとC#で、ゲームを作るために必要な遊びのアルゴリズムをマスターできます。Unityでゲームを作り始めようとしているゲームプログラミング入門者に最適の1冊です。
本書は、ゲーム開発者カンファレンス「CEDEC 2013」において、著述賞を受賞した『ゲームの作り方』をUnity5対応・フルカラー印刷にリニューアルした書籍です。
第0章 Unityの概要
第1章 クリックアクションゲーム~おに
第2章 ジグソーパズル~ぷちパズル
第3章 ドットイートゲーム~ダンジョンイーター
第4章 3Dサウンド探索ゲーム~イン・ザ・ダーク・ウォーター
第5章 リズムゲーム~ヘドバン・ガールズ
第6章 全方向スクロールシューティング~スターバイター
第7章 並べ替えパズルアクション~イート・ザ・ムーン
第8章 ジャンピングアクション~(株)ねこ障子
第9章 ロールプレイングゲーム~一画面伝説レジェンド
第10章 ドライブゲーム~ナゾレバ・ハシレール(もちろん仮)
Amazonで詳しく見る
紹介文
Python(パイソン)は初心者が比較的修得しやすく、AI(人工知能)やパターン認識などの先端技術に活用されている優れたプログラミング言語です。
本書では、初心者を対象に、Pythonを使ったプログラミングの勘所をやさしく解説しました。
例題に取り組むことで、プログラミングとはどういうものかを理解し、プログラミング的思考を身につけてもらうことを目的に執筆しました。
読者の皆さんが、楽しみながらPythonの素晴らしさやプログラミングの醍醐味を感じていただけたら、著者として望外の喜びです。
Amazonで詳しく見る
紹介文
プログラミングの「いろは」、やさしく教えます!
「営業でも、プログラミングって知っておく必要があるの?」
村口福は、入社3年目の営業マン。人づきあいは得意だけれど、細かい作業が苦手で、上司からやっかいな事務作業を頼まれると、帰りが遅くなってしまいます。
プログラミングが得意な営業の先輩、井川詠花に手ほどきを受けたことから、徐々にその楽しさに目覚め始めた福。でも、同時に詠花の妹とデートするという「課題」を課せられて…?
===
昨今、「プログラミング」が話題に上ることが多くなりましたが、プログラマーでも開発者でもない一般のビジネスパーソンにとっては、プログラミングは「なんだか縁遠いもの」、「ややこしいもの」という印象が強いでしょう。
本書では、そんな一般のビジネスパーソンに向けて、
・プログラミングとはつまり何なのか
・どんなところが便利なのか
・プログラミングの面白さとはどんなところなのか
・一般のビジネスパーソンでも知っておくべきなのか、簡単にできる方法はあるのか
といった内容をまとめています。
プログラミング未経験者の営業マン、村口くんと一緒に学んでみましょう!
===
序章では、プログラミングとはざっくりいうと何なのか、どんなところが便利かを学びます。コンピューターは使わずに、福の手元にあった数字の札を使って“プログラミング的な”並び替えを行ってみます。
第1章では、プログラミングでは具体的にどんなことができるのかを学びます。コードを書かなくてもプログラミングができるサービス(本書ではMicrosoft Flow)を使っていきます。
第2章では、やはりコードを書かなくてもプログラミングができるビジュアルプログラミングツール(本書ではScratch)が登場します。入力した数字を使って計算結果を返すインタラクティブなプログラムを作ってみます。
第3章では、プログラミング言語の中から、JavaScriptについて簡単に紹介します。また、そもそもプログラムは、どのようにコンピューターの中で動いているのかについて、コンピューターのしくみを紐解きながら学びます。
第4章では、いよいよ実際に簡単なプログラムコードを書いて実行してみます。プログラミングの基本的な流れである「順次」「選択」「繰り返し」について、それぞれプログラムを書いて実行していきながら学びます。
また、プログラムがうまく動かなかった場合に役立つ「デバック」についても、いくつかの方法を紹介していきます。
プロローグ 【マンガ】先輩との約束
第1章 プログラミングってなんだろう? ~Microsoft Flow
【マンガ】
・あれをこうして、全部自動化
【解説】
・「面倒なことはコンピューターに」が、プログラミングのきほん
・プログラミングの基本は、「○を□する」こと
・フローサービスでプログラミングを体験
・挑戦してみよう―サイトの更新情報を通知する
・プログラミングは発想が大切
第2章 ブロックをつなげるだけ! ゲームのようなプログラミング~Scratch
【マンガ】
・小学校のプログラミング講座
【解説】
・ビジュアルプログラミングを使った子供向けプログラミング教材
・ロボットと組み合わせた楽しい学習教材も登場
・スクラッチをはじめてみよう
・対話するプログラムを作ろう
・変数を使ってみよう
・計算させてみよう
第3章 プログラミングをもう少し深く知ってみよう ~JavaScript
【マンガ】
・2人をつなぐしくみ
【解説】
・JavaScriptとは
・コンピューターのしくみを理解すれば、トラブル時の助けに
・コンピューターは、実はすべて同じ?
・制御と演算を担当するコンピューターの頭脳『CPU』
・記憶装置が2つに分かれている理由
・JavaScriptでプログラムを作ってみよう
・どんなプログラムを作ったの?
第4章 プログラミングを実際にやってみよう ~JavaScript
【マンガ】
・はじめてのプログラミング
【解説】
・「順次」のプログラムを学ぼう
・「選択」のプログラムを学ぼう
・「繰り返し」のプログラムを学ぼう
・配列・リストを使ってみよう
・プログラムの「デバッグ」を学ぼう
エピローグ 【マンガ】プログラミングがつないだ未来
Amazonで詳しく見る
紹介文
「機械学習への第一歩」を新たに加筆!!
プログラミングに役立つ「数学的な考え方」を身につけよう。
2005年の刊行以来、数学書として異例の大ロングセラーを続けている前著の改訂版です。
プログラミングや数学に関心のある読者を対象に、プログラミング上達に役立つ「数学の考え方」をわかりやすく解説しています。数学的な知識を前提とせず、たくさんの図とパズルを通して、平易な文章で解き明かしています。
改訂にあたっては、文章を全面的に見直すと共に、現在の人工知能、ディープラーニングブームを踏まえて、付録「機械学習への第一歩」を加筆しています。この付録では、
・機械学習とは
・予測問題と分類問題
・パーセプトロン
・機械学習における「学習」
・ニューラルネットワーク
・人間は不要になるのか
という項目について、ていねいに説明しています。
プログラミングや数学に関心のある読者はいうまでもなく、プログラミング初心者や数学の苦手な人にとっても最良の一冊です。
第1章 ゼロの物語
第2章 論理
第3章 剰余
第4章 数学的帰納法
第5章 順列・組み合わせ
第6章 再帰
第7章 指数的な爆発
第8章 計算不可能な問題
第9章 プログラマの数学とは
付録1 機械学習への第一歩
付録2 読書案内
Amazonで詳しく見る
紹介文
第1章 C++に慣れよう
第2章 コンストラクタ、デストラクタ、コピー代入演算子
第3章 リソース管理
第4章 デザインと宣言
第5章 実装
第6章 継承とオブジェクト指向設計
第7章 テンプレートとジェネリックプログラミング
第8章 newとdeleteのカスタマイズ
第9章 いろいろな事
付録A Effective C++を超えて
付録B 第2版と第3版の対応表
Amazonで詳しく見る
紹介文
進化思考──それは生物の進化のように二つのプロセス(変異と適応)を繰り返すことで、本来だれの中にもある創造性を発揮する思考法
★進化思考──それは、生物の進化のように二つのプロセス(変異と適応)を繰り返すことで、本来だれの中にもある創造性を発揮する思考法。
私たちは道具の発明を通して、擬似的な「進化」を達成してきた。そこには必ず、私たちの本質的な願いが込められている。
小さいものを見たいから目を進化させるために顕微鏡を。
寒さをしのぎたいから皮膚を進化させるために服を。
速く移動したいから足を進化させるために乗り物を。
子孫に残したいから記憶力を進化させるために本を…。
40億年にわたり変異と適応を繰り返してきた生物や自然を学ぶことで、創造性の本質を見出し、体系化したのが『進化思考』である。
変異(HOW):偶発性を起点にした発想手法
適応(WHY):自然選択を起点にしたリサーチ手法
変異によって偶発的に無数のアイデアが生まれ、それらのアイデアが適応によって自律的に自然選択されていく。変異と適応を何度も往復することで、変化や淘汰に生き残るコンセプトが産まれる。その結果、本質的な願いを具現化するイノベーションを起こせるようになる。
この本は、「あなたが進化思考を実践しながら身につけられる」ことを目指している。そのため50個の進化ワークが登場する。「変異」の章では、たくさんのアイデアを出し、「適応」の章では、たくさんの情報や繋がりを理解し、「コンセプト」の章では、それらが美しく結合した時代を生き残るコンセプトに出会うことができるだろう。
濱口秀司(ビジネスデザイナー)
「進化パターンの百科事典。
結合の要素が分かれば、誰もが創造できる。
この本は、流し読みにはもったいない」
柳澤大輔(面白法人カヤックCEO)
「ここまでイノベーションを体系化した本はなかった。
こりゃ執筆に3年かかるな、脱帽」
2025大阪・関西万博、横浜DeNAベイスターズ、東京防災、クックパッド…
各分野で絶大に支持される「生物の進化に学ぶ創造性」、待望の書籍化!
・生物の進化、人類の創造を追体験できる、150点の写真・図版を収録。
・読みながら実践できる、50個の進化ワークを収録。
進化思考──それは生物の進化のように二つのプロセス(変異と適応)を繰り返すことで、本来だれの中にもある創造性を発揮する思考法
●目次
はじめに
序 章 創造とは何か
第1章 進化と思考の構造
第2章 変異
1 変量――極端な量を想像してみよう
2 欠失――標準装備を減らしてみよう
3 融合――意外な物と組み合わせよう
4 逆転――真逆の状況を考えてみよう
5 分離――別々の要素に分けてみよう
6 交換――違う物に入れ替えてみよう
7 擬態――欲しい状況を真似てみよう
8 転移――新しい場所を探してみよう
9 増殖――常識よりも増やしてみよう
第3章 適応
1 解剖――内側の構造と意味を知ろう
2 系統――過去の系譜を引き受けよう
3 生態――外部に繋がる関係を観よう
4 予測――未来予測を希望に繋げよう
第4章 コンセプト
終 章 創造性の進化
おわりに
参考文献、著者注、図版一覧
Amazonで詳しく見る
紹介文
サービスやプロダクトの開発に
行動経済学の理論を活かすヒント
本書は行動経済学の本ですが、むずかしい専門書ではありません。
本書のテーマは「行動経済学をビジネスデザインに活用すること」です。
行動経済学の理論を知るだけでなく、
新しいサービスやプロダクトの開発に活用することが目的です。
商品サービスとユーザーとの関係に
行動経済学の理論を活用するためのアイデアを、
デザイナー視点でわかりやすく図解していきます。
〈本書の特徴〉
●個別の理論ではなく全体構成で仕組みを理解できる
●図で多く用いることで理論がパッと見てわかる
●社会心理学やデザインなどの観点も織り交ぜている
●商品やサービスなどへの活用方法に言及している
●実際のビジネスを想像しながら読むことで楽しく学べる
1章.フレーム
フレーム1.ユーザーとビジネスをつなぐ
01.利便性や効率性追求の落とし穴
02.ビジネスに役立つ行動経済学
03.ユーザーの立場から考える
フレーム2.認知と行動の特徴をつかむ
04.人と機械の違い
05.認知の流れ
06.8つのバイアス
07.4つのナッジ
08.バイアスとナッジで行動を変える
2章.バイアス
バイアス1.人は相手を気にする
09.ピア効果(一緒だと頑張れる)
10.社会的選好(相手への気づかい)
11.返報性(お返ししなければ)
12.シミュラクラ現象(顔の力)
13.権威(上下関係の意識付け)
バイアス2.人は周囲に左右される
14.バンドワゴン効果(行列心理)
15.ハーディング効果(少数派は不安)
16.ナッシュ均衡(お互いさまの関係)
17.希少性(失いかけると欲しくなる)
18.社会的証明(何かに頼りたい)
19.傍観者問題(みんな見て見ぬ振り)
バイアス3.人は時間で認識が変わる
20.ヒューリスティック(近道思考)
21.現在バイアス(今が大事)
22.正常性バイアス(変化がキライ)
23.回想バイアス(つじつま合わせ)
24.エンダウドプログレス効果(進むとやる気が出る)
25.ピークエンドの法則(終わりよければすべてよし)
バイアス4.人は距離を意識する
26.保有効果(自分のものが一番)
27.DIY効果(自分が関わると過大評価)
28.MAYA理論(先進さと馴染み)
29.タッチ効果(触れるが勝ち)
30.内集団と外集団(身内びいきの習性)
31.ノスタルジア(なつかしさマーケティング)
バイアス5.人は条件で選択を変える
32.プロスペクト理論(損失回避)
33.アンダーマイニング効果(報酬とやる気)
34.ギャンブラーの誤謬(次こそは心理)
35.心理的リアクタンス(やっちゃダメの反動)
バイアス6.人は枠組みで理解する
36.プラセボ効果(病は気から)
37.キリのいい数字効果(ざっくり分類思考)
38.選択のパラドックス(多いと選べない)
39.アンカリングとプライミング(順番が大事)
40.フレーミング効果(ものはいいよう)
バイアス7.人は気分で反応する
41.好意(好きだと寛容に)
42.チート(みんなラクしたい)
43.真夜中のラブレター(感情まかせで後悔)
44.ゲーミフィケーション(遊びと努力)
バイアス8.人は決断にとらわれる
45.一貫性(固執と結び付け)
46.サンクコスト(もったいないの罠)
47.認知的不協和(セルフ洗脳)
3章.ナッジ
ナッジ1.ナッジを理解する
48.ナッジの構造
49.ナッジのフレームワーク
ナッジ2.ユーザーの行動につなげる
50.デフォルト(無意識にうながす)
51.仕掛け(自然にうながす)
52.ラベリング(意図的にうながす)
53.インセンティブ(報酬でうながす)
ナッジ3.商品やサービスをデザインする
54.テキスト
55.ビジュアル
56.モノ
57.画面操作
58.場や接客
59.ビジネス戦略
60.心がけ
Amazonで詳しく見る
紹介文
Web APIの設計、開発、運用についての解説書。本書ではAPIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ-XML over HTTP方式やJSON over HTTP方式-のAPIです。
1章 Web APIとは何か
2章 エンドポイントの設計とリクエストの形式
3章 レスポンスデータの設計
4章 HTTPの仕様を最大限利用する
5章 設計変更をしやすいWeb APIを作る
6章 堅牢なWeb APIを作る
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で詳しく見る
紹介文
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
実践を見据えた本格的な入門書の改訂版!
プログラミング初心者を対象としたPythonの総括的な入門書で、前提知識がなくても取り組むことができます。プログラミングとPythonの基礎から、データベース処理、Webプログラミング、ネットワークプログラミング、初歩の並列処理といった応用までわかりやすく丁寧に解説します。「入門Python 3」の5年ぶりの改訂版でPython3.9.0に対応、f文字列などの新機能が追加され大幅にボリュームアップしています。
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
Amazonで詳しく見る
紹介文
2004年に『アルゴリズムC・新版』として発行した書籍の復刊。研究者、大学院生、大学生および現場技術者の必携書!
アルゴリズムの世界的名著 復活!!
本書は、2004年に刊行した『アルゴリズムC 新版』の復刊である。
セジウィックの『アルゴリズム』は、世界の標準教科書として大変高い評価を得ている。直感的でわかりやすい説明、アルゴリズムの振舞いを示す数多くの見事な図、簡潔で具体的なコード、最新の研究成果に基づく実用的アルゴリズムの選択、難解な理論的結果のほどよい説明などがその特長である。アルゴリズムに係わる研究者、技術者、大学院生、学生必携必読の書である。
また、続刊『第5部グラフアルゴリズム』の刊行も決定!
第1部 基礎
1.はじめに
2.アルゴリズム解析の原理
第2部 データ構造
3.基本データ構造
4.抽象データ型
5.再帰と木
第3部 整列
6.初等的な整列法
7.クイックソート
8.併合とマージソート
9.順位キューとヒープソート
10.基数整列
11.特殊目的の整列法
第4部 探索
12.記号表と2分探索木
13.平衡木
14.ハッシュ法
15.基数探索
16.外部探索
Amazonで詳しく見る
紹介文
あらゆるプロダクト開発に応用できるビジネス・デザイン・テクノロジー知識を完全網羅。
世界水準のプロダクトマネージャーの叡智は
この1冊で完璧に得られる
Google、Microsoft、SmartNewsなどのプロダクト、
BtoCおよびBtoB領域で国内のみならずグローバル展開に
携わってきた百戦錬磨の著者陣が
日本とシリコンバレーのあらゆる知見を詰め込み書き上げた、
プロダクトマネジメントの決定版。
あらゆるモノがIT化する現代では、
プロダクトの成功を抜きに、ビジネスを語ることはできない。
事業戦略、IT開発、UXデザイン、マーケティング、
カスタマーサクセス、セキュリティ、知的財産、組織運営……。
何をどこまでおさえればいいのか?
本書はその海図となって、ビジネスを成功に導く。
プロダクトマネジメントに欠かせない
知識、スキル、方法論、マインドセットを網羅しているため
●新事業・新サービス開発
●既存事業テコ入れ
●DX
●起業
●スタートアップ
にかかわるすべてのマネージャー、エンジニア、デザイナーにとっては
必読の完全保存版である。
【目次概要】
PartⅠ プロダクトの成功
PartⅡ プロダクトを育てる
PartⅢ ステークホルダーをまとめ、プロダクトチームを率いる
PartⅣ プロダクトの置かれた状況を理解する
PartⅤ プロダクトマネージャーと組織の成長
PartⅥ プロダクトマネージャーに必要な基礎知識
■PART Ⅰ プロダクトの成功
Chapter 1 プロダクトの成功とは
1.1 プロダクトの成功を定義する3要素
1.2 プロダクトの成功はバランス
1.3 プロダクトステージごとの成功
Chapter 2 プロダクトマネージャーの役割
2.1 プロダクトマネージャーの2種類の仕事
2.2 プロダクトとは
2.3 プロダクトをつくるチーム
Chapter 3 プロダクトマネージャーの仕事とスキルの全体像
3.1 プロダクトを網羅的に検討するための4階層
3.2 プロダクトマネージャーに必要なスキル
■PART Ⅱ プロダクトを育てる
Chapter 4 プロダクトの4階層
4.1 プロダクトのCore:ミッションとビジョン、事業戦略
4.2 プロダクトのWhy:「誰」を「どんな状態にしたいか」、なぜ自社がするのか
4.3 プロダクトのWhat:ユーザー体験、ビジネスモデル、ロードマップ
4.4 プロダクトのHow:ユーザーインターフェース、設計と実装、Go To Marketなど
4.5 プロダクトの4階層の中における仮説検証
4.6 プロダクトの方針を可視化する
4.7 プロダクトをつくる心構え
Chapter 5 プロダクトのCore
5.1 プロダクトが向かうミッションとビジョン
5.2 事業戦略
ケーススタディ:プロダクトのCoreの検討
Chapter 6 プロダクトのWhy
6.1 ターゲットユーザーと価値の組合せを選ぶ
6.2 なぜ自社がするのか
6.3 ペインとゲインの仮説検証
6.4 プロダクトのCoreとのFit & Refine
ケーススタディ:プロダクトのWhyの検討
Chapter 7 プロダクトのWhat
7.1 解決策を発想する
7.2 何をつくるのか―ユーザー体験
7.3 何をつくるのか―ビジネスモデル
7.4 どのような優先度で取り組むか
7.5 プロダクトのWhyとのFit & Refine
ケーススタディ:プロダクトのWhatの検討
Chapter 8 プロダクトのHow
8.1 プロダクトバックログをつくる
8.2 ユーザーにプロダクトを提供する仕組みを整える(GTM)
8.3 リリースの前にすべきこと
8.4 プロダクトのWhatとのFit & Refine
8.5 リリースする
8.6 次の改善のために
ケーススタディ:プロダクトのHowの検討
■PART Ⅲ ステークホルダーをまとめ、プロダクトチームを率いる
Chapter 9 プロダクトマネージャーを取り巻くチーム
9.1 代表的な他の役割との責任分担
9.2 プロダクトマネージャーの組織
9.3 「ステークホルダーをまとめ、プロダクトチームを率いる」とは
Chapter 10 チームとステークホルダーを率いる
10.1 多拠点がある場合の情報共有で注意すべきこと
10.2 プロダクトに関する情報の透明化
10.3 チームビルディング
Chapter 11 チームでプロダクトをつくるためのテクニック
11.1 ドキュメンテーション
11.2 コーチング
11.3 ファシリテーション
11.4 プレゼンテーション
11.5 ネゴシエーション
■PART Ⅳ プロダクトの置かれた状況を理解する
Chapter 12 プロダクトステージによるふるまい方の違い
12.1 プロダクトのライフサイクルの捉え方
12.2 ステージごとの違いを理解する
Chapter 13 ビジネス形態によるふるまい方の違い
13.1 BtoCプロダクト
13.2 BtoBプロダクト
Chapter 14 未知のビジネスドメインに挑む
14.1 なぜビジネスドメイン知識が必要なのか
14.2 未知のビジネスドメインに挑むときのふるまい方―グローバル展開
14.3 未知のビジネスドメインを学ぶ方法
14.4 ドメイン知識をプロダクトチームで理解する
14.5 ビジネスドメインの法規制を理解する
Chapter 15 技術要素の違いによるふるまい方の違い
15.1 ハードウェアプロダクト
15.2 AIプロダクト
■PART Ⅴ プロダクトマネージャーと組織の成長
Chapter 16 プロダクトマネジメントと組織
16.1 プロダクトマネジメントを組織に導入する方法
16.2 プロダクト志向組織への移行ステップ
16.3 ジョブディスクリプションにより責任範囲を明確にする
Chapter 17 プロダクトマネージャーのスキルの伸ばし方
17.1 プロダクトマネージャーになるための方法
17.2 プロダクトマネージャーとしてのスキルの育て方
17.3 プロダクトマネージャーに求められる知識の適度な深さとは
17.4 知識やスキルをアップデートする方法
17.5 W型モデルで自分のスキルをマッピングしてみよう
Chapter 18 プロダクトマネージャーのキャリア
18.1 プロダクトマネージャーの肩書と役割
18.2 プロダクトマネージャーを務めたあとのキャリア
■PART Ⅵ プロダクトマネージャーに必要な基礎知識
Chapter 19 ビジネスの基礎知識
19.1 収益、コスト、ビジネス環境の基礎知識
19.2 パートナーシップを構築する
19.3 指標を計測し、数字を読む
19.4 知的財産の扱い
Chapter 20 UXの基礎知識
20.1 UIデザイン、UXデザインの基礎知識
20.2 マーケティング施策
20.3 プライバシーポリシーと利用規約をつくる
Chapter 21 テクノロジーの基礎知識
21.1 プロダクトの品質を保つ
21.2 開発手法の基礎知識
21.3 ソフトウェアの基礎知識
21.4 セキュリティを強化する
Appendix 1 プロダクトマネージャーのためのセルフチェックリスト
Appendix 2 プロダクトの4階層とフレームワークの対応表
Appendix 3 推薦図書と講座
Amazonで詳しく見る
紹介文
第1章 イントロダクション-コンピュータが日常的に使っているすごいアイデアはどんなものか
第2章 検索エンジンのインデクシング-世界最大の藁山から針を探す
第3章 ページランク-グーグルを起ち上げたテクノロジー
第4章 公開鍵暗号法-葉書で機密情報を書き送る
第5章 誤り訂正符号-自分で誤りを訂正するシステム
第6章 パターン認識-経験から学ぶ
第7章 データ圧縮-無から有を生み出す
第8章 データベース-一貫性の追求
第9章 デジタル署名-このソフトウェアを本当に書いたのは誰か
第10章 決定不能性とはなにか
第11章 まとめ-指先の天才はもっと賢くなるか
Amazonで詳しく見る
紹介文
自動車用トンネルを抜けた後も車のヘッドライトを点灯して走行し、そのまま長時間駐車してバッテリーを上げてしまった経験はありませんか? この種の問題の解決策としてトンネルの出口に「ライトを消せ」という標識を出すことが考えられるけど、それだと夜中にライトを消す人があるかも知れません。もしあなたがトンネル管理者なら、どんな標識を考えますか?
<訳者前口上>より
この楽しい本を訳して出すことは、著者の一人から1冊もらって以来の夢だった。一見冗談だらけに見えるけれども、実はひどく思い当たることばかり書いてある。訳者は世慣れない方で、ここに書いてあるようなことでしょっちゅう失敗をする。この本を訳したいと思い続け、深読みを繰り返したお陰で、近ごろ少し失敗が少なくなったような気がしている。本の副題にあるように、問題発見についての本である。学校では問題を解くことを教わる。だが問題は、解くより発見する方がずっとむずかしく、ずっと面白い。実人生で本当にものをいうのはそこなのだ。実務に就いておられる人生経験豊かな読者には、特によろこんでいただけるのではないかと思う。だが訳者としては身辺の若者たちにこそ、だましてでも読んでもらいたいと思っている。この本に書いてあるようなことが身についていないばかりにあたら才能を空費している若者が、実に多い。訳者自身も、学生時代からこういうことを知っていたら後悔がずっと少なかったろうに、と思っている。いや、訳者風情がごちゃごちゃいう必要なんかないだろう。ちょっと開けてみれば、そんな必要はないことがご納得いただけると思う。この本に訳者序はいらない。ただ一言この場を借りて、「だまされたと思って開けてみてください、きっとお得ですよ」とだけ申し上げておきたい。
第1部 何が問題か?
1.問題
問題は何なのか?
問題を抱えているのは誰か?
キミの問題の本質は何か?
2.ピーター・ピジョンホールの陳情書
「何がまずいか」をどう決めるか?
まずいのは何か?
そのために,何ができるか?
3.キミの問題は何か?
問題とは,望まれた事柄と認識された事柄の間の相違だ
幻の問題は本物の問題
第2部 問題は何なのか?
4.ビリー・ブライトアイズの最適入札
彼らの解決方法を問題の定義と取り違えるな
彼らの問題をあまりやすやすと解いてやると,彼らは本物の問題を解いてもらったとは決して信じない
5.ビリーが舌を噛んだ
解法を問題の定義と取り違えるな―ことにその解法が自分の解法であるときには注意―
6.ビリー再び入札者のもとへ
問題の正しい定義が得られたかどうかは決してわからない―問題が解けたあとでも結論に結びついてはいけないが,自分の第一印象は無視するな
第3部 問題は本当のところ何か?
7.おわりのない連鎖
すべての解答は次の問題の出所
問題によっては,それを認識するところが一番むずかしいということもある
キミの問題理解をおじゃんにする原因を三つ見つけられないうちは,キミはまだ問題を把握していない
8.不適合を見落とす話
結論に飛びつくな,だが第一印象を無視するな
キミの問題定義を外国人や盲人や子供について話してみよう
またキミ自身が外国人や盲人や子供になってみよう
新しい視点は必ず新しい不適合を作り出す
9.うまいレベルに着陸する話
問題文をどう変えたら,解答を変えることができるだろうか?
自分は何を解いているのか?
10.意味に気をつけよう
問題が言葉の形になったら,それがみんなの頭に入るまで言葉をもて遊んでみよう
第4部 それは誰の問題か?
11.煙が目にしみる
それは誰の問題か?
他人が自分の問題を自分で完全に解けるときに,それを解いてやろうとするな
もしそれらが彼らの問題なら,それを彼らの問題にしてしまえ
12.構内は車で一杯
それは誰の問題か?
もしある人物が問題に関係あって,しかもその問題を抱えていないなら,何かをやってそれをその人物の問題にしてしまおう
変化のために自分を責めてみよう―たとえほんの一瞬でも
13.トンネルのかなたのあかり
それは誰の問題か?
もし人々の頭のライトがついているなら,ちょっと思い出させてやる方が,ごちゃごちゃいうより有効なのだ
第5部 それはどこからきたか?
14.ジャネット・ジャウォルスキー変人と衝突
この問題はどこからきたか?
15.ミスター・マーチン事態を収拾
この不作法さはどこからきたか?
16.仕事する人いばる人
その問題はどこからきたか?
世界には2種類の人がいて・・・・・・
17.試験について
その問題はどこからきたか?
誰がこの問題よこしたか?
それは私をどうしようというのか?
第6部 われわれはそれをほんとうに解きたいか?
18.トム・タイヤレスのおもちゃいじり
ちょっと見たところと違って人々は,くれといったものを出してやるまで何がほしかったか知らぬものである
19.政治には忍耐が肝要
あとから調べてみれば,本当に問題を解いてほしかった人はそんなにいないものだ
20.ある特務
私は本当にそれを解きたいか?
本当にほしいかそれを考えるひまはないもの,後悔するひまはいくらでもあるもの
魚,水を見ず
Amazonで詳しく見る
紹介文
ウェブページ・ホームページを1歩ずつ作っていくから
正しい使い方と意味を基礎からしっかり学べます。
「はじめて」でも「よくわかる」 5つのポイント
・制作環境の準備から書いてあるから心配せずにはじめられる。
・ゆっくり 1つずつ学んでいくからHTMLタグの意味もよくわかる。
・一緒にCSSスタイルシートを学ぶから正しい使いかたが身に付く。
・最新のHTML5とCSS3で解説しているから、ずっと役に立つ。
・スマホ・タブレット・PCなど最近の閲覧環境に対応。
---
本書は、実際にウェブサイトをひとつ作り上げながら、HTMLとCSSをステップ・バイ・ステップで学んでいくタイプの本です。構成は大きく二段階になっており、はじめにごく簡単なサンプルをいくつか作ってみておおまかな感触をつかみ、そのあとに実践的なウェブサイトの制作へと進んでいく流れとなっています。
ウェブサイトの制作ではまず最初に、スマートフォン向けのシンプルなレイアウトを作成しながら基礎的な事項を学習していきます(いわゆるモバイルファーストです)。解説内容は、できることを何から何まで列挙するのではなく、実践において必要となるであろう重要項目に絞り込んでありますので、まったくの初心者でも無理なく進められます。スマートフォン向けのレイアウトが完成し、基礎技術が身についたところで、さらにタブレット用のレイアウト、PC用のレイアウトと、より高度な技術へとステップアップしていきます(この過程においてメディアクエリ、レスポンシブイメージ、レスポンシブウェブデザインなどのテクニックも習得します)。
本書に掲載されているウェブサイトのデータはすべてダウンロードできます。サンプル・ファイルは各章ごとに作業前のファイルと完成形がそれぞれ用意されていますので、読者のレベルや都合に合わせて途中からはじめることも可能です(そのため実習を伴う講義・セミナー用のテキストとしても最適です)。はじめてのHTML+CSSの習得に、本書をご活用いただけましたら幸いです。
■Part 1 はじめる前の準備編
01 ホームページは何でできているのか?
02 ウェブサイト制作のための準備をしよう
■Part 2 やさしい入門編
03 HTMLってどんなもの?
04 HTMLでマークアップしてみよう
05 画像を表示させてみよう
06 CSSで表示を変えてみよう
07 HTMLとCSSを分ける理由
■Part 3 レイアウトの基本編
08 HTMLとCSSの基礎知識
09 サンプルサイト作成の準備
10 ページ全体の構造をマークアップする
11 「ホーム」以外のページも作ろう
12 リンクさせてみよう
13 CSSのボックスについて
14 「ホーム」のページを仕上げよう
15 「会社概要」のページを仕上げよう
16 「事業内容」のページを仕上げよう
17 「アクセス」のページを仕上げよう
18 「お問い合わせ」のページを仕上げよう
■Part 4 スマートフォン対応編
19 ウェブページを原寸大で表示させる
20 高画素密度ディスプレイにも対応させよう
■Part 5 さらにステップアップ編
21 表を作ってみよう
22 画面サイズに合わせてCSSを切り替える方法
23 タブレット専用のCSSを指定してみよう
24 PC専用のCSSを指定してみよう
25 PC向けのレイアウトを完成させよう
■Part 6 ウェブサイトの公開編
26 公開に必要となるサーバーについて
27 ファイルをサーバーに転送して公開しよう
Amazonで詳しく見る
紹介文
NoSQLデータベースやフロントエンド、可視化、ログの取り扱い、環境構築の自動化など、Webエンジニアとして知っておくべき技術を、実際に試せるように、わかりやすく解説!2〜3年目までのエンジニア、最新の技術動向を知っておきたいシステム関係者など必読の1冊!
01 Webエンジニアについて
02 Ruby on Railsでの開発
03 PHPでの開発
04 NoSQLデータベース
05 フロントエンドの実装
06 ログについて
07 データの可視化
08 環境構築の自動化
09 便利な外部サービス
Amazonで詳しく見る
紹介文
機械学習の仕組みや学習方法の基礎から、サンプルプログラムを使った実践まで丁寧に解説。
技術革新に乗り遅れるな!AI活用でナンバーワン・ゲームを目指そう
本書は、2020年8月に刊行した「v1.1対応版」を最新版へのアップデートを行った改訂版です。
「Unity ML-Agents」(Unity Machine Learning Agents)は、Unityで「機械学習」の環境を構築するためのフレームワークです。ゲームに登場するキャラクターを「強化学習」で鍛えることで、人間の代わりになる対戦相手としたり、ゲームバランスの評価に活用したりなど、ゲームAIはさまざまなゲーム制作の場面で活用することができます。
本書では、はじめて「機械学習」にチャレンジする方から学んでいただけるように、機械学習の仕組みや学習方法の基礎から、サンプルプログラムを使った実践まで、ていねいに解説しました。また、AIを組み込んで活用する応用事例も多数掲載しており、ゲーム開発の現場ですぐに役立てることができます。
第1章 機械学習とUnity ML-Agentsの概要
1-1 人工知能と機械学習
1-2 教師あり学習と教師なし学習と強化学習
1-3 強化学習
1-4 Unity ML-Agentsの概要
第2章 はじめての学習環境の作成
2-1 開発環境の準備
2-2 プロジェクトの準備
2-3 はじめての学習環境の作成
2-4 学習と推論
2-5 学習の高速化
第3章 Unity ML-Agents の基礎
3-1 状態と観察
3-2 行動
3-3 報酬とエピソード完了
3-4 決定
3-5 学習設定ファイル
3-6 mlagents-learn
3-7 TensorBoard
第4章 さまざまな学習方法
4-1 SAC
4-2 Discrete
4-3 Visual Observation
4-4 Raycast Observation
4-5 セルフプレイ
4-6 Curiosity
4-7 模倣学習
4-8 LSTM(Long Short-Term Memory)
4-9 カリキュラム学習
4-10 環境パラメータのランダム化
第5章 サンプルの学習環境
5-1 サンプル学習環境の準備
5-2 3DBall
5-3 GridWorld
5-4 PushBlock
5-5 Pyramids
5-6 WallJump
5-7 Hallway
5-8 Worm
5-9 Crawler
5-10 Walker
5-11 FoodCollector
5-12 Basic
5-13 Match3
5-14 Sorter
5-15 Soccer
5-16 CooperativePushBlock
5-17 DungeonEscape
第6章 ゲーム開発における強化学習の活用
6-1 ゲーム開発での強化学習エージェントの活用
6-2 ジャンプゲーム ー テストの自動化
6-3 障害物避けゲーム ー コンテンツのバランス調整のサポート
6-4 Puppo, The Corgi ー より自然な振る舞いを行うNPC
6-5 ドッジボール ー 人間の代わりとなる対戦相手
6-6 AIロボットサッカー ー ロボットの強化学習
第7章 Python APIを使った学習環境の構築
7-1 Python APIを使った学習
7-2 Gymラッパー
7-3 Python Low Level API
7-4 サイドチャネル
7-5 カスタムサイドチャネル
Amazonで詳しく見る
紹介文
データ分析の現場にあって入門書にない「汚いデータ」(ダーティデータ)に対応する、プロのノウハウを解説します。
これがリアルなデータ分析だ!
君は「汚いデータ」を処理できるか?
データ分析の現場にあって入門書にないもの――それは、「汚いデータ」(ダーティデータ)です。本書は、データ分析の現場では①どんなデータに出会い、②どのような問題が生じ、③どう対応すればよいのかというノウハウを解説。
事前の加工(視覚化)から機械学習、最適化問題まで、100本ノックをこなして、ビジネス現場で即戦力になれる「応用力」を身につけよう!
データ分析の現場にあって入門書にない「汚いデータ」(ダーティデータ)に対応する、プロのノウハウを解説します。
朝練 100本ノックに備えて準備運動を行いましょう。
序章 朝練
朝練1:Google Colaboratoryをつかってみよう
朝練2:プログラムを書いて実行してみよう
朝練3:変数を使ってみよう
朝練4:ライブラリを使ってみよう
朝練5:コードセルを分けて効率よくプログラミングをしよう
朝練6:本書のサンプルプログラムをGoogle Colaboratoryで動かしてみよう
朝練7:Google Driveからデータを参照してみよう
朝練8:絶対パスと相対パスについて
第1部 基礎編:データ加工
第1章 ウェブからの注文数を分析する10本ノック
ノック1:データを読み込んでみよう
ノック2:データを結合(ユニオン)してみよう
ノック3:売上データ同士を結合(ジョイン)してみよう
ノック4:マスターデータを結合(ジョイン)してみよう
ノック5:必要なデータ列を作ろう
ノック6:データ検算をしよう
ノック7:各種統計量を把握しよう
ノック8:月別でデータを集計してみよう
ノック9:月別、商品別でデータを集計してみよう
ノック10:商品別の売上推移を可視化してみよう
第2章 小売店のデータでデータ加工を行う10本ノック
ノック11:データを読み込んでみよう
ノック12:データの揺れを見てみよう
ノック13:データに揺れがあるまま集計してみよう
ノック14:商品名の揺れを補正しよう
ノック15:金額欠損値の補完をしよう
ノック16:顧客名の揺れを補正しよう
ノック17:日付の揺れを補正しよう
ノック18:顧客名をキーに2つのデータを結合(ジョイン)しよう
ノック19:クレンジングしたデータをダンプしよう
ノック20:データを集計しよう
第2部 実践編①:機械学習
第3章 顧客の全体像を把握する10本ノック
ノック21:データを読み込んで把握しよう
ノック22:顧客データを整形しよう
ノック23:顧客データの基礎集計をしよう
ノック24:最新顧客データの基礎集計をしてみよう
ノック25:利用履歴データを集計しよう
ノック26:利用履歴データから定期利用フラグを作成しよう
ノック27:顧客データと利用履歴データを結合しよう
ノック28:会員期間を計算しよう
ノック29:顧客行動の各種統計量を把握しよう
ノック30:退会ユーザーと継続ユーザーの違いを把握しよう
第4章 顧客の行動を予測する10本ノック
ノック31:データを読み込んで確認しよう
ノック32:クラスタリングで顧客をグループ化しよう
ノック33:クラスタリング結果を分析しよう
ノック34:クラスタリング結果を可視化してみよう
ノック35:クラスタリング結果をもとに退会顧客の傾向を把握しよう
ノック36:翌月の利用回数予測を行うための準備をしよう
ノック37:特徴となる変数を付与しよう
ノック38:来月の利用回数予測モデルを作成しよう
ノック39:モデルに寄与している変数を確認しよう
ノック40:来月の利用回数を予測しよう
第5章 顧客の退会を予測する10本ノック
ノック41:データを読み込んで利用データを整形しよう
ノック42:退会前月の退会顧客データを作成しよう
ノック43:継続顧客のデータを作成しよう
ノック44:予測する月の在籍期間を作成しよう
ノック45:欠損値を除去しよう
ノック46:文字列型の変数を処理できるように整形しよう
ノック47:決定木を用いて退会予測モデルを作成してみよう
ノック48:予測モデルの評価を行い、モデルのチューニングをしてみよう
ノック49:モデルに寄与している変数を確認しよう
ノック50:顧客の退会を予測しよう
第3部 実践編②:最適化問題
第6章 物流の最適ルートをコンサルティングする10本ノック
ノック51:物流に関するデータを読み込んでみよう
ノック52:現状の輸送量、コストを確認してみよう
ノック53:ネットワークを可視化してみよう
ノック54:ネットワークにノード(頂点)を追加してみよう
ノック55:ルートの重みづけを実施しよう
ノック56:輸送ルート情報を読み込んでみよう
ノック57:輸送ルート情報からネットワークを可視化してみよう
ノック58:輸送コスト関数を作成しよう
ノック59:制約条件を作ってみよう
ノック60:輸送ルートを変更して、輸送コスト関数の変化を確認しよう
第7章 ロジスティクスネットワークの最適設計を行う10本ノック
ノック61:輸送最適化問題を解いてみよう
ノック62:最適輸送ルートをネットワークで確認しよう
ノック63:最適輸送ルートが制約条件内に収まっているかどうかを確認しよう
ノック64:生産計画に関するデータを読み込んでみよう
ノック65:利益を計算する関数を作ってみよう
ノック66:生産最適化問題を解いてみよう
ノック67:最適生産計画が制約条件内に収まっているかどうかを確認しよう
ノック68:ロジスティクスネットワーク設計問題を解いてみよう
ノック69:最適ネットワークにおける輸送コストとその内訳を計算しよう
ノック70:最適ネットワークにおける生産コストとその内訳を計算しよう
第8章 数値シミュレーションで消費者行動を予測する10本ノック
ノック71:人間関係のネットワークを可視化してみよう
ノック72:口コミによる情報伝播の様子を可視化してみよう
ノック73:口コミ数の時系列変化をグラフ化してみよう
ノック74:会員数の時系列変化をシミュレーションしてみよう
ノック75:パラメータの全体像を、「相図」を見ながら把握しよう
ノック76:実データを読み込んでみよう
ノック77:リンク数の分布を可視化しよう
ノック78:シミュレーションのために実データからパラメータを推定しよう
ノック79:実データとシミュレーションを比較しよう
ノック80:シミュレーションによる将来予測を実施しよう
第4部 発展編:画像処理/言語処理
第9章 潜在顧客を把握するための画像認識10本ノック
ノック81:画像データを読み込んでみよう
ノック82:映像データを読み込んでみよう
ノック83:映像を画像に分割し、保存してみよう
ノック84:画像内のどこに人がいるのかを検出してみよう
ノック85:画像内の人の顔を検出してみよう
ノック86:画像内の人がどこに顔を向けているのかを検出してみよう
ノック87:検出した情報を統合し、タイムラプスを作ってみよう
ノック88:全体像をグラフにして可視化してみよう
ノック89:人通りの変化をグラフで確認しよう
ノック90:移動平均を計算することでノイズの影響を除去しよう
第10章 アンケート分析を行うための自然言語処理10本ノック
ノック91:データを読み込んで把握しよう
ノック92:不要な文字を除外してみよう
ノック93:文字数をカウントしてヒストグラムを表示してみよう
ノック94:形態素解析で文章を分割してみよう
ノック95:形態素解析で文章から「動詞・名詞」を抽出してみよう
ノック96:形態素解析で抽出した頻出する名詞を確認してみよう
ノック97:関係のない単語を除去してみよう
ノック98:顧客満足度と頻出単語の関係を見てみよう
ノック99:アンケート毎の特徴を表現してみよう
ノック100:類似アンケートを探してみよう
放課後練 さらなる挑戦
第11章 深層学習に挑戦する10本ノック
放課後ノック101:深層学習に必要なデータを準備しよう
放課後ノック102:深層学習モデルを構築しよう
放課後ノック103:モデルの評価をしてみよう
放課後ノック104:モデルを使った予測をしてみよう
放課後ノック105:物体検出YOLOを使って人の検出を行ってみよう
放課後ノック106:YOLOの学習を行うための準備をしよう
放課後ノック107:新たな学習データを使ってYOLOの学習モデルを生成してみよう
放課後ノック108:新たに学習させたモデルを使って人の検出を行ってみよう
放課後ノック109:YOLOとHOGの人の検出結果を比較して深層学習の精度を体感しよう
放課後ノック110:YOLOでの人以外の物体の検出のようすを確認しよう
第12章 データ加工に挑戦する10本ノック
放課後ノック111:“よくある”エクセルデータに挑戦
放課後ノック112:エクセルの社員マスタ加工に挑戦
放課後ノック113:正規化に挑戦
放課後ノック114:外れ値の加工に挑戦
放課後ノック115:欠損値の補完に挑戦
放課後ノック116:データのスクランブル化に挑戦
放課後ノック117:文字コードの自動判定に挑戦
放課後ノック118:センサーデータの加工に挑戦
放課後ノック119:JSON形式に挑戦
放課後ノック120:SQLiteに挑戦
付録
Appendix① データ結合とデータ正規化
Appendix② 機械学習
Appendix③ 最適化問題
Amazonで詳しく見る
紹介文
RPGの元祖『ウルティマ』シリーズ・プログラマが明かす本職の技。ゲームプログラミングのバイブル、ついに完全邦訳。
第1部 ゲームプログラミングの基礎(ゲームプログラミングとは
ゲームの構成要素 ほか)
第2部 ゲームプログラミングの基本的な技術(ゲームの初期化と終了処理
メインループの制御 ほか)
第3部 ゲームプログラミングの実践的な技術(ゲームのイベント管理
Luaを使ったスクリプティング ほか)
第4部 高度なトピックと技術の統合(ゲームAI入門
マルチプログラミング入門 ほか)
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で詳しく見る
紹介文
“標準教科書”が完全書き下ろしで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で詳しく見る
紹介文
イラストや写真を多用したビジュアル重視の紙面で初心者に直観的に理解できると人気のHead FirstシリーズのPython版
人気の入門書、Head Firstシリーズ待望のPythonバージョン!
イラストや写真を多用したビジュアル重視の紙面で初心者に直観的に理解できると人気のHead FirstシリーズのPython版です。前半でPythonの基本を一通り説明してから、実際に独自のWebアプリケーションをステップバイステップで構築する作業通じて、データベース管理、例外処理、データ処理などの理解を深めていきます。手を動かしながら学べる入門書の決定版です。
Amazonで詳しく見る
紹介文
Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L.
Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers.
Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth
Amazonで詳しく見る
紹介文
好評の『Java逆引きレシピ』が、Java 9以降のバージョンに対応。新規レシピもあり「これからも現場で役立つ」一冊。
開発現場で使える珠玉のレシピ!
好評の『Java逆引きレシピ』が、
従来のJava 6、7、8に加え、Java 9以降のバージョンにも対応し、
第2版として帰ってきました!!
最新の環境でも使えるよう既存のレシピも見直し、
新規レシピもふんだんに。「これからも現場で役立つ」一冊です。
====目次====
・第01章 Java開発の準備
・第02章 Javaの基本
・第03章 クラス・インターフェース
・第04章 コレクション
・第05章 日付操作
・第06章 ファイル・入出力
・第07章 並行プログラミング
・第08章 JDBC
・第09章 JUnit
・第10章 ネットワーク、システム、ユーティリティ
・第11章 これからのJava
第01章 Java開発の準備
1.1 セットアップ
1.2 実行
第02章 Javaの基本
2.1 パッケージとインポート
2.2 変数とデータ型
2.3 コメント
2.4 制御構文
2.5 例外処理
2.6 ラムダ
2.7 文字列操作
2.8 正規表現
2.9 数値処理
第03章 クラス・インターフェース
3.1 クラスとインターフェース
3.2 アクセス修飾子
3.3 列挙型
3.4 ジェネリクス
3.5 アノテーション
3.6 リフレクション
3.7 シリアライズ
第04章 コレクション
4.1 導入
4.2 配列
4.3 List
4.4 Set
4.5 Map
4.6 Stream
第05章 日付操作
5.1 導入
5.2 Date and Time API
第06章 ファイル・入出力
6.1 導入
6.2 ファイル
6.3 パス
6.4 入出力
第07章 並行プログラミング
7.1 導入
7.2 スレッド
7.3 タイマー
7.4 Concurrency Utilities
7.5 Fork/Join Framework
第08章 JDBC
8.1 基本的なデータベース操作
8.2 高度なデータベース操作
第09章 Junit
9.1 導入
9.2 テストケース
9.3 テストスイート
第10章 ネットワーク、システム、ユーティリティ
10.1 ネットワーク
10.2 ユーティリティ
10.3 システム
第11章 これからのJava
11.1 リリースポリシーの変更
11.2 モジュールシステム
11.3 新しい構文
11.4 APIの拡張
11.5 ツール
11.6 その他
Amazonで詳しく見る
紹介文
複数のプログラマが関わる場合、優れたコードを書くだけではプロジェクトは成功しない。全員が最終目標に向かって協力することが重要であり、チームの協力はプロジェクト成功のカギとなる。本書は、Subversionをはじめ、たくさんのフリーソフトウェア開発に関わり、その後Googleでプログラマを経てリーダーを務めるようになった著者が、「エンジニアが他人とうまくやる」コツを紹介するものである。「チームを作る三本柱」や「チーム文化のつくり方」から「有害な人への対処法」までエンジニアの社会性について、楽しい逸話とともに解説する。
1章 天才プログラマの神話
2章 素晴しいチーム文化を作る
3章 船にはキャンプテンが必要
4章 有害な人に対処する
5章 組織的操作の技法
6章 ユーザーも人間
付録1 エピローグ
付録2 あわせて読みたい
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で詳しく見る
紹介文
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座標
・ペイントエディター
・演算ブロック
・コスチュームや背景の追加
・変数・リスト
・関数(ブロック定義)
・クローン
・タブレット・スマホ対応
Amazonで詳しく見る
紹介文
プログラマーを仕事にしたいなら、まずはひと通りの“開発”を体験してみませんか。スキルアップのための指針が必ず見つかります!
■ 開発の仕事をWebアプリケーションで実体験!
「プログラマーが足りない!」との指摘をよく耳にします。プログラマーやソフトウェアエンジニアを目指している人も多いことでしょう。でも、ゼロから目指すとなると未経験ということに…。何から勉強すればいいか、迷うこともあるのではないでしょうか。
そこで、まずは本書でソフトウェアの開発を“経験”してみませんか?
本書では、たとえプログラミング経験がない人でも、プログラムを作って、サーバーに転送し、誰にでも使ってもらえるようにWeb上のサービスとして公開するところまでできるよう、必要な作業やプロセスを解説しました。プログラミング経験がまったくなくても、本書の解説に沿って作業を進めていけば自分のサービスとしてアプリケーションを公開するところまでひと通りの開発を自分の手で実現できます。
本書を通じて開発したWebアプリケーションは、面接でアピールできる自分の実績になります。面接の場ではぜひ胸を張って「こういうアプリケーションを独力で公開しました」と見てもらってください。
プログラミングを学ぶ際の王道は、文法の基礎からコツコツと学んでいくこと。それはもちろん大事です。でも、それだけだといつになったら何らかのアプリケーションを作れるようになるのか、その道筋がわからず行き詰まってしまう人も少なくありません。
その点で、本書でコーディングからデプロイまで、アプリケーション開発を“実際にやってみる”ことにより、コツコツと学んだ基礎が実際の開発現場でどのように役立つのか、必要とされるのかを実感することができるでしょう。もし、基礎を学びながらモヤモヤとしたものを抱え、学習がはかどらなくなってしまっているのなら、いったん本書で全体像を把握してみることをお薦めします。全体を見渡すことで、基礎の重要性がわかると学習の効率も格段に上がるはず。
本書で取り上げた主なサービスやツールは、AWS(Amazon Web Services)、Django、Git、Herokuです。すべてクラウドで完結しているので、お手元の環境のOSやスペックに依存せず、Webを利用できる環境であれば誰でも同じように開発プロセスをトレースできます。
第1章 プログラマーと開発の仕事
第2章 Webアプリケーション開発の基本
第3章 Pythonの基礎の基礎
第4章 Webアプリ開発――開発環境の作成
第5章 Webアプリ開発――コーディング
第6章 Webアプリ開発――デプロイ
第7章 これからのスキルアップ戦略
Amazonで詳しく見る
紹介文
多くのゲーム開発者に支持された究極のC++本が遂に邦訳化。初級レベルから脱却し、C++の真髄を極めるための知識がここに。
第1部 C++の要点(継承
多重継承
const、参照、キャスト
テンプレート
例外処理)
第2部 C++の活用(パフォーマンス
メモリ割り当て
C++のパターン
標準テンプレートライブラリ:コンテナ)
第3部 ゲーム開発のテクニック(抽象インターフェイス
プラグイン
C++とスクリプト言語
RTTI(実行時型情報)
オブジェクトの作成と管理
オブジェクトのシリアライズ
大きなプロジェクトの注意点
クラッシュに耐えるゲームの作成)
Amazonで詳しく見る
紹介文
いちばん売れているRuby入門書の決定版。
初版から17年。改訂とともに変化しながら、ずっと読まれ続けている定番書です。
第6版では、最新のバージョンに対応。
プログラミング初心者でも読み解けるように、
チュートリアル、基礎、クラス、実践とテーマを切り分けて、平易に解説。
Rubyの基礎から応用までがわかる一冊。
第1部 Rubyをはじめよう
第2部 基礎を学ぼう
第3部 クラスを使おう
第4部 ツールを作ってみよう
Amazonで詳しく見る
紹介文
「日本の現場」に寄り添った、アジャイルの実践!ストーリーで開発の神髄を学ぼう
「日本の現場」に寄り添った、アジャイル開発の実践!
現場のストーリーで、開発の神髄を学ぼう
【本書の特徴】
・現場のストーリーから、考え方とプラクティスを一緒に学べる
・1人でも始められる業務改善の手法から、チームマネジメントの手法まで解説
・日本の現場を前提にしているので、実践しやすい
・アジャイルをこれから始める人だけでなく、もっとうまく実践したい人にも最適
【本書に登場するプラクティス】
モブプログラミング / バリューストリームマッピング / ユーザーストーリーマッピング / 仮説キャンバス / ハンガーフライト / カンバン / 期待マネジメント / リーダーズインテグレーション / ファイブフィンガーなど
【あらすじ】
ITエンジニアとしてSIer企業に勤務する江島は、
問題だらけのプロジェクト、やる気のない社員たちに嫌気が差していた。
そんな中、ある開発者向けイベントに参加したことがきっかけで、
まずは自分の仕事から見直していこうと考える。
タスクボードや「ふりかえり」などを1人で地道に続けていると、
同僚が興味を示したため、今度は2人でカイゼンに取り組んでいく。
ここから、チームやクライアントを巻き込んだ、現場の改革がはじまる。
チーム内の軋轢、クライアントの無理難題、迫りくるローンチ……
さまざまな困難を乗り越え、江島がたどり着いた「越境する開発」とは。
【筆者コメント(「あとがき」より)】
良い問いは人を立ち返らせてくれます。
そのような問いは人によって異なるでしょう。
読者のみなさんにとっての良い問いと出会えるよう、
江島(本書の主人公)同様、自分がいる場所から外に出て、
いろいろと見聞きしてみてください。
もちろんこの本があなたにとっての
良い問いになることを願っています。
【目次(抜粋)】
●第1部 一人から始める
・第1話 会社を出ていく前にやっておくべきこと
・第2話 自分から始める
・第3話 一人で始めるふりかえり etc
●第2部 チームで強くなる
・第9話 一人からチームへ
・第10話 完成の基準をチームで合わせる
・第11話 チームの向かうべき先を見据える etc
●第3部 みんなを巻き込む
・第20話 新しいリーダーと、期待マネジメント
・第21話 外からきたメンバーと、計画づくり etc
●第1部 一人から始める
・第1話 会社を出ていく前にやっておくべきこと
・第2話 自分から始める
・第3話 一人で始めるふりかえり
・第4話 一人で始めるタスクの見える化
・第5話 明日を味方につける
・第6話 境目を行き来する
・第7話 二人ならもっと変えられる
・第8話 二人から越境する
●第2部 チームで強くなる
・第9話 一人からチームへ
・第10話 完成の基準をチームで合わせる
・第11話 チームの向かうべき先を見据える
・第12話 僕たちの仕事の流儀
・第13話 お互いの期待を明らかにする
・第14話 問題はありませんという問題
・第15話 チームとプロダクトオーナーの境界
・第16話 チームとリーダーの境界
・第17話 チームと新しいメンバーの境界
・第18話 チームのやり方を変える
・第19話 チームの解散
●第3部 みんなを巻き込む
・第20話 新しいリーダーと、期待マネジメント
・第21話 外からきたメンバーと、計画づくり
・第22話 外部チームと、やり方をむきなおる
・第23話 デザイナーと、共通の目標に向かう
・第24話 視座を変えて、突破するための見方を得る
・第25話 広さと深さで、プロダクトを見立てる
・第26話 チームで共に越える
・第27話 越境する開発