SlideShare a Scribd company logo
1 of 24
Download to read offline
CodeIgniter をモダンに
改造してみた
FuelPHP & CodeIgniter ユーザーの集い #4
@localdisk
2014/04/26
!
自己紹介
• @localdisk (Matsuo Masaru)
• PHP/Java プログラマ
• 最近は Laravel. 以前は CodeIgniter
• Fuel/Cake は挫折
• おんせん県在住(来月から修羅の国)
CodeIgniter使ってますか?
• 早い!
• 動作も開発速度も!
• 安い!
• 学習コストパフォーマンス高い
• うまい!
• 鮮度が落ちてきてる…
CodeIgniterの問題点1
• 2014/04/26 現在 2.1.4
• ぶっちゃけ2年半くらい進歩がない
• PHP 5.1.6 newer
• 引き取り手が決まるまで 3.0 はリリースされない
• Oh…
CodeIgniterの問題点2
• 便利だが、テストがしにくい
• CI_Unit…
• get_instance
• 大体こいつのせい
• Controller が singleton
• Core ライブラリ等が勝手にフィールドに生える
• なぜ CI_Loaderは返さない…
僕たちはプログラマだ
• なければ作れ
• 作ったら公開しろ
• フレームワークを作り変えるの実際勉強になる
• Laravel の知見がかなり役立ってる
• あと Java の知識とか
名前を決める
• ぶっちゃけ一番時間がかかった
• CodeIgniterの次という意味にしたい
• Igniter -> 導火線
• 導火線の次…?
CodeExploder!
Exploder -> 起爆装置
デスマーチ爆発しろ
CodeExploderの概要1
• PHP 5.4 ∼
• short array syntax 使いたかった
• built in web server
• DI Container
• Core/Library クラスの拡張は DI Container を使う
CodeExploderの概要2
• Test Easy!
• 素の PHP Unit が動くようにする
• CI_Unit とかいらんかったんや…
• 強力なコードジェネレータ
• 実用レベルのちゃんとしたやつ
悲しいお知らせ
• リリース間に合わなかった…
• 全部引っ越しが悪いんや…
• GW になんとかしたい
変更点(ディレクトリ構造)
CodeIgniter	
| — index.php	
| — application	
| | — controllers	
| — system	
| | — core	
運用時、 index.php の位置を変えたりしなければならなくて不便…。
変更点(ディレクトリ構造)
CodeExploder	
| — app	
| — bootstrap	
| | — 起動するときに走る	
| — public (css/js/img)	
| — system	
|	
public を公開ディレクトリにする | — system	
!
変更点(名前空間)
<?php	
// 名前空間	
// PSR-0 に合わせた	
// クラスプレフィックスの CI_ 削除	
// MY_ もいらない	
namespace CodeExploderCore;	
!
class Benchmark	
{	
// ベンチマーク	
}	
!
変更点(Composer)
# Composer を使わなくていいのは小学生まで	
$ git clone https://localdisk@bitbucket.org/localdisk/
codeexploder.git	
!
$ composer install
変更点(Composer)
• Composer を使うと CI_Loader の役割がかな
り減る
• composer.json の autoload files を定義してお
けば helper の require もいらない
• 余談だけど、別にPackagist に登録しなくても
Composer は使える
変更点(DI Container)
• 禁断の CI_Loaderを駆逐する
• 全面書き直し DI Container にした
• “illuminate/container"
• Laravel の DI Container
• Pimple の上位互換
変更点(DI Container)
• get_instance
• Controller じゃなくて Loader を返す
• Controller の singleton をやめた
• 脱 Fat Controller
• これで CI_Unit とさよならできる
変更点(Common.php)
• 消去(予定)
• ユーティリティファンクションの集合なので適
切な役割を持つクラスに受け取ってもらう
• 関数自体は生かす
• Core/Library は DI 制御なのでコンテナにアク
セスすればどこからでも使える
変更点(CodeIgniter.php)
• 大幅なリファクタリング(予定)
• クラスにする
• 今はただのスクリプト
• テストできないじゃないか!
変更点(その他)
• DB
• シンプルだがいささか貧弱な QueryBuilder.
• illuminate/database に変更を検討中
• Laravel の ORM. 使いやすい.Migration/Seedeが便利
• PyroCMS (CodeIgniter製のCMS)もDB周りは
illuminate/databaseを使っている
変更点(その他)
• ちゃんとテスト書く
• 本家のテストが最近充実してる
• しっかりしたコードジェネレータを作る
• composer dump-autoload めんどい
飽きるまで頑張ります
おわり
質問とかあります?

More Related Content

What's hot

2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LTTakako Miyagawa
 
Codeigniter3フレームアップデート
Codeigniter3フレームアップデートCodeigniter3フレームアップデート
Codeigniter3フレームアップデートtomohiro kitaura
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7Hiroshi Toda
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)kenjis
 
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010kenjis
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイントCode igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイントnoldor
 
はじめてみよう! WordPress プラグイン・テーマ翻訳
はじめてみよう! WordPress プラグイン・テーマ翻訳はじめてみよう! WordPress プラグイン・テーマ翻訳
はじめてみよう! WordPress プラグイン・テーマ翻訳Naoko Takano
 
KotlinでWebアプリ開発
KotlinでWebアプリ開発KotlinでWebアプリ開発
KotlinでWebアプリ開発Ryo Nakagawa
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法Yuta Matsumura
 
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけてReact componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけてHoso michi
 
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
怠惰な私がプログラミングするときに重要だと考えているたった1つのことTohru Kobayashi
 
groceryCRUDとtank_authで簡単に管理画面と認証機能を作る
groceryCRUDとtank_authで簡単に管理画面と認証機能を作るgroceryCRUDとtank_authで簡単に管理画面と認証機能を作る
groceryCRUDとtank_authで簡単に管理画面と認証機能を作るAkishige TAKEKOSHI
 
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な APIHiroshi Kikuchi
 
CodeIgniter3マニュアル和訳の方法と感想
CodeIgniter3マニュアル和訳の方法と感想CodeIgniter3マニュアル和訳の方法と感想
CodeIgniter3マニュアル和訳の方法と感想Akishige TAKEKOSHI
 
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリングleverages_event
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!Kanako Kobayashi
 
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話開発チームにKotlinを導入した話
開発チームにKotlinを導入した話Hiroshi Kikuchi
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?Kouhei Sutou
 
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催した
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催したカンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催した
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催したYuko Kondo
 

What's hot (20)

2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT
 
Codeigniter3フレームアップデート
Codeigniter3フレームアップデートCodeigniter3フレームアップデート
Codeigniter3フレームアップデート
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
 
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイントCode igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
 
はじめてみよう! WordPress プラグイン・テーマ翻訳
はじめてみよう! WordPress プラグイン・テーマ翻訳はじめてみよう! WordPress プラグイン・テーマ翻訳
はじめてみよう! WordPress プラグイン・テーマ翻訳
 
KotlinでWebアプリ開発
KotlinでWebアプリ開発KotlinでWebアプリ開発
KotlinでWebアプリ開発
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけてReact componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
 
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
 
groceryCRUDとtank_authで簡単に管理画面と認証機能を作る
groceryCRUDとtank_authで簡単に管理画面と認証機能を作るgroceryCRUDとtank_authで簡単に管理画面と認証機能を作る
groceryCRUDとtank_authで簡単に管理画面と認証機能を作る
 
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
 
CodeIgniter3マニュアル和訳の方法と感想
CodeIgniter3マニュアル和訳の方法と感想CodeIgniter3マニュアル和訳の方法と感想
CodeIgniter3マニュアル和訳の方法と感想
 
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
 
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
 
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催した
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催したカンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催した
カンファレンスや勉強会レポートをいかに書き続けるかについての勉強会を主催した
 

Viewers also liked

新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHPYusuke Ando
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる智之 大野
 
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学びMasaru Matsuo
 
2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理Akishige TAKEKOSHI
 
Codeigniter4の比較と検証
Codeigniter4の比較と検証Codeigniter4の比較と検証
Codeigniter4の比較と検証ME iBotch
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Keishi Hosoba
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksPhill Sparks
 
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介Hiraku Nakano
 

Viewers also liked (11)

新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
山口Web勉強会
山口Web勉強会山口Web勉強会
山口Web勉強会
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
 
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学び
 
FuelPHP で DynamoDB
FuelPHP で DynamoDBFuelPHP で DynamoDB
FuelPHP で DynamoDB
 
2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理
 
Codeigniter4の比較と検証
Codeigniter4の比較と検証Codeigniter4の比較と検証
Codeigniter4の比較と検証
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
 
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
 

Similar to CodeIgniter をモダンに改造してみた

JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code ReadingShinobu Okano
 
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際Tetsuji Koyama
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629Takako Miyagawa
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
phpstudy_php_to_node
phpstudy_php_to_nodephpstudy_php_to_node
phpstudy_php_to_nodeSuguru Shirai
 
phpmatsuri2013 LT大会 資料
phpmatsuri2013 LT大会 資料phpmatsuri2013 LT大会 資料
phpmatsuri2013 LT大会 資料Takako Miyagawa
 
Build an iOS app with ConcourseCI
Build an iOS app with ConcourseCIBuild an iOS app with ConcourseCI
Build an iOS app with ConcourseCI健仁 天沼
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックYu Kitazume
 
Unreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTUnreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTHiraku Komuro
 
Java8 code kata (Japanese)
Java8 code kata (Japanese)Java8 code kata (Japanese)
Java8 code kata (Japanese)Hiroaki Kono
 
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのことLaravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのことYuta Ohashi
 
ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話Suguru Shirai
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIAtsuki Yokota
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
DataChannelでIoTしてみた
DataChannelでIoTしてみたDataChannelでIoTしてみた
DataChannelでIoTしてみたtonofo
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyHiraku Nakano
 

Similar to CodeIgniter をモダンに改造してみた (20)

JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code Reading
 
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
phpstudy_php_to_node
phpstudy_php_to_nodephpstudy_php_to_node
phpstudy_php_to_node
 
phpmatsuri2013 LT大会 資料
phpmatsuri2013 LT大会 資料phpmatsuri2013 LT大会 資料
phpmatsuri2013 LT大会 資料
 
Build an iOS app with ConcourseCI
Build an iOS app with ConcourseCIBuild an iOS app with ConcourseCI
Build an iOS app with ConcourseCI
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニック
 
Unreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTUnreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LT
 
Java8 code kata (Japanese)
Java8 code kata (Japanese)Java8 code kata (Japanese)
Java8 code kata (Japanese)
 
Botkit4.x Has Come!
Botkit4.x Has Come!Botkit4.x Has Come!
Botkit4.x Has Come!
 
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのことLaravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
 
ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
DataChannelでIoTしてみた
DataChannelでIoTしてみたDataChannelでIoTしてみた
DataChannelでIoTしてみた
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

CodeIgniter をモダンに改造してみた