タグ

関連タグで絞り込む (242)

タグの絞り込みを解除

rubyに関するfumikonyのブックマーク (380)

  • blockで設定するヤーツ - komagataのブログ

    (ハライチ感) Foo.configure do |config| config.name = "foo" config.email = "foo@example.com" end こっちでもかけたりする。 Foo.config.name = "foo" Foo.config.email = "foo@example.com" こういうやつ。 実装は大体こういう感じになってる。 module Foo class << self def configure yield config end def config @_config ||= Config.new end end class Config attr_accessor :name, :email def initialize @name = "no name" @email = "default@example.com" end e

  • Ruby 2.7.0 リリース

    Posted by naruse on 25 Dec 2019 Ruby 2.7シリーズ最初の安定版である、Ruby 2.7.0がリリースされました。 Ruby 2.7には、多くの新しい機能やパフォーマンスの改善が含まれます。 その一部を以下に紹介します。 Pattern Matching [Experimental] 関数型言語で広く使われているパターンマッチという機能が実験的に導入されました。 渡されたオブジェクトの構造がパターンと一致するかどうかを調べ、一致した場合にその値を変数に代入するといったことができるようになります。 [Feature #14912] require "json" json = <<END { "name": "Alice", "age": 30, "children": [{ "name": "Bob", "age": 2 }] } END case JSO

  • sedやawkが覚えられないRubyistのための「rbコマンド」 - yhara.jp

    この記事はRuby Advent Calendar 2018の21日目の記事です。 今年のある日、rubyweeklyで流れてきたのがこれ。どうやらsedやawkみたいなワンラインプログラムが、Rubyで簡単にできるようになるみたいだが…? https://github.com/thisredone/rb -nは覚えられない 一応、Ruby体にも-nや-pという、ワンライナ向けのオプションがあるんだよな。そう、あることは知っている。でも使い方は覚えてない。 sedやawkも一緒で、使えたら便利なんだろうなーと思いつつ、未だに覚えてない(少なくとも何も見ずに書ける程には)。 そこでrbコマンド? rbコマンドのいいところは、「普段Rubyを使ってるときの感じのままで」ワンライナが書けるところだ。 とりあえず例を見てもらおう。rbコマンドには1行ずつ処理する「lineモード」と、ファイル全体

  • モチーフで読む美術史2 を読んだ, Ruby 2.6.1 の Bundler の不具合のお知らせ, Asakusa.rb 第 499 回 - HsbtDiary(2019-02-05)

    ■ モチーフで読む美術史2 を読んだ 初巻に続いてシュッと読んだ。紹介されている絵画が増えて読みやすくなったような気がする。 文は勉強になるな〜という感じで面白いので良いとして、あとがきに書いてある家庭状況のことが重くてずっしりきてしまった。社会だなあ。 モチーフで読む美術史2 (ちくま文庫) 宮下 規久朗 筑摩書房 ¥924 ■ Ruby 2.6.1 の Bundler の不具合のお知らせ Ruby 2.6.1 にバンドルされている Bundler は今の所 2 つほど致命的な不具合があります。 default/bundler-1.17.2.gemspec has no file list https://bugs.ruby-lang.org/issues/15582 2.6.1 の bundler.gemspec の Gem::Specification#files の値がおかしくて

    モチーフで読む美術史2 を読んだ, Ruby 2.6.1 の Bundler の不具合のお知らせ, Asakusa.rb 第 499 回 - HsbtDiary(2019-02-05)
  • RubyとRailsの学習ガイド2019年版

    この記事は RubyそしてRailsをこれから勉強したい方に、どんな技術を勉強すればいいかと、それらの技術全体のガイドマップを図示します。そしてそれを学ぶための資料(書籍、Web記事ほか)を紹介していきます。この記事は、頭の中に技術全体の地図を描き、イメージしてもらうのが狙いです。 Railsアプリを作るときに必要になたくさんの技術について説明していきますが、当にたくさんの技術が出てきます。まだ学んでいない、分からない言葉が出てくると思いますが、全体を把握するために、ひとまずは「そういう技術があるのだな」くらいで捉えてもらえればと思います。将来、その言葉が出てきたときに「どこかで聞いたような?」と思えたら儲けものです。 勉強方法のお勧めは、1つの知識を徹底的にやるよりも、まずは全体を通して勉強し、そのあとで勉強したいところに戻って積み重ねて学んでいく方が、挫折しづらいのでお勧めです。 追

  • mruby-cli で ワンバイナリなツールを作ってみた - 🐾 Nekonote.

    今回も長め。 メモツールの移行を思い立ったので、今までのデータを移すべくテキトーなツールをつくって見ました。 移行ツールと言いながらまだ 単一のMarkdownとBoostnote の相互変換くらいにしか対応していませんが、、、 github.com 前回のネタに続いてせっかくなのでGolangでなく、mruby-cli で作ってみました。 今回はその過程でやったことや作ってみて思ったこととかをつれつれなるままに書いてみようと思います。 dojineko.hateblo.jp やったこと mruby-cliでひな型を作る ガシガシ実装する 開発環境向けにコンパイルして、トライ&エラー 目的の機能が完成するまで 2 と 3 を繰り返す 出来上がったら docker でクロスコンパイル Githubにreleaseを登録しておしまい TDDとかなにそれ美味しいのみたいな感じですが、まぁそれは置

    mruby-cli で ワンバイナリなツールを作ってみた - 🐾 Nekonote.
  • Installing Nokogiri - Nokogiri

    Overview API Support Tutorials Changelog About Installing Nokogiri¶ Welcome! We've worked hard to make Nokogiri easy and reliable to install. This page should hopefully get you on your way quickly. Meta¶ The current version of this page focuses on the installation experience for Nokogiri v1.11 and later. If you're trying to install an earlier version, please visit: Nokogiri v1.10.x installation in

    Installing Nokogiri - Nokogiri
    fumikony
    fumikony 2017/04/23
    "bundle config build.nokogiri --use-system-libraries --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 "
  • 鬼雲に非包含オペレータを実装した話 - Qiita

    概要 田中哲さん(@tanaka_akr)が以前提案された「非包含オペレータ」というものを(実験的に)鬼雲に実装しました。これを使うと例えば C 言語のコメントにマッチする正規表現などが簡単に書けるようになります。 ここでは、非包含オペレータとは何か、また今後の見通しなどについて説明します。 非包含オペレータとは? 非包含オペレータは田中さんが約 9 年前に発表された、正規表現の拡張です。理論的背景と実装例は以下のスライドと論文に示されています。 正規表現における非包含オペレータの提案 Absent Operator for Regular Expression 従来の正規表現では、「特定の文字以外の 1 文字にマッチする正規表現」は文字クラスの否定を使って [^x] のように書くことができますが、それに対して「特定の文字列を含まない文字列にマッチする正規表現」は簡単に書くことはできません

    鬼雲に非包含オペレータを実装した話 - Qiita
  • Bundler: Using Bundler In Application

    fumikony
    fumikony 2017/03/13
    “$ bundle install --deployment ”
  • 橋本商会 » Ruby書くならBundler使え

    Rubyでプログラム書くにあたって、bundlerを使わないプログラムは1年ぐらい経つと動かなくなってる事が多々あって、bundlerマジ重要なのと ぐぐってもあまりbundlerの利点や説明がまとまってる記事がなかったので 研究室のwikiに書いた記事を転載しておく。 Bundlerとは Bundler: The best way to manage a Ruby application's gems プロジェクト内で使うRubygemsを管理するしくみ。 プロジェクトの一番上のディレクトリに「Gemfile」というテキストファイルを置き、その中にgemの名前(と必要あればバージョンも)書く。 % bundle install というコマンドで、gemが一括インストールできる プログラム内で require 'bundler' Bundler.require と書くと、gemが一括req

  • インタプリタの完成、そしてブートストラップへ

    こんにちは。はじめてのプログラミングでRubyを学びながらRubyインタプリタを作っていく連載も、今回でいよいよ最終回です。 自分だけのRubyインタプリタを完成させていきましょう。 前回までの記事で、インタプリタに実装してきたRubyの機能は、 四則演算(第4回)、 変数(第5回)、 分岐(第6回)、 関数(第7回と第8回)でした。 これを拡張して、さらに配列とハッシュを実装すれば、これまで学んだRubyの機能をすべて実装したインタプリタ(MinRubyインタプリタ)のできあがりです。 しかし、それで終わりではありません。もう一歩、考察を進めてみましょう。 MinRubyインタプリタを作るのに使っているRubyの機能は、四則演算、変数、分岐、関数、配列、ハッシュだけです。 そして、今回の記事で、これらがすべてMinRubyインタプリタの機能になります。 つまり、「MinRubyインタプリ

    インタプリタの完成、そしてブートストラップへ
  • 最近のruby-core (2017年1月) - Money Forward Developers Blog

    こんにちは。卜部です。最近のPython-devが始まりましたね。すごい。 こちらの連載は先月はお休みしてしまったのですが、引き続き頑張ります。 ruby-coreというRuby体の開発の議論がされているメーリングリストで、最近興味深かったトピックを紹介していきます。 最近のruby-core (2016年11月) 最近のruby-core (2016年10月) 最近のruby-core (2016年9月) 最近のruby-core (2016年7月) 最近のruby-core (2016年6月) 最近のruby-core (2016年4月) 最近のruby-core (2016年3月) 最近のruby-core (2016年2月) [#12852] URI.parse can't handle non-ascii URIs Railsがよく ?utf8=✓ とかいうクエリをつけてきます

    最近のruby-core (2017年1月) - Money Forward Developers Blog
  • Rubyワンライナー入門 - maeharinの日記

    先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、rubyコマンドに色々なオプション(-eや-nなど)をつけて実行する。各オプションの網羅的な解説が見たければ、コマンドラインでは$ man rubyで閲覧できるし、webではるりまサーチで参照できる。ただ、これらは網羅的すぎるので、以下よく使うオプションとその周辺情報についてまとめた。 -e 一番基的なオプション。スクリプトを実行する。(ちなみに他のオプションと組み合わせる時は必ず最後に記載する) 例: hogeと表示 $ ruby -e 'puts "hoge"' -n プログラム全体がwhile gets ... endというルー

    Rubyワンライナー入門 - maeharinの日記
  • 正規表現で最短マッチを知っとくとちょっと便利かも - (゚∀゚)o彡 sasata299's blog

    2012年05月01日21:34 Ruby 正規表現で最短マッチを知っとくとちょっと便利かも 正規表現ってあるじゃないですか。そうです。アレです。 とっても便利で、いろんな場面で役立つと思うんですが、ときどき最短マッチを使いたくなって「最短マッチってどう書くんだっけなぁ?」ってなってググることがあります(よね!) 通常は最長マッチになる 通常、正規表現内で * とか + とか付けると、直前の表現の0回/1回以上の繰り返しを表しますが、この書き方だとできるだけ長い要素にマッチしようとします。大事なことなのでもう一度言います。できるだけ長い要素にマッチしようとするんです。 大抵はそれで構わないんですが、ときどきそれでは困るケースがあります。例えばこんなケースを考えてみましょう(あんまり良い例が思いつかない)。 ・"名前(ニックネーム)"という形式 ・名前と(ニックネーム)の間には半角or全角ス

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

  • 最近のruby-core (2016年11月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 というか、議論がどうとか以前の話ですが、Rubyにおいては12月がリリースの季節です。脆弱性の修正などはさておき、新機能の入った新バージョンはもうずっと毎年12月に出ています。その直前は、プロダクトクオリティの上昇を目的として新機能の追加は凍結されます。たぶんこの記事が出た頃にはもう凍結されてることでしょう。 というわけですので毎年11月には駆け込みで新機能が追加されそうになるものです。今年は11月にカンファレンスが連続していたという事情もあり、ようは駆け込みが沢山あります。ええ…… 全部は解説できませんが、興味深かったものをいくつか。 最近のruby-core (2016年10月) 最近のruby-core (2016年9月) 最近のruby-core (2016年7月) 最

    最近のruby-core (2016年11月) - Money Forward Developers Blog
  • CentOSにrpmbuildからRuby環境を構築する - Qiita

    yum install readline-devel ncurses-devel gdbm-devel glibc-devel gcc openssl-devel libyaml-devel libffi-devel zlib-devel

    CentOSにrpmbuildからRuby環境を構築する - Qiita
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

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

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

  • Rubyのnative extensionのビルドを簡単にするtirofinaleの試作 -- ぺけみさお

    kawasaki.rb #37で時間をいただいて、”native extensionのビルドどうしてますか?”というタイトルで発表したスライドです。 Alpine Linux上で、APKBUILDを手がかりにして、native extensionのgemを簡単にビルドできるようにする、tirofinaleというgemを試作してみました。