SlideShare a Scribd company logo
Ruby on Railsの基本的な使い方
                                        田辺浩介

1. はじめに

Ruby on RailsはWebアプリケーションを手軽に作成するためのフ
レームワークです。 Next-L EnjuはRailsの規則に従って作成されて
いるため、Railsのサンプルアプリケーションを 作成することに
よって、Enjuのおおまかな構成を把握することができます。

2. サンプルアプリケーションを作る

掲示板アプリケーションを作ってみましょう。以下のコマンドで新
しいアプリケーショ ンを作ります。

$ cd
$ rails new bbs

アプリケーションのディレクトリに移動します。

$ cd bbs

掲示板は以下の項目を持つとします。

           項目名    データ型
username(投稿者名)    string(255文字までの文字列)
email(メールアドレス)    string(255文字までの文字列)
body(本文)          text(255文字以上の文字列)
score(評価)         integer(整数)
3. アプリケーションのひな形の作成

以下のコマンドを実行します。ここでは掲示板のデータモデルの名
前をPostとします。
 $ rails generate scaffold Post username:string email:string
body:text score:integer

以下のディレクトリとファイルが作成されます(主要なものだけを
表示)。

Gemfile
app/controllers/posts_controller.rb
app/models/post.rb
app/views/posts/index.html.erb
app/views/posts/show.html.erb
app/views/posts/new.html.erb
app/views/posts/edit.html.erb
app/views/posts/_form.html.erb
db/migrates/20101016171302_create_posts.rb (数字の部分
は環境によって変化)
public/stylesheets/scaffold.css


ページ送り処理のためのライブラリを読み込むように指示します。
Gemfileに以下の行 を追加した後、
gem 'will_paginate'



以下のコマンドを実行して、ライブラリを用意します。
$ bundle update
5.データベースの作成

データベースを作成します。postsテーブルが同時に作成されます
(テーブル名はデータ モデル名を複数形にしたものになります。項
目3では Post としているので、テーブル名 は posts になりま
す)。
$ rake db:migrate

6. サーバを起動します。

$ rails server

7. Webブラウザで http://localhost:3000/posts にアクセスしま
す。いくつかデータを入力し てみましょう。

Ruby on Railsで作成されたアプリケーションは、大きく分けてモ
デル・コントローラ・ ビューの3つで構成されます。この構成を
「MVC」(Model-View-Controller)と呼びます が、それぞれの役
割を次項で説明します。
モデル(データの操作)
モデルはデータの操作(取得・作成・更新・削除)を担当します。こ
こでは実際にPostモ デルを操作してみましょう。

Webブラウザでもデータの操作は行えますが、今回は詳細を確か
めるために、コンソール を使って操作を行います。コンソールは
以下のコマンドで起動します。
$ rails console

コンソールはirbと同じ操作ができるようになっており、Rubyと
Railsで使われる命令を直 接実行することができます。

データの追加
createメソッドを使用してデータを作成します。
> post = Post.create(:username => tanabe , :body => こんに
ちは )

または、newメソッドとsaveメソッドを使用することもできます。
> post = Post.new(:username => tanabe , :body => こんにち
は)
> post.save

正しくデータが作成されると、idが自動的に付与されます。
=> #<Post id: 1, username: "tanabe", email: nil, body: "こんに
ちは", score: nil, created_at: "2010-10-16 20:24:23",
updated_at: "2010-10-16 20:24:23">

この場合、idに1が振られています。
データの取得
保存したデータをすべて取得するには、allメソッドを使用します。
> posts = Post.all

allメソッドではデータの配列が返ってきますので、これをeachな
どを使用して取り出します。

> posts.each do ¦post¦
   puts post.username
 end

Webアプリケーションの場合、画面1ページごとに表示件数を限定
してデータを取得する 必要があります。たとえば、1ページあたり
5件取得することとし、その2ページ目のデー タを取得するには、
以下のようにpaginateメソッドを使用します。
> posts = Post.paginate(:page => 2, :per_page => 5)


保存したデータを1件だけ取得するには、findメソッドを使用しま
す。以下のようにidを指定して取り出します。

> post = Post.find(1)
> post.username # usernameだけを取り出す
> post.body # bodyだけを取り出す

条件を指定してデータを取得するには、where を使用します。

# usernameがtanabeとなっているデータをすべて取得。配列が
返ってくる

> posts = Post.where(:username => tanabe )

# usernameがtanabeとなっているデータを最初の1件だけ取得

> post = Post.where(:username => tanabe ).first
データの更新
update_attributesメソッドを使用します。
> post.update_attributes({:username => kosuke , :email =>
tanabe@example.jp })

以下のように、saveメソッドを使用することもできます。

> post.username = kosuke
> post.email = tanabe@example.jp
> post.save

データの削除
destroyメソッドを使用します。

> post.destroy
ここまでのActiveRecordの使い方をまとめてみます。

     動作                              書き方
データ全件を取得       posts = Post.all
する
1ページ目のデー       posts = Post.paginate(:page => 1)
タをすべて取得す
る
idが15のデータを     post = Post.find(15)
取得する
username       posts = Post.where(:username => ʻtanabeʼ)
が tanabe のデー
タをすべて 取得す
る
username       post = Post.where(:username => ʻtanabeʼ).first
が tanabe のデー
タを1件だ け取得
する
データを作成する       post = Post.create(:username =>
(1)            ʻtanabeʼ, :body => ʻこんにちはʼ)
データを作成する       post = Post.new(:username => ʻtanabeʼ, :body
(2)            => ʻこんにちはʼ)
         post.save
データを更新する post = Post.find(15)
(1)      post.update_attributes({:username =>
         ʻkosukeʼ})
データを更新する post = Post.find(15)
(2)      post.username = ʻkosukeʼ
         post.save
データを削除する post = Post.find(15)
         post.destroy
コントローラ(処理の振り分け)
Railsで作成したアプリケーションには、一覧表示(index)・詳細表
示(show)・新規作成 (new)・編集(edit)の機能があらかじめ用意さ
れています。コントローラは、Webブラウザ などから送られてき
たリクエストをもとに、処理を振り分ける役割を行います。

params

URL内のパラメータやフォームに入力されたデータは、paramsと
いう変数に入ります。 たとえば、http://localhost:3000/posts?
query=tulips&page=3 というURLにアクセスがある と、
params[:query] に tulips が、params[:page] に 3 が保存されま
す。具体的な使用方法 は講義内で説明します。

ビュー(画面表示)
モデルとコントローラによって送られてきたデータをもとに、画面
の表示を担当する部分 です。Ruby on Railsでは、HTMLの中に
Rubyのプログラムを埋め込む形式( <%= %> の部分にRubyを書
きます)がデフォルトとして使われています。 コントローラで使用
したインスタンス変数は、ビューの中で使用することができます。
く わしくはソースコードを参照してください。

ポイント
• 変数名は配列が入る場合は複数形、データ1件が入る場合は単数
形でつけるとわかりや すいです。既定で作られるコントローラは
そのように作成してあります。

posts = Post.all # 複数件のpostが返ってくる
post = Post.find(15) # 1件のpostが返ってくる

More Related Content

Viewers also liked

Next-L Enju 開発ワークショップ #45
Next-L Enju 開発ワークショップ #45Next-L Enju 開発ワークショップ #45
Next-L Enju 開発ワークショップ #45
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #34
Next-L Enju 開発ワークショップ #34Next-L Enju 開発ワークショップ #34
Next-L Enju 開発ワークショップ #34
Kosuke Tanabe
 
Next-L Enjuのこれまでとこれから(2013年版)
Next-L Enjuのこれまでとこれから(2013年版)Next-L Enjuのこれまでとこれから(2013年版)
Next-L Enjuのこれまでとこれから(2013年版)
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #44
Next-L Enju 開発ワークショップ #44Next-L Enju 開発ワークショップ #44
Next-L Enju 開発ワークショップ #44
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #8
Next-L Enju 開発ワークショップ #8Next-L Enju 開発ワークショップ #8
Next-L Enju 開発ワークショップ #8Kosuke Tanabe
 
Next-L Enju Leaf 1.1.0 リリースに向けて
Next-L Enju Leaf 1.1.0 リリースに向けてNext-L Enju Leaf 1.1.0 リリースに向けて
Next-L Enju Leaf 1.1.0 リリースに向けて
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #35
Next-L Enju 開発ワークショップ #35Next-L Enju 開発ワークショップ #35
Next-L Enju 開発ワークショップ #35
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Kosuke Tanabe
 
What the F**k is Social Media NOW?
What the F**k is Social Media NOW?What the F**k is Social Media NOW?
What the F**k is Social Media NOW?
The Espresso Group
 
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
Terna SpA
 
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
ayan604
 
Designing buildings on the computer
Designing buildings on the computerDesigning buildings on the computer
Designing buildings on the computer
Evan Designs
 
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
Aioma AG
 
9M 2016 Consolidated Results (November 4, 2016)
 9M 2016 Consolidated Results (November 4, 2016) 9M 2016 Consolidated Results (November 4, 2016)
9M 2016 Consolidated Results (November 4, 2016)
Terna SpA
 
Starbucks Competitors: The Big Three
Starbucks Competitors: The Big ThreeStarbucks Competitors: The Big Three
Starbucks Competitors: The Big Three
Inevitable Steps
 
3 Steps To Make Your Lifecycle Emails Soar
3 Steps To Make Your Lifecycle Emails Soar3 Steps To Make Your Lifecycle Emails Soar
3 Steps To Make Your Lifecycle Emails Soar
Chris Hexton
 
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
Preferred Networks
 
Debunking the myths of organizational change management
Debunking the myths of organizational change managementDebunking the myths of organizational change management
Debunking the myths of organizational change management
accenture
 
designing innovation, insitutions for social transformation D1s3 gupta anil i...
designing innovation, insitutions for social transformation D1s3 gupta anil i...designing innovation, insitutions for social transformation D1s3 gupta anil i...
designing innovation, insitutions for social transformation D1s3 gupta anil i...
Dr Anil Gupta
 

Viewers also liked (20)

Next-L Enju 開発ワークショップ #45
Next-L Enju 開発ワークショップ #45Next-L Enju 開発ワークショップ #45
Next-L Enju 開発ワークショップ #45
 
Next-L Enju 開発ワークショップ #34
Next-L Enju 開発ワークショップ #34Next-L Enju 開発ワークショップ #34
Next-L Enju 開発ワークショップ #34
 
Next-L Enjuのこれまでとこれから(2013年版)
Next-L Enjuのこれまでとこれから(2013年版)Next-L Enjuのこれまでとこれから(2013年版)
Next-L Enjuのこれまでとこれから(2013年版)
 
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
 
Next-L Enju 開発ワークショップ #44
Next-L Enju 開発ワークショップ #44Next-L Enju 開発ワークショップ #44
Next-L Enju 開発ワークショップ #44
 
Next-L Enju 開発ワークショップ #8
Next-L Enju 開発ワークショップ #8Next-L Enju 開発ワークショップ #8
Next-L Enju 開発ワークショップ #8
 
Next-L Enju Leaf 1.1.0 リリースに向けて
Next-L Enju Leaf 1.1.0 リリースに向けてNext-L Enju Leaf 1.1.0 リリースに向けて
Next-L Enju Leaf 1.1.0 リリースに向けて
 
Next-L Enju 開発ワークショップ #35
Next-L Enju 開発ワークショップ #35Next-L Enju 開発ワークショップ #35
Next-L Enju 開発ワークショップ #35
 
Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5
 
What the F**k is Social Media NOW?
What the F**k is Social Media NOW?What the F**k is Social Media NOW?
What the F**k is Social Media NOW?
 
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
FY2014 and 2015-2019 Strategic Plan (26 marzo 2015)
 
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
Ownership Patterns of Single Family Homes Sales on the West Side Neighborhood...
 
Designing buildings on the computer
Designing buildings on the computerDesigning buildings on the computer
Designing buildings on the computer
 
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
B2B E-Commerce Trends: 10 Hypothesen für ein erfolgreiches Multichannel Mark...
 
9M 2016 Consolidated Results (November 4, 2016)
 9M 2016 Consolidated Results (November 4, 2016) 9M 2016 Consolidated Results (November 4, 2016)
9M 2016 Consolidated Results (November 4, 2016)
 
Starbucks Competitors: The Big Three
Starbucks Competitors: The Big ThreeStarbucks Competitors: The Big Three
Starbucks Competitors: The Big Three
 
3 Steps To Make Your Lifecycle Emails Soar
3 Steps To Make Your Lifecycle Emails Soar3 Steps To Make Your Lifecycle Emails Soar
3 Steps To Make Your Lifecycle Emails Soar
 
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
実世界の人工知能 〜交通,製造業,バイオヘルスケア〜
 
Debunking the myths of organizational change management
Debunking the myths of organizational change managementDebunking the myths of organizational change management
Debunking the myths of organizational change management
 
designing innovation, insitutions for social transformation D1s3 gupta anil i...
designing innovation, insitutions for social transformation D1s3 gupta anil i...designing innovation, insitutions for social transformation D1s3 gupta anil i...
designing innovation, insitutions for social transformation D1s3 gupta anil i...
 

Similar to Next-L Enju 開発WS #03 Ruby on Railsの使い方

WebAppDev勉強会 #3 at cafe? IKAGAWA DO
WebAppDev勉強会 #3 at cafe? IKAGAWA DOWebAppDev勉強会 #3 at cafe? IKAGAWA DO
WebAppDev勉強会 #3 at cafe? IKAGAWA DOKohei Noda
 
Teclab3
Teclab3Teclab3
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方
Soudai Sone
 
Mongodb
MongodbMongodb
Mongodb
Satoru Mikami
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京
Yu Ito
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo dbYuji Isobe
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
Takahiro Hidaka
 
C# Database操作3 データの更新-
C# Database操作3  データの更新-C# Database操作3  データの更新-
C# Database操作3 データの更新-
Hiroki Takahashi
 
WindowsでMySQL入門
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
 
シラサギハンズオン 大阪
シラサギハンズオン 大阪シラサギハンズオン 大阪
シラサギハンズオン 大阪
Yu Ito
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
Akabane Hiroyuki
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
Amazon Web Services Japan
 
PhpでMySqlを使う
PhpでMySqlを使うPhpでMySqlを使う
PhpでMySqlを使うpcod
 
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
 
シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016
Yu Ito
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
C# Database操作2 データの取得-
C# Database操作2  データの取得-C# Database操作2  データの取得-
C# Database操作2 データの取得-
Hiroki Takahashi
 

Similar to Next-L Enju 開発WS #03 Ruby on Railsの使い方 (20)

WebAppDev勉強会 #3 at cafe? IKAGAWA DO
WebAppDev勉強会 #3 at cafe? IKAGAWA DOWebAppDev勉強会 #3 at cafe? IKAGAWA DO
WebAppDev勉強会 #3 at cafe? IKAGAWA DO
 
Teclab3
Teclab3Teclab3
Teclab3
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方
 
Mongodb
MongodbMongodb
Mongodb
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
 
C# Database操作3 データの更新-
C# Database操作3  データの更新-C# Database操作3  データの更新-
C# Database操作3 データの更新-
 
WindowsでMySQL入門
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門
 
シラサギハンズオン 大阪
シラサギハンズオン 大阪シラサギハンズオン 大阪
シラサギハンズオン 大阪
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
 
PhpでMySqlを使う
PhpでMySqlを使うPhpでMySqlを使う
PhpでMySqlを使う
 
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
 
シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
C# Database操作2 データの取得-
C# Database操作2  データの取得-C# Database操作2  データの取得-
C# Database操作2 データの取得-
 

More from Kosuke Tanabe

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91
Kosuke Tanabe
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90
Kosuke Tanabe
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89
Kosuke Tanabe
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88
Kosuke Tanabe
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
Kosuke Tanabe
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78
Kosuke Tanabe
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれから
Kosuke Tanabe
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75
Kosuke Tanabe
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76
Kosuke Tanabe
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74
Kosuke Tanabe
 
nextlenju73
nextlenju73nextlenju73
nextlenju73
Kosuke Tanabe
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
Kosuke Tanabe
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65
Kosuke Tanabe
 
enju_ws_65
enju_ws_65enju_ws_65
enju_ws_65
Kosuke Tanabe
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64
Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
Kosuke Tanabe
 
Next-L Enju LRM
Next-L Enju LRMNext-L Enju LRM
Next-L Enju LRM
Kosuke Tanabe
 
Enju ws 60
Enju ws 60Enju ws 60
Enju ws 60
Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59
Kosuke Tanabe
 

More from Kosuke Tanabe (20)

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれから
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74
 
nextlenju73
nextlenju73nextlenju73
nextlenju73
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65
 
enju_ws_65
enju_ws_65enju_ws_65
enju_ws_65
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju LRM
Next-L Enju LRMNext-L Enju LRM
Next-L Enju LRM
 
Enju ws 60
Enju ws 60Enju ws 60
Enju ws 60
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59
 

Next-L Enju 開発WS #03 Ruby on Railsの使い方