目次 <<識別子<<-識別子<<~識別子Tips① GitHub Syntax HighlightTips② 引数内のヒアドキュメントの書き方参考Rubyの覚えてそうで覚えられないヒアドキュメントの書き方をまとめてみたいと思います。 <<識別子これがRubyのヒアドキュメントの基本型となります。識別子であるEOSの始点の<<EOSから次に出てくるEOSまでの囲まれている部分が文字列となります。
「前例がないことへの挑戦」ー まつもとゆきひろ氏インタビュー 15周年を迎えた「Ruby City MATSUEプロジェクト」のこれまでとこれから はじめに 「ITエンジニアが集まる街」として、長く注目を集めている松江市。昨今のコロナ禍において、特に「二拠点生活」「移住」「ワーケーション」といったキーワードで再注目されているようだ。 その背景にあるのは、2006年から松江市が取り組んでいる「Ruby City MATSUEプロジェクト」の存在だろう。プログラミング言語「Ruby」を核としたIT産業振興を開始し、本プロジェクトをきっかけに松江市に進出したIT企業は40社以上にも及ぶ。松江市の支援制度も手厚く、その内容も高く評価されている。 また「Ruby City MATSUEプロジェクト」で忘れてはいけないのが、Rubyの父、まつもとゆきひろ氏だ。「Rubyといえば松江」というブランディン
概要 Run Configuration Error:[No Rails found in SDK]への対応について RubyMineを初めて使った際にはまったので備忘録として書いておく 環境 OS:MacOS Mojave Ruby:2.6.3 anyenv下のrbenvでインストール 現象 RubyMineで既存プロジェクトを開いて「Run Development project」しようとしたところ 下記のエラーが表示されて実行することができませんでした。 また、ググって下記の対応してみましたが解決しませんでした。 .ideaディレクトリを削除して再起動 Tools-Bundler-install 「Edit Configurations」にてRuby SDKを「Use project SDK」や「Use other SDK」を変更 どちらでも適正に設定されていれば大丈夫 「Edit
やったこと 自分の持ち手の中に以下の三拍子が揃ったプロダクトがあったのでruby 3.0まであげて強い気持ちで型を入れていくことにしました。 立ち上げ間もない(利用者も限定的) 各種ライブラリが最新(変な古いバージョンに影響されることが少ない) 今後そこそこの機能拡張が見込まれる うちのチームでは初めてのRuby 3.0&型付だったけどやっていき 結論成果物 tool RBS Steep API周りのモデル層に型定義を導入 circleciによる自動テストの追加 Rubyの型とは Rubyの静的解析はv3.0で導入された新機能になります。 型定義はrubyのコードの外側にRBSファイルとして定義していきます。 2010年代は静的型言語の時代でした。Rubyは抽象解釈を武器に、型宣言なしで静的型チェックする未来を目指します。RBSとTypeProfはその第一歩です。Rubyがもたらす誰も見た
This book is work in progress, your help is requested @ github この本はまだ執筆中です。協力いただけるなら github まで。 Life On The Edge With Merb, DataMapper & RSpec Foreword (前書き) (TODO) the foreword Preface (序文) This is a collaborative effort to document the features of Merb and DataMapper, while also providing example Merb applications. これは、Merb と DataMapper の機能をドキュメント化しようという、協力的な取り組みです。 また Merb アプリケーションのサンプルも提供します
(To follow my compiler related posts, either subscribe to my main RSS feed, or the compiler specific one ) Back in March 2008 I started publishing a series on how to write a compiler in Ruby, bottom up, that is, starting with the code generator and working my way up instead of the more traditional approach of writing the parser first. Here are the parts I've published on my blog so far. (The bits
Rails Engines は、Ruby on Rails (以降 Rails) 製アプリケーションを、アプリケーションエンジン(以降 エンジン)として扱うための仕組みを提供してくれます。 エンジンが保有する資産(ルーティングやコントローラ、モデルなど)を、エンジンを利用したアプリケーション側から自然で透過的に扱う事が可能です。 Rails Engines は、Rails プラグインとして提供されます。 Rails Engines "The engines plugin enhances Rails plugins ― allowing sharing of code, views and other aspects of your application in a clear and managed way. エンジン アプリケーション開発において、いくつかの実装で使い回せる様、コア機能
※ドキュメントを読みながらこんなもんかな?とやってみたやつなので問題あるかもしれません。何かあればコメント頂けると嬉しいです。 例えば、DBからデータを取り出して逐次メールを送信する場合。 よく知られているようにメールの送信はコネクションの確立やSMTPサーバの処理などの待ち時間が長く、逐次処理をしていると無駄が大きすぎる。 処理を並列化して、あるメールの送信待ち時間を他のメールの構築等に充てて無駄をなくすことを試みる。 環境 Ruby 1.8.6 Rails 2.1.0 PostgreSQL 8.3 処理の並列化 Thread.newを使う。単純に実装すればこんなかんじ。 # 未送信のレコードをそれぞれ別々のスレッドで処理するサンプル threads = [] mails = find(:all, :conditions => ["sent = ?", false]) mails.eac
コンピュータスキルがコンピュータそのもののように、急速に進化する様は奇妙な感じがしないか?現在、ハードコアなコンピュータ・プログラミングをしている我々のような人間の中には、初期の頃の心を奪われるようなWebでHTMLやCGIからスタートした人もいるだろう。私もそうした人間の1人だ。「Webデザイン」という擬似コーディングの素晴らしい世界にちょっと手を出してみたことがある読者なら、デザイナーが最近、2種類のグループに分類される、と、絶対に気づいているだろう。最初のグループは、DreamweaverのようなWYSIWYGのエディタを使い、Webページのデザインと発行を行っている。2番目のグループはEmacsやVimといったテキストエディタを使ってHTMLを手ずからコードし、FTPクライアントを用いて完成したページをWebサーバーにアップロードして世界に公開し、できれば世界に高く評価されたい、と
Java 昨日の日記ではノリノリで1時間くらいで実装してイテレータを公開したものの、例外が飛んだら終わり、というなんともつまらないオチで終わってしまいました。breakやreturnできないことは意図した動きだったんですが、なぜ例外のことを忘れるかなー....ブックマークしてくれたみなさん、あれは例外が飛んだらリークしますんですみません。トラックバックしてくれていたお二方(id:masanobuimaiさんとyuguiさん)、なんだか褒めていただいたのに申し訳ない。 書いたコードは検証してから挙げろってことですね。でも「情報は情報を出すところに集まる」というのを実感しました。公開したからこそ、ささっと指摘を受けられたと良いように解釈します。 さて、結局のところコードブロックから飛び出してもそれを確実に捉えてファイルをクローズするには、コードブロック自体を制御構造の中に入れるしかないわけです
NetBeans Ruby Support Removed from standard IDE distribution in 7.0! See: RubySupport The NetBeans Ruby support plug-ins provide an integrated development environment for building, running, testing, and debugging Ruby and Ruby on Rails applications. You can download a Ruby-only version of the NetBeans IDE or add Ruby support to your NetBeans IDE download. To learn how, see Installing and Configuri
Rubyに人気があるため、Ruby on RailsやMerb、CampingといったWebフレームワークが誕生した。Wavesという新しいWebフレームワークが最近リリースされたが、 Ruby開発者が興味を持って試してみようと思うような特徴が、Wavesにはある。 WavesはRuby on RailsのようにMVCフレームワークであり、Request Lambda(source)と呼ばれるものを使うが、各マッピングはルールとブロックで構成されている。ルールが要求と一致すると、そのブロックが実行される。 Wavesに独特な特徴の1つである。 Wavesのこの他の優れた特徴には以下が挙げられる。 真のコード再ローディング ホットパッチング クラスタのサポート スレッド・セーフティ InfoQは、Wavesの開発者Dan YoderとWavesについて話す機会を得た。 Robert Bazi
I'm taking a break from some bug fixing to bring you this public service announcement: Ruby's Thread#raise, Thread#kill, and the timeout.rb standard library based on them are inherently broken and should not be used for any purpose. And by extension, net/protocol.rb and all the net/* libraries that use timeout.rb are also currently broken (but they can be fixed). I will explain, starting with time
ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く