タグ

Rubyに関するuneasyのブックマーク (191)

  • Ruby関西 勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました #rubykansai - give IT a try

    はじめに 2017年1月13日(土)に開催された第80回 Ruby関西勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました。 会場はすごくきれいで快適な、大阪梅田のグランフロントにあるAimingさんでした。 (どうもありがとうございました!) このエントリでは僕の発表内容と、勉強会中のエピソードを書いていきます。 発表スライド 当日使用した僕の発表スライドはこちらです。 例外処理については過去にいろいろ痛い目に遭わされているのと、間違った使い方をしている初心者さんをよく見かけるので、「お願いだから正しく使って!!」という気持ちでこのスライドを作りました😅 例外処理にまつわる僕の体験談については「当にあった怖い話」としてスライド内で紹介していますw その他にも例外処理のバッドプラクティスやベストプラクティスなど、例外処理を書くときは絶対に押さえておきたいポイント

    Ruby関西 勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました #rubykansai - give IT a try
    uneasy
    uneasy 2018/01/16
  • Ruby25 | Top

    Ruby25

    uneasy
    uneasy 2017/10/18
  • golang の並列処理を Ruby と比較しながら学ぶ

    一ヶ月ほど前に社内のインフラ共有会でタイトルの話をしました。記録の ために記事を書いておきます。 Gist に置いてある ので、コードは git clone で取得可能です。 $ git clone https://gist.github.com/c0a4234a5264c89655c40adcf7c27cb2.git Ruby# 例えば Ruby で 30 個の処理をするコードがあったとします。こんな素朴 なコードです。それぞれ 3 秒かかる処理が 30 あるので、とても遅いです。 Thread を使って 5 並列にしました。明らかに速くなりました。 ついでにそれぞれの結果(というほどのものではありませんが)を results に代入し、最後にまとめて表示しました。 results は共有リソースになるので、Thread::Mutex#synchronize でロッ クをかけて安全に書き

    uneasy
    uneasy 2017/10/16
  • Rubyで try-with-resources (あるいは with/using)をやりたいという話 - たごもりすメモ

    前のエントリで書いたうちに入っていたが、Rubyでも try-with-resources (あるいはPythonで言う with やC#で言う using)が使いたいなー、という話。 Feature #13923: Idiom to release resources safely, with less indentations - Ruby trunk - Ruby Issue Tracking System Ruby体にFeature request出してみたんだけど、ライブラリでやればいいんじゃないの、という結論になってしまって、ええーと思っている。ライブラリだといくらでもある方法のひとつになってしまって、他のプログラマ(他所のライブラリ作者とか)に「これを使え」という話がしづらいんだよねえ。あとgemにして広く使われたとしても、この機能のバージョン指定がgemどうしで衝突してト

    Rubyで try-with-resources (あるいは with/using)をやりたいという話 - たごもりすメモ
    uneasy
    uneasy 2017/09/29
  • Rubyのtrueとfalseの話 - Qiita

    この記事は、技術同人誌としてまとめるはずだった原稿をほぼそのまま転載しています。諸事情により向こうかなり長い間同人誌即売会に売り手として参加することが難しくなったためです。 長いですが、お楽しみいただければ幸いです。 まえがき このは、Rubyコミッタである卜部昌平に、そのである私、卜部一恵がRubyのtrueとfalseについて突っ込んで聞いてみた話です。文は両者の対話形式で進んでいきます。 私は昌平と同じ大学同じ研究室に所属していたのでプログラミングについての基礎は一応ありますが、エンジニアとして職を得たことはありません。つまり、プログラミング初級者です。このはそのくらいのレベル感のだと思います。 私自身が初級者なりにRubyを使っていて、if文が思った通りに動かない、そんなときに抱いた疑問からこのが生まれました。 同じような疑問を抱いている方の一助になれば幸いです。 は

    Rubyのtrueとfalseの話 - Qiita
    uneasy
    uneasy 2017/09/27
  • Ruby Language Server

    Slides for my talk "Ruby Language Server" at RubyKaigi 2017 in Hiroshima, Japan http://rubykaigi.org/2017/presentations/mtsmfm.html

    Ruby Language Server
    uneasy
    uneasy 2017/09/21
  • RubyKaigi2017 速報!! (2日目) - Speee DEVELOPER BLOG

    ちょっと遅くなりましたが、2日目の速報をドラゴンズファンの西岡(@nisshiee)からお送りします! 広島カープさん、優勝おめでとうございます。でも僕は心からドラゴンズを愛しているので、ハイタッチは頑なに拒否していましたすみません。 2日目はドラゴンズ愛を表現するためにドラゴンズのユニフォームでRubyKaigiに出席しました(会場に向かって歩いてるとき、やたら視線を受けていた気がします)。 さて、今日は「Ran」会場で、Workshopが開催されたのでこちらをレポートしようと思います。 PyCall Lecture まずは弊社R&Dグループより@mrknより、PyCallのワークショップを開きました。 ワークショップの内容はこちらにJupyter notebookで公開されていますので、ワークショップを見逃した方や復習したい方はぜひ。 PyCallはRubyプロセス内にPythonをb

    RubyKaigi2017 速報!! (2日目) - Speee DEVELOPER BLOG
    uneasy
    uneasy 2017/09/21
  • RubyKaigi2017 初参加エンジニアが2日目を振り返ってみて #RubyKaigi2017 - Tech Inside Drecom

    DRECOMのエンジニア中島です 普段はクライアントサイドでC++を書いているのですが 弊社のサーバーサイドで広く使われているRubyの理解を深めるため、 RubyKaigiに初参加いたしました。 この記事では、二日目で印象に残ったセッションをいくつか紹介いたします。 keynote オブジェクト指向の継承について言語の歴史から、 Rubyのmoduleシステムがどういう流れを汲んでいるのか、その代表的な使い方の紹介 といった内容でした。 テクニカルな内容はもちろんのこと、最も印象に残ったのは、 プログラミング言語は機械が解釈するだけのものだけではなく 人間がどういうふうに考えているか、心理的な側面も非常に強い という言葉です。Matzさんがあくまで処理速度が早いといった機械的な面だけではなく、 いかに人間的に書けるか という点を重視していることが伝わりました。 セッションの締めくくりのR

    RubyKaigi2017 初参加エンジニアが2日目を振り返ってみて #RubyKaigi2017 - Tech Inside Drecom
    uneasy
    uneasy 2017/09/20
  • RubyKaigi 2017 2日目 Matz基調講演+α - tchikuba's blog

    RubyKaigi 2017は広島での開催。昨年は京都で今年は広島ということで、暫く地方の流れなのかしら? Keynote : Yukihiro “Matz” Matsumoto @yukihiro_matz 世界最大規模のRubyカンファレンスがRubyKaigi 何を話すか困る 松田さんには聴衆置いてきぼりでも良いので聞いたこと無い話、技術的な話してよとオファー来る 才能の話をする 天才プログラマーと言われるけど自分でそう思ったことはない 自称プログラミング言語デザイナ matzが初めて触れたプログラミング言語はBasic 自分の思考をまとめるツール=プログラミング言語 I love all programming languages. 「matzは他の言語に攻撃的だから嫌い」と言われることがある Rubyのmatzだから他言語を貶めてRubyアゲようとしてる、と言われるけど人全くそ

    RubyKaigi 2017 2日目 Matz基調講演+α - tchikuba's blog
    uneasy
    uneasy 2017/09/19
  • RubyKaigi2017 1日目 潜入レポート #RubyKaigi2017 - Tech Inside Drecom

    こんにちは! DRECOMエンジニアの平野です。 RubyKaigiの1日目に参加してきました。 時間軸に沿ってレポートします! 9:30~ ブース設置 DRECOM は今年、Ruby Sponsor として協賛させていただいていて、 弊社からは多数のメンバーが参加しています。 ブース出展も行なっていて、 お水やステッカー、技術スタック一覧を載せた資料をご用意しています。 10:30~ 各セッション @n0kada さんの keynote、 弊社エンジニア @onk の “API development in 2017” のセッション、 @hsbt さんの”gemification for Ruby 2.5/3.0” のセッションを聞きに行きました。 速報記事ついてはこちらをご覧ください。 keynote では、Ruby の開発がどのように行われているかを聞くことができました。 Ruby

    RubyKaigi2017 1日目 潜入レポート #RubyKaigi2017 - Tech Inside Drecom
    uneasy
    uneasy 2017/09/19
  • Splatoon2をやりましょう 〜Rubyで絵を描く〜

    Ruby とRaspberry Pi で Nintendo Switch の自動入力システムを作ったお話

    Splatoon2をやりましょう 〜Rubyで絵を描く〜
  • 18年でRubyから学んだこと - 関西Ruby会議 2017

    http://regional.rubykaigi.org/kansai2017/

    18年でRubyから学んだこと - 関西Ruby会議 2017
    uneasy
    uneasy 2017/05/29
  • rubyの`# =>`を検証するやつを書いた - Qiita

    とか書いてあるじゃないですか。# =>を挟んで、左辺が式で右辺がその結果というやつ。 それ、でも、どんだけ信じていいの? そのコメント作るだけであれば JoshCheek/seeing_is_believing で作れるんだけど、逆がないんだよね。 というわけで作った。 https://rubygems.org/gems/xmp2assert 実装について ごくラフなアイディアとしては actual # => expected って書いてあったら assert_equal(expected, actual) に変換する。これが着想。 とはいえこの式はRubyの式なわけで、正規表現置換のような生易しいことにはならない。Ripperでがんばってコメント位置を発見して、その直前にある式を…… みたいなのをやっていて非常に面倒。 このコメントはコメントであるがゆえに実行時には読み飛ばされるので、k

    rubyの`# =>`を検証するやつを書いた - Qiita
  • Rubyにおける機械学習と統計分析のための環境整備の取り組み

    Ruby Business Users Conference 2017

    Rubyにおける機械学習と統計分析のための環境整備の取り組み
  • Ruby初心者を脱した人が悩みがちな、ちょっと特殊な記法・演算子・イディオム - Qiita

    初心者がRubyの基礎を覚えたところで他人のコードを読むようになると、*args や map(&:to_s) のような謎の記法がでてきます。 この手の記法は名前がわからないとググラビリティが低くなるため、人によってはつまづきとなることが多いようです。 尋ねられることがたまにありますので、この機会にRails開発でよく使われるものを中心にまとめてみます。 引数 *args 変数名の冒頭に*(アスタリスク)が付いているもので、「可変長引数」または「splat引数」とかいいます。 引数を複数個設定でき、さらにメソッド内部で引数を配列として受け取ることができます。 def splatter(*args) p args end splatter('foo') # => ['foo'] splatter('foo', 'bar', 'baz') # => ['foo', 'bar', 'baz'] d

    Ruby初心者を脱した人が悩みがちな、ちょっと特殊な記法・演算子・イディオム - Qiita
    uneasy
    uneasy 2017/02/08
  • rubocop を仕事で導入するときの順序, Ruby CI に fedora 25 を追加した - HsbtDiary(2017-02-02)

    rubocop仕事で導入するときの順序 そろそろ仕事のコードも rubocop でしつけていくかなあという気持ちになったので以下の手順で導入した。 まず、"DisabledByDefault: true" からスタート、Ruby はグローバルなコーディングスタイルというものはないので、人が決めたルールは無視しましょう。 gry でプロジェクトで検出されるルールのうち、スタイルが揺れてないものを入れる。揺れているものを議論しだすと、導入が進まないのでとりあえず後にする。 さすがにこれはやるでしょ(TrailingWhiteSpace 除去とか)というものを入れる。 とりあえず何も考えなくてもこれはやるだろというのは以下の5つで。他にもあるかもしれないけど、いかんせん rubocop あまり使ってないので徐々に増やす感じ。 Style/HashSyntax: Enabled: true

    rubocop を仕事で導入するときの順序, Ruby CI に fedora 25 を追加した - HsbtDiary(2017-02-02)
    uneasy
    uneasy 2017/02/02
  • printデバッグにさようなら!Ruby初心者のためのByebugチュートリアル - Qiita

    はじめに この記事はByebug(バイバグ)というgemを使ったデバッグ方法を説明するチュートリアル記事です。 JavaやC#のようなコンパイル型の言語ではEclipseやVisual StudioのようなIDEを使って開発することが主流です。 なので、自然とIDEに標準装備されているデバッガを使ってステップ実行したりすることが多いと思います。 一方、RubyではRubyMineのような有料IDEもあるものの、IDEではなくテキストエディタを使って開発している人の方がまだまだ多いと思います。 そうすると、初心者の方はなんとなく「Rubyでデバッガを使ってデバッグするのは無理なのでは?」と考えてしまう人も多いかもしれません。(僕は初心者の頃そう思ってました・・・。) ですが、そんなことはありません! RubyでもIDEを使わずにターミナル上でデバッガを使ってデバッグすることは可能です。 とい

    printデバッグにさようなら!Ruby初心者のためのByebugチュートリアル - Qiita
  • どう書くで見る ruby の便利機能 - Qiita

    この記事は Ruby Advent Calendar 2016の20日目の記事のつもりで書いている。 Advent Calendar というものに参加するのは初めてなので緊張している。 実務ではあまり ruby を使っていないので、私は自分が主催しているどう書く( https://yhpg.doorkeeper.jp/ )での ruby の使われ方を書こうと思う。 思いついた順なので、ごちゃごちゃするけど気にしない方向で。 Array#transpose 行列ではないものをtransposeできる言語が他にあるかどうか知らないんだけど、transposeは便利。 x方向で処理するプログラムだけを用意しておいて、y方向の処理は、データを transpose したものを渡すことで済ますとか。 あるいは、平面的なものを回転するときに役に立つ。 2次元配列をreverseしてからtranspose

    どう書くで見る ruby の便利機能 - Qiita
    uneasy
    uneasy 2016/12/25
  • Rubyやってます、(`・ω・´)キリッ という為に押さえときたいテクニック - Qiita

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

    Rubyやってます、(`・ω・´)キリッ という為に押さえときたいテクニック - Qiita
    uneasy
    uneasy 2016/12/10
  • 意外と知らないかもしれないRuby, Railsのメソッドとか - Qiita

    はじめに Railsを使ってコードを書いていると、「どんなメソッドが使えるんだっけ?」 「もっと便利なメソッドないのか?」と思うことがあると思います。 そんな時に、私がよく使うのがObject.methodsや、特定のメソッドを探すObject.methods.grep()になるのですが、この記事ではそこで見つけた意外と知らないかもしれないメソッドなどを紹介していきたいと思います。 Rubyitself selfを返します。

    意外と知らないかもしれないRuby, Railsのメソッドとか - Qiita
    uneasy
    uneasy 2016/10/29