SlideShare a Scribd company logo
RubyMotionで iOS開発
2013/04/27【豊橋】第1回iPhoneアプリ開発勉強会
加藤匡邦 (エアーズ株式会社)
自己紹介
@mackato
Mr. kato (bruce lee) in Green Hornet.
fromHamamatsu!
Original Update by hirotomo
エアーズ株式会社
毎日つかえるアプリを作る
Hi-Cube
浜松本社
TokyoofficeinTSUKIJI
※写真はイメージです
Original Update by graney
ウェブ開発
RubyonRails
おいしいはiPhoneが覚えてる
お財布はスリムに、お店はスマートに
WWDC2012
attendee
WWDC2013sellsoutin2minutes!
Hamamatsu.rb#1
Hamamatsu.rb
2011.03.09∼
Hamackathon
Hamackathon#2 Mobile - 2010.12.04
Hamackathon
JAWS-UG浜松
http://jaws-ug.jp/bc/hamamatsu/
Ruby
Ruby
オブジェクト指向
シンプルな文法
動的な型付け
Web開発
サーバー管理
パッケージ管理
RubyMotion
RubyMotion
Rubyで書ける
iOSネイティブ
iOSライブラリが
使える
$199.99
有料です
¥20,513
アベノミクス
2013/4/27現在
WritewithRuby
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
@window.makeKeyAndVisible
@blue_view = UIView.alloc.initWithFrame(CGRectMake(10, 10, 100, 100))
@blue_view.backgroundColor = UIColor.blueColor
@window.addSubview(@blue_view)
true
end
end
app_delegate.rb
UsePowerofRuby
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
@window.makeKeyAndVisible
 
%w(blue-lagoon red-ocean black-coffee).each_with_index do |str, i|
UIView.alloc.init.tap do |view|
view.frame = [[50 * i, 50 * i + 20], [100, 100]]
view.backgroundColor = UIColor.send(:"#{$1}Color")
@window.addSubview(view)
end if str =~ /^(?!black)(w+)-.+/
end
 
true
end
end
app_delegate.rb
Metaprogramming
http://clayallsopp.com/posts/rubymotion-metaprogramming/
def tableView(tableView,
didSelectRowAtIndexPath:indexPath)
menu_row = self.menu_items[indexPath.row]
# => 'profile'
self.send("open_#{menu_row}")
end
def open_profile; #...; end
def open_messages; #...; end
def open_feed; # ...; end
class Profile
# EX: has_one :user
def self.has_one(name)
klass = make_klass_from_name(name)
# EX: => User
# Effect: (a_profile.user = a_user)
# === a_user.profile_id = 4
define_method("#{name}=") do |value|
value.send("#{self.class.stringify}_id=", self.id)
value.save
value
end
end
def self.stringify; "profile"; end
end
send define_method
HelloMotion
% motion create HelloMotion
Create HelloMotion
Create HelloMotion/.gitignore
Create HelloMotion/Rakefile
Create HelloMotion/app
Create HelloMotion/app/app_delegate.rb
Create HelloMotion/resources
Create HelloMotion/resources/Default-568h@2x.png
Create HelloMotion/spec
Create HelloMotion/spec/main_spec.rb
GoodbyeXcode
HelloMotion/
"## Rakefile
"## app
$   %## app_delegate.rb
"## resources
$   %## Default-568h@2x.png
%## spec
%## main_spec.rb
GoodbyeXcode/
"## GoodbyeXcode
$   "## Default-568h@2x.png
$   "## Default.png
$   "## Default@2x.png
$   "## GXAppDelegate.h
$   "## GXAppDelegate.m
$   "## GoodbyeXcode-Info.plist
$   "## GoodbyeXcode-Prefix.pch
$   "## en.lproj
$   $   %## InfoPlist.strings
$   %## main.m
"## GoodbyeXcode.xcodeproj
$   "## project.pbxproj
$   "## project.xcworkspace
$   $   "## contents.xcworkspacedata
$   $   %## xcuserdata
$   $   %## kato.xcuserdatad
$   $   %## UserInterfaceState.xcuserstate
$   %## xcuserdata
$   %## kato.xcuserdatad
$   %## xcschemes
$   "## GoodbyeXcode.xcscheme
$   %## xcschememanagement.plist
%## GoodbyeXcodeTests
"## GoodbyeXcodeTests-Info.plist
"## GoodbyeXcodeTests.h
"## GoodbyeXcodeTests.m
%## en.lproj
%## InfoPlist.strings
RunApplication
% rake
Build ./build/iPhoneSimulator-6.1-Development
Compile ./app/app_delegate.rb
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.app
Link ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/HelloMotion
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/Info.plist
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/PkgInfo
Copy ./resources/Default-568h@2x.png
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.dSYM
warning: no debug symbols in executable (-arch i386)
Simulate ./build/iPhoneSimulator-6.1-Development/HelloMotion.app
(main)>
REPL-interactiveconsole
% rake
Build ./build/iPhoneSimulator-6.1-Development
Compile ./app/app_delegate.rb
Link ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/HelloMotion
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/Info.plist
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.app/PkgInfo
Create ./build/iPhoneSimulator-6.1-Development/HelloMotion.dSYM
Simulate ./build/iPhoneSimulator-6.1-Development/HelloMotion.app
(main)> 2013-04-27 15:31:48.161 HelloMotion[1990:c07] Application windows ...
(main)> self
=> main
(#<UIView:0x7648df0>)> self.backgroundColor = UIColor.whiteColor
=> #<UICachedDeviceWhiteColor:0xa96f180>
(#<UIView:0x7648df0>)>
motion-cocoapods
Rakefile
#  -­‐*-­‐  coding:  utf-­‐8  -­‐*-­‐
$:.unshift("/Library/RubyMotion/lib")
require  'motion/project'
require  'rubygems'
require  'motion-­‐cocoapods'
  
Motion::Project::App.setup  do  |app|
    #  Use  `rake  config'  to  see  complete  project  settings.
    app.name  =  'HelloMotion'
  
    app.pods  do
        pod  'JSONKit'
    end
end
Bundler
Rakefile
#  -­‐*-­‐  coding:  utf-­‐8  -­‐*-­‐
$:.unshift("/Library/RubyMotion/lib")
require  'motion/project'
require  'bundler'
Bundler.require
  
Motion::Project::App.setup  do  |app|
    #  Use  `rake  config'  to  see  complete  project  settings.
    app.name  =  'HelloMotion'
  
    app.pods  do
        pod  'JSONKit'
    end
end
Gemfile
source  'https://rubygems.org'
  
gem  'rake'
gem  'motion-­‐cocoapods'
gem  'bubble-­‐wrap'
gem  'sugarcube'
BubbleWrap
# Uses the front camera
BW::Device.camera.front.picture(media_types: [:movie, :image]) do |result|
image_view = UIImageView.alloc.initWithImage(result[:original_image])
end
Camera
BW::Location.get do |result|
p "From Lat #{result[:from].latitude}, Long #{result[:from].longitude}"
p "To Lat #{result[:to].latitude}, Long #{result[:to].longitude}"
end
Location
BW::HTTP.get("https://api.github.com/users/mattetti") do |response|
p response.body.to_str
end
HTTP
Sugarcube
0xffffff.uicolor  #  =>  UIColor.colorWithRed(1.0,  green:1.0,  blue:1.0,  alpha:1.0)
5.days.ago    #  =>  2012-­‐12-­‐29  11:42:24  -­‐0700
Fixnum
#  UIApplication.sharedApplication.openURL(NSURL.URLWithString("https://github.com"))
"https://github.com".nsurl.open
NSURL
#  UIImage  from  name
"my_image".uiimage    #  =>  UIImage.imageNamed("my_image")
#  UIFont  from  name
"my_font".uifont(20)  #  =>  UIFont.fontWithName("my_font",  size:20)
#  NSLocalizedString  from  string
"hello".localized    #  =>  NSBundle.mainBundle.localizedStringForKey("hello",  value:nil,  table:nil)
"hello"._                    #  ==  "hello".localized
NSString
In therealworld
EverClip
WinnerofEvernoteDevCup2012!
Basecamp
37signalsproduct
http://www.rubymotion.com/apps/
Community
RubyMotionもくもく会
次回 2013/05/22
RubyMotionKaigi2013
2013/05/29
Books
RubyMotion RubyMotion入門
@clayallsopp @naoya_ito
Seealso
RubyMotionDeveloperCenter
http://www.rubymotion.com/developer-center/
RubyMotionJP
http://rubymotion.jp/
RubyMotionWrappers
http://rubymotion-wrappers.com/
Conclusion
Rubyが書けてiOS未経験の方にはお薦め
RubyMotion以外にRuby使わない人には??
xcodeprojが無いので共同作業はしやすい
Thanks!
2013/05/819:00∼Hamamatsu.rb#27
参加者募集中!
http://atnd.org/events/38863

More Related Content

What's hot

從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
Ascii Huang
 
VDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform AppsVDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform Apps
Guilhem Ensuque
 
Intro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and AndroidIntro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and Android
SendGrid
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
Craig Dunn
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Guilhem Ensuque
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousCraig Dunn
 
Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine
🌍Matthew Bartos
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps DevelopmentProf. Erwin Globio
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅
PRADA Hsiung
 

What's hot (10)

從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
 
VDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform AppsVDC Conference 2011 - Developing Cross-Platform Apps
VDC Conference 2011 - Developing Cross-Platform Apps
 
Intro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and AndroidIntro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and Android
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furious
 
Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
Mobile Tools and Trends
Mobile Tools and TrendsMobile Tools and Trends
Mobile Tools and Trends
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅
 

Viewers also liked

Git for iOS beginner
Git for iOS beginnerGit for iOS beginner
Git for iOS beginnerbibmeke
 
第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料Ke Ta
 
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果Takatoshi Hattori
 
iBeaconsを触ってみた
iBeaconsを触ってみたiBeaconsを触ってみた
iBeaconsを触ってみたAtsushi Ito
 
Uicollectionview
UicollectionviewUicollectionview
Uicollectionviewtowaki777
 
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)Takashi Ohtsuka
 
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料第16回勉強会のビギナー資料
第16回勉強会のビギナー資料towaki777
 
SQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアにSQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアに
Tomotsune Murata
 

Viewers also liked (10)

Git for iOS beginner
Git for iOS beginnerGit for iOS beginner
Git for iOS beginner
 
第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料
 
No smokingplus
No smokingplusNo smokingplus
No smokingplus
 
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
 
iBeaconsを触ってみた
iBeaconsを触ってみたiBeaconsを触ってみた
iBeaconsを触ってみた
 
Cos0419
Cos0419Cos0419
Cos0419
 
Uicollectionview
UicollectionviewUicollectionview
Uicollectionview
 
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
 
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料第16回勉強会のビギナー資料
第16回勉強会のビギナー資料
 
SQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアにSQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアに
 

Similar to RubyMotionでiOS開発

RubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lxRubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lx
rmscms
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Why PhoneGap, a different perception ?
Why PhoneGap, a different perception ?Why PhoneGap, a different perception ?
Why PhoneGap, a different perception ?
Sham Yemul
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha Touch
Alexander Wilhelm
 
IRJET- Voice Recognition(AI) : Voice Assistant Robot
IRJET-  	  Voice Recognition(AI) : Voice Assistant RobotIRJET-  	  Voice Recognition(AI) : Voice Assistant Robot
IRJET- Voice Recognition(AI) : Voice Assistant Robot
IRJET Journal
 
DevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceDevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and Science
Cameron Kilgore
 
BayJax: Expanding Yahoo! Axis across 3 screens
BayJax: Expanding Yahoo! Axis across 3 screensBayJax: Expanding Yahoo! Axis across 3 screens
BayJax: Expanding Yahoo! Axis across 3 screens
Caridy Patino
 
iOS 7.1 accessibility for developers
iOS 7.1 accessibility for developersiOS 7.1 accessibility for developers
iOS 7.1 accessibility for developers
Ted Drake
 
Victor_Portfolio
Victor_PortfolioVictor_Portfolio
Victor_PortfolioVictor Chen
 
Native Smartphone Development with Ruby
Native Smartphone Development with RubyNative Smartphone Development with Ruby
Native Smartphone Development with Ruby
Maehana Tsuyoshi
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
Ronnie Liew
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Heiko Behrens
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
Jonas Bandi
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
Teamstudio
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
Raymond Camden
 

Similar to RubyMotionでiOS開発 (20)

RubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lxRubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lx
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Why PhoneGap, a different perception ?
Why PhoneGap, a different perception ?Why PhoneGap, a different perception ?
Why PhoneGap, a different perception ?
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha Touch
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 
IRJET- Voice Recognition(AI) : Voice Assistant Robot
IRJET-  	  Voice Recognition(AI) : Voice Assistant RobotIRJET-  	  Voice Recognition(AI) : Voice Assistant Robot
IRJET- Voice Recognition(AI) : Voice Assistant Robot
 
DevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceDevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and Science
 
BayJax: Expanding Yahoo! Axis across 3 screens
BayJax: Expanding Yahoo! Axis across 3 screensBayJax: Expanding Yahoo! Axis across 3 screens
BayJax: Expanding Yahoo! Axis across 3 screens
 
iOS 7.1 accessibility for developers
iOS 7.1 accessibility for developersiOS 7.1 accessibility for developers
iOS 7.1 accessibility for developers
 
Victor_Portfolio
Victor_PortfolioVictor_Portfolio
Victor_Portfolio
 
Native Smartphone Development with Ruby
Native Smartphone Development with RubyNative Smartphone Development with Ruby
Native Smartphone Development with Ruby
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Phonegap
PhonegapPhonegap
Phonegap
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 

More from Masakuni Kato

Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22
Masakuni Kato
 
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介Masakuni Kato
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発
Masakuni Kato
 
Blogging on jekyll
Blogging on jekyllBlogging on jekyll
Blogging on jekyll
Masakuni Kato
 
Hamamatsu.rb.20111210
Hamamatsu.rb.20111210Hamamatsu.rb.20111210
Hamamatsu.rb.20111210
Masakuni Kato
 
Twitter bootstrap on rails
Twitter bootstrap on railsTwitter bootstrap on rails
Twitter bootstrap on rails
Masakuni Kato
 
リーン・スタートアップ のためのテスト
リーン・スタートアップ のためのテストリーン・スタートアップ のためのテスト
リーン・スタートアップ のためのテストMasakuni Kato
 
Start developing Facebook apps in 13 steps
Start developing Facebook apps in 13 stepsStart developing Facebook apps in 13 steps
Start developing Facebook apps in 13 steps
Masakuni Kato
 
CoffeeScript in 5mins
CoffeeScript in 5minsCoffeeScript in 5mins
CoffeeScript in 5minsMasakuni Kato
 
浜松Rails3道場 其の四 View編
浜松Rails3道場 其の四 View編浜松Rails3道場 其の四 View編
浜松Rails3道場 其の四 View編Masakuni Kato
 
浜松Rails3道場 其の参 Controller編
浜松Rails3道場 其の参 Controller編浜松Rails3道場 其の参 Controller編
浜松Rails3道場 其の参 Controller編
Masakuni Kato
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 Masakuni Kato
 
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
Masakuni Kato
 

More from Masakuni Kato (13)

Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22
 
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発
 
Blogging on jekyll
Blogging on jekyllBlogging on jekyll
Blogging on jekyll
 
Hamamatsu.rb.20111210
Hamamatsu.rb.20111210Hamamatsu.rb.20111210
Hamamatsu.rb.20111210
 
Twitter bootstrap on rails
Twitter bootstrap on railsTwitter bootstrap on rails
Twitter bootstrap on rails
 
リーン・スタートアップ のためのテスト
リーン・スタートアップ のためのテストリーン・スタートアップ のためのテスト
リーン・スタートアップ のためのテスト
 
Start developing Facebook apps in 13 steps
Start developing Facebook apps in 13 stepsStart developing Facebook apps in 13 steps
Start developing Facebook apps in 13 steps
 
CoffeeScript in 5mins
CoffeeScript in 5minsCoffeeScript in 5mins
CoffeeScript in 5mins
 
浜松Rails3道場 其の四 View編
浜松Rails3道場 其の四 View編浜松Rails3道場 其の四 View編
浜松Rails3道場 其の四 View編
 
浜松Rails3道場 其の参 Controller編
浜松Rails3道場 其の参 Controller編浜松Rails3道場 其の参 Controller編
浜松Rails3道場 其の参 Controller編
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編
 
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
浜松Rails3道場 其の壱 プロジェクト作成〜Rouging編
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

RubyMotionでiOS開発