SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

從 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 AppsGuilhem 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 AndroidSendGrid
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig 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 StudioGuilhem 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
 

Was ist angesagt? (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的奇幻之旅
 

Andere mochten auch

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
 

Andere mochten auch (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を手軽に・セキュアに
 

Ähnlich wie RubyMotionでiOS開発

RubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lxRubyMotion - Meetup Ruby lx
RubyMotion - Meetup Ruby lxrmscms
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan 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 TouchAlexander 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 RobotIRJET 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 ScienceCameron 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 screensCaridy Patino
 
iOS 7.1 accessibility for developers
iOS 7.1 accessibility for developersiOS 7.1 accessibility for developers
iOS 7.1 accessibility for developersTed 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 RubyMaehana Tsuyoshi
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapQuang Minh Dao
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapQuang Minh Dao
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie 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 2010Heiko 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 1Teamstudio
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstRaymond Camden
 

Ähnlich wie 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
 

Mehr von Masakuni Kato

Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22Masakuni Kato
 
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介
スマートフォンを利用した会員カードシステムサービス「Smaca」のご紹介Masakuni Kato
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発Masakuni Kato
 
Hamamatsu.rb.20111210
Hamamatsu.rb.20111210Hamamatsu.rb.20111210
Hamamatsu.rb.20111210Masakuni Kato
 
Twitter bootstrap on rails
Twitter bootstrap on railsTwitter bootstrap on rails
Twitter bootstrap on railsMasakuni 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 stepsMasakuni 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
 

Mehr von 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編
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

RubyMotionでiOS開発