Upgrade to Pro — share decks privately, control downloads, hide ads and more …

That I speak when talking about language that starts from R

That I speak when talking about language that starts from R

http://connpass.com/event/14398/ で発表したやつです

takkanm

May 15, 2015
Tweet

More Decks by takkanm

Other Decks in Programming

Transcript

  1. R ͔Β࢝·Δݴޠʹͭ
    ͍ͯޠΔͱ͖๻͕ޠΔ
    ͜ͱ
    Ӭ࿨γεςϜϚωδϝϯτ
    ࡾଜ ӹོ

    View Slide

  2. me
    • ύʔϑΣΫτ Ruby P.638 ࢀর

    View Slide

  3. Sansan ͞ΜͱͷؔΘΓ
    • Eight GEES ͷ։ൃࢧԉ

    View Slide

  4. Today
    “Ruby ΛςʔϚʹ Ӭ࿨γεςϜϚωδϝϯτ ͱ
    SansanʹΑΔ LT େձʂ Ruby ʹؔ͢Δ͜ͱͰ͋
    Ε͹ԿͰ΋ OK ͳ LT”

    View Slide

  5. Introduce the cool Rubyist

    View Slide

  6. Do you know ?

    View Slide

  7. Yehuda Katz
    • ݩ Rails Core Team
    • Bundler, Thor, etc…

    View Slide

  8. Do you know ?

    View Slide

  9. Steve Klabnik
    • ݩ Rails Core Team
    • https://github.com/Shoes3/shoes3/
    • https://github.com/steveklabnik/frappuccino

    View Slide

  10. What they have in
    common?

    View Slide

  11. View Slide

  12. R ͔Β࢝·Δݴޠ

    View Slide

  13. View Slide

  14. Rustʹ͍ͭͯޠΔͱ͖
    ๻͕ޠΔ͜ͱ
    Ӭ࿨γεςϜϚωδϝϯτ
    ࡾଜ ӹོ

    View Slide

  15. Today’s Agenda
    • Why Rust now ?
    • about Rust
    • me and Rust

    View Slide

  16. Why Rust now ?

    View Slide

  17. ࠓ Ruby ͷ Conference Ͱ
    Rust ͷൃදΛ͢Δͱ͍͏
    Ϝʔϒϝϯτ͕͖͍ͯΔ
    (ݸਓͷݟղ)

    View Slide

  18. http://confreaks.tv/search?utf8=%E2%9C%93&query=Rust&commit=go

    View Slide

  19. ࠓޙ Ruby ͷ Conference Ͱ
    Rust ʹग़ձͬͨͱ͖ʹ
    ஗ΕΛͱΒͳ͍ͨΊʹ
    ԡ͓͖͑ͯ͞·͠ΐ͏

    View Slide

  20. about Rust

    View Slide

  21. Rust
    • Mozilla ʹΑͬͯ։ൃ͞Ε͍ͯΔγεςϜϓϩ
    άϥϛϯάͷͨΊͷݴޠ
    • ։ൃ͸ Open ʹߦͳΘΕ͍ͯΔ
    • 2015/05/15 ʹ 1.0.0 ϦϦʔε༧ఆ

    View Slide

  22. Rust ͷಛ௃
    • ܕγεςϜ
    • ϝϞϦ؅ཧͱ҆શੑ
    • ฒߦੑ

    View Slide

  23. ܕγεςϜ
    • Haskell ΍ ML ͬΆ͍ڧ͍ܕγεςϜ
    • ܕਪ࿦ʹΑΔαϙʔτ

    View Slide

  24. ϝϞϦ؅ཧͱ҆શੑ
    • Ͳ͜ʹϝϞϦΛ֬อ͢Δ͔ΛϓϩάϥϚ͕બ
    ΂Δ
    • GC ʹཔΒͳ͍Ϧιʔε؅ཧ
    • ϝϞϦͷ҆શੑΛ୲อ͢ΔͨΊʹΦʔφʔγο
    ϓ/borrowingͱ͍ͬͨ࢓૊͕͋Δ

    View Slide

  25. ฒߦੑ
    • ϝϞϦͷॴ༗ݖʹΑΔ҆શͳϝϞϦ؅ཧ
    • Arc, Mutex ʹΑΔϝϞϦڞ༗
    • channel Λ࢖ͬͨεϨουؒ௨৴

    View Slide

  26. for Rubyist
    • Trait ʹΑΔ Mix-in
    • Cargo ʹΑΔϞδϡʔϧ؅ཧ
    • FFI

    View Slide

  27. Trait ʹΑΔ Mix-in
    • Trait ͱ͍͏ػೳΛ࢖ͬͯ Ruby ͷ Module ͷ
    Α͏ʹଟଶੑΛදݱͰ͖Δ

    View Slide

  28. Cargo ʹΑΔϞδϡʔϧ؅ཧ
    • Cargo ͱ͍͏ Bundler like ͷϏϧυπʔϧʹ
    ΑΔϞδϡʔϧ؅ཧ
    • crates.io ͱ͍͏ rubygems.org ͷΑ͏ͳϦϙ
    δτϦ͕͋Δ

    View Slide

  29. FFI
    • Foreign Function Interface ͕͋ΔͷͰɺRust
    Ͱॻ͍ͨ΋ͷΛ Ruby ͔Β΋ fiddle ͳͲ࢖ͬ
    ͯݺͿͱ͍͏͜ͱ΋Մೳ

    View Slide

  30. me and Rust

    View Slide

  31. me.status
    • ৮Γͩͨ͠ͷ͸͜͜ 1 ϲ݄͙Β͍
    • νϡʔτϦΞϧͻͱͱ͓Γ໨Λ௨͢
    • ؆୯ͳίʔυΛॻ͘

    View Slide

  32. impression
    • Θ͔Βͳ͍͜ͱͩΒ͚Ͱָ͍͠
    • ௚ͨ͠Γ࡞ͬͨΓ͢Δ΋ͷ͕ͨ͘͞Μ͋Δ

    View Slide

  33. View Slide