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

Beginning Ruby with Markdown and more

088b1b43ff5dd64aa0f000da9e9da777?s=47 wtnabe
August 18, 2012

Beginning Ruby with Markdown and more

テキストフォーマッタで始めるRubyとGemの基礎 2012-08-18(Sat) kanazawa.rb meetup #1

088b1b43ff5dd64aa0f000da9e9da777?s=128

wtnabe

August 18, 2012
Tweet

Transcript

  1. テキストフォーマッタで学ぶ RubyとGemの基礎 2012-08-18 ( Sat ) @wtnabe ITビジネスプラザ武蔵

  2. お品書き Markdown の紹介 Ruby / Rubygems / GitHub and more

    Rubyの動かし⽅ / リファレンス ライブラリを使おう Markdown の変換
  3. Markdown

  4. Markdown Daring Fireball: Markdown blog::2310 » Markdown⽂法の全訳

  5. Markdown メールでも使える簡単な書式からHTML への変換ルールを決めたもの テーブルなどいろいろ⾜りない 最近よく聞くけどけっこう古い

  6. ⾒出し ====== 1. Ordered List * Unordered List - Unordered

    List よく bullet list と呼ぶ。- でも * でもよい 階層はインデントで表現
  7. Markdownは亜種に注意 PHP Markdown Extra GitHub Flavored Markdown - Introduction etc

    それぞれできることが異なる。
  8. Markdownを使える場所 GitHub Stack Overflow Tumblr ⼀部エディタやメモアプリなど

  9. Rubyと関連⽤語

  10. Rubygems Gem GitHub Git

  11. Ruby 純粋オブジェクト指向 ⽂字 'a' も 数字の 1 もオブジェクト 多少スピリチュアルな⾔語 「たのしい」とか「気持ちいい」

  12. Rubygems Rubyのパッケージ管理システム パッケージホスティングサイト rubygems.org いっぱいあるパッケージ(Gem)の総称

  13. Gem パッケージそのもの ex) rails gem, nokogiri gem パッケージ管理コマンド gem -v

    ※ Ruby 1.9から標準なのでインストール⽅法などは割愛
  14. 「gemを⼊れる」 gemパッケージを gemコマンドなどを使って インストールする

  15. GitHub Railsで⼀気に有名に Gitリポジトリのホスティングサービス Rubyistはみんな使ってる つまり便利なものはここにある つまり便利なものはここにある

  16. Git Linux開発のために作られたDVCS branchingとmergeが速くて優秀 多くの操作がcommitとして残り、そのcommitを編集 できる コマンド体系や考え⽅が独特 ... などなどあるけど、

  17. 要するに

  18. Git GitHubを使うために必要 を使うために必要 Gitを使いたいだけならGitHub以外にも Rubyist的にはGitHubありき

  19. Rubyの動かし⽅

  20. Rubyコマンド $ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i3

  21. スクリプトを実⾏ $ ruby scriptfile

  22. ヘルプを⾒る $ ruby --help Usage: ruby [switches] [--] [programfile] [arg

    -0[octal] specify record separator (\0 -a autosplit mode with -n or -p -c check syntax only -Cdirectory cd to directory, before exec -d set debugging flags (set $DE -e 'command' one line of script. Several ....
  23. よく使うオプションを抜粋 -c check syntax only -d set debugging flags (set

    $DEBUG to true) -e 'command' one line of script. Several -e's allowed. Omit [programfile] -rlibrary require the library, before executing your script
  24. 具体的なRubyコード

  25. 基本形 オブジェクト.メソッド() JavaScriptと同じです! ※ 細かい⽂法はやりません!

  26. クラスを使う t = Time.new() # 現在の⽇時を持つTimeオブジェクト t + 1 #

    => 1秒後のTimeオブジェクト
  27. クラス ⼤⽂字から始まる いろんな機能とデータのカタマリ new クラス() じゃない

  28. クラスの例 String Array / Hash Fixnum, Bignum, Float, ... Time,

    Date, DateTime ...
  29. どうやって調べるの!?

  30. リファレンス

  31. リファレンスの準備⽅法 るりま ( Ruby Reference Manual ) ri chm yard

    / pry
  32. るりま 基本は Web ドキュメント (本家サイト) 最速Rubyリファレンスマニュアル検索! | るりまサーチ

  33. ri 標準で⼊ってる rvm docs generate 今度からrvmでruby⼊れるとき はdocument忘れないであげたい - あー ありがち(2012-01-21)

  34. ri $ ri Array.include\? = Array.include? (from ruby site) -----------------------------------------

    ary.include?(obj) -> true or false --------------------------------------- Returns true if the given object is present in self (that is, if any object == anObject), false otherwise. ...
  35. chm ドキュメント Rubyリファレンスマニュアル chm版リミ ックス

  36. ライブラリを使おう

  37. もう⼀度Time 初期化⽅法 Time.now() Time.at( unix time ) Time.local( year, mon,

    day, hour, ...) Time.local( sec, min, hour, min, ...)
  38. 現在時刻以外は不便

  39. timeライブラリ 標準添付 様々な書式の⽇時情報を⼊出⼒できる

  40. require 'time' t = Time.parse('2012-08-18 14:00') t.httpdate() # => "Sat,

    18 Aug 2012 05:00:00 GMT"
  41. 読みやすい!

  42. ここまでのまとめ プログラムの実⾏ ruby scriptfile 基本の書式 オブジェクト.メソッド()

  43. ここまでのまとめ オブジェクトの⽣成 Klass.new() ライブラリの読み込み require

  44. テキストフォーマッタと 実際のgemの使い⽅

  45. gemの探し⽅ gem search -r KEYWORD 「github ruby キーワード」でググる ruby-toolbox.com Rubyistのブログ探す

    Rubyistに聞く
  46. gemの探し⽅ rubygemsはキラキラネーム ⼀度聞けば忘れないが探しにくい 特にPerlの⼈にdisられます :-)

  47. gemの探し⽅ ruby-toolboxは便利だけどRails寄り 地味なやつは地味に探すことになる

  48. Markdown⽤のgem

  49. 実際に探してみよう gem search -r markdown ruby-toolbox で markdown

  50. Markdown redcarpet ( github / C ) rdiscount ( C

    ) kramdown maruku BlueCloth
  51. コマンドとして使う

  52. ライブラリとして使う

  53. #! /usr/bin/env ruby # -*- coding: utf-8 -*- require "redcarpet"

    puts Redcarpet::Markdown. new(Redcarpet::Render::HTML). render(<<EOD) ここに ====== * markdownの⽂法で * テキストを書くことができます EOD
  54. Now, You can Markdown で書く練習 つまり GitHub で書く練習

  55. Come on, join us :-)

  56. Thank you

  57. Appendix

  58. Gemのある場所 Rubygems.org Github ⾃前ホスティング 実はGemサーバは簡単に作れる

  59. Gemのホスティング先の追加 $ gem sources -a RESOURCE_URI

  60. リファレンス るりまを利⽤するアプリ yhara/myrurema hibariya/ruremai

  61. リファレンス yard-doc-core gem YARD - A Ruby Documentation Tool pry-doc

    gem Pry - an IRB alternative and runtime developer console
  62. Textile もう⼀つRubyで有名な書式 これまた古い(開発開始2001年/正式アナ ウンス2003年) HTMLっぽい⽣々しさがだいぶ残ってる

  63. Textile h1. ⾒出し p(class) 段落 "リンクテキスト":url

  64. Textileを使える場所 GitHub Redmine atnd.org beta

  65. Textileのgem

  66. RedCloth BlueCloth textile なんとかは軒並み RedCloth 依存

  67. RedCloth 事実上の標準 native extension redcloth コマンドが⼊る

  68. Resources Rubyist Magazine - るびま Stack Overflow QA@IT Qiita[キータ]

  69. Resources Rails Hub - @IT Ruby on Rails Screencasts -

    RailsCasts ASCIIcasts - Recent Episodes
  70. Resources O'Reilly, 技術評論社, オーム社, ソフトバ ンククリエイティブ, ... 達⼈出版会 The Pragmatic

    Bookshelf