【2023最新】「go」のおすすめ本!人気ランキング
- Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る (impress top gear)
- 改訂2版 みんなのGo言語
- やさしいGo言語入門
- Go言語 ハンズオン
- 初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
- Go言語による並行処理
- Go言語でつくるインタプリタ
- Laravelの教科書 バージョン10対応
- パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)
- 現役東大生が書いた 地頭を鍛えるフェルミ推定ノート――「6パターン・5ステップ」でどんな難問もスラスラ解ける!
HTTPの仕組み、小さなサンプルから説明。リクエストやレスポンスまわりのコーディング、テンプレート/DBの活用、テスト/デプロイも解説! 第1部 Go言語とWebアプリケーションの親和性(Go言語はWebアプリ開発に最適な言語 Goプログラム「ChitChat」-典型的なGo Webアプリのデザイン) 第2部 Webアプリ開発の基本テクニック(net/httpライブラリを使ったリクエストの受け付け リクエストのデータ構造とその処理 テンプレートエンジンを使ったコンテンツの表示 データの記憶-構造体、ファイル、データベース) 第3部 リアルな開発への準備(GoによるWebサービスの作成-XMLおよびJSONの生成と解析 テスト用ライブラリを使ったアプリケーションのテスト ゴルーチンとチャネルを使った並行処理 Go Webアプリのデプロイ-Heroku、GAE、Docker)
2016年に刊行し好評いただいた「みんなのGo言語」の改訂版です。全章を最新の内容にアップデートし、「第7章 データベースの扱い方」を新規で書き下ろします。ますます注目の集まるGoを現場で使うためのノウハウが1冊に凝縮されています! 第1章 Goによるチーム開発のはじめ方とコードを書く上での心得 第2章 マルチプラットフォームで動作する社内ツールのつくり方 第3章 実用的なアプリケーションを作るために 第4章 コマンドラインツールを作る 第5章 The Dark Arts Of Reflection 第6章 Goのテストに関するツールセット 第7章 データベースの扱い方 第1章Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸) 1.1 開発環境の構築 1.2 エディタと開発環境 1.3 Goをはじめる 1.4 Goらしいコードを書く 第2章マルチプラットフォームで動作する社内ツールのつくり方(mattn) 2.1 Goで社内ツールをつくる理由 2.2 守るべき暗黙のルール 2.3 TUIもWindowsで動かしたい 2.4 OS固有の処理への対応 2.5 がんばるよりもまわりのツールに頼る 2.6 シングルバイナリにこだわる 2.7 Windowsアプリケーションの作成 2.8 設定ファイルの取り扱い 2.9 社内ツールのその先に 第3章実用的なアプリケーションを作るために(藤原俊一郎) 3.1 はじめに 3.2 バージョン管理 3.3 効率的なI/O処理 3.4 乱数を扱う 3.5 人間が扱いやすい形式の数値 3.6 Goから外部コマンドを実行する 3.7 タイムアウトする 3.8 シグナルを扱う 3.9 goroutineの停止 第4章コマンドラインツールを作る(中島大一/上田拓也) 4.1 なぜGoでCLIツールを書くのか? 4.2 デザイン 4.3 flagパッケージ 4.4 サブコマンドを持ったCLIツール 4.5 使いやすく,メンテナンスしやすいツール 第5章The Dark Arts Of Reflection(牧 大輔) 5.1 動的な型の判別 5.2 reflect パッケージ 5.3 reflect の利用例 5.4 reflect のパフォーマンスとまとめ 第6章Goのテストに関するツールセット(鈴木健太) 6.1 Goにおけるテストのあり方 6.2 testingパッケージ入門 6.3 ベンチマーク入門 6.4 テストの実践的なテクニック 第7章データベースの扱い方(mattn) 7.1 Goにおけるデータベースの取り扱い 7.2 database/sqlを使ってデータベースに接続する 7.3 Exec命令の実行 7.4 Query命令の実行 7.5 Goにおけるデータベースの型 7.6 ORMを使ったデータベースの扱い方 7.7 RESTサーバを作る
グーグルで開発が始まって十年が経過し、主にサーバー側/Webアプリケーション開発とメンテナンス性に優れ、学習ハードルが低いことから、世界で100万人以上の開発者が利用されているGo言語。 本書は、理論の座学よりも実際に手を動かす「ハンズオン」形式で、Go言語の基礎から実践までを学びます。 本書は、Go言語を実際に手を動かしながら基礎から実践的な内容まで学ぶ書籍です。文法や仕様などを、ハンズオン形式で学べるので、座学が苦手な人も安心して学習できます。
Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説。 他言語使いのためのGo言語実践入門! イディオマティックなGo言語の解説書。構文がシンプル、静的型付け、タイプセーフでメモリセーフ、バグが入り込みにくい、並行処理が得意、実行速度が速い……これらの魅力的な特徴を生かすためには、Go言語らしい書き方を可能にする「イディオム」を学ぶ必要があります。Go言語のイディオムをマスターすれば、効率的で読みやすいコードを書けます。本書では、Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説します。読者はベテランのGo開発者のように考える術を学べます。
Go言語の並行処理の扱い方に関するわかりやすい手引書! Go言語の並行処理の扱い方に関するわかりやすい手引書! シンプルな言語仕様と手厚い並行処理機能で、多くのプログラマの心を捉えるGo言語。そのGoの並行処理の設計哲学、言語の機能、また実際のプログラミングテクニックや並行処理の使い方、システムに導入する際のベストプラクティスとパターン、その内部構造までをまとめた1冊です。
Go言語を使って架空のプログラミング言語のインタプリタを作りながら言語の作り方とコンピュータの内部の動作を学ぶ書籍。 Go言語を使って架空のプログラミング言語のインタプリタを作ることで言語の作り方やコンピュータの仕組みを学ぶ ! Go言語を使って架空のプログラミング言語のインタプリタを作りながら言語の作り方とコンピュータの内部の動作を学ぶ書籍です。300ページ弱の分量で、インタプリタがどのように作られているのかを実際に言語を作りながら学ぶことができるます。
人気のWebアプリケーションフレームワークLaravelの入門書です。最新のバージョン10に対応。 Webアプリケーションフレームワーク「Laravel」の入門書。 Webアプリ開発に興味があり、Laravelにどんな機能があるか知りたい人を対象に、すべての手順を「オールカラー」で、ていねいに解説します。 人気のWebアプリケーションフレームワークLaravelの入門書です。最新のバージョン10に対応。 CHAPTER 1 Laravelで何ができるの? CHAPTER 2 Laravelを使うための準備 CHAPTER 3 Laravelの仕組み CHAPTER 4 コードの基本的な入力方法 CHAPTER 5 Laravelとデータベースの連携 CHAPTER 6 投稿データの作成と保存 CHAPTER 7 投稿データの一覧表示 CHAPTER 8 ミドルウェアによるアクセス制限 CHAPTER 9 データの個別表示・編集・削除処理の搭載 CHAPTER 10 テストデータ作成・ペジネーション搭載 CHAPTER 11 エラーの解決方法 CHAPTER 12 今後の学習について
1000以上のフェルミ推定問題を解いた東大生たちが、その「とっかかり」と「解法ステップ」を体系化。だれも書かなかったこの体系さえおさえれば、あなたも最高の思考トレーニングができる。 1 1000問解いてみてわかった!フェルミ推定6つのパターンと5つのステップ(フェルミ推定の基本体系 フェルミ推定の基本5ステップ) 2 6+1パターン15問のコア問題で、地頭を効率的に鍛える!(個人・世帯ベースでストックを求める問題 法人ベースでストックを求める問題 面積ベースでストックを求める問題 ユニットベースでストックを求める問題 マクロ売上を求める問題 ミクロ売上を求める問題 「マクロ需要÷ミクロ供給」でストックを求める問題) +15問でワンランク上の地頭を作る!練習問題解答 フェルミ推定問題厳選100問
本書は,Go言語によるプログラミングを学ぶための入門書です。開発環境のインストールから始まり,Go言語の基本を解説しており、最初の1冊目として最適です。Go言語によるプログラムの作り方の基本から条件分岐や繰り返し、関数、構造体など文法を学習し、最後に入出力、画像処理、並列処理、Go言語によるWebサーバーなどを作成して基礎を固めていきます。 ■CHAPTER 1 Let's go ! Go言語 ●SECTION 01 プログラミングとGo言語 プログラミングとは なぜいろいろなプログラミング言語があるのか 主なプログラミング言語 Go言語の特徴 ●SECTION 02 Goプログラミングを実行できるようにする ホームページ上の実行環境 Goコンパイラをインストールする Goプログラムを体験する Visual Studio Codeをインストールする ●SECTION 03 プログラムの中身を見てみる mainの意味 importの意味 ●SECTION 04 プログラム実行に最低限必要なこと 別のソースファイルを書いてビルド・実行 変数の使用 式とその値 文 その他の重要なこと ■CHAPTER 2 よく使うデータ型 ●SECTION 01 数値でよく使うデータ型 データ型とは データ型を自動判別する代入記法 自分自身の値に処理を加える 整数「int」と小数「float64」 ●SECTION 02 文字列型 文字列の基本 文字列の結合 数値を文字列に埋め込む エスケープ記号を用いた改行 ●SECTION 03 データの集合体 整数を要素とする配列 配列とスライス ●SECTION 04 ブール型 ブール型の基本 等価演算子による式の値 比較演算子による式の値 論理演算子による式の値 ■CHAPTER 3 処理の流れを操る制御文 ●SECTION 01 繰り返す(for文) for文の基本 文字列の配列 2次元配列上での繰り返し ●SECTION 02 もし...なら(if文) そうでなければ何もしない そうでなければ、別の処理をする ●SECTION 03 switch文 switch文の基本 式の値で場合分け ●SECTION 04 高度な制御文 論理積・論理和を用いたif文 switch文の便利な使い方 ■CHAPTER 4 複雑な処理をまとめる関数 ●SECTION 01 プログラミングでいう「関数」 関数をなぜ使うのか 関数の定義方法 関数の呼び出し ●SECTION 02 関数の値を用いる Printf関数のしくみ main関数の謎 別の関数を呼び出す 複数の戻り値を与える ●SECTION 03 値としての関数 「関数の値」ではなく「関数が値」 関数を引数にとる関数 ●SECTION 04 クロージャという特殊な関数 関数を実行するたび加算される? 引数を取るクロージャ クロージャのどこがいいのか ■CHAPTER 5 複雑なデータ構造を記述する構造体 ●SECTION 01 フィールドだけを持つ構造体 ── 犬の種類を書く プログラムの中で「犬」を記述してみよう 構造体のインスタンスのフィールド 構造体のインスタンスを引数にとる関数 構造体のインスタンスを戻り値とする関数 ●SECTION 02 構造体にメソッドを与える ── 犬を主人公にする メソッドを用いたプログラム 似て非なる構造体と同名のメソッド 引数をとるメソッド ●SECTION 03 一歩進んだ構造体の使い方 構造体の初期化メソッド メソッドのチェインあるいはストリーム いろいろなメソッド メソッドのチェインをmain関数で作成 ●SECTION 04 インターフェイス インターフェイスとは より複雑な構造体とインターフェイス ■CHAPTER 6 データを直接指し示すポインタ ●SECTION 01 アドレスとポインタ 変数から変数へ値を渡す 値の保存場所を明らかにする アドレスを指して内容を呼び出す アドレスを指して内容を書き換える ●SECTION 02 関数とポインタ クロージャの謎 アドレスを引数に渡す関数 構造体のポインタと関数 ●SECTION 03 メソッドとポインタ 構造体にポインタを使いたい理由 レシーバを構造体のポインタにする ●SECTION 04 ポインタ使用上の注意 レシーバを構造体のポインタにしない場合との違い メソッドのチェインとの使い分け 構造体のフィールドにポインタ表現を用いる ■CHAPTER 7 Goプログラミングの注意事項 ●SECTION 01 値がない・値を定義しない nilとは フィールドの値を決めないとどうなるか 変数を宣言したままの場合 配列とスライスで要素を決めない場合 ●SECTION 02 基本的な型変換 整数を文字列に変換するには 小数を文字列に変換するには 整数と小数を相互に変換 変数の値のデータ型を確認する ●SECTION 03 エラーの扱い 結果とエラーインスタンスをともに戻す関数 Atoiが返すerror型インスタンス errorの正体は「インターフェイス」 ●SECTION 04 高度なデータ型 整数の細かいデータ型 複素数 文字列の解析 mapとrange ■CHAPTER 8 Go言語の魅力を体験するプログラム ●SECTION 01 入出力 キーボードからの入力 ファイルからの入力 ファイルへの出力 ●SECTION 02 画像を処理する 画像の読み込み 画像の作成と書き込み ●SECTION 03 並列処理 goroutine(ゴルーチン) チャンネル 複数のチャンネルを使い分ける ●SECTION 04 Go言語で書けるWebサーバー Webサーバープログラムに必要なパッケージ Go言語のWebサーバーを動かすしくみ 特定のページが呼ばれた場合 テンプレートをファイルから読み込む フォームからの送信データを受け取る
世界をとらえる思考力が身につく、全76題 常識と四則演算だけで答えよ! 100万人の集会にトイレは何個必要? 人体に細胞はいくつある? 4光年を旅する宇宙船に必要な燃料量は? このようなとらえどころのない問題に、常識と四則演算だけで答えを出す「フェルミ推定」の良問を76題集めたドリル。 世界の現実を捉え、自分の頭で考えるための強力な武器となるフェルミ推定は、多くのIT企業の入社試験にも使われてきた。 その基礎から説き起こし、利用例を多数の例題で示す。 フェルミ推定には、フェイクニュースや誇張された主張の問題点を見抜く力もあり、 たとえば、「自動車は近い将来にすべて電気自動車になる」とか 「太陽光と風力による発電で火力や原子力発電は代替可能」などという主張も、本書で検証されることに……。 読み終えたら、世界が違って見える一冊! まえがき 第1章 問題の解き方 ステップ1 ステップ2 例1:モンガミリオンズ宝くじの山 例2:とんでるアメリカ人 例3:ロサンゼルスのピアノ調律師 第2章 大きな数を相手にする 2.1 科学的表記法 2.2 正確さ 2.3 単位について 2.4 単位の換算 第3章 一般的な問題 3.1 大家族 3.2 フォア! 3.3 ピクルスでとどく距離 3.4 タオルを投げ入れる 3.5 そこの君、ドームをいっぱいにしてくれないか? 3.6 1モルのネコ 3.7 ずっしり重い宝くじ 3.8 ゴミの山 3.9 トラッシュモア山 3.10 とんでる人たち 3.11 問題を棚に上げる 第4章 動物と人 4.1 空の星よりもたくさん 4.2 働いている血液 4.3 皮膚を脱ぐ 4.4 長い長い髪 4.5 ホットドーーーーーーッグ 4.6 フィールドは広かった 4.7 気持ち悪い計算! 4.8 トイレに行く 4.9 まっすぐに伸ばすと 第5章 交通手段 5.1 クルマで土星の向こうまで 5.2 ガソリンに溺れる 5.3 ハイウェイをゆっくりと 5.4 人力車と自動車 5.5 車の排ガス・馬の排カス 5.6 タイヤの跡 5.7 車のために働く 第6章 エネルギーと仕事 6.1 高さのエネルギー 6.1.1 山登り 6.1.2 アルプス山脈を平らにする 6.1.3 建物を高くする 6.2 運動エネルギー 6.2.1 サービス 6.2.2 運動学的トラック輸送 6.2.3 大陸のレース 6.2.4 「勇敢に航海し…」 6.3 仕事 6.3.1 クラッシュ! 6.3.2 スパイダーマンと地下鉄の車両 第7章 炭化水素と炭水化物 7.1 化学エネルギー 7.1.1 ガソリンのエネルギー 7.1.2 電池のエネルギー 7.1.3 電池のエネルギー密度 7.1.4 電池とガソリンタンクの比較 7.2 食物がエネルギー 7.2.1 食事と給油 7.2.2 エタノールの農地 7.3 パワー! 7.3.1 熱い人間 7.3.2 ガソリンを満タンにする 7.3.3 電気自動車を充電する 第8章 地球、月、そしてスナネズミ 8.1 「それでも地球は回っている」 8.2 かわして! 8.3 超特大の太陽 8.4 太陽のパワー 8.5 スナネズミでできた太陽 8.6 化学的な太陽 8.7 隣り合わせの超新星 8.8 溶けた氷床 第9章 エネルギーと環境 9.1 人々への電力供給 9.2 大陸の電力 9.3 太陽エネルギー 9.4 太陽エネルギー用の土地 9.5 風車と戦う 9.6 石炭の電力 9.7 原子核の電力 9.8 舗装された地面 第10章 大気 10.1 薄い大気の中へ 10.2 太古の大気 10.3 呼吸 10.4 石炭からのCO2 10.5 大出力 10.6 車からのCO2 10.7 ガソリンを木に変える 10.8 木をガソリンに変える 第11章 リスク 11.1 路上のギャンブル 11.2 航空機の真実 11.3 生命のビーチ 11.4 煙のように消える 第12章 例解のない問題 付録A 必要な数値と公式 付録B 例解のためのヒント 参考資料
Go言語でのWebアプリの開発手法を解説! Goは2012年3月にバージョン1がリリースされてから約10年が経ちました。その間Goは多くの企業で利用され、その利用シーンもさまざまです。本書はGoでREST API Webアプリケーションを開発するときに必要な知識に特化した内容になっています。 本書は前半でWebアプリケーション開発の事前知識としてGoの設計思想や知っていると便利な標準パッケージの機能について紹介し、後半でGoを用いたWebアプリケーションのコードをハンズオン形式で解説します。 また、本書ではベテランGopherが暗黙知的に行なっているイディオムの解説や、標準パッケージやメジャーなサードパーティOSSを使った実践的なコーディングテクニックを紹介しています。
「C/C++」をさらに簡単にしたコンパイル言語のひとつ、次世代コンパイル言語「Go言語」の基礎を解説します。 2005年ごろから、「スクリプト言語」が勢いを増す一方で、「C/C++をもっと簡単にしたコンパイル言語」も意欲的に開発されてきました。その代表格の1つが本書で解説する「Go」です。 「Go」は、Googleがクラウドや検索、AIなどを扱う自社のサービスに最適化できる言語として開発されました。 米HackerRankが毎年公表している「エンジニアが学びたいプログラミング言語ランキング」では、 2019年に圧倒的1位を取り、今も強い人気を誇っています。 また、GitHubの「2022年で急成長しているプログラム」のベスト5にも数えられ、実際にクラウドコンピューティング、Webサービスなどを中心に多くの組織で用いられています。 「Go」は、「C/C++」から必要な部分のみを受け継ぎ、冗長さは廃して、より洗練されて読みやすいコードを書ける仕様になっています。さらに、最近需要の多い技術を実現するコードを簡単に書けるようなライブラリが備わっています。 本書は、このような実用的なプログラムを用いながら、「Go」の基礎を解説していきます。 「C/C++」をさらに簡単にしたコンパイル言語のひとつ、次世代コンパイル言語「Go言語」の基礎を解説します。 ■「Go」のはじめ方 ・プログラミング言語「Go」 ・Goのインストール ・はじめてのGoプログラム ■Webサーバと基本的なデータの記述 ・Helloプログラムの解説 ・Goで簡単に書けるWebサーバ ・Goで数値演算 ・複合したデータ型 ■Goの関数とポインタ ・モジュールで使用するファイルを分ける ・Goの関数 ・構造体を引数に渡す ・関数とポインタ ■メソッドとインターフェイス ・メソッドの基本 ・メソッドの特徴的な使い方 ・インターフェイスとメソッド ■Goに特有の記法 ・繰り返しと条件分岐 ・ジェネリック ・並行処理 ・ファイルの読み書き
本書は、中級以上のGoプログラマーがツール開発・プロダクト開発で必要とされるプログラミングテクニックおよび周辺知識を学ぶための実践集です。 Goはコマンドラインツール、Webサービス開発、ソフトウェアやクラウドサービスの拡張機能開発、IoTなど利用範囲の広いプログラミング言語です。これらの用途でGoを使うには、基本的な文法だけでなく、Goの特徴を活かした定石のコードの書き方、ライブラリの知識、テストなどの開発手法、Go以外の周辺知識などの理解も必要です。文法解説が主の入門書では、これらを学ぶことは難しいです。そこで本書では、現役のGoプログラマーが実務や趣味で開発したオープンソースソフトウェア(OSS)を紹介します。その開発の過程で書かれたコード、参照された資料、使われた開発手法を解説しつつ、より詳しく学ぶための参考資料を提示します。入門レベルを脱して、自ら応用力を身につけるための取っ掛かりとなる情報を提供します。 序章 プロダクト開発の前に習得しておきたい6機能 0.1 基本の型とインタフェース 0.1.1 Goにおける型 0.1.2 スライスの操作 0.1.3 マップの操作 0.1.4 構造体の設計 0.1.5 メソッドの呼び出し 0.1.6 インタフェースの基礎 0.1.7 インタフェースの設計 0.1.8 型情報を利用した処理 0.2 入出力 0.2.1 入出力とioパッケージ 0.2.2 io/fsパッケージ 0.3 ゴルーチンとチャネル 0.3.1 Goの並行処理における哲学 0.3.2 ゴルーチン 0.3.3 チャネル 0.3.4 チャネルパターン 0.3.5 シンプルに並行処理を記述する 0.3.6 並行性の問題を検出する 0.4 コンテキスト 0.4.1 コンテキストとは 0.4.2 なぜcontextパッケージが必要なのか 0.4.3 contextパッケージの基本 0.4.4 contextパッケージの使い方 0.5 ポインタ 0.5.1 Goにポインタはなぜ必要なのか 0.5.2 ポインタと実体の使い分け 0.5.3 unsafe.Pointerの世界 0.6 エラーハンドリング 0.6.1 エラーの基礎 0.6.2 エラーのラッピング 0.6.3 実践的なエラーハンドリング 0.6.4 まとめ 第1章 Goエキスパートたちの実装例1 CLIツール、ライブラリ 1.1 コードの複雑さを計測するコードチェックツール 1.1.1 Goのコードを静的解析する 1.1.2 コードの複雑さを計測する方法 1.1.3 GoでGoのソースコードを扱う 1.1.4 循環複雑度を調べる機能を作る 1.1.5 静的解析ツールを作成し実行する 1.1.6 まとめ 1.2 依存関係のある処理を並行して実行できるタスクランナー 1.2.1 タスクランナーを作成する 1.2.2 Goでコマンドラインツールを作る理由 1.2.3 タスクランナー「ran」 1.2.4 ranの実装 1.2.5 まとめ 1.3 インターネット回線のスピードテスト 1.3.1 スピードテストサービスを作る 1.3.2 スピードテストサービスのしくみ 1.3.3 アプリケーションの実装 1.3.4 CLIの実装 1.3.5 まとめ 1.4 インタラクティブなgRPCクライアント 1.4.1 gRPCクライアント「Evans」 1.4.2 gRPCとProtocol Buffers 1.4.3 CLIツール作成に役立つOSS 1.4.4 アプリケーションの実装 1.4.5 E2Eテスト 1.4.6 アプリケーションの配布 1.4.7 まとめ 1.5 複数のアルゴリズムに対応したチェックディジットライブラリ 1.5.1 身近なしくみを発見する 1.5.2 チェックディジットとは 1.5.3 利用する側に寄り添う 1.5.4 さまざまなチェックディジットの生成方法 1.5.5 Exampleテストを用いたドキュメンテーション 1.5.6 CLIを実装し利用するハードルを下げる 1.5.7 まとめ 1.6 Kubernetesなどの設定ファイルのテストツール 1.6.1 インフラの設定ファイルのテストツールを作る 1.6.2 HashiCorp SentinelとPolicy as Code 1.6.3 steinの紹介 1.6.4 steinの実装 1.6.5 まとめ 1.7 Cloud Spanner用データベーススキーマ管理ツール 1.7.1 Cloud Spannerの利点と難点 1.7.2 DBスキーマ管理ツール「Wrench」 1.7.3 Bazelを用いたビルド 1.7.4 まとめ 1.8 ビットコインメッセージの変換関数の生成 1.8.1 コードの自動生成 1.8.2 ビットコイン(Bitcoin)とは 1.8.3 Bitcoinのプロトコルの特徴 1.8.4 実装 1.8.5 まとめ 1.9 条件を柔軟に変えられるリトライライブラリ 1.9.1 リトライの意義 1.9.2 リトライとは 1.9.3 うまくリトライするためのポイントと実装 1.9.4 まとめ 第2章 Goエキスパートたちの実装例2 API連携、他機能連携 2.1 Nature Remoによる家電の操作 2.1.1 Nature Remoを使って家電を操作する 2.1.2 コマンドラインツールから家電を操作する 2.1.3 LINEでエアコンを予約する 2.1.4 まとめ 2.2 Raspberry PiによるCO2、温湿度、気圧のモニタリング 2.2.1 センサーを使ったIoTデバイスを作成する 2.2.2 センサーからデータを読み取る 2.2.3 サーバとWorkerの作成 2.2.4 まとめ 2.3 KubernetesのJob実行ツール 2.3.1 Kubernetesを用いた開発の現状と課題 2.3.2 GoアプリケーションのJob実行ツール「jctl」 2.3.3 Kubernetesのクライアント 2.3.4 GitHub Actionsとkindを利用したE2Eテスト 2.3.5 まとめ 第3章 Goエキスパートたちの実装例3 ソフトウェアやWebサービスの拡張機能 3.1 Goによるプラグイン機能の実装 3.1.1 プラグインとは 3.1.2 Goでプラグイン機能を実装する方法 3.1.3 動的ライブラリとしてプラグインを作成する 3.1.4 別のバイナリとしてプラグインを作成してRPC経由で利用する 3.1.5 pluginパッケージを利用したscenarigoの実装 3.1.6 まとめ 3.2 GitHub Actionsによる自動化 3.2.1 GitHub Actionsとは 3.2.2 GitHub Actionsの使い方 3.2.3 GitHub Actionsの作り方 3.2.4 Actionの実装 3.2.5 ユニットテスト 3.2.6 Dockerfileの作成 3.2.7 インテグレーションテスト 3.2.8 Actionの公開 3.2.9 まとめ 3.3 Kubernetes Custom Controllerで作るCloud Spannerオートスケーラ 3.3.1 Cloud Spannerオートスケーラ開発の経緯 3.3.2 Kubernetes Custom Controller 3.3.3 spanner-autoscaler 3.3.4 まとめ 3.4 Envoy Control Plane Kubernetes Controller 3.4.1 クラスタ上のEnvoyを管理するためのxDS APIサーバ 3.4.2 Goを用いたControl Planeの実装 3.4.3 Kubernetes Custom Controllerのための開発環境 3.4.4 まとめ 3.5 Custom Terraform Providerによるプロビジョニングの自動化 3.5.1 Terraformで公式対応されていないリソースを管理するには 3.5.2 Terraform Providerとは 3.5.3 Custom Terraform Providerの作り方 3.5.4 Terraform Registryに公開 3.5.5 まとめ 第4章 Goエキスパートたちの実装例4 Goの活用の幅を広げる技術 4.1 高度なテキスト変換 4.1.1 簡単なテキスト変換 4.1.2 文字コードや半角・全角の変換 4.1.3 Unicodeとコードポイントごとの変換 4.1.4 transform.Transformerインタフェースの実装 4.1.5 まとめ 4.2 WebAssemblyを使ってブラウザ上でGoを動かす 4.2.1 Goの世界を大きく広げるWebAssembly 4.2.2 WebAssemblyとは 4.2.3 Goのコードをブラウザ上で動かす 4.2.4 syscall/jsを使う 4.2.5 GoのパッケージをJavaScriptから使えるようにする 4.2.6 まとめ 4.3 cgoでGoからC言語のライブラリを使う 4.3.1 Goの可能性を広げるcgo 4.3.2 FFIとcgo 4.3.3 cgoの使い方 4.3.4 GoからCの関数を呼び出す方法 4.3.5 CからGoの関数を呼び出す方法 4.3.6 構造体のバインディング 4.3.7 cgoを使って開発したライブラリ例 4.3.8 まとめ 第5章 Goエキスパートたちの実装例5 実験・検証 5.1 Mutual-TLS Certificate-Bound Access Tokens 5.1.1 アクセストークンとは 5.1.2 JWT、Mutual TLS、OAuth 5.1.3 Mutual TLS Certificate-Bound Access Tokens 5.1.4 Goにおける実装 5.1.5 まとめ 5.2 簡易な空間検索 5.2.1 はじめに 5.2.2 ナイーブなアプローチ 5.2.3 4分木 5.2.4 木の特徴 5.2.5 点に経路を割り当てる 5.2.6 検索に用いる 5.2.7 より多次元への拡張 5.2.8 まとめ
本書はGo言語の入門書です。Go言語の基本的な構文から、特徴的な機能、実際にプログラムを書いてみたい方に必要な知識を解説。 Go 1.6に対応! 構文や動作を「なぜ・どうして」から解説。 読みやすさ、理解の深さを追求したGo入門書! 本書は、Goプログラミングをこれから始める方のための学習書です。Go言語の基本的な構文から、特徴的な機能、開発ツールや使用頻度の高いパッケージの使い方まで、実際にプログラムを書いてみたい方に必要な知識を解説しています。 Go言語の最新バージョン1.6に対応。データ型からチャネルとゴルーチンなどの特徴的な機能、各種パッケージまで、コード例をふんだんに使って「なぜそうなるのか」から説明していますので、C/C++、Java、C#、PythonやPHP、Rubyなど何かしらのプログラミング言語を学んだ方であれば「なるほど、なるほど」と腹落ちしながら読み進められます。 使用頻度の高いパッケージの使い方は集中的に解説するほか、巻末には標準ライブラリのパッケージカタログ付き。座右において便利に使える一冊です。 ■Go言語とは Go言語(Golangとも呼ばれます)は、2009年に米Googleが公開したプログラミング言語です。構文は簡潔で可読性が高く、コンパイル言語ゆえの安全性とインタプリタ言語のような開発の軽快さを両立し、マルチコアや並行処理などに対応していることから、次世代のソフトウェア開発を支えるプログラミング言語の1つと期待されています。 はじめに Goとは Goの特徴 本書の想定読者 本書の構成 対象とするGoのバージョン Chapter 1:開発環境 ~ Windows・OS X・LinuxへのGoのインストール 1.1 はじめに 1.2 公式ページ 1.3 Goのダウンロード 1.4 Windows環境への導入 1.5 OS X環境への導入 1.6 Linux環境への導入 1.7 SCMとの連携 1.8 開発環境について Chapter 2:プログラムの構成と実行 ~ Goプログラムの書き方とビルド・実行・パッケージ作成 2.1 はじめに 2.2 テキストエディターとエンコーディング 2.3 go run 2.4 プログラムのビルド 2.5 パッケージと構成 Chapter 3:言語の基本 ~変数・型・演算子・関数・定数・スコープ・制御構文・ゴルーチン 3.1 コメント 3.2 文 3.3 定義済み識別子 3.4 コード例の表記について 3.5 fmtパッケージ 3.6 変数 3.7 基本型 3.8 配列型 3.9 interface{}とnil 3.10 演算子 3.11 関数 3.12 定数 3.13 スコープ 3.14 制御構文 Chapter 4:参照型 ~スライス・マップ・チャネル 4.1 参照型とは 4.2 組み込み関数make 4.3 スライス 4.4 マップ 4.5 チャネル Chapter 5:構造体とインターフェース ~ポインタ・構造体・メソッド・タグ・インターフェース 5.1 はじめに 5.2 ポインタ 5.3 構造体 5.4 インターフェース Chapter 6:Goのツール ~さまざまなGoコマンド 6.1 Goのツール群について 6.2 goコマンド 6.3 go version 6.4 go env 6.5 go fmt 6.6 go doc 6.7 go build 6.8 go install 6.9 go get 6.10 go test 6.11 ベンダリング Chapter 7:Goのパッケージ ~よく使われるパッケージとコーディング例 7.1 はじめに 7.2 os 7.3 time 7.4 math 7.5 math/rand 7.6 flag 7.7 fmt 7.8 log 7.9 strconv 7.10 unicode 7.11 strings 7.12 io 7.13 bufio 7.14 ioutil 7.15 regexp 7.16 json 7.17 net/url 7.18 net/http 7.19 sync 7.20 crypto/* 巻末付録:Go標準ライブラリオーバービュー
Goプログラミングによる開発手法および関連技術の使い方をマスターし、ツールやプログラムの開発スキルの向上が可能。 Go言語の実践テクニックを身につけたいGoプログラミング経験者は必読! Goプログラミングについて一歩踏み込んだプロユースの解説書。読者はシンプルなコードを書きながら、実運用アプリケーションの開発で使うスキルとテクニックを学ぶことができます。本書のサンプルプログラムはどれもシンプルですがとても実践的です。拡張性、並行処理、高可用性といったエンタープライズアプリケーションの開発で直面する現実的な問題に対するソリューションが含まれています。本書を読めば、実際の業務に必要な技能――Goによる開発手法および関連技術の使い方――をマスターし、ツールやプログラムの開発スキルを迅速かつ簡単に向上できます。日本語版では、監訳者の鵜飼文敏氏による巻末付録「Goらしいコードの書き方」を収録しました。
Go言語の実践的な題材や設計のポイントなどを業務の現場でGoを使う著者陣がレシピ形式で多数解説。現場に即したトピックを紹介。 プログラミング言語Goの、知っておきたいコーディング例や設計のポイントなどを多数レシピ形式で解説! 業務プログラミングの現場でも多数採用されるようになってきたGo言語。基本的な文法についてはオンラインのドキュメントが充実していますが、そこから先に必要となる実践的な題材や設計のポイントなど、現場に即したコツを、業務の現場でGoを使う著者陣がレシピ形式で多数解説。構造体やインターフェースの使い方からCSVファイルや固定長ファイル、JSONの扱い方、ログやテスト、クラウドの実行環境など現場に即した幅広いトピックを紹介します。 Go言語の実践的な題材や設計のポイントなどを業務の現場でGoを使う著者陣がレシピ形式で多数解説。現場に即したトピックを紹介。
Go言語で分散サービスを構築する方法を解説。サービス概要と基本を解説し、設計、開発およびデプロイの方法をコードを使って学ぶ。 可用性、復元力、拡張性のある分散サービスをGo言語で構築! 本書は、Go言語で分散サービスを構築する方法を解説する書籍です。分散サービスの概要と基本を解説し、設計、開発、およびデプロイする方法をコードを使って学びます。はじめに、ストレージレイアの構築とデータ構造の定義を行い、サービスをネットワーク上で動作させる方法を説明します。そしてサービスを分散させて、可用性、耐障害性、拡張性を実現させる方法を解説し、本番環境にデプロイする方法を学びます。 Go言語で分散サービスを構築する方法を解説。サービス概要と基本を解説し、設計、開発およびデプロイの方法をコードを使って学ぶ。
新言語Goでプログラミングの“はじめの一歩”から“並行プログラミング”まで 【本書の内容】 比較的小さいけれど、どのようなスキルのプログラマ(含む予備軍)にとっても有用で有益なプログラミング言語がGoです。 本書は2009年に発表され、以来、コンパクトさとシンプルさを残したまま、さまざまなスキルをもったプログラマに愛される言語として成長してきたGo言語を意のままに操れるレベルを目指せる学習書です。 ビギナーにとっても、Webにある実行環境を使用することで掲載されたサンプルプログラムや、練習問題を実行できるよう配慮されていますし、スクリプト言語を使った経験があれば、ウォーミングアップは終わっています。スクラッチやエクセルのフォーミュラを使ったことがあったりHTMLを書いた経験があれば、本格的なプログラミング言語の第一歩を踏み出す格好のきっかけになるはずです。 もちろん、それなりの忍耐とか努力は必要ですが、火星探査機を構築しながら(!?)Go言語を完全習得できる、最初の1冊となるでしょう。 【本書のポイント】 ・特定のテーマごとに学習単元をユニット化 ・ユニットはさらに特定のトピックを扱うレッスンに分割 ・レッスン後はクイックチェック ・さらに練習問題を配置して知識を根付かせ応用力を ・問題に対する模範解答も完備 ・ローカルに開発環境を持っていなくても学習できる ・GitHub上にも最新の解答例を掲載 【読者が得られること】 ・Go言語の構文を理解できる ・Go言語を使ったプログラミング ・特色とメリットを活かした開発技法の習得 【著者紹介】 ●Nathan Youngman(ネイサン・ヤングマン) 独学のWeb開発者、生涯にわたる学習者です。彼は、Edmonton Goミートアップの主催者であり、Canada Learning Codeのメンター(指導者)であり、Goのマスコットであるgopherのぬいぐるみの写真を撮りまくっています。 ●Roger Peppé(ロジャー・ペッぺ) Goのコントリビュータとして、数多くのGoプロジェクトを保守し、Newcastle upon TyneのGoミートアップを運営し、現在はGoのクラウドインフラストラクチャソフトウェアの仕事をしています。 UNIT 0 手始めに LESSON 1 位置について、用意、Go! UNIT 1 命令型プログラミング LESSON 2 偉そうな電子計算機 LESSON 3 ループと分岐 LESSON 4 変数のスコープ 37 LESSON 5 チャレンジ:火星行きのチケット UNIT 2 型 LESSON 6 実数 LESSON 7 整数 LESSON 8 ビッグナンバー LESSON 9 多言語テキスト LESSON 10 型変換 LESSON 11 チャレンジ:ヴィジュネル暗号 UNIT 3 関数とメソッド LESSON 12 関数 LESSON 13 メソッド LESSON 14 ファーストクラス関数 LESSON 15 チャレンジ:温度テーブル UNIT 4 コレクション LESSON 16 配列 LESSON 17 スライス LESSON 18 もっと大きなスライス LESSON 19 守備範囲が広いマップ LESSON 20 チャレンジ:ライフのスライス UNIT 5 状態と振る舞い LESSON 21 構造体 LESSON 22 Goにはクラスがないけれど LESSON 23 組み立てと転送 LESSON 24 インターフェイス LESSON 25 チャレンジ:火星の動物保護区域 UNIT 6 ネズミ穴を下って LESSON 26 ポインタ LESSON 27 nilをめぐる騒動 LESSON 28 エラーは人の常 LESSON 29 チャレンジ:数独のルール UNIT 7 並行プログラミング LESSON 30 ゴルーチンと並行性 LESSON 31 競合状態 LESSON 32 チャレンジ:火星で生きるもの LESSON 33 終わりに APPENDIX A 練習問題とチャレンジの解答
2017年刊行後大好評の『PHPフレームワークLaravel入門』が2019年9月リリースのバージョン6に対応した改訂版! PHPフレームワークのロングセラー定番解説書が、新バージョン対応で改訂! 本書は、Laravelのインストールから、フレームワークの中心になるModel-View-Controller(MVC)の使い方、開発に役立つ各種機能をわかりやすく解説した入門書です。新しいディレクティブ(@csrf/@error)、バリデーションルール(増補解説+自作)、Bootstrapによるぺジネーションリンク、Auth(Laravel/uiパッケージ)の使い方などの項目を追加しました! Chapter 1 Laravelを準備する 1-1 PHPフレームワークとLaravel PHP開発の問題点 フレームワークの導入 Laravelの特徴 Laravelのサイト Composerについて Laravelをインストールする Laravelのバージョンについて 1-2 Laravelを使ってみる Laravel開発の手順 プロジェクトの作成 アプリケーションを実行する XAMPPにデプロイする 指定のアドレスで公開する Chapter 2 ルーティングとコントローラ 2-1 ルーティング アプリケーションの構成 「app」フォルダについて ルーティングと「routes」フォルダ ルート情報の記述 トップページのルート情報 ルート情報を追加する HTMLを出力する ヒアドキュメントを使う ルートパラメータの利用 必須パラメータと任意パラメータ 2-2 コントローラの利用 MVCとコントローラ コントローラの作成 HelloController.phpをチェックする アクションを追加する ルートパラメータの利用 複数アクションの利用 シングルアクションコントローラ リクエストとレスポンス RequestおよびResponse Chapter 3 ビューとテンプレート 3-1 PHPテンプレートの利用 ビューについて PHPテンプレートを作る ルートの設定でテンプレートを表示する コントローラでテンプレートを使う 値をテンプレートに渡す ルートパラメータをテンプレートに渡す クエリー文字列の利用 3-2 Bladeテンプレートを使う Bladeを使う フォームを利用する CSRF対策について アクションの用意 POSTのルート設定 3-3 Bladeの構文 値の表示 @ifディレクティブ 特殊なディレクティブ 繰り返しのディレクティブ @break と @continue $loopによるループ変数 @phpディレクティブについて 3-4 レイアウトの作成 レイアウトの定義と継承 @sectionと@yield ベースレイアウトを作成する 継承レイアウトの作成 コンポーネントについて コンポーネントを作成する サブビューについて @eachによるコレクションビュー 3-5 サービスとビューコンポーザ ビューコンポーザとは? サービスとサービスプロバイダ HelloServiceProviderを作成する クロージャでコンポーザ処理を作る サービスプロバイダの登録 ビューコンポーザを利用する ビューコンポーザクラスの作成 Chapter 4 リクエスト・レスポンスを補完する 4-1 ミドルウェアの利用 ミドルウェアとは? ミドルウェアを作成する HelloMiddlewareクラス HelloMiddlewareを修正する ミドルウェアの実行 ビューとコントローラの修正 リクエストとレスポンスの流れ レスポンスを操作する グローバルミドルウェア ミドルウェアのグループ登録 4-2 バリデーション ユーザー入力時の問題 バリデーションを利用する バリデーションの基本処理 エラーメッセージと値の保持 フィールドごとにエラーを表示 @errorディレクティブを使う バリデーションの検証ルール 4-3 バリデーションをカスタマイズする フォームリクエストについて フォームリクエストの作成 HelloRequestクラスの基本コード メッセージのカスタマイズ バリデータを作成する クエリー文字列にバリデータを適用する エラーメッセージのカスタマイズ 条件に応じてルールを追加する オリジナルバリデータの作成 HelloValidatorを作成する HelloValidatorのルールを使用する Validator::extendを利用する バリデーションルールを作る Myruleを使ってみる 4-4 その他のリクエスト・レスポンス処理 CSRF対策とVerifyCsrfToken クッキーを読み書きする リダイレクトについて Chapter 5 データベースの利用 5-1 データベースを準備する モデルとデータベース Laravelのアプローチ SQLiteデータベースを準備する DB Browser for SQLiteの導入 DB Browserのインストール DB Browserを起動する データベースファイルを作る テーブルを作成する SQL利用の場合 ダミーのレコードを追加する DB利用のための手続き SQLiteの設定 MySQL/PostgreSQLの設定 .envの環境変数について 5-2 DBクラスの利用 DBクラスとは? パラメータ結合の利用 DB::insertによるレコード作成 DB::updateによる更新 DB::deleteによる削除 SQLクエリがすべて? 5-3 クエリビルダ クエリビルダとは? DB::tableとget 指定したIDのレコードを得る 演算記号を指定した検索 whereとorWhere whereRawによる条件検索 並び順を指定する「orderBy」 offsetとlimit insertによるレコード追加 updateによるレコード更新 deleteによるレコード削除 5-4 マイグレーションとシーディング マイグレーションとは? マイグレーションファイルの生成 マイグレーション処理について テーブル生成の処理 テーブルの削除処理 マイグレーションを試す シーディングについて シーダーファイルの作成 シーディング処理について シーダーファイルの登録 シーディングを実行する Chapter 6 Eloquent ORM 6-1 Eloquentの基本 ORMとは? モデルを作成する モデルクラスのソースコード PersonControllerを作成する index.blade.phpを作成する Personモデルで全レコードを得る Personクラスにメソッドを追加する IDによる検索 6-2 検索とスコープ whereによる検索 スコープの利用 ローカルスコープについて nameをスコープにする スコープを組み合わせる グローバルスコープについて グローバルスコープを作成する Scopeクラスを作成する ScopePersonクラスを作る 6-3 モデルの保存・更新・削除 モデルの新規保存 モデルを修正する add.blade.phpを作成する addおよびcreateアクションを追記する 保存処理の流れ モデルを更新する editおよびupdateアクションを追記する モデルの削除 モデルとDBクラスの共通性 6-4 モデルのリレーション モデルのリレーションとは? boardsテーブルを利用する マイグレーションの作成 モデルの作成 BoardControllerの作成 テンプレートの作成 2つのテーブルの関係について has One結合 has Many結合 belongs To結合 関連レコードの有無 withによるEagerローディング Chapter 7 RESTfulサービス/セッション/ペジネーション/認証/テスト 7-1 リソースコントローラとRESTful RESTfulとは? マイグレーションの作成 モデルの作成 シードの作成 シードの実行 RESTコントローラの作成 リソースコントローラについて indexおよびshowを作成する レコードの追加 フォームを/hello/restに埋め込む RESTfulサービスにするために 7-2 セッション セッションについて セッションを利用する セッション利用アクションを作る データベースをセッションで使う セッションの保存先をデータベースに変更する セッション用マイグレーションの作成 7-3 ペジネーション ペジネーションとは? DBクラスとsimplePaginate ページの表示を作成する DBクラスとモデル ソート順を変更する paginateメソッドの利用 リンクのテンプレートを用意する Bootstrapの利用について 7-4 ユーザー認証 認証機能とAuth Authをセットアップする Userモデルクラスについて /helloでログインをチェックする Authの認証関係ページ 特定ページの保護 ログイン処理の実装 7-5 ユニットテスト ユニットテストとPHPUnit テスト用データベースの準備 ダミーレコードの用意 ユニットテストのスクリプト作成 一般的な値のテスト 指定アドレスにアクセスする データベースをテストする ユニットテスト以外のテスト 7-6 今後の学習 フロントエンドとの連携 サービス関連 キューとジョブおよびタスク Artisanコマンドの開発
デジタルハリウッドの講師が教えるLaravel入門書の登場! デジタルハリウッド・ジーズアカデミー人気講師直伝! PHPの人気フレームワークLaravel(ララベル)で Webアプリ開発に挑戦しよう! 【本書の概要】 デジタルハリウッド・ジーズアカデミーなどでLaravel講座をもつ著者が、多くの受講生の声を反映して執筆したLaravelの入門書です。 サンプル作りを通して、LaravelによるWebアプリの設計・作成の基本、ルーティング、リエクスト処理、ビュー、認証、ページネーション、モデルのリレーション、ファイルアップロードの基本などを一通り学ぶことができます。 【Laravelとは】 LaravelはMicrosoftの.NETの開発に関わっていたTaylor Otwell氏によって開発され、 PHPの世界で最も人気のあるフレームワークの1つです。 【本書の開発環境について】 本書の開発環境はAWS Cloud9を利用しています。 WindowsもしくはmacOSでLaravelの環境を作ろうとすると、環境構築に1、2時間を要してしまうことがかなりあります。 その点、ブラウザだけで開発できるAWS Cloud9を利用すれば、開発環境を手軽に設定できるため非常に効率よく学習することができます。 【Laravelのバージョン】 Laravel 6.x(LTS) 【読者対象】 LaravelによるWebアプリ開発初心者 【本書のゴール】 本書を読み終わった後、基本的なLaravelの利用方法を習得できることを目的としています。 【著者プロフィール】 山崎大助(やまざき・だいすけ)ジーズアカデミー学校長。デジタルハリウッド大学大学院 教授。 専門はフロントエンド、Webアプリケーション。 2013年 全世界で9人しかいないMicrosoft MVP(Bing Maps Development)の1人として受賞、 現在もMicrosoft MVP(Developer Technologies)を受賞している。 著書に『レスポンシブWebデザイン「超」実践デザイン集中講義』(SBクリエイティブ)、 『jQueryレッスンブック jQuery2.X/1.X対応』(ソシム)がある。 公開しているWebサービスに『LaravelDB.com』『BingMaps GO!』がある。 Chapter 1 PHPフレームワーク「Laravel」とは 01 Laravelフレームワークとは 02 まとめ Chapter 2 開発環境の準備 01 Laravelの開発環境について 02 AWS Cloud9を利用する 03 まとめ Chapter 3 Laravelのインストール 01 本書でよく使うコマンドやコードについて 02 AWS Cloud9の環境準備 03 Laravelフレームワークの準備 04 毎回使うコマンド 05 データベース環境の準備 06 MySQLを使用しない場合(SQLiteを選択する) 07 Laravelのルートディレクトリ:フォルダ構成について 08 まとめ Chapter 4 練習アプリ:本管理アプリを作る 01 練習アプリ「本管理アプリ」を作る流れ 02 AWS Cloud9の設定を変更する:隠しファイルを表示する 03 MySQLデータベースとの接続を設定する 04 AWS Cloud9の設定を変更する:自動保存の設定にする 05 まとめ Chapter 5 本管理アプリ:データベースにテーブルを作成する 01 テーブルを定義するマイグレーションファイルについて 02 マイグレーションファイルでbooksテーブルを定義する 03 まとめ Chapter 6 本管理アプリ:モデルを作成する 01 Eloquent(エロクイント)モデルを利用する 02 モデルのルールを変更する方法 03 まとめ Chapter 7 本管理アプリ:ルート定義を作成する 01 ルート定義について 02 ルート定義のスケルトンを作成する 03 まとめ Chapter 8 本管理アプリ:ログイン認証機能を追加する 01 ログイン画面とレジスター画面を確認する 02 ログイン機能とレジスター機能を実装する 03 ログイン実装用のコマンドについて 04 まとめ Chapter 9 本管理アプリ:レイアウトとビューを作成する 01 ビューについて(レイアウト・テンプレート) 02 レイアウトとビューを作成する 03 Bladeテンプレートの変数について 04 「JavaScript&CSS」ファイルの配置場所は「public」フォルダになる 05 まとめ Chapter 10 本管理アプリ:本の追加登録処理を作成する 01 本の追加登録処理を作成する 02 送信データの確認を行う/本の登録処理を作成する 03 まとめ Chapter 11 本管理アプリ:本を一覧表示する機能を作成する 01 登録している「本」を一覧表示する機能を作成する 02 Bladeテンプレートの制御構文について 03 まとめ Chapter 12 本管理アプリ:本のデータ削除機能を作成する 01 本のデータ削除機能を作成する 02 課題1(課題1.1、1.2) 03 課題1(課題1.1、1.2)の解答について 04 課題1.1の解答 05 課題1.2の解答 06 まとめ Chapter 13 本管理アプリ:ルート定義以外の各処理をコントローラに移動する 01 ルート定義からコントローラに各処理を移動する 02 コントローラについて 03 ルーティング・コントローラ・ビューの流れ 04 BooksControllerを作成(更新処理)する 05 コントローラへ登録処理を追加する 06 課題2(課題2.1、2.2、2.3) 07 課題2.1の解答 08 課題2.2の解答 09 課題2.3の解答 10 まとめ Chapter 14 本管理アプリ:ページネーションを使用する 01 ページネーションを使用する 02 まとめ Chapter 15 本管理アプリ:SESSIONを利用する 01 SESSIONの仕組み 02 SESSIONを利用する 03 まとめ Chapter 16 本管理アプリ:ログイン認証機能を追加する 01 ログイン認証の処理を追加する 02 Route::groupを使ったログイン認証について 03 ログイン認証したユーザー情報を取得する 04 ログイン認証したユーザーが登録した情報のみを表示させる 05 まとめ Chapter 17 本管理アプリ:ファイルのアップロード機能を追加する 01 ファイルのアップロード機能を追加する 02 まとめ Chapter 18 本管理アプリ:モデル記述コードのチェック(tinker)・テストデータの自動生成(Seeder)を行う 01 tinkerコマンドでモデルの記述コードを確認する 02 Seeder(テストデータを自動生成)による処理を実装する 03 まとめ Chapter 19 本管理アプリ:バリデーションメッセージを日本語化する 01 英語のバリデーションメッセージを日本語化する 02 まとめ Chapter 20 本管理アプリ:デバッグ用ヘルパー関数を利用する 01 デバッグ用のddd()関数を利用する 02 まとめ Chapter 21 本管理アプリ:phpMyAdmin管理ツールをインストールする 01 phpMyAdmin管理ツールをインストールする 02 まとめ Chapter 22 モデルで利用できる便利なメソッド 01 モデルのメソッド 02 まとめ Chapter 23 Eloquentリレーションから見るモデルとリレーションの関係 01 Eloquentリレーションについて 02 まとめ