タグ

Rubyに関するramtigaのブックマーク (302)

  • [Ruby] 便利な組み込みクラスのメソッド達(Enumerable編) - Qiita

    ArrayやHash、Rangeなど、「オブジェクトの集まり」を表現するクラスには Enumerableがincludeされており、それら全てのクラスで活用できる。 繰り返し処理 each_with_index 配列のkeyとvalueを両方繰り返す。 > %w(Ruby Python Java).each_with_index do |value, key| > puts "#{key}: #{value}" > end 0: Ruby 1: Python 2: Java

    [Ruby] 便利な組み込みクラスのメソッド達(Enumerable編) - Qiita
    ramtiga
    ramtiga 2016/12/23
  • Rubyやってます、(`・ω・´)キリッ という為に押さえときたいテクニック - Qiita

    最近、スタートアップ系や新規開発でRuby(Ruby on Rails)を採用するところも増えてきており、Rubyやってる人がちらほら増えてきた感があるのですが、たま〜にRubyやってて何故それ知らないんだという事もたまにあり、Rubyやってます(`・ω・´)キリッ とそれでよく言えるなと呆れる事もありました。。。 そこで、少なくともこれは押さえておいて欲しいテクニックを紹介したいと思います。 クラスメソッド、インスタンスメソッド ★★★★★ これはテクニックではないですが、Rubyで最初に躓いたり、混乱する元の一つなので、Rubyをやっている以上、ちゃんと理解しておくべきことであると思ってます * 定義したClassから見た表 名称 説明

    Rubyやってます、(`・ω・´)キリッ という為に押さえときたいテクニック - Qiita
    ramtiga
    ramtiga 2016/12/15
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

    Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん増えていくかも!)がいたら、「ここを押さえておけばRubyは問題なく書けるよ」と教えられるように書いておきます。というのも、レビューを行っていた先輩とのプログラミングのスキルとの開きがあり、先輩も私も「どこが分かってないのか説明できない」状態になってしまってお互いに困ってしまった経験があるからです。 RubyPythonはよく似ているのですが、思想や見た目で違う部分が多く、片方を勉強するともう片方の理解も深まります。 たまに2ちゃんねるのオカルト板である「見たことある世界によく似た異世界に迷い込んだ」みたいな感覚で、なかなか面白い経

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
  • 東京Ruby会議11が素晴らしかった件について語りたい。 - Endo Tech Blog

    2016年5月28日に秋葉原で開催されたTokyo Ruby Kaigi11 に参加してきました。この回が僕にとっての初Ruby Kaigiで一般人としてカンファレンスに参加したのもこれが初です。以前はScalaMaturi2016に学生スタッフとして参加したのですが、カンファレンスの内容も全て英語でレベルが高く正直「なにを言っているのか、ぼくぁ...さっぱりわからんよ!!」状態だったのが今回のTokyo Ruby kaigi11は少し予習してきたのと、最近Rubyの勉強を初めてオブジェクト指向スクリプト言語の意味が理解出来たので会議の内容もおおよそ理解できるっ!....訳でもなく、やはりそこで語られる話はレベルもクオリティーも高かったです。発表内容の半分も理解できたなかったのが素直な気持ちです。 只、ただですよ!。 じゃその半分もスライド内容が理解できなかった僕が何をもって今回のToky

    東京Ruby会議11が素晴らしかった件について語りたい。 - Endo Tech Blog
  • OAuth gemだけでTwitter APIを使ってみる - Qiita

    が必要です。 Twitter APIの返答がJSONなのでライブラリを入れています。 Twitter APIのconsumer key/secret、access token/secret 例を挙げておきます(もちろんニセモノ)。 consumer_key = '9Gu1FiE1IfKi32bR8Fw' consumer_secret = 'QUnRDVcl5FNCZ9C1j80OAjUJlguMNVyqbdrOrnjtQ' access_token = '2194235326-sm2SUkVRHMJ1CdwYG1f04klQMlxc4i05tkSbnZa' access_token_secret = 'oairK8FMvLZ8dqEVrCgh2brhyL0SCd5wpdkIoNxz62Jdi' require 'json' require 'oauth' consumer_key = <

    OAuth gemだけでTwitter APIを使ってみる - Qiita
  • pryを使った快適なRubyライブラリのコードリーディング&開発方法 - Qiita

    この記事はRuby開発環境 Advent Calendar / Jul.の1日目の記事です.参加は「7/1よりRuby開発環境アドベントカレンダーを開始します!」から! 7/2になってしまってごめんなさい. tmuxによる縦分割,pryを使った快適,高速なコードリーディング&開発について書きます. 以下ではresqueのコードを読んだり,手を加えたりするという想定で話を進めます. 事前準備 それぞれのツールについては pry: ググるよりもまずはpry - Qiita tmux: tmuxタグページ あたりを参考に. 以下,必要なものをインストールします. gem install -r gem-browse pry pry-doc cd /tmp gem clone resque cd resque # tmuxを使って画面を縦半分に割る # 左: vim -R lib/redis.rb

    pryを使った快適なRubyライブラリのコードリーディング&開発方法 - Qiita
  • この冬はじめよう! 5分で理解するGemのコードリーディング(1) settingslogic - Qiita

    概要 Gemのコードリーディングで、広く使われている高品質なコードからテクニックや定石を学んでいきます。 はじめに いきなりRailsとかRspecを読みにいくのもツラそうなので、ここでは初心者向けとウワサのsettingslogicを読んでいくことにします。Gemを読む際の難易度の目安としては、 初めてのGemの読み方を参考にさせて頂きました. 私自身は、いくつかのOSSで、放置されているissue(テストやドキュメンテーション)をお片付けしたことはありますが、普段、そんなにOSSにガッツリcommitしている訳でもありません。そんな私にとって、 メソッドの命名規則 メモ化、method chainの実現方法 コメントの書き方 など、Rubyのお作法を学ぶ題材として、またOSSのコードリーディングのきっかけとして、非常に良い題材だったと思います。 version 2.0.9を使用します。

    この冬はじめよう! 5分で理解するGemのコードリーディング(1) settingslogic - Qiita
  • 初めてのGemの読み方

    2. 資料について  資料は、社内勉強会の補助資料です  外部向けに書かれていない記述などがあります  資料だけですべて伝わるような配慮はされていません  資料の取り扱いについて  再配布等のご相談は baba@bpsinc.jp までお願いします。 4. なぜGemを読むのか  自分で安全を確認できる  Gemは無保証  詳しい挙動を把握できる  一風変わったことを実現できるか調べたい  ドキュメントは完璧ではない  トラブル解決できる  ブラックボックスに振り回されることがなくなる  勉強になる  知的好奇心  OSSは高品質なコードが多い 5. なぜGemを読むのか  レベル0  Gemを使えない  レベル1  解説サイトをコピペしながら基的な機能を使える  レベル2  READMEやリファレンスを読んでほとんどの機能を使え る 

    初めてのGemの読み方
  • IT業界・エンジニアの転職ならTech Stars Agent

    技術に精通した コンサルタント が併走 経験豊富なアドバイザー 元ITエンジニア、元ゲーム企業人事、 IT会社役員、大手人材エージェント

    IT業界・エンジニアの転職ならTech Stars Agent
  • gdbを使ったrubyのデバッグ - クックパッド開発者ブログ

    技術部の国分 (@k0kubun) です。 先日byebugの高速化を行っていた最中、変更を加えたbyebugを使っていると一定の確率でrubyがSEGVするバグを発見しました。 私はC言語のコードのデバッグの経験はなかったのですが、デバッガの使い方を調べながらSEGVの原因調査を行いパッチを送ったところ無事取り込まれ、最新の高速なbyebugが安全に使えるようになりました。 その際、ruby自体をデバッグするために必要な情報が分散していて大変だったので、まだrubyのデバッグをしたことがないけれどやってみたいという人を対象に、gdbというデバッガを使ったrubyのデバッグの方法を紹介します。 デバッグ用にrubyをビルドする デバッグ時に変数名やソースコードなどの情報を見るためには、最適化オプションをオフにしてデバッグ用にrubyをビルドしておく必要があります。 rubyのデバッグ用ビル

  • 雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは!

    逆に言うと、Rubyの文字列型の内部実装がropeになれば、freezeしてもしなくても変わらない速度が出るようになって、結局freezeする必要なんてなかったんやーで丸く収まるんじゃないの?と思いました #雑な感想 — Kazuho Oku (@kazuho) October 6, 2015とツイートしたところ、処理系の中の人から @kazuho 文字列を弄る話じゃなくて、文字列の identity の話なので、ちょっと関係ないかなぁ、と — _ko1 (@_ko1) October 6, 2015みたいなツッコミをもらって、うっすみません…ってなってRuby VMのコードを読むことになったわけです。 で、まあ、いくつか気になる点があったので手をつけてしまいました。 1. オブジェクト生成のホットパスの最適化 ホットスポットだとされていたところのコードを読んでると、オブジェクト生成の際に

  • GitHub - k0kubun/md2key: Convert markdown to keynote

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - k0kubun/md2key: Convert markdown to keynote
  • 正規表現 (Ruby 1.9.3)

    正規表現(regular expression)は文字列のパターンを記述するための言語です。 また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、 また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現 オブジェクトを得ることができます。 メタ文字列とリテラル、メタ文字とエスケープ 正規表現の文法には、正規表現内で特別な働きをする文字列と、それ以外の その文字列そのものにマッチするような文字列があります。 前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。 /京都|大阪|神戸/ という正規表現においては、「京都」「大阪」「神戸」がリテラルで

  • Rubyで日本の祝日を表示してくれるgem「holiday_jp」 - simanのブログ

    Rubyで日の休日を表示してくれるものを探していたら「holiday_jp」を見つけました。 http://docs.komagata.org/tags/holiday_jp/ 使い方はこんな感じです(githubUSAGE参照) holidays = HolidayJp.between(Date.new(2010, 9, 14), Date.new(2010, 9, 21)) holidays.first.name # 敬老の日 holidaysには「HolidayJp.between」で指定した日付の範囲にある祝日のリストが返ってきます。 すごく便利です。 holiday_jpの中身をみる 内部の動作としては「holidays.rb」に下記のように祝日の名前と日付のデータが用意されています。(なんと2050年まで!) ["2013-07-15","海の日"], ["2013-09-

    Rubyで日本の祝日を表示してくれるgem「holiday_jp」 - simanのブログ
    ramtiga
    ramtiga 2015/06/16
  • GitHub - holiday-jp/holiday_jp-ruby: Japanese holiday.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - holiday-jp/holiday_jp-ruby: Japanese holiday.
    ramtiga
    ramtiga 2015/06/14
  • Ruby初心者によるRailsへの遙かなる道 » カレンダー

    継承を使えば既にあるクラスの機能を引き継いで新しいクラスを作る事ができます。 継承の仕方は簡単です。 class クラス名 < 継承したいクラス名 end 「<」を作成するクラス名の後に書き、つづけて継承するクラス名を書くだけです。 今回はHTMLのカレンダーを出力するメソッドを持ったクラスを作ってみます。 まず前回作ったカレンダークラスを「library.rb」という名前で保存します。 2行目の「require “library”」で保存したファイルを読み込みます。 #クラス定義 require "library" class HtmlCalendar < Calendar def disp_html calendar = "<table border>\n" calendar << "<tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</

    ramtiga
    ramtiga 2015/05/13
  • SSHとRubyでファイル・アップロードを自動化

    コンピュータスキルがコンピュータそのもののように、急速に進化する様は奇妙な感じがしないか?現在、ハードコアなコンピュータ・プログラミングをしている我々のような人間の中には、初期の頃の心を奪われるようなWebでHTMLCGIからスタートした人もいるだろう。私もそうした人間の1人だ。「Webデザイン」という擬似コーディングの素晴らしい世界にちょっと手を出してみたことがある読者なら、デザイナーが最近、2種類のグループに分類される、と、絶対に気づいているだろう。最初のグループは、DreamweaverのようなWYSIWYGのエディタを使い、Webページのデザインと発行を行っている。2番目のグループはEmacsやVimといったテキストエディタを使ってHTMLを手ずからコードし、FTPクライアントを用いて完成したページをWebサーバーにアップロードして世界に公開し、できれば世界に高く評価されたい、と

    SSHとRubyでファイル・アップロードを自動化
  • Rubyでウェブアプリ〜Rack | | Scimpr Blog

    Rackとは「RackはRubyのためのWebサーバーインターフェイス」(5分でわかるRack) Rackは、mongrel,WEBrick,thin,unicornなどのサーバとRails,sinatraなどのフレームワークの橋渡しをする役割 公式 rack.github.io/ github.com/rack/rack ドキュメント rack.rubyforge.org/doc/ 成り立ちとか 第23回 Rackとは何か(1)Rackの生まれた背景 全般的なより詳細な記事 Rack解説 – Rackの構造とRack DSL インストール環境はRuby2.1.0

    Rubyでウェブアプリ〜Rack | | Scimpr Blog
  • Ruby開発者・まつもとゆきひろ氏の新言語「Streem」のソースコードを読んでみよう! ~ 文法と構造を規定する「lex.l」と「parse.y」

    まつもとさん自身によるStreemについての解説は、今後日経Linuxで順次掲載されるようです。まつもとさんがStreemについて解説する内容は、おそらく、プログラミング言語設計に関する高レベルなものとなるのではないでしょうか。 記事はそれとは無関係に、2015年1月に公開されているStreemについての低レベルな解説、つまり現時点のStreemのソースファイル(の一部)の読み解き方を示します。具体的には、GitHubのStreemリポジトリにある「lex.l」と「parse.y」という2つのソースファイルについて解説します。 Streemのソースファイルは、https://github.com/matz/streemからダウンロードできます。画面右下にある[Download ZIP]ボタンをクリックしてください。 lex.lとparse.y ダウンロードしたStreemソースファイルの

    Ruby開発者・まつもとゆきひろ氏の新言語「Streem」のソースコードを読んでみよう! ~ 文法と構造を規定する「lex.l」と「parse.y」
  • Rubyで日付・時間を操作 - I sort my thought...

    Perlで日付・時間を操作 - DateTime モジュールの使い方 http://iandeth.dyndns.org/mt/ian/archives/000619.html のようなことをRubyでやる方法を調べてみました。 基 現在日時のインスタンスを作る Time.new #=> Mon Jun 05 20:03:59 JST 2006 Time.now #=> Mon Jun 05 19:47:04 JST 2006Rubyの場合はデフォルトでローカルのタイムゾーンのインスタンスを作ります。newとnowの違いはinitializeを呼ぶか呼ばないかだそうです。 initializeを再定義とかしない限りあまり関係なさそう? 任意の日時のインスタンスを作る Time.mktime 2006, 6, 2, 16, 30, 50 #=> Fri Jun 02 16:30:50 JS

    Rubyで日付・時間を操作 - I sort my thought...