SlideShare a Scribd company logo
1 of 37
Download to read offline
Ruby入門
谷口耕平 @ran_tan
ハウインターナショナル
でRuby on Railsを使って
大学向けの教育サービスを
作ってます。
自己紹介
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
!Rubyとは?
• 島根県松江市在住の まつもとゆきひろ さん

(通称 Matz)を中心に開発されているOSSのプ
ログラミング言語
• Rubyは今年で23歳くらい
• 最新バージョンは v2.3.0
• 日本人のコミッターが多く、国内のRubyコ
ミュニティは非常に活発。
Rubyを動かそう!
• RubyInstallerを使う (僕が普段windows使ってないので、詳しいことはわかりません><)
• RubyInstaller http://rubyinstaller.org/
• 自分でビルドする場合は以下の電子書籍が参考になるらしい。
• Ruby環境構築講座 Windows編 http://tatsu-zine.com/books/winrubybuild
"

$
Windows
OS X
Linux
• 最初から入ってる。
• 本格的に使うなら rvm や rbenv の様な Ruby のバージョン管理ツールを使ってインストールす
るのがオススメ。複数バージョンの Ruby をインストールし、切り替え可能。
• 日本だと rbenv の方がよく使われている印象。僕も rbenv 使ってます。
• rbenv https://github.com/rbenv/rbenv
• rvm https://rvm.io/
• OS X と同様に rbenv や rvm を使ってインストールするのがオススメ。
参考: Rubyist Magazine - Rubyの歩き方 http://magazine.rubyist.net/?FirstStepRuby
Rubyのここが好き
Rubyは楽しい!
Rubyは
「読みやすい」かつ
「書きやすい」ので
「作りたいものに集中出来る」
そして、作る事は楽しい。
短く言うと「Rubyは楽しい」
「Rubyは楽しい!」を支えるもの
• 全てが「オブジェクト」である
• 充実した組み込みライブラリ
• ブロック構文
• 黒魔術(メタプログラミング)
全てが「オブジェクト」である
• 数値も文字列も配列もオブジェクトなので直感
的なコードが書ける
10.times do
puts 'Hello, World!'
end
'Hello, World!'.upcase # => "HELLO, WORLD!"
# 1文字ずらすシーザー暗号の例
'Hello, World!'.each_char.map {|c| c.next }.join
# => Ifmmp-!Xpsme"
['Ruby', 'Matz', 'eZUKA Rails'].select do |i|
i.include?('R')
end
# => ["Ruby", "eZUKA Rails"]
充実した組み込みライブラリ
• ドキュメント http://docs.ruby-lang.org/ja/
• 特に、String, Array, Hashなどよく使うクラ
スのメソッドが充実しているので、いろんな処
理がさくっと書ける。
Rubyで使えるライブラリ
!
Ruby
組み込みライブラリ
標準添付ライブラリ
Rubyをインストールすると入るもの
+ + RubyGems
OSSの gem を

gem コマンドでインストール可能
RubyGems.org には様々なライブラリ( gem )がある
z
z
沢山ある
https://rubygems.org/ で探せる。
https://www.ruby-toolbox.com/ で探すのもオススメ。
ブロック構文
• こういうの。
• メソッドの引数に処理の固まりを渡すことが出
来る。
• Cだと関数ポインタ使うと似たような事できる
けど、冗長になる。JavaでもLambda使うと
良いけど、比べると若干冗長。
10.times do
puts 'Hello, World!'
end
Cの例
#include <stdio.h>
void times(int times , void (*func)(int));
void myfunc(int i);
int main() {
times(10, &myfunc);
return 0;
}
void times(int times , void (*func)(int)) {
for(int i = 0; i < times; i++) {
func(i);
}
}
void myfunc(int i) {
printf("%i: Hello, World!n", i);
}
Javaの例
黒魔術(メタプログラミング)
• 下手に使うとダークサイドに落ちてしまうので、
通常の構文に慣れるまでは置いておきましょう。
• Rubyに新しい仕様を追加しているかのように
見えるほどの、非常に強い拡張性をRubyに与
えている。便利な分、使い方を誤ると暗黒面に
堕ちてしまう。
• DSLの作成にもよく使われるテクニック
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
ここからはRubyの基本構文
を見ていきましょう。
Hello, World!
class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
#include <stdio.h>
int main() {
printf("Hello, World!n");
return 0;
}
puts 'Hello, World!'
変数宣言
int num = 1;
num = 1
• Rubyの変数には型がない。整数を入れた変数
に、後から文字列を代入することも出来る。
条件分岐
# if
if num.even?
puts '偶数だよ'
elsif num.odd?
puts '奇数だよ'
else
puts 'ほげー'
end
# unless
unless num.even?
puts '奇数だよ'
else
puts '偶数だよ'
end
# 後置
puts '偶数だよ' if num.even?
puts '奇数だよ' unless num.even?
if (num % 2 == 0) {
printf("偶数だよn");
} else if (num % 2 != 0) {
printf("奇数だよn");
}
JavaはCとほとんど同じなので省略
ループ
array = [1, 2, 3, 4, 5]
array.each do |i|
puts i
end
int array[] = {1, 2, 3, 4, 5};
for(int i : array) {
System.out.println(i);
}
int array[] = {1, 2, 3, 4, 5};
int array_length = sizeof array /sizeof array[0];
for(int i = 0; i < array_length; i++) {
printf("%in", array[i]);
}
Rubyのループ
• while, for, loopといった構文もあるが、余り
使われない。
• eachメソッドを使うのが基本。
• Arrayなどの繰り返し処理の対象となるクラス
はEnumerableモジュールがmixinされており、
mapやreduceと言ったメソッドも使える。
(長くなるので、割愛)
ここからはOOPに関して、
RubyとJavaを比較していきます。
RubyとJavaはどちらもオブジェクト指向プログラ
ミング(OOP)言語だけど、微妙に違ったアプローチ
を取っている。
型へのアプローチ
ここにRubyとJavaの思想の違いが現れている。
Rubyはプログラマの書きやすさを壊さない範囲で性能面の最適化をやっている。
Javaははじめからパフォーマンスを考慮して、プリミティブ型を導入し、オブ
ジェクト指向の世界を歪めている。
!
%
純粋なオブジェクト指向言語とは言いがたい
• 全てがオブジェクトというわけではない
• プリミティブ型がある
Ruby
Java
純粋なオブジェクト指向言語
• 全てがオブジェクト
型付けへのアプローチ
!
% 静的型付け
• 変数やメソッドの宣言時に型を宣言する
Ruby
Java
動的型付け
• 変数やメソッド作成時に型を宣言しない。
• ダックタイピング
• 外から見た振る舞いが同じなら、同じ型と

見なす
多重継承へのアプローチ
!
%
Interface
• APIが宣言された Interface をクラスに追加

し実装することで、クラスを拡張する。
• Java8からインターフェースが実装を持てる

ようになったため、RubyのMixinと同じこ

とが出来るようになった??
• 参考: http://equj65.net/tech/java8mixin/
Ruby
Java
Mixin
• 機能が定義されたそれだけではインスタンス

を生成できないModuleをクラスに追加し、

拡張する。
private, protectedの違い
!
%
• クラス内のみアクセス可能
• クラス内、同一パッケージ、サブクラスから

アクセス可
Ruby
Java
• レシーバ無しでしか呼び出せない
• そのメソッドを持つオブジェクトが self である

コンテキスト(メソッド定義式や instance_eval

)でのみ呼び出せる
参考: Ruby ¦ Ruby の private と protected 。歴史と使い分け - Qiita http://qiita.com/tbpgr/items/6f1c0c7b77218f74c63e
違うと言う事だけは覚えておきましょう。
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
done!
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
done!
Ruby入門書籍
たのしいRuby
• 他のプログラミング言語の経験やOOPへの理解

に自身が無い方にオススメ。
• 丁寧な説明でじっくり学べます。
初めてのRuby
• 他の言語の経験があり、OOPも理解されている

方にオススメ。
• 簡潔な説明で、厚みも薄いので読みやすい。
パーフェクトRuby
• 網羅的で良いらしいです。(僕は読んでないです、、)
• rubyの構文や組み込みライブラリはもちろんメタプログラ

ミングからgemの作り方までおさえてあります。
もっとRubyを使いこなすための書籍
まつもとゆきひろコードの世界
• Rubyの思想的なところが理解できます。
• オブジェクト指向の話も多い。
プログラミング言語Ruby
• Rubyの仕様がわかる本。詳細に書いてある。
• 手元に1冊あると心強い。
メタプログラミングRuby
• メタプログラミングの理解は脱Ruby初心者の条件!?
• 1週間でメタプログラミングをマスター出来る構成になって

ます。Rails内部のメタプログラミングについての解説もあ

ります。
もっとRubyを使いこなすための書籍
Effective Ruby
• Rubyをもっと効果的に、効率的に使うための

ノウハウが詰まってます。良書。
• こちらも脱初心者のための必読書。
Rubyのしくみ
• Rubyの中身が解説してある数少ない内の1冊
• 知的好奇心を満足させるためにも良い本。

(僕はまだ読めてないんですが、、)
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
done!
done!
発表の内容
• CやJavaと比較しながらRubyを紹介します。
• 前提:どの言語を使うかは適材適所。利用シー
ンの定義無しに言語の優劣は語れない。
• 最初にざっくりとRubyの特徴を説明します。
• 次にC、Javaと比較しながら基本的な構文を紹
介します。
• 最後にRubyの書籍を紹介します。
done!
done!
done!
楽しいRubyistライフを
お過ごしください!

More Related Content

What's hot

きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章Takayuki Kurosawa
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道Shigeru UCHIYAMA
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践LINE Corporation
 
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Ra Zon
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道Satoshi Sato
 
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返るHiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返るtsudaa
 
AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、Tsuyoshi Yamamoto
 
Ruby でつくる型付き Ruby
Ruby でつくる型付き RubyRuby でつくる型付き Ruby
Ruby でつくる型付き Rubymametter
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!Ra Zon
 
Jjug ナイト・セミナー くわっちょ 20140822
Jjug ナイト・セミナー くわっちょ 20140822Jjug ナイト・セミナー くわっちょ 20140822
Jjug ナイト・セミナー くわっちょ 20140822くわっ ちょ
 
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介mametter
 
ゴースト・と・で・の・お話
ゴースト・と・で・の・お話ゴースト・と・で・の・お話
ゴースト・と・で・の・お話wizstargaer
 
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜parrotstudio
 
C# コンパイラーの書き換え作業の話
C# コンパイラーの書き換え作業の話C# コンパイラーの書き換え作業の話
C# コンパイラーの書き換え作業の話信之 岩永
 
ES6,7で書ける JavaScript
ES6,7で書ける JavaScriptES6,7で書ける JavaScript
ES6,7で書ける JavaScriptShin Sekaryo
 

What's hot (20)

きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
 
Clojure
ClojureClojure
Clojure
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
 
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
 
こわくないScala
こわくないScalaこわくないScala
こわくないScala
 
Scala is-unscared
Scala is-unscaredScala is-unscared
Scala is-unscared
 
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返るHiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
 
AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、
 
Ruby でつくる型付き Ruby
Ruby でつくる型付き RubyRuby でつくる型付き Ruby
Ruby でつくる型付き Ruby
 
app-c.odp
app-c.odpapp-c.odp
app-c.odp
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
 
Jjug ナイト・セミナー くわっちょ 20140822
Jjug ナイト・セミナー くわっちょ 20140822Jjug ナイト・セミナー くわっちょ 20140822
Jjug ナイト・セミナー くわっちょ 20140822
 
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介
 
ゴースト・と・で・の・お話
ゴースト・と・で・の・お話ゴースト・と・で・の・お話
ゴースト・と・で・の・お話
 
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
 
C# コンパイラーの書き換え作業の話
C# コンパイラーの書き換え作業の話C# コンパイラーの書き換え作業の話
C# コンパイラーの書き換え作業の話
 
ES6,7で書ける JavaScript
ES6,7で書ける JavaScriptES6,7で書ける JavaScript
ES6,7で書ける JavaScript
 
No skk, no life.
No skk, no life.No skk, no life.
No skk, no life.
 

Viewers also liked

AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAmazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAmazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAmazon Web Services Japan
 
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組み
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組みスタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組み
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組みYasuhiro Horiuchi
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドToshiakiArai
 
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAmazon Web Services Japan
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as CodeDoug Seven
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまでAmazon Web Services Japan
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪崇之 清水
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixJustin Ryan
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 

Viewers also liked (14)

AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
 
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
 
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組み
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組みスタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組み
スタートアップのエンジニアに求められる
働き方・マインドとそれを支える会社の取り組み
 
AWS OpsWorksのご紹介
AWS OpsWorksのご紹介AWS OpsWorksのご紹介
AWS OpsWorksのご紹介
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
 
AWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorks
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as Code
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 

Similar to C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1

第1部「一時間で覚えるruby」
第1部「一時間で覚えるruby」第1部「一時間で覚えるruby」
第1部「一時間で覚えるruby」Hiromu Shioya
 
Shibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてShibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてtnoda
 
JavaとRubyのすてきな関係
JavaとRubyのすてきな関係JavaとRubyのすてきな関係
JavaとRubyのすてきな関係garden_tree
 
Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005gotohayato
 
ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットToru Tamaki
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルMikiya Okuno
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトTaketo Sano
 
ラボユース 最終成果報告会
ラボユース 最終成果報告会ラボユース 最終成果報告会
ラボユース 最終成果報告会shiftky
 
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションsn_monochr
 
Reudy on Ruby1.9
Reudy on Ruby1.9Reudy on Ruby1.9
Reudy on Ruby1.9Glass_saga
 
2歩目 プレゼン資料 初歩から始めるjava勉強会
2歩目 プレゼン資料 初歩から始めるjava勉強会2歩目 プレゼン資料 初歩から始めるjava勉強会
2歩目 プレゼン資料 初歩から始めるjava勉強会悠平 鎌田
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
Ruby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてRuby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてTomoya Kawanishi
 
Numeric クラスについて
Numeric クラスについて Numeric クラスについて
Numeric クラスについて Tomoya Kawanishi
 
Ruby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストRuby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストKanako Kobayashi
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Taku Miyakawa
 
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようCookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようKoichi Sasada
 
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行monglee
 

Similar to C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1 (20)

第1部「一時間で覚えるruby」
第1部「一時間で覚えるruby」第1部「一時間で覚えるruby」
第1部「一時間で覚えるruby」
 
Shibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてShibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R について
 
JavaとRubyのすてきな関係
JavaとRubyのすてきな関係JavaとRubyのすてきな関係
JavaとRubyのすてきな関係
 
Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005
 
ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマット
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデル
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
 
Rubyの話を少し
Rubyの話を少しRubyの話を少し
Rubyの話を少し
 
ラボユース 最終成果報告会
ラボユース 最終成果報告会ラボユース 最終成果報告会
ラボユース 最終成果報告会
 
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
 
Reudy on Ruby1.9
Reudy on Ruby1.9Reudy on Ruby1.9
Reudy on Ruby1.9
 
2歩目 プレゼン資料 初歩から始めるjava勉強会
2歩目 プレゼン資料 初歩から始めるjava勉強会2歩目 プレゼン資料 初歩から始めるjava勉強会
2歩目 プレゼン資料 初歩から始めるjava勉強会
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Ruby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてRuby の制御構造とリテラルについて
Ruby の制御構造とリテラルについて
 
Numeric クラスについて
Numeric クラスについて Numeric クラスについて
Numeric クラスについて
 
Ruby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストRuby on Railsではじめるrspecテスト
Ruby on Railsではじめるrspecテスト
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
 
Scheme Interpreter in Ruby
Scheme Interpreter in RubyScheme Interpreter in Ruby
Scheme Interpreter in Ruby
 
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようCookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
 
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
 

C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1