タグ

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

タグの絞り込みを解除

Rubyに関するsupermomongaのブックマーク (637)

  • Rubyでメタプログラミング 〜暗黙的に呼ばれるto_procメソッド - (゚∀゚)o彡 sasata299's blog

    2011年01月08日23:09 Ruby Rubyでメタプログラミング 〜暗黙的に呼ばれるto_procメソッド 先日、こんな感じの処理に遭遇しました。はて、、何じゃこりゃ・・(´・ω・`) ポカーン (1..5).each(&method(:puts)) と思って調べたのでまとめておきます。この処理が理解できれば一人前です。きっと。 ブロックはオブジェクトではない Ruby では大抵のものがオブジェクトですが、オブジェクトではないものも一部あります。ブロックがその一つです。 例えばこんな風にブロックを定義することは出来ません。 block = { "test" } # in:1: odd number list for Hash そもそも Ruby の構文ではハッシュとして扱われるためブロックを直接生成することは出来ません。Block.new みたいな構文も無いので、ブロックは ti

  • LISPはS式(丸括弧)でできている、RubyはR式[角括弧]でできている - hp12c

    Rubyは許容可能なLISPと言われている なぜRubyは許容可能なLISPなのか - 翡翠はコンピュータに卵を生むか 著者は RubyはLISPよりも濃い関数型言語であり LISPマクロでしたいことの大半はRubyでできる という事実から Rubyは許容可能なLISPであると結論している しかし私は今日別の理由 つまりRubyがなぜ許容可能なLISPであるのかの 新たな解釈を発見した 私は「許容可能なLISP」とは LISPerが「LISPの継承者と名乗っても差し支えなかろう」 と認めた言語をいうものと理解する そしてLISPは括弧(S式)でできていることが 最大の特徴であることから 括弧を多産しないつまりこれでもかというくらいに 括弧が大量に現れない言語は LISPerをしてLISP継承言語と認められないものと理解する Rubyではメソッド定義や呼び出しの括弧を 省略できたりするものだ

    LISPはS式(丸括弧)でできている、RubyはR式[角括弧]でできている - hp12c
  • なぜRubyは許容可能なLISPなのか - masatoi’s blog

    LISPの真実を読んでたら最後に出てきたので、かなり古い記事だけれども、Eric Kidd氏のWhy Ruby is an acceptable LISPを訳してみました。まつもとさんによる反応もあり、そのエントリの中で原文はほぼ要約されています。 一年前、私はRubyに注目してはいたものの、それを無視することにした。RubyPythonほどポピュラーではないし、LISPほど強力というわけでもない。なのに何故気にかけなければならないというのか。 もちろん、これらの評価基準は考えなおすこともできる。もしRubyがLISPよりもポピュラーで、Pythonよりも強力だったらどうなるだろうか?*1 それはRubyを興味深いものにするに足るのではないか? この疑問に答える前に、LISPを強力たらしめているものは何なのかを定義しておくべきだろう。Paul GrahamはLISPの美徳について雄弁に語

    なぜRubyは許容可能なLISPなのか - masatoi’s blog
  • Emacs の ruby-mode で補完するのに『robe』を使ってみるメモ - 牌語備忘録 -pygo

    (Emacs24.3, Ruby2.0) robe dgutov/robe · GitHub 使い方 インストール M-x package-install RET robe RET. (auto-complete.el と inf-ruby はインストール前提で) init.el (add-hook 'ruby-mode-hook '(lambda () (robe-mode) (robe-ac-setup) (inf-ruby-keys) )) 起動 ruby-modeで M-x inf-ruby M-x robe-start 試してみる 補完できた。 右側の『r』は robe の頭文字っぽい。 railsでの補完もいけるみたい -> https://github.com/dgutov/robe/blob/master/robe-company.png 追記2013-02-05 これ使う

    Emacs の ruby-mode で補完するのに『robe』を使ってみるメモ - 牌語備忘録 -pygo
  • emacsのruby環境を整えています - $shibayu36->blog;

    最近VagrantとかChefとかCapistranoとか、それなりにrubyのプロダクトを触るようになったし、別の言語の良いプロダクトも見ないといけないという気分になったから、とりあえずemacsの環境を整えようと思い出した。まずは基から。 ruby-mode modeはruby-modeを使えばいいっぽい。多分標準で入ってると思う。rubyは.rbつかないような奴も多いので、それは適当にruby-modeに紐づくようにする。中身を見てrubyと判別するやつもあるような気がするけど、まだそれは使ってない。 (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode)) (add-to-list '

    emacsのruby環境を整えています - $shibayu36->blog;
  • Emacs で Ruby の開発環境をさらにめちゃガチャパワーアップしたまとめ | Futurismo

    161227: 内容が古くなったので、書き直しました。 はじめに# Ruby 開発環境を整えようとおもったが, 普段よく使っている Eclipse を出すにはスクリプト言語は大げさだ. スクリプト言語はコンソール端末で書くに限る. というわけで, Emacs 使いなあたしとしては, Emacs での Ruby 環境を整えようとおもった. いろんなサイトを参考にしつつ, 導入したものを列挙していく. 準備# elip 取得に必要な package.el や el-get.el, git や wget などのツールはインストール済みのこと. 環境# Emacs 24.3.1 Ruby 2.1.0 優れた IDE の条件# 優れた IDE が備えるべき機能は以下 シンタックスハイライト/ インデント ruby-mode 検索・置換 iedit, multiple-cursors, helm-ag

    Emacs で Ruby の開発環境をさらにめちゃガチャパワーアップしたまとめ | Futurismo
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

  • Rails あるある

    2022年9月13日 株式会社メンバーズ ポップインサイトカンパニーでのウェビナーのスライドです。「ユーザーが欲しいと言った機能をつけたのに使われない!」という経験はありませんか。プロダクトをつくるとき「ユーザーの心理を理解しよう」とよく言われます。しかし、ユーザーに言われたままやることと、ユーザーが当に望んでいることは異なります。「UXデザインUXリサーチ」は、ユーザーを理解するための専門技術です。ユーザーインタビューやユーザビリティテストを用いてファクトを集めることで、ユーザーの表面的な言葉に惑わされない、当のインサイトにたどりつくことができます。かんたんなワークも交えながら、体系的に解説いたします。

    Rails あるある
  • (Soon)

    Soon.

  • Rubyのチートシート 変数 / クラス / モジュール

    Rubyをさわり始めた時に戸惑ったインスタンス変数やクラスインスタンス変数なんかのためのチートシート。変数、クラス、モジュールの使い方についてざっとまとめてみた。RailsでGemばっかり使ってると忘れるんだよなー。 登場人物はこんな感じです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 9

    Rubyのチートシート 変数 / クラス / モジュール
  • 音の鳴るエディタことVim - ✘╹◡╹✘

    音の鳴るエディタ - ✘╹◡╹✘の技術的解説。 おさらい 音の鳴るエディタ 眼を閉じた状態で"Hello"と入力して、画面を見ずに正しく"Hello"と入力されていることを確認したい。 そこで、キーを叩く度にそれぞれ固有の音が鳴るようにした。 プログラミングしながら演奏できる。 開発者集めてジャムセッションとかできると思う。 人月の神話っぽくならないように注意したい。 仕組み Vimはキーイベントが取れるので、キーを押したときにカーソルの下にある文字を取得して、それを非同期でRubyのプログラムに渡す。objective-c調べて書くの面倒だからRuby使った。Rubyの方は、文字列の文字コードと見て適当に半音階ずつの周波数を決める。a, b, c, d, ...と半音ずつ上がっていく。キーイベントでキーが取得できて非同期でシステムコマンド呼び出せるエディタだったら何でも使えると思うけど、

    音の鳴るエディタことVim - ✘╹◡╹✘
  • Resqueで複数サイトにまたがるクローリングを最適化しよう | VASILY DEVELOPERS BLOG

    どうも。バックエンドエンジニアの吉田です。 前回は1サイトをクロールする際の最適化戦略としてRedisベースの分散ロック機構を使った実例を紹介しました。 前回の記事:Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう 今回は複数サイトに対する処理をResqueを使って最適化した事例を紹介したいと思います。 ※ランダムにキューをlistenする話の予定でしたが、話がとっ散らかるので主題を変更しました。 主なキーワードとしては、「Resqueのキュー分割」、「Rubyでクラス定義を動的生成」といった感じです。 おさらい 前回使った図を使います。 iQONのクローラーは、提携サイトの商品一覧から商品ページのURLを取得し、ページをダウンロードする処理(fetchフェーズ)を必要な数だけWorkerプロセスとして起動しておき、Resqueを使って処理をして

    Resqueで複数サイトにまたがるクローリングを最適化しよう | VASILY DEVELOPERS BLOG
  • ruby-jmeter - so what

    JMeterはとても強力なツールなんですが、UIがいまいち(ですよね?)なのとテストケースがXMLなので、あまり積極的に使っていませんでした。 しかし、どうしてもJMeterを使わざるを得ないケースが出てきて*1、GUIツールとXMLを避ける方法をいろいろと探していたところ、ruby-jmeterがというライブラリが見つかりました。 ruby-jmeter https://github.com/flood-io/ruby-jmeter Tired of using the JMeter GUI or looking at hairy XML files? はい、疲れました…というひとのためにRubyのDSLでjmxを出力 or JMeterを実行してくれます。 require 'ruby-jmeter' test do thread_group count: 3, duration: 60

    ruby-jmeter - so what
  • Ruby Patterns - ✘╹◡╹✘

    この記事には、Rubyを書いているときに「これは言語化されたり公式化されたりしていないけれど基的には必ずこのパターンに則ってプログラムを書いているな」ということをふと思い出したときにやってきてそのパターンを書く。多分3パターンぐらいで終わると思う。ウケが良ければ思い出す確率が高くなると思う。題材さえあれば何も考えずに書けるので、これを書くコストは全然高くない。 名前が"?"で終わるメソッドは必ずtrueまたはfalseのどちらかを返す trueとfalse以外(例えばnil)が返る可能性がある場合は、必ず式の先頭に!!を付けてtrueかfalseになるようにしてる。 このパターンを守ることがとても大事だという風には全く考えていないけど、もしhas_user?がuserを返すとして、has_user?という名前のメソッドがUserオブジェクトを返すというのは一体どういう意味を持っているのだ

    Ruby Patterns - ✘╹◡╹✘
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • Jenkinsでアプリケーションをデプロイしてみよう

    継続的インテグレーションの手順のうち、デプロイに焦点を当てて、テストの実行から、GitによるHeroku環境へのデプロイまでを自動化する方法を解説。Mac向けのGrowlを使って実行結果を通知する方法も説明。 ← 前回 連載 INDEX 次回 → 連載第1回「Jenkinsを使ってみよう」ではMac(OS X)/LinuxWindowsへのインストール方法を、第2回「Jenkinsでテストを実行してみよう」ではユニットテストおよびインテグレーションテストを作成し、Jenkinsから実行する手法を解説した。ここまで読んでいただいた読者の皆さんもJenkinsをインストールして自分なりの使い方を模索していることと思う。 さて、連載第1回で「継続的インテグレーションとは次のような手順の繰り返しだ」と説明したのを覚えているだろうか? プログラミング テストの実行 リファクタリング デプロイ 今回

  • Middleman で静的 Web サイトを超速プロトタイピング | シリーズ | Developers.IO

    Middleman で静的 Web サイトを超速プロトタイピング シリーズ Grunt + TypeScript + Middleman によるフロントエンド開発環境を作ってみる 記事 2014年04月30日 山田 直樹 270 5 Middleman を使うようになってしばらく経ちますが、2014年4月現在 TypeScript に対応していないというのがどうも気になります。Ruby on Rails や Sinatra といった他の Ruby 製 […]

  • Create Rails apps. Faster. | RailsBricks

    RailsBricks enables you to create Rails apps much faster by automating mundane setup tasks and configuring useful common gems for you. Get RailsBricks Follow @railsbricks Authentication Most web apps require some kind of authentication. RailsBricks takes care of implementing this for you and lets you chose between a simple User model or using the Devise gem. Trivial functionalities like "sign up",

    supermomonga
    supermomonga 2014/01/18
    YetAnother RailComposerみたいな物らしい
  • Vagrant + DockerでSinatraを動かす

    Vagrant + DockerでSinatraを動かす tcnksm/docker-sinatra 簡単なsinatraアプリケーションをDocker上で動かしてみた. まずはsinatraアプリケーション.特別なことはなく,Procfileとconfig.ruを準備して,foremanで動かす.外部からのアクセスを有効にするため,ListenAddressを指定しておく. #Procfile web: bundle exec rackup config.ru -p 4567 -s thin -o 0.0.0.0 次に,Vagrantの設定.VagrantはDockerのprovisioningが有効な1.4を利用する.vagrantのインストールは以下のBrewfileを準備して,brew bundleする. tap phinze/homebrew-cask install brew-

  • Ruby Under a Microscope 
を読んでみた (つまみぐい紹介編)

    Ruby Under a Microscope 
を読んで面白かったので、一部の内容を社内勉強会「万葉究楽部」第四回で共有しました。

    Ruby Under a Microscope 
を読んでみた (つまみぐい紹介編)