SlideShare a Scribd company logo
1 of 39
tank_authとgroceryCRUD
でログインと
管理画面を簡単に作成
CodeIgniter Night
2016-11-04 @noldorinfo
自己紹介
• 竹腰彰成(たけこしあきしげ)
• Twitter: @noldorinfo
• http://blog.noldor.info/
2
今日のテーマ
• どんなプロジェクトでも使うであろう、管理画面に必要な機能
であるログイン機能とCRUD画面を簡単に作る方法をお伝えし
ます
• ログインライブラリ:tank_auth
• CRUDライブラリ:groceryCRUD
• 今日のサンプルコードはgithubにアップしてあります
• https://github.com/noldor/ci-sample-ta-gc
• スライドは安心して流し読みしてください
3
前提条件
CodeIgniter3を採用すべきか、またライブラリを採用すべきか
4
CodeIgniter3採用のメリット・デメリット
• シンプルで学習コストが低い
↑ フレームワークとしての機能が少ない
• 安価なホームページホスティングサーバでも動く
↑ CLIコマンドでの開発サポートはない
(※バッチを作ることはできます)
• いわゆる「フルスタックフレームワーク」ではありません
• ゆえに小規模で把握しやすいです
• ゆえに不足する機能が多いです
5
フルスタックなフレームワーク
• 「フルスタック」=「全部入り」
• よくある機能を列挙すると……
• ルーティング
• 入力バリデーション
• 出力自動エスケープ
• DB接続
• CRUDスキャフォールド
• セッション管理
• ユーザ認証機能
• Unitテスト(自動化テスト)
6
フルスタックなフレームワーク
• 「フルスタック」=「全部入り」
• よくある機能を列挙すると…… CI3に
• ルーティング ← ある
• 入力バリデーション ← ある
• 出力自動エスケープ ← ない
• DB接続 ← ある
• CRUDスキャフォールド ← ない
• セッション管理 ← ある
• ユーザ認証機能 ← ない
• Unitテスト(自動化テスト) ← ある
7
フルスタックなフレームワーク
• 「フルスタック」=「全部入り」
• よくある機能を列挙すると…… CI3に 外部ライブラリ例
• ルーティング ← ある
• 入力バリデーション ← ある
• 出力自動エスケープ ← ない Smarty
• DB接続 ← ある
• CRUDスキャフォールド ← ない groceryCRUD
• セッション管理 ← ある
• ユーザ認証機能 ← ない tank_auth
• Unitテスト(自動化テスト) ← ある
8
tank_auth
CodeIgniter向けの認証ライブラリ
9
tank_authとは
• CodeIgniter向けに作られた認証ライブラリ
• シンプルながらよく使う機能は押さえている
• ログイン、ログアウト、登録、登録抹消
• メールアドレス認証
• reCAPTCHA対応
• 使用テーブル数4つ、ファイル20枚
• 何かあってもコード修正できる程度の量!
• ほかに検討すべき候補
• Ion Auth( http://benedmunds.com/ion_auth/ )
• SimpleSAMLphp(※CI特化ではないが機能てんこ盛り)
10
CI3で使うにあたって修正が要ります
• CI2向けなので、CI3向けにすこし修正が必要です
• セッション用テーブルをCI2からCI3に変更
• CIのセッションの仕組みを使っているので、DB以外のセッション
ドライバでも使えます
• Classファイルの先頭文字を大文字に変更
• これらの作業はrdlaboさんが作業済みのものを公開くださって
います
• 「Tank_AuthをCodeigniter3系で動くようにする方法」
https://rdlabo.jp/codeigniter-299.php
• https://github.com/rdlabo/Tank_Auth_CI3
11
tank_auth使用コード例
実際に使うとどういうコードになるか
12
使用例の要件定義
• 次の条件で使うとします
• 会員登録はユーザの自由にできる
• メールアドレス認証をする
• reCAPTCHAを使う
• 認証関連以外のすべての画面はログインを要求する
13
コントローラ:Login
• ライブラリをそのまま利用します
• したがってviewもライブラリそのままになります
14
reCAPTCHA設定
• third_partyディレクトリではなく自前のconfigを優先して
読むようにautoloadを設定します
• reCAPTCHAにユーザ登録して次の項目を設定します
15
trueに
trueに
reCAPTCHAから
reCAPTCHAから
メール認証設定
• tank_auth.phpで設定します
• email.phpとサーバ設定そのものも忘れないでください
16
trueに
MY_Controllerでログイン強制
• __construct()でログインチェックします
17
Login画面
• こんな感じ
18
reCAPTCHAは旧式です
• tank_auth自体が古いため
最新式にするにはviewの修正が必要です
19
できること・できないこと
• AuthenticationはできるがAuthorizationはできない
• Authentication(認証):本人確認
• Authorization(認可・承認):権限設定
• ユーザごと(ロールごと)にアクセス権限を設定する機能は
ありません
• アプリごとに要件が変わりやすい部分でもありますので、
ライブラリに頼らず自前実装でも問題は少ないと思います
• ユーザ管理画面はありません!
• groceryCRUDで作ってみましょう
20
groceryCRUD
CodeIgniter向けのCRUD画面生成ライブラリ
21
groceryCRUDとは
• 直訳すると食料品ゴミ
• MySQLで使えるCRUD管理画面
• CRUD: Create / Read / Update / Delete
• テーブル1つを軸にしてレコードを操作する管理画面
• 管理画面の8割がたはこれである程度何とかなるはずです。
残り2割は自前で作成しましょう
• CSVアップロード、ウィザード画面とかは無理
• joinしての参照はgroceryCRUDでも可能です。
2テーブル同時更新はできますが作り込む部分が多くなります
22
出来上がりイメージ(1)
• 一覧表の出力:デフォルトテーマはちょっと古臭いです
23
出来上がりイメージ(2)
• よくある編集画面
• ラジオボタンや
テキストエリア、
日付入力、
非表示項目など
フィールドタイプを
設定できます
• 今回は例示ありませんが
n対nリレーションの設定も
可能です
24
groceryCRUDの仕組み(1)
• スキーマはDBから自動取得
• メリット:存在するDBこそが正。
DB構造を別ファイルに定義しなくていい
• デメリット:余計な処理が発生している。
想定するスキーマと実際のDBがずれたら
どうなるか不明(エラーになるとは限らない)
25
フロント画面には使えない
スキーマ変更の意思疎通は必須
DBこそが正
• DBからテーブル定義取得してます
• ちょっと気持ち悪いですねぇ……
フロントサイトには使わないほうが良いです
26
groceryCRUDの仕組み(2)
• ライブラリがテーブル表やフォームのHTMLタグを生成する
• メリット:ヘッダ・フッタを作っておいて
コンテンツ部分をハメ込めば画面が出来上がる
• デメリット:デザインの差し替えにはgroceryCRUD自体を
詳しく知る必要がある
※テンプレート機能はあります
• 私がbootstrap3に差し替えた時は1人日ほどかかりました。
テーマを作り込むなら2~3人日見る必要がありそうです。
27
コントローラ(1)
• 日本語名でのラベル表示は必要ですよね
28
コントローラ(2)
• ライブラリに設定値を渡す+α
29
ビュー
• $outputをechoするだけ
• cssとjsを使いますのでそれらを読み込ませるため次ページへ
30
レイアウト用テンプレート
• 毎回<head>タグ書くのはいやなので共通化
31
MY_Outputでレイアウト適用
• フレームワークを拡張してlayout.phpを通すようにします
32
パスワードをhash、更新日時を自動記録
• DBへの保存はdb_insert()とdb_update()を経由するので
それをオーバーライドします
33
注意事項(1)
• アクション名はindex以外にしないと動きません
• ドキュメント化されている仕様です
• Bootstrapテーマを販売していますがバギーです
• テーマ作成の参考にする程度にとどめたほうが良さそうです
• デフォルトテーマ改造が安定です
• バリデータはフィルタリングしてくれません
• CIの挙動と異なりますが「対応しない」と明言されています
• 今回のサンプルでは挙動をCIに寄せるよう書き換えました
• xss対応がいまいちです
• v1.6でオプションによる対応が入りますが……
34
入力でカバーしようとしちゃってます
• POSTデータをstrip_tag()とかマジですか
• 別ルートでDBに保存されるとアウトです
(フロント側からの入力など)
35
注意事項(2)
• 本家へのPull Requestが無視されたので
groceryCRUD改のリポジトリを作りました
• https://github.com/noldor/grocery-crud-kai
• validator でフィルタリング機能を有効に
• xss対策
• php-cs-fixer適用
• ドキュメントのライセンスはありません
• 翻訳許可願いの返事がありませんので翻訳できません
• 知り合い以外からの連絡・Pull Requestは
基本的に無視しているようです……
36
groceryCRUDのライセンス
• MITライセンスとGPLのデュアルライセンス
• どちらか片方を選ぶ
• どちらを選んだかを宣言する必要はない(黙っていてOK)
• 同梱ライブラリのライセンスは様々ながらセーフである様子
• MITライセンス
• 二条項BSDライセンス、三条項BSDライセンス
• GPL / MIT のデュアルライセンス
• GPL / LGPL / MPL のトリプルライセンス
• GPL / 三条項BSD のデュアルライセンス
• まとめました → https://github.com/noldor/grocery-
crud-kai/blob/master/license-grocery-crud-kai.md
37
tank_authのライセンス
• MITライセンスに準じる
• MITライセンス条文が同梱されていない
• いちおうソースコードに1行書いてある
38
ご清聴ありがとうございました
39

More Related Content

What's hot

CodeIgniterのライセンスについて
CodeIgniterのライセンスについてCodeIgniterのライセンスについて
CodeIgniterのライセンスについてTakako Miyagawa
 
ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話Suguru Shirai
 
2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LTTakako Miyagawa
 
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!雅彦 金井
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳Takako Miyagawa
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updateTakako Miyagawa
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011Takako Miyagawa
 
Gitごにょごにょ【概要編】
Gitごにょごにょ【概要編】Gitごにょごにょ【概要編】
Gitごにょごにょ【概要編】Kazuki Shingai
 
Bot Framework 最新情報 2017
Bot Framework 最新情報 2017Bot Framework 最新情報 2017
Bot Framework 最新情報 2017Yoshitaka Seo
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3Shinobu Okano
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Shinobu Okano
 
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリTypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリprogre
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよMasaru Matsuo
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようStudy Group by SciencePark Corp.
 
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?Makoto Nishimoto
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前Hiroshi Yamato
 
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話開発チームにKotlinを導入した話
開発チームにKotlinを導入した話Hiroshi Kikuchi
 

What's hot (20)

CodeIgniterのライセンスについて
CodeIgniterのライセンスについてCodeIgniterのライセンスについて
CodeIgniterのライセンスについて
 
ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話
 
2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT
 
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011
 
C# で QnA Bot
C# で QnA BotC# で QnA Bot
C# で QnA Bot
 
Gitごにょごにょ【概要編】
Gitごにょごにょ【概要編】Gitごにょごにょ【概要編】
Gitごにょごにょ【概要編】
 
Bot Framework 最新情報 2017
Bot Framework 最新情報 2017Bot Framework 最新情報 2017
Bot Framework 最新情報 2017
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2
 
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリTypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
 
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
 
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
 

Similar to groceryCRUDとtank_authで簡単に管理画面と認証機能を作る

20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用tksyokoyama
 
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能Akihiro Suda
 
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン健一 茂木
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!史識 川原
 
LightSwitch 結局何ができるの
LightSwitch 結局何ができるのLightSwitch 結局何ができるの
LightSwitch 結局何ができるのYoshitaka Seo
 
Logにまつわるエトセトラ
LogにまつわるエトセトラLogにまつわるエトセトラ
Logにまつわるエトセトラleverages_event
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfssuser41f27b
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境Kazumi IWANAGA
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)Tomoaki Imai
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2Yasukazu Kawasaki
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~株式会社MonotaRO Tech Team
 

Similar to groceryCRUDとtank_authで簡単に管理画面と認証機能を作る (20)

20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
 
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
 
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
 
LightSwitch 結局何ができるの
LightSwitch 結局何ができるのLightSwitch 結局何ができるの
LightSwitch 結局何ができるの
 
Logにまつわるエトセトラ
LogにまつわるエトセトラLogにまつわるエトセトラ
Logにまつわるエトセトラ
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdf
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (9)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

groceryCRUDとtank_authで簡単に管理画面と認証機能を作る