Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kazuhiro Serizawa
PDF, PPTX
5,715 views
Rubyはとても「人間的」
第97回 IWDDで発表したLTです。 http://www.iwdd.net/
Software
◦
Read more
10
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PPTX
WEBページを表示するまで
by
Shoichi Kakizaki
PDF
女子力IT
by
Dong Oi
PDF
Gatsby.js完全に理解した
by
ssuser953388
PDF
1年かけてgemを1つ作りました
by
Ito Kunihiko
PDF
Cogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot Framework
by
Ayako Omori
PDF
意識の低いシンギュラリティの恐怖
by
chris chambers
PDF
IWDDについて
by
Yachiyo Suzuki
PDF
Next Generation Web Application Architecture
by
Koji SHIMADA
WEBページを表示するまで
by
Shoichi Kakizaki
女子力IT
by
Dong Oi
Gatsby.js完全に理解した
by
ssuser953388
1年かけてgemを1つ作りました
by
Ito Kunihiko
Cogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot Framework
by
Ayako Omori
意識の低いシンギュラリティの恐怖
by
chris chambers
IWDDについて
by
Yachiyo Suzuki
Next Generation Web Application Architecture
by
Koji SHIMADA
Viewers also liked
PDF
Sinatraのススメ
by
@odailly_jp Odai
PDF
これからはじめるCoda2とSublime Text 2
by
masaaki komori
PDF
new Objctive-C literal syntax
by
Wataru Kimura
PDF
blogサービスの全文検索の話 - #groonga を囲む夕べ
by
Masahiro Nagano
PPTX
Ruby1.9のfiberのかっこいい使い方
by
Kindai University
PDF
本格的に始めるzsh
by
Hideaki Miyake
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
PDF
Google borg と コンテナベース分散システムデザインパターン
by
ktateish
PDF
プログラマとして仕事をするために勉強すること
by
なおき きしだ
PDF
Project Lambdaの基礎
by
Yuichi Sakuraba
KEY
Code as data as code.
by
Mike Fogus
PDF
受託開発時におけるAWSクラウド活用術
by
Hiroshi Koyama
PDF
ARC環境で メモリリークを起こす 7つの方法
by
ushiostarfish _
PPTX
ES6 at PayPal
by
Jamund Ferguson
PDF
Eclipse活用術
by
Masahiro Wakame
PDF
Storm Anatomy
by
Eiichiro Uchiumi
PDF
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
by
Teppei Sato
PDF
Mobage を支える Ruby の技術 ~ 複数DB編 ~
by
Naotoshi Seo
PDF
ChefConf 2013: Beginner Chef Antipatterns
by
Julian Dunn
PDF
Scala 初めての人が Heroku で Web アプリを公開するまで
by
Hideaki Miyake
Sinatraのススメ
by
@odailly_jp Odai
これからはじめるCoda2とSublime Text 2
by
masaaki komori
new Objctive-C literal syntax
by
Wataru Kimura
blogサービスの全文検索の話 - #groonga を囲む夕べ
by
Masahiro Nagano
Ruby1.9のfiberのかっこいい使い方
by
Kindai University
本格的に始めるzsh
by
Hideaki Miyake
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
Google borg と コンテナベース分散システムデザインパターン
by
ktateish
プログラマとして仕事をするために勉強すること
by
なおき きしだ
Project Lambdaの基礎
by
Yuichi Sakuraba
Code as data as code.
by
Mike Fogus
受託開発時におけるAWSクラウド活用術
by
Hiroshi Koyama
ARC環境で メモリリークを起こす 7つの方法
by
ushiostarfish _
ES6 at PayPal
by
Jamund Ferguson
Eclipse活用術
by
Masahiro Wakame
Storm Anatomy
by
Eiichiro Uchiumi
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
by
Teppei Sato
Mobage を支える Ruby の技術 ~ 複数DB編 ~
by
Naotoshi Seo
ChefConf 2013: Beginner Chef Antipatterns
by
Julian Dunn
Scala 初めての人が Heroku で Web アプリを公開するまで
by
Hideaki Miyake
Similar to Rubyはとても「人間的」
PDF
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
by
mametter
PDF
Rubyの基礎@Webビギナーズ
by
Koudai Takahasi
PDF
Ruby
by
Shintaro Abe
PPT
Start!! Ruby
by
mitim
KEY
Rails基礎講座 part.1
by
Jun Yokoyama
PDF
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
by
耕平 谷口
PDF
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
by
Kenta USAMI
PDF
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
by
Tadashi Saito
ODP
Ruby + JS to Roptotype
by
Sho KUSANO
PDF
マニアックなRuby 2.7新機能紹介
by
mametter
PDF
20110820 metaprogramming
by
Masanori Kado
PPT
PHP使いから見たRuby(Talking about PHP & Ruby)
by
mochiko AsTech
ODP
プログラミング言語Ruby 1章 イントロダクション
by
Ryo Maruyama
PDF
Ruby 2.5
by
Masahiro Tomita
PDF
PHPer のための Ruby 教室
by
higaki
PDF
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
by
Shoot Morii
PDF
nomlab_okayamaruby_slide
by
nomlab
PPTX
Rubyコミュニティの力が本当にすごいという話
by
Kyoka Fujiike
PPT
第1部「一時間で覚えるruby」
by
Hiromu Shioya
PDF
2015 07-04-ruby rails
by
Hiroshi Oyamada
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
by
mametter
Rubyの基礎@Webビギナーズ
by
Koudai Takahasi
Ruby
by
Shintaro Abe
Start!! Ruby
by
mitim
Rails基礎講座 part.1
by
Jun Yokoyama
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
by
耕平 谷口
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
by
Kenta USAMI
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
by
Tadashi Saito
Ruby + JS to Roptotype
by
Sho KUSANO
マニアックなRuby 2.7新機能紹介
by
mametter
20110820 metaprogramming
by
Masanori Kado
PHP使いから見たRuby(Talking about PHP & Ruby)
by
mochiko AsTech
プログラミング言語Ruby 1章 イントロダクション
by
Ryo Maruyama
Ruby 2.5
by
Masahiro Tomita
PHPer のための Ruby 教室
by
higaki
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
by
Shoot Morii
nomlab_okayamaruby_slide
by
nomlab
Rubyコミュニティの力が本当にすごいという話
by
Kyoka Fujiike
第1部「一時間で覚えるruby」
by
Hiromu Shioya
2015 07-04-ruby rails
by
Hiroshi Oyamada
More from Kazuhiro Serizawa
PDF
Introduction to Retrofit
by
Kazuhiro Serizawa
PDF
第八回 #渋谷Java 最近のjava PaaS事情
by
Kazuhiro Serizawa
PDF
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
by
Kazuhiro Serizawa
PDF
第四回 #渋谷java オープニング
by
Kazuhiro Serizawa
PDF
Juzu Frameworkを使ってみた @第四回 渋谷java
by
Kazuhiro Serizawa
PDF
第3回渋谷javaオープニング
by
Kazuhiro Serizawa
PDF
第二回渋谷Java Opening #渋谷Java
by
Kazuhiro Serizawa
PDF
じっくりコトコト煮込んだJavaスープ
by
Kazuhiro Serizawa
PDF
PHPerがJava屋になるために乗り越えたこと
by
Kazuhiro Serizawa
PDF
第一回Shibuya.javaオープニング
by
Kazuhiro Serizawa
Introduction to Retrofit
by
Kazuhiro Serizawa
第八回 #渋谷Java 最近のjava PaaS事情
by
Kazuhiro Serizawa
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
by
Kazuhiro Serizawa
第四回 #渋谷java オープニング
by
Kazuhiro Serizawa
Juzu Frameworkを使ってみた @第四回 渋谷java
by
Kazuhiro Serizawa
第3回渋谷javaオープニング
by
Kazuhiro Serizawa
第二回渋谷Java Opening #渋谷Java
by
Kazuhiro Serizawa
じっくりコトコト煮込んだJavaスープ
by
Kazuhiro Serizawa
PHPerがJava屋になるために乗り越えたこと
by
Kazuhiro Serizawa
第一回Shibuya.javaオープニング
by
Kazuhiro Serizawa
Rubyはとても「人間的」
1.
Rubyはとても 「人間的」 2014年11月8日
第97回 IWDD 株式会社ハートレイルズ 芹沢和洋
2.
自己紹介 @seri_k Kazuhiro
Serizawa web engineer
3.
Work at http://www.heartrails.com/
4.
Remote Worker
5.
概要 • Rubyとの出会い
• Ruby is 人間的言語
6.
Rubyとの出会い http://anond.hatelabo.jp/20100916072052
7.
当時の認識 Ruby.is_ネタ言語? #true
8.
Rubyに興味を持った エントリー 残念ながら現在はリンク切れ…
うろ覚えですがRubyは楽しく人間的に書ける! という内容だった気がする…
9.
Rubyに興味を持った エントリー 当時の私のはてブコメント
10.
times for (i
= 0; i < 10; i ++){ hoge() } while(true){ if(i => 10)break; hoge(); i++; } 10.times {hoge()}
11.
どっちが分かりやすい? for (i
= 0; i < 10; i ++){ hoge() 10回hoge()を } 実行したい 10.times { hoge() }
12.
因みに • 1から10まで順番に引数を渡して実行する
→ 1.upto(10) { |i| hoge(i) } • 10から1まで順番に引数を渡して実行する →10.downto { |i| hoge(i) } • 1..10の範囲で実行する →(1..10).each{ hoge() }
13.
これを見て自分は こう思ったッス Rubyは人間的だ!
14.
人間的とは • 人間が「こうしたい」と思う「こうしたい」の文脈をその
まま実装に落とせるので「人間的」と思った (私がそう思っただけで一般的な名称ではありませんw) • プログラミング言語の都合に合わせて変換する手間が少な い • 人間は「同じ処理を10回やりたい」と思った時に「1回 処理を実行する度に数値を0から1ずつ増やして数値が9 になるまで繰り返す」とは考えない
15.
Arrayも人間的 • 要素の順番を
ひっくり返したい! • 指定の要素が 含まれているか 知りたい! • 重複を排除したい! Array#reverse Array#include?({要素}) Array#uniq
16.
Arrayも人間的 [1,2,3,4,5].reverse #=>
[5,4,3,2,1] [1,2,3,4,5].include?(1) #=> true [1,1,1,2,3,4].uniq #=> [1,2,3,4]
17.
Rubyの便利ライブラリ ActiveSupportの例 •
Time#today? →今日だったらtrue, そうじゃなかったらfalse • Time#next_week→来週の月曜日の0:00分のTimeオ ブジェクトを返す • Time#weeks_ago(week) / Time#days_ago(day) →X週間前、X日前の日付のTimeオブジェクトを返す
18.
結果 自主規制w まつもとゆきひろ氏(Ruby作者)曰く
「Rubyをキメると気持ちいい!」
19.
他にも人間的に書ける要素 • 他の言語と比べてカッコをかなり省略できる
print(‘Hello world’) print ‘Hello world’ def say(message) def say message print(message) print message end end
20.
他にも人間的に書ける要素 • カッコを省略すると自然言語っぽい!
print ‘Hello world’ 『「Hello World」と表示しろ!』 と言っているように読めません? 『「ふなっしー!」と言え!』 と言っているように読めません? say ‘ふなっしー!’
21.
自然言語のように読める!ということで DSLを定義するに使われる事が多い •
例:chefのレシピ # /tmp/dirの権限とオーナーを変更する remote_directory "/tmp/dir" do source "tmpdir" owner "apache" group "apache" mode "0755" end
22.
Ruby on Railsの例
class Product < ActiveRecord::Base has_many :product_categories end • “has_many”は内部的にはDBの リレーションを定義する為のメソッド • has_many {テーブル名}と書くことでproductsとい うテーブルがproduct_categoriesというテーブル を複数所有している関係(has-many)だと読める
23.
まとめ • Rubyはとても人間的で書いてて気持ちいい言語
• 「Rubyをキメると気持ちいい!」はマジだった • なのでRubyやりましょう!
Download