Hello World in 60 Seconds. Get setup lightning fast in the cloud & code from anywhere, on any machine. By clicking on "Sign up free" below, you agree to the Nitrous.IO Terms , Privacy Policy , and Beta Agreement
コンソールスクリプトなどで、パスワードを隠しつつ入力させたい時があります。 そんな時、 Ruby 1.9.3 以降であれば、 IO#noecho が使えます。
今回は、.mdファイルにMarkdown形式で文章を書いておき、それをApache httpdやnginxでホストし、ブラウザからアクセスするとHTMLに変換されて表示されるMarkdownコンバータモジュールをmrubyで書く方法を紹介したいと思います。 Markdownのテキスト形式で保存しているファイルを適当にApache上で配信すれば、ブラウザ上でHTMLで綺麗に閲覧できるといったよくあるアレをWebサーバを拡張して実装してみようという話です。自分の開発環境やローカル環境のメモ置き場にも良いかもしれません。 Apacheモジュールやnginxモジュールで幾つかそういった機能を提供するモジュールはあると思うのですが、もう少し独自で改良したかったり、C言語で実装せずにもっと簡単に自分で書いてみたい、といった要求に本エントリを読むと答えられると思います。 もちろんそれらの機能の実装は、僕
てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。
Star Rubyという2Dのゲーム作りの環境を提供してくれるライブラリをMavericksにインストールしてみた。 環境 MacBook Pro Retina15 OSX 10.9.2 Xcode 5.1.1 (5B1008) $ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Target: x86_64-apple-darwin13.1.0 Thread model: posix $ ruby -v ruby 2.0.0p247 (2013-06-27 rev
はじめに 本文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。
Rack限定ならむかし rack-spyup というものを書いた。自分で使ってみたけどJSON APIのデバッグとかだと革命的に便利だと思う。 ただ、Rackに到達する前にリクエストがお亡くなりになったりとか、そもそもサーバルビーじゃないしとかあると思うので、もっと汎用的な感じでダンプする手順をメモしてみる。 リクエストが来たら内容を全部ダンプするHTTPサーバを作る Rubyに標準添付されている、WEBrickの基本的な機能で割と簡単に作れる。 # -*- coding: utf-8 -*- require 'optparse' require 'webrick' require 'json' options = ARGV.getopts("p:", "port:") # The :monkey: raises # cf. http://d.hatena.ne.jp/vividcode/
最近のフレームワークの傾向 最近のWebアプリケーションフレームワークには、次の傾向がみられる。: 「モデル・ビュー・コントローラ」(MVC)モデルに沿って構成要素をプログラミングする 「設定より規約」(Convention over Configuration)方式で構成要素を結びつける リレーショナルデータベースアクセスのためのO/Rマッパが付属しているか、既存のO/Rマッパと親和性がある O/Rマッパ O/Rマッパ(Object-relational mapper)は、テーブルとローで構成されるリレーショナルデータベース要素へのアクセスを、プログラミング言語におけるクラスとインスタンスの操作を通じて行えるようにするライブラリである。 図3-2: O/Rマッパ 例えば、S2JDBCでは、次のようなJavaコードで検索を行うことができる。: List<Book> results jdbc
RubyMotion Advent Calendar 2013 に何か書こう、ということでエントリ。 ご存知のように iPhone アプリの HBFav は RubyMotion で作っています。Objective-C ではなく。以前は Titanium Mobile で作っていましたが、去年にバージョン2として作り直すにあたって RubyMotion に移行しました。 RubyMotion に関しては以前、以下のエントリで概要を説明しています。 RubyMotion - naoyaのはてなダイアリー それから、今年 5月に開催した RubyMotion カンファレンスのスライドなどもあります。 実践RubyMotion - Speaker Deck RubyMotion が発表されたのは 2012 年の5月 とかで、それからずっと使い続けているので1年半近くが経ったことになります。App
2013.11.02 Ruby on Rails 4.0.1リリース!大量のバグ修正、3系からの移行も少し簡単になりました 本日、Ruby on Rails 4.0の最初のアップデートである、Rails 4.0.1がリリースされました。 6月に4.0がリリースされてから約4ヶ月、かなり久しぶりのアップデートとなりますが、どのような変更が含まれているのでしょうか。 まとめ 量が多いので最初にまとめです。 今回のリリースは大量のdiffを含みますが、そのほとんどは細かいバグ修正です。 Railsのリリース時期的には3.2.13 → Rails 4.0.0 → 3.2.14 → 3.2.15 → Rails 4.0.1となるため、3.2.14以降で適用されていた細かい修正も取り込まれています。4系が3系にようやく追いつきました。 4系はなんかデグレっぽいバグや非互換が多いなーと思っていた箇所が、
http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyとPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置
住所を緯度経度に直したり、緯度経度から住所を求めたりする操作をgeocodingと言って、Google Maps APIを使うとまあたいていのことはできる。 ロケタッチAPIとか、Yahoo!ジオコーダAPIという手もある。 それはともかく、そのへんをパチパチ叩くコードを書いていて、「こんなのもうとっくに誰かが書いてんじゃないかなー」と思ってぐぐってみたらなんかすごいのが出てきた。 Ruby Geocoder 住所と緯度経度の相互変換はもちろん、距離や範囲の扱い、Google以外のAPIへの対応、キャッシュ処理など、「実装しようかなー。でもめんどくさいよね」とか思って先送りしていたような機能がほとんど全部実装されている。 住所の取得 require 'geocoder' # 日本語ロケールに設定 Geocoder.configure( :language => :ja, :units =>
「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
今夜は、年に一度の W. V. Quine の命日イブです。(もう日が変わってますが) %;';;eval$s=%q{eval(%w~i=1;T="$)*L)L)))0)E(E(0(7(>'>'7&E&0&7&>%L%)%0%E*)$L$)* L)L)))0 )E(E(0(7(>' >'7&E&0&7&>%L%)%0%E5&$L%#8C5G7/530L2B1*/'19-D03 #E*&,1). *G'6#3*>5 &'F'#)E(L)0*)'L'?(#)#)7(E'0&E&#(0%0&L%7&0':+)%E# {"4F"*18} 3F4F5F4 F4@493@1@5@7@6@692@2939325952425+4+3+3F4$5F4F".by tes.each_s lice( 2).map{|s,c|[s*3-99,c/7*3-13-i=-i,c%7+41]};$><<"'# {e=27.
2日ほど前にGitHubに登場して話題となっているRackアプリケーション向けエラー画面表示ツールの「better_errors」というgemがヨサゲなので、ちょっと試してみました。Rack対応なので、Sinatraでも使えるようですが、もちろん、Ruby on Rails対応です。間に合えば、Ruby on Rails4に採用されることもあるかもしれません。というぐらい、こういうのを待っていましたという声が出ているようです。 スタックトレースとエラー発生箇所が表示されるのは、Rails標準のエラー画面と同じですが、コードがハイライトされているほか、スタックフレームの任意の場所をクリックすると、該当するコードが表示されるなど、簡易なWebアプリっぽくなっています。インスタンス変数や、パーシャルに渡っているローカル変数も表示します。 以下はRails標準のエラー画面です。 Better Er
(PgDay2012発表資料) SQLにとって、なぜO/Rマッパーが重要かを説明した資料です。Read less
Rails 3.2.3 での CSRF 対策について調べていて、ちょっとはまったポイントがあったのでメモを残しておきます。 Rails はデフォルトで特に何もしなくても POST/PUT/DELETE のリクエストに対して authenticity_token という hidden のパラメーターを利用して CSRF 対策をおこなってくれる仕組みを持っている。(Ruby On Rails ピチカート街道 - Rails 2.0・その12(CSRFを勝手に防止) - などが参考になる) しかしそれは Rails の form_for などのヘルパーを使った場合で、form タグを自分で書いた場合には、 <%= hidden_field_tag :authenticity_token, form_authenticity_token %> のように手動で authenticity_token
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く