Rubyに関するpetitbangのブックマーク (18)

  • フリーランス歴20年の強強エンジニアからのガチコードレビュー集 - Qiita

    はじめに こんにちは、まつけんです。 早いもので、Webエンジニアになって、10ヶ月経とうとしています。 先月末、僕の職場に参画していたフリーランス歴20年の強強エンジニアCさんが卒業されました。(以降Cさんと称します) Cさんには、いつも迅速かつ丁寧なレビューをしていただいてました。 たまに補助で僕のプルリクにコミットを積んでもらうことなどもあり、お世話になった記憶が大半です。 今回はそんなCさんから受けたコードレビューから、今後どう改善していくのかアウトプットして学びを深めたいため、こちらの記事を書きました。 ペアプロしている時の参考になったこともおまけで書いてます。 ※こちらの記事に出てくるコードに関しては全てRubyです。実務で学んだことなので、出てくるコードは全てフィクションです。(実際のサービスのコードではないです) レビュー1: migrationファイルを追加する時「db:

    フリーランス歴20年の強強エンジニアからのガチコードレビュー集 - Qiita
    petitbang
    petitbang 2023/07/15
    レビュー3がピンと来なかったのだが、String型で完全一致してるかの判定なのにinclude?を使ってたってことでいいのかな。include?はArrayで使うのが一般的とか出てきて混乱した。
  • Ruby のオススメの機能7選 - Qiita

    この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use

    Ruby のオススメの機能7選 - Qiita
  • 続・Rubyのオススメの機能7選 - Qiita

    はじめに この記事は Ruby Advent Calendar 2016 の 17日目です。 去年、Rubyのオススメの機能7選 という記事を書いて、バズって、はてブホッテントリ入りしました。それに気をよくして、今年も同じようなネタで勝負したいと思います。 みなさん、ストック、いいね、ブクマお願いします。 Range#bsearch 、 Array#bsearch Array や Range はよく知られているクラスかと思います。その中でもあまり使われていないかもしれないメソッドとして bsearch メソッドがあります。 二分探索(binary search) が簡単に使えます。y = f(x) があったとき y から x を高速に求めることができます。 たとえば、下記では、二乗根を求めています。 def square(x) x * x end def root(y) (0..Float

    続・Rubyのオススメの機能7選 - Qiita
  • Rubyの開発環境を2021年ぽくする for Windows - ブログのおんがえし

    2021年なのでこれくらいは欲しい。 Ruby 2.7.4 VSCode バイナリgemを確実にビルドできる コードフォーマッタ Lint デバッガ コード補完 それぞれは独立した機能なので全部入れなくてもいいと思います。(個人的には上から順に必須度が高い) Ruby 2.7.4 Ruby3自体は安定しているがgem周りの挙動が若干安定していなかったのでこちらを採用した。 (RubyInstallerも2.7系をまだおすすめしていた。) https://rubyinstaller.org/downloads/ rubyinstaller-devkit-2.7.4-1-x64.exeをダウンロードしてインストール。 Rubyのインストール終了後にmsysなどもインストールしてくるか聞いてくるので基的には全てインストール。 バイナリgemのインストール スタートメニューに「Start Com

    Rubyの開発環境を2021年ぽくする for Windows - ブログのおんがえし
  • Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)

    今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの

    Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)
    petitbang
    petitbang 2020/08/12
    これはよさげ。
  • RubyTips.dev - 101+ Tips For Ruby Developers

    cover? Returns true if obj is between the begin and end of the range ('a'..'z').cover?('c') #=> true ('a'..'y').cover?('z') #=> false Ruby Tips - a simple ruby tip generator RubyTips.dev Refresh the page to generate a new tip. Or just click here Built by @zayneabraham

    petitbang
    petitbang 2019/10/19
    知らないメソッドが出てきたりして面白い。
  • Rubyのtrueとfalseの話 - Qiita

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

    Rubyのtrueとfalseの話 - Qiita
    petitbang
    petitbang 2017/09/27
    面白い
  • エラー:OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed - #tech

    症状 ruby で任意のwebサーバーに対してHTTPS接続を行おうとするとエラーが発生した。 エラーの内容は次の通り。 OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed問題となった ruby のコードは以下のような感じになっていた。 # ... https = Net::HTTP.new('example.com', 443) https.open_timeout = SYSTEM_TIMEOUT_SEC https.read_timeout = SYSTEM_TIMEOUT_SEC https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIF

    エラー:OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed - #tech
    petitbang
    petitbang 2017/02/13
    参考になりました
  • Ruby超入門 (後編)

    こんにちは。Rubyを作りながらRubyを学ぼうという連載企画、第2回です。 第1回ではRubyインタプリタとは何かを学び、Rubyでプログラミングするための環境の準備をして、簡単な計算をする初めてのRubyプログラムを書いてみました。 今回は、Rubyを作るために最小限必要なRubyの知識として、「変数」と「分岐」、そして「ループ」という概念を学びます。 計算結果を覚えておく 前回の記事で最後に書いたのは、簡単な計算をして出力する次のようなプログラムでした。 p((1 + 2) / 3 * 4 * (56 / 7 + 8 + 9)) このプログラムをRubyインタプリタで実行すると、計算結果である「100」がすぐに出力されます。 Windowsで実行した例はこんな具合になるはずです(C:¥Rubyフォルダのcalc0.rbというファイルにこのプログラムを保存した場合の例です)。 C:¥R

    Ruby超入門 (後編)
  • Ruby超入門(前編)

    こんにちは。 この連載では、ちょっと変わったRuby入門を書いていきます。 想定読者は、Rubyを学びたいプログラミング初心者です。 Ruby以外の言語でプログラミングしたことがあると理解がはかどると思いますが、 Rubyを知らなくてもわかるように、なるべく丁寧に説明していくつもりです。 Rubyをある程度知っている読者には、最初の数回は退屈かもしれませんが、 回を重ねていくにつれ、より深くRubyを知ることができるはずです。 Rubyとは? Rubyは「プログラミング言語」です。 プログラミング言語とは、コンピュータにやらせたい仕事を書くための言語です。 つまり、Rubyを覚えて、Rubyでコンピュータへの指示を書けば、 コンピュータはその指示を実行してくれます。 この指示書のことを「プログラム」と言い、特にRubyで書かれたプログラムを「Rubyプログラム」と言います。 ところで、Ru

    Ruby超入門(前編)
    petitbang
    petitbang 2016/09/14
    「この連載の最終目標は、RubyをRubyで作ることです」面白そう。今後に期待。
  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
  • Rubyプロジェクトの始め方の備忘録 - Qiita

    自分の記憶力が薄弱すぎて、Rubyで何か書くかとなった時にいつも下準備の仕方を調べている気がするので、後で楽するために備忘録を残しておきたいと思います。 余談ですが、自分の記憶力が薄弱すぎて(大事なことなので2回繰り返した)「自分のために残すメモ的な意味の熟語なんだっけ?忘備録だったっけ?」って思ってググったら、「備忘録」(忘れるのに備える記録で備忘録)が正しくて、よく見る「忘備録」は誤記で「備えるのを忘れた記録になる」という意味になってしまうようです。 勉強になりました。 前提となる環境 Mac OS X giboをインストール済 ruby-build,rbenvをインストール済 準備 ディレクトリを作ってgit initしてからgiboで.gitignoreをお手軽に作成する。giboは、RubyOSXVimを引数に指定する(OSXVimはなくてもいいかも) $ mkdir ru

    Rubyプロジェクトの始め方の備忘録 - Qiita
  • Vim で Ruby を書くならこれを使え! - pockestrap

    私は開発環境を整えるのが大好きなのですが、今まであまり発信をすることがなかったのでこの記事を書きました。 少しでも VimRuby を書くのが快適になれば幸いです。 なお、煽り気味のタイトルですが、それだけ私の独断と偏見で便利だと思っているものです。 私は Ruby では Rails をメインに書いているので、Railsを書いている人には特に便利かも知れません。 mikutter plugin も時々書きます。 この記事では、Ruby に特化したプラグイン/設定の紹介をしたいと思います。 汎用的なものに関しては、簡単な説明とレポジトリへのリンクに留めます。 また、インストール方法は、NeoBundleを使用する方法を紹介します。 私がNeoBundleを使用しているので。 github.com neocomplete 用 Ruby 辞書 github.com neocomplete

    Vim で Ruby を書くならこれを使え! - pockestrap
  • openbook4.me - このウェブサイトは販売用です! - openbook4 リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    openbook4.me - このウェブサイトは販売用です! - openbook4 リソースおよび情報
  • 言語処理100本ノックを敢えてRubyで (1) - 世界線航跡蔵

    言語処理100ノック を(飽きるまで)やってみるにあたり、敢えてRubyで書いてみる。 基的にはPythonを想定しているらしいし、そもそもNLPライブラリの充実度から言ってもPythonを使うのが極めて妥当な選択といえるだろう。そこを敢えてRubyで。 00. 文字列の逆順 puts "stressed".reverse RubyでもPythonでも大差ない。 01. 「パタトクカシーー」 str = "パタトクカシーー" puts 1.step(7, 2).map{|i| str[i]}.join やはりスライスにstepを指定できるPythonのほうが楽である。 02. 「パトカー」+「タクシー」=「パタトクカシーー」 strs = %w[パトカー タクシー] puts strs.map(&:chars).inject(&:zip).flatten.join 別解 strs =

    言語処理100本ノックを敢えてRubyで (1) - 世界線航跡蔵
    petitbang
    petitbang 2015/03/23
    参考になる
  • Rubyが切り開く科学の未来 - ほげほげにゃ

    この記事はRuby Advent Calendar 2014の13日目の記事です。 初めに Ruby教育・研究に使おうという試みはRubyの黎明期からありました。 この時期の有名なパッケージとしてはバイオインフォマティクスのBioRubyや地球科学の電脳Rubyプロジェクトが有名です。 先述のBioRubyやGPhys(電脳Rubyの成果物)は現在も更新が続けられており、多数の利用者を抱えています。 しかし全体として見た場合、科学の分野で使われるLL言語としてRubyPythonやRの後塵を拝している印象があります。 科学計算における均質化、あるいはなぜPythonが着実に他言語のシェアを奪っているか 記事のようにこの分野ではPythonコミュニティが非常に活発で、機械学習など新しい技術は真っ先にPythonで実装されるようになっています。 しかし最近Rubyでも少しずつですが環境が充

    Rubyが切り開く科学の未来 - ほげほげにゃ
  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

  • 1