SlideShare a Scribd company logo
1 of 46
CodeIgniter 最初の一歩


      CodeIgniterが
  インストールできたので
        とりあえず
   Tutorialをやってみた
            編
basic news application
    最初のチュートリアルを実際に試してみます。
    このチュートリアルで学ぶことは、

●   Model, View, Controller の基本
●   Routingの基本
●   Form Validation(妥当性の確認)
●   基本的なDBクエリ
目的は
http://example.com/news/latest/10


というURIにアクセスして
最新のニュースを10件表示
できること。
pagesコントローラ
まずページのコントローラを作ります。
次のファイルを作成。
application/controllers/pages.php
   <?php
   class Pages extends CI_Controller {

       public function view($page = 'home')
       {

       }
   }
テンプレート(header)
●   テンプレートとしてheaderを作ります。
    application/views/templates/header.php

<html>
<head>
   <title><?php echo $title ?> - CodeIgniter 2 Tutorial</title>
</head>
<body>
   <h1>CodeIgniter 2 Tutorial</h1>
テンプレート(footer)
●   テンプレートとしてfooterを作ります。
    application/views/templates/footer.php

<strong>&copy; 2011</strong>
</body>
</html>
静的コンテンツを用意
    application/views/pages/
    上記フォルダに、
●   home.php
●   about.php
    というファイルを作成します。
    中身は適当な文章でOK。
    Hello World!! とか
コントローラにロジック追加
先のapplication/controllers/pages.phpを編集
public function view($page = 'home')
{

    if ( ! file_exists('application/views/pages/'.$page.'.php'))
    {
           // Whoops, we don't have a page for that!
           show_404();
    }

    $data['title'] = ucfirst($page); // Capitalize the first letter

    $this->load->view('templates/header', $data);
    $this->load->view('pages/'.$page, $data);
    $this->load->view('templates/footer', $data);

}
前のページの補足
●   ページの指定がなければhomeを表示
●   指定のページがなければ404を表示
●   タイトルの先頭を大文字に
●   ヘッダを表示
●   指定ページを表示
●   フッタを表示
Routing
ここまでの作業でページへのアクセス可能
http://example.com/index.php/pages/view/about

                                      おー!!
                                     エッ
                                     文字化け
                                     しとるやん...
文字化け...orz
  Tutorialでは言語を意識していない
  いきなり日本語を使うと文字化け
  template(header)を修正
<html lang=”ja”>
<head>
<meta charset=”utf-8”>
   <title><?php echo $title ?> - CodeIgniter 2 Tutorial</title>
</head>
<body>
   <h1>CodeIgniter 2 Tutorial</h1>
文字化け対策後
●   headerを修正して確認
                     おー!!
                     最初から
                     やっとけー

                    まぁまぁ、
                    こんなもん


                    次、はよっ
さて、Routingの続き
●   application/config/routes.php

    Routingを編集することで、
    $route['default_controller'] = 'pages/view';
    $route['(:any)'] = 'pages/view/$1';
Routingの続きの続き
http://example.com/index.php/pages/view/about
を次のように短くできます。



http://bit.ly/SvEOQ8

ではなくて、
http://example.com/index.php/about
http://bit.ly/ObpOBd
ちなみに、このタイトルは


example.com/Routingの続きの続きの続き


を短くしてみました。

                             すみまs(ry
http://bit.ly/ObpOBd
ちなみに、このタイトルは


example.com/Routingの続きの続きの続き


を短くしてみました。

                             すみまs(ry
Coffee Break




(CodeIgniterよりもInkScapeのチュートリアルが...)
Newsセクション
    Newsモデルを作ります。
●   application/models/news_model.php

    <?php
    class News_model extends CI_Model {

        public function __construct()
        {
          $this->load->database();
        }
    }
その前にDB環境
●   application/config/database.php
    適宜編集。
    $db['default']['hostname'] = "localhost";
    $db['default']['username'] = "root";
    $db['default']['password'] = "";
    $db['default']['database'] = "database_name";
    $db['default']['dbdriver'] = "mysql";
    $db['default']['dbprefix'] = "";
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = FALSE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = "";
    $db['default']['char_set'] = "utf8";
    $db['default']['dbcollat'] = "utf8_general_ci";
    $db['default']['swap_pre'] = "";
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;
スキーマ(テーブル)
●   SQLでテーブルを作成

    CREATE TABLE news (
       id int(11) NOT NULL AUTO_INCREMENT,
       title varchar(128) NOT NULL,
       slug varchar(128) NOT NULL,
       text text NOT NULL,
       PRIMARY KEY (id),
       KEY slug (slug)
    );
phpMyAdmin
●   SQLを実行
DB参照(クエリ)
●   newsを取得するメソッドを追加
    public function get_news($slug = FALSE)
    {
       if ($slug === FALSE)
       {
            $query = $this->db->get('news');
            return $query->result_array();
       }

        $query = $this->db->get_where('news', array('slug' => $slug));
        return $query->row_array();
    }
Newsの表示
    Newsを表示するためのコントローラを記述
●   application/controllers/news.php
    <?php
    class News extends CI_Controller {

         public function __construct()
         {
              parent::__construct();
              $this->load->model('news_model');
         }

         public function index()
         {
              $data['news'] = $this->news_model->get_news();
         }

         public function view($slug)
         {
              $data['news'] = $this->news_model->get_news($slug);
         }
    }
前のコントローラでは
●       データを取得しているだけ(表示なし)
●       ということで、Viewにデータを渡します。

    public function index()
    {
       $data['news'] = $this->news_model->get_news();
       $data['title'] = 'News archive';

        $this->load->view('templates/header', $data);
        $this->load->view('news/index', $data);
        $this->load->view('templates/footer');
    }
NewsのViewを作成
    コントローラから渡されるデータを展開して
    表示
●   application/views/news/index.php を作成
<?php foreach ($news as $news_item): ?>

    <h2><?php echo $news_item['title'] ?></h2>
    <div id="main">
      <?php echo $news_item['text'] ?>
    </div>
    <p><a href="news/<?php echo $news_item['slug'] ?>">View article</a></p>

<?php endforeach ?>
個別のNews表示
    スラッグで個別のNewsを取得(Controller)
public function view($slug)
{
   $data['news_item'] = $this->news_model->get_news($slug);

     if (empty($data['news_item']))
     {
          show_404();
     }

     $data['title'] = $data['news_item']['title'];

     $this->load->view('templates/header', $data);
     $this->load->view('news/view', $data);
     $this->load->view('templates/footer');
}
個別のNews表示(View)
●   application/views/news/view.php
    <?php
    echo '<h2>'.$news_item['title'].'</h2>';
    echo $news_item['text'];
News用のRouting
●   application/config/routes.php

    $route['news/(:any)'] = 'news/view/$1';
    $route['news'] = 'news';
    $route['(:any)'] = 'pages/view/$1';
    $route['default_controller'] = 'pages/view';


     http://example.com/index.php/news
     でアクセス可能に。
Newsの投稿
     フォームを作ります。
●    application/views/news/create.php
    <h2>Create a news item</h2>

    <?php echo validation_errors(); ?>

    <?php echo form_open('news/create') ?>

        <label for="title">Title</label>
        <input type="input" name="title" /><br />

        <label for="text">Text</label>
        <textarea name="text"></textarea><br />

        <input type="submit" name="submit" value="Create news item" />

    </form>
Controllerにcreate()を追加
●       application/controllers/news.php
    public function create()
    {
          $this->load->helper('form');
          $this->load->library('form_validation');

          $data['title'] = 'Create a news item';

          $this->form_validation->set_rules('title', 'Title', 'required');
          $this->form_validation->set_rules('text', 'text', 'required');

          if ($this->form_validation->run() === FALSE)
          {
                 $this->load->view('templates/header', $data);
                 $this->load->view('news/create');
                 $this->load->view('templates/footer');

          }
          else
          {
                 $this->news_model->set_news();
                 $this->load->view('news/success');
          }
    }
Controllerにcreate()を追加
●       application/controllers/news.php
    public function create()
    {
          $this->load->helper('form');
          $this->load->library('form_validation');

          $data['title'] = 'Create a news item';

          $this->form_validation->set_rules('title', 'Title', 'required');
          $this->form_validation->set_rules('text', 'text', 'required');

          if ($this->form_validation->run() === FALSE)
          {
                 $this->load->view('templates/header', $data);
                 $this->load->view('news/create');
                 $this->load->view('templates/footer');

          }
          else
          {
                 $this->news_model->set_news();
                 $this->load->view('news/success');
          }
    }
Successメッセージ
●   application/view/news/success.php


    「ニュースの登録が完了しまし
    た。」

    みたいなコンテンツ(HTML)を作成。
DBに登録(Modelの処理)
●       application/models/news_model.phpを編集
    public function set_news()
    {
       $this->load->helper('url');

         $slug = url_title($this->input->post('title'), 'dash', TRUE);

         $data = array(
            'title' => $this->input->post('title'),
            'slug' => $slug,
            'text' => $this->input->post('text')
         );

         return $this->db->insert('news', $data);
    }
ちなみに、前のhelper()
●   URL Helper
    いろいろ助けてくれます。
    ここで使っているのは、
●   url_title()
    Newsのタイトルから
    URLに適した文字列を生成
    例)
    This is the Title
    this_is_the_title
Routing
●   config/routes.php
    $route['news/create'] = 'news/create';
    $route['news/(:any)'] = 'news/view/$1';
    $route['news'] = 'news';
    $route['(:any)'] = 'pages/view/$1';
    $route['default_controller'] = 'pages/view';
newsを表示してみる
●   http://mydomain/site1/index.php/news
    中身はまだない
newsを登録
●   http://mydomain/site1/index.php/news/create
登録結果
●   successのメッセージ
ニュースの一覧表示

Backボタンで戻ったら

ブラウザの

再読み込みで...
記事が重複...
しかもslugが空
タイトルを全角文字にしたのが
よろしくなかったようで
タイトルを半角に
●   一覧はOK
View article
●   /site1/index.php/news/news-title-test
    slugは機能していた
作業環境
お世話になりました
以上です



ご清聴に感謝します。
   m(__)m

More Related Content

What's hot

俺のフックがこんなに簡単なわけがない。
俺のフックがこんなに簡単なわけがない。俺のフックがこんなに簡単なわけがない。
俺のフックがこんなに簡単なわけがない。Hishikawa Takuro
 
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えようWordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えようNaoki Matsuda
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb APIYuko Toriyama
 
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeMTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeYujiro Araki
 
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメプロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメNorito Agetsuma
 
CakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようCakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようTomo Mizoe
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
 
CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存Tomo Mizoe
 
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & TipsjQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tipsyoshikawa_t
 
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発Shinzo SAITO
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報yoshikawa_t
 
Wb osaka 20120623
Wb osaka 20120623Wb osaka 20120623
Wb osaka 20120623Miho Ishida
 
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 arisu yano
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)Arata Fujimura
 
見よう見まねでJavaFX!
見よう見まねでJavaFX!見よう見まねでJavaFX!
見よう見まねでJavaFX!_denko
 

What's hot (19)

俺のフックがこんなに簡単なわけがない。
俺のフックがこんなに簡単なわけがない。俺のフックがこんなに簡単なわけがない。
俺のフックがこんなに簡単なわけがない。
 
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えようWordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb API
 
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeMTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
 
Jetpack Workshop
Jetpack WorkshopJetpack Workshop
Jetpack Workshop
 
swooleを試してみた
swooleを試してみたswooleを試してみた
swooleを試してみた
 
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメプロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメ
 
MT meets PHP
MT meets PHPMT meets PHP
MT meets PHP
 
CakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようCakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみよう
 
test
testtest
test
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
 
CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存
 
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & TipsjQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
 
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
 
Wb osaka 20120623
Wb osaka 20120623Wb osaka 20120623
Wb osaka 20120623
 
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
 
見よう見まねでJavaFX!
見よう見まねでJavaFX!見よう見まねでJavaFX!
見よう見まねでJavaFX!
 

Viewers also liked

水曜デザイン塾 文字モジ会
水曜デザイン塾 文字モジ会水曜デザイン塾 文字モジ会
水曜デザイン塾 文字モジ会Kazuaki Ueda
 
Android test tutorial
Android test tutorialAndroid test tutorial
Android test tutorialKazuaki Ueda
 
Making bootable USB by update from 4.1 to 5.0
Making bootable USB by update from 4.1 to 5.0Making bootable USB by update from 4.1 to 5.0
Making bootable USB by update from 4.1 to 5.0Kazuaki Ueda
 
Jaws User Group in Ehime Lightning Talk
Jaws User Group in Ehime Lightning TalkJaws User Group in Ehime Lightning Talk
Jaws User Group in Ehime Lightning TalkKazuaki Ueda
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreenKazuaki Ueda
 
Android api-levels
Android api-levelsAndroid api-levels
Android api-levelsKazuaki Ueda
 

Viewers also liked (7)

水曜デザイン塾 文字モジ会
水曜デザイン塾 文字モジ会水曜デザイン塾 文字モジ会
水曜デザイン塾 文字モジ会
 
Android test tutorial
Android test tutorialAndroid test tutorial
Android test tutorial
 
Making bootable USB by update from 4.1 to 5.0
Making bootable USB by update from 4.1 to 5.0Making bootable USB by update from 4.1 to 5.0
Making bootable USB by update from 4.1 to 5.0
 
Jaws User Group in Ehime Lightning Talk
Jaws User Group in Ehime Lightning TalkJaws User Group in Ehime Lightning Talk
Jaws User Group in Ehime Lightning Talk
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreen
 
Esxi client-4to5
Esxi client-4to5Esxi client-4to5
Esxi client-4to5
 
Android api-levels
Android api-levelsAndroid api-levels
Android api-levels
 

Similar to Ci tutorial

Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」タカシ キタジマ
 
WordBech Osaka No.28
WordBech Osaka No.28WordBech Osaka No.28
WordBech Osaka No.28Kite Koga
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210cmtomoda
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみたTakahiro Hidaka
 
Ruby on Rails Tutorial
Ruby on Rails TutorialRuby on Rails Tutorial
Ruby on Rails TutorialKen Iiboshi
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2Atsuo Yamasaki
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発Kazuki Nakajima
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925龍一 田中
 
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義ria1201
 
Launch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPressLaunch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPressKite Koga
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applicationstotty jp
 
XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3Hikawa Kilica
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門Sho A
 

Similar to Ci tutorial (20)

Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
 
WordBech Osaka No.28
WordBech Osaka No.28WordBech Osaka No.28
WordBech Osaka No.28
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
 
Ruby on Rails Tutorial
Ruby on Rails TutorialRuby on Rails Tutorial
Ruby on Rails Tutorial
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
jQuery超入門編
jQuery超入門編jQuery超入門編
jQuery超入門編
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
Using Dancer
Using DancerUsing Dancer
Using Dancer
 
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
 
Launch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPressLaunch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPress
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applications
 
XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 

More from Kazuaki Ueda

いろいろCMS勉強会 featuring SHIRASAGI
いろいろCMS勉強会 featuring SHIRASAGIいろいろCMS勉強会 featuring SHIRASAGI
いろいろCMS勉強会 featuring SHIRASAGIKazuaki Ueda
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
ローカル開催コミュニティ
ローカル開催コミュニティローカル開催コミュニティ
ローカル開催コミュニティKazuaki Ueda
 
Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.Kazuaki Ueda
 
Making bootable usb of ESXi-5.0
Making bootable usb of ESXi-5.0Making bootable usb of ESXi-5.0
Making bootable usb of ESXi-5.0Kazuaki Ueda
 

More from Kazuaki Ueda (10)

いろいろCMS勉強会 featuring SHIRASAGI
いろいろCMS勉強会 featuring SHIRASAGIいろいろCMS勉強会 featuring SHIRASAGI
いろいろCMS勉強会 featuring SHIRASAGI
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
IPv4 address
IPv4 addressIPv4 address
IPv4 address
 
ローカル開催コミュニティ
ローカル開催コミュニティローカル開催コミュニティ
ローカル開催コミュニティ
 
Cms festa-0216
Cms festa-0216Cms festa-0216
Cms festa-0216
 
Lt presentation
Lt presentationLt presentation
Lt presentation
 
Sudachi hackathon
Sudachi hackathonSudachi hackathon
Sudachi hackathon
 
Word bench愛媛
Word bench愛媛Word bench愛媛
Word bench愛媛
 
Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.
 
Making bootable usb of ESXi-5.0
Making bootable usb of ESXi-5.0Making bootable usb of ESXi-5.0
Making bootable usb of ESXi-5.0
 

Recently uploaded

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Recently uploaded (11)

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

Ci tutorial