タグ

rubyに関するfa11enprinceのブックマーク (14)

  • RubyのJITに生成コードのメモリ局所性対策を入れた話 - k0kubun's blog

    昨日、RubyのJITの性能改善のためのパッチを入れた。 github.com JITすればするほどRailsが遅くなる問題 Rubyの次期バージョンである2.6には、バイトコードをCのコードに変換した後、gcc/clangでコンパイルして.soファイルにしdlopenすることで生成コードのロードを行なう、MJITと呼ばれるJITコンパイラが入っているのだが、マージしたころのツイートにも書いていた通り、Railsで使うとより多くのメソッドがJITされるほど遅くなってしまうという問題があった。 結果、"MJIT slows down Rails applications"というチケットが報告されることとなり、昨日までの5か月の間閉じることができなかった。 元の構成 対策を始める前のMJITは大雑把に言うとこういう感じだった。メソッド1つごとに1つの.soファイルが作られ、ロードされる。 無制

    RubyのJITに生成コードのメモリ局所性対策を入れた話 - k0kubun's blog
  • Railsを始めたばかりの人向け!Railsの仕組みを一から理解しながらブログを作成する - Rails Webook

    Rails初心者がRailsの一通りの仕組みを理解できることをために、Railsの仕組みを一つ一つ理解しながらブログを作成していきます。 Railsでのルーティング、コントローラー、モデル、ビューの規約や使い方、ScssでのスタイリングやCoffeeScriptでのJavascriptの記述なども説明します。 Rails Guide - Getting Started with Railsをベースにしました。 まずは、完成させるブログアプリケーションの画面です。 動作確認 Ruby 2.0 Rails 4.1 Mac OS X 10.9 前提条件 Ruby がインストール済み Rails 4 がインストール済み SQLite3データベースがインストール済み ※もしインストールされていない場合は、「Rails4 インストール」などでGoogle検索してインストールしてください 目次 Rail

    Railsを始めたばかりの人向け!Railsの仕組みを一から理解しながらブログを作成する - Rails Webook
  • 初心者でも「Ruby on Rails」を学習できるコンテンツ7選 - paiza times

    Photo by Andrew こんにちは。谷口です。 プログラミングをこれから学習しようとしている方や新人エンジニアの中には「Ruby on Railsについて学びたい!」という方も多いと思います。 Ruby on Railsは、Rubyで書かれているオープンソースのWebアプリケーションフレームワークです。クックパッドやグノシー、最近話題のMastodonなどといった有名サービスの開発にも利用されており、世界中のWebサービス開発企業に広く普及しています。 今年新卒でエンジニアになった方の中には、「仕事で必要だからまずはRailsを使えるようになってね」と言われている人も多いかと思います。 というわけで今回は、なるべくコストをかけずにRailsに触れられて、学習に役立てられるコンテンツを7件ご紹介していきます。 ■プログラミング経験ゼロからRailsを学びたい人 プログラミング未経験の

    初心者でも「Ruby on Rails」を学習できるコンテンツ7選 - paiza times
  • [Ruby] Ruby 3.0 の特大の非互換について - まめめも

    タイトルは釣りです。すみません。Ruby 3.0 はかなり先の将来の話なので、最終的にどうなるかはわかりません。でも Ruby 3.0 に重大な変更が予定されているのは事実なので、一緒に考えて欲しいと思います。 immutable string literal Ruby 3.0 では文字列リテラルをデフォルトで immutable (破壊的変更不可) にする、という方針が『決定』しました。(Feature #11473: Immutable String literal in Ruby 3) つまり、次のようなプログラムが動かなくなります。(当チケットから少し改変して引用) sql = "SELECT #{sec_id}, pt.path, st.doc_count " sql << "FROM #{stats_tablename} AS st " #### ←ここで例外: can't m

    [Ruby] Ruby 3.0 の特大の非互換について - まめめも
    fa11enprince
    fa11enprince 2015/10/08
    Rubyはほとんど使わないけどこれは酷い変更。Pythonのいつまでも2系の悲劇、再びな気がする
  • AngularJSを使ってタグベースのはてブビューアを作ってみた - 無理しない感じ

    はてブビューア Skimii http://skimii.net 作ったもの タグベースのはてブビューアを作りました。 ウォッチしたいキーワードをタグとして登録すると、ブックマークされたエントリをタグごとに一覧表示します。 Skimii 作った理由 自分の興味対象にピンポイントでアクセスしたいという理由です。 はてなブックマーク公式では、かなり大きなくくりでのカテゴリ分けなので、ウォッチしたい対象にピンポイントでアクセスしにくいなぁと感じていました。 タグごとにエントリを表示できるので、対象を絞ることができノイズの少ない情報を得られるかと思います。 しかしながら… インタレスト機能 - はてなブックマークヘルプ すでに公式で同じものが提供されています。作成途中で気づいた… ただ、公式には無い機能もあります。 ブックマーク数の閾値設定 すでに読んだエントリを表示しない設定 構成 フロントエン

    AngularJSを使ってタグベースのはてブビューアを作ってみた - 無理しない感じ
    fa11enprince
    fa11enprince 2015/07/05
    良さそう
  • Ruby TkButton won't run proc

    I have a ruby program that uses the TK gui package and I am having trouble with TkButton, specifically the command part. I am trying to run a method that's in the same class when the button is clicked. My code is below. I'm very new to Ruby but not programming in general. When the button is clicked in the gui I get an Application error that says "Error: NameError: unknown option..." where it ident

    Ruby TkButton won't run proc
  • ruby は メソッドに return が不要なのではなく、元々そうなっているだけ - MUGENUP技術ブログ

    皆さん、こんにちは。MUGENUP の osada です。 いきなりですが、問題です。 def if_expression(flag) if flag "NG" else "OK" end end Ruby は 最後に評価された値が返る と言われていますね。 では、上記のメソッドで if_expression false の返り値は、何ですか? はい、正解です。OKが返ってきますね。 ちょっと長いので、リファクタリングしましょう。 def if_modifier(flag) "OK" "NG" if flag end さてもう一度。 if_modifier(false) の返り値は、何ですか? Ruby は 最後に評価された値が返る と言われていましたよね? はい。正解です。nil が返ってきますね。 え、"OK"じゃないのかって? いいえ、後置if は if とは全く違います。 右辺の条

    ruby は メソッドに return が不要なのではなく、元々そうなっているだけ - MUGENUP技術ブログ
  • rbenvは何をしているのか? - ザリガニが見ていた...。

    ~/.rbenv/以下に複数のRubyバージョンをインストールして、それぞれのRuby環境を切り替える仕組みを提供する。 ~/.rbenv/ (rbenvがRubyを管理するルートフォルダ) ~/.rbenv/shims/ (rubyやgemがインストールするコマンドへのラッパーを保存しておくフォルダ) ~/.rbenv/version (global環境のRubyバージョンを記録するファイル) ~/.rbenv/versions/ (Rubyの各種バージョンをインストールするフォルダ) Ruby環境の構造 例えば、rbenvがインストールしたRuby-1.8.7-p375は、以下のような構造となっている。 ~/.rbenv/versions/1.8.7-p375/bin/(実行コマンドを含む:erb gem irb rake rdoc ri ruby testrb) ~/.rbenv/v

    rbenvは何をしているのか? - ザリガニが見ていた...。
    fa11enprince
    fa11enprince 2015/06/29
    わかりやすい
  • Tcl/Tkを使ってGUIアプリケーションをRubyで。 - 環境構築・零

    既にrbenvをインストールしていることを想定しておきます。 ※rbenvの環境構築はしません。 brew tap homebrew/dupes brew install tcl-tk でhomebrewからTcl/Tkをインストールします。 しばらく、コーヒーブレイクでもしていると完了しているはず。 tk.rb(新規作成) require 'tk' require "date" t = Time.new #今日の日付と時刻 a = t.strftime("%Y年%m月%d日 %H時%M分%S秒") #ラベルを付与 TkLabel.new(nil, :text => "ここにメッセージを入力してください", :fg => "white", :bg => "black").pack TkLabel.new(nil, :text => "#{a}").pack entry = TkEntry.

    Tcl/Tkを使ってGUIアプリケーションをRubyで。 - 環境構築・零
    fa11enprince
    fa11enprince 2015/06/21
    tcl/tk
  • ノベルゲームエンジンプロトタイプ「RAG」の紹介(あるいは見果てぬ夢) - 土屋つかさの技術ブログは今か無しか

    DXRuby Advent Calendar 2013 6日目です。 5日目はあおたくさんのエターナラーでもゲームが作りたい!でした。ゲームプログラミングって、一個作れればその後は割と楽なんですが、その最初の一個を作るまでがすっっっごく大変なんですよね。あと、一人で作るのと複数人で作る時も全然異なるノウハウが必要になるんだけど、これについてはどこかで機会を作って書きたいかも。 さて今回は、土屋が以前作ったノベルゲームエンジンの紹介です。昨年書いていて、幾つかの理由(後述します)から途中で開発継続を断念した物です。つまり「完成しなかったコードの紹介」ということになります。期待された方は当にごめんなさい>< 以下のサイトから途中まで作った物をダウンロード出来ます。画面下部の「20120531_rag_sample04.zip」と書いてある場所の、右側の「↓」をクリックしてダウンロードして下さ

    ノベルゲームエンジンプロトタイプ「RAG」の紹介(あるいは見果てぬ夢) - 土屋つかさの技術ブログは今か無しか
  • Ruby on Railsでアダルトサイト作ったよー

    例に漏れず件のエントリーに影響を受けまして、Ruby on Rails を利用したサービスを作ってみました。 一つもアクセスがないため宣伝ついでに利用したgemや作成する際に参照したサイトを載せますので、「Rails初心者っす」とか、自分と同じく「そもそもプログラミングとか知らねっす」という方はちょっとしたナレッジとしてご活用くださいまっせ。開発ガンガンやってる方には価値ある情報たぶんないよー。 作った人新卒入社四年目の会社を今秋退職プログラミング未経験過去に流行ったテキストサイトの影響でhtmlcssは多少書けるブラウジングの大半はアダルトサイトの閲覧とどのつまり、性的に健康な青年が休職中で暇でした。 作ったものアダルトサイト専用のソーシャルブックマークサービス名前「SiCOLIP(シコリップ)」URL「http://sicolip.elasticbeanstalk.com/」シコった

    Ruby on Railsでアダルトサイト作ったよー
  • 「お題:pingコマンド」をRubyで - ksmakotoのhatenadiary

    Shiroさんの「お題:pingコマンド」( http://blog.practical-scheme.net/shiro/20141013a-ping )をRubyで書きました。 「Rubyではじめるインターネットプログラミング」第8回( http://www.notwork.org/ipr/article/serial08.html )のコードを参考にしていますが(あと、そのライブラリも使っていますが)、タイムアウトの追加、IPv6対応(これはライブラリにも手を入れている)、recvではなくrecvfromの結果から返信元アドレスを得ている(これはrawソケットの挙動がIPv6では異なるため)などの点が違っています。

    「お題:pingコマンド」をRubyで - ksmakotoのhatenadiary
  • Ruby+Nokogiriでスクレイピング入門 - プログラマでありたい

    クローラー/スクレイピング Advent Calendar 2014の5日目です。あと、全部俺Advent Calendarも開催中です。 Webからデータを取るためにスクレイピングする際は、Rubyを使うことが多いです。理由としては、Nokogiriが手軽で簡単だからの一点です。Rubyによるクローラー開発技法でも随所に紹介しています。随所というレベルではなく、手を変え品を変えNokogiriでデータ取っているだけじゃねぇかと批判を受けるのではと、懸念するレベルかもしれません。Nokogiriは手軽で便利なので、ちょっと使い方を覚えておくだけで楽できるケースが一杯あります。ということで、Nokogiri入門編です。 Nokogiriの使い方 Nokogiriは、Rubyで実装されたHTML/XMLの構文解析器(パーサー)です。Rubyの中では、デファクト・スタンダードと言っても差し支えが

    Ruby+Nokogiriでスクレイピング入門 - プログラマでありたい
    fa11enprince
    fa11enprince 2014/12/05
    nokogiriを使うためだけにruby覚えるのありかもってくらい便利そう
  • Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ

    もの人がブックマークしているこの「Ruby仕事に使うべし!」という記事で書かれているRubyの優れた特徴は、実際のところ、どの部分が、どこまで当なのでしょうか? 少し検証してみたいと思います。 「Rubyがスゴイ」とされる点のどれがホントでどれがウソ? 「Ruby仕事に使うべし」では、まず、Rubyの特徴として、 (1)いろんな言語のいいとこ取り (2)構文が強力 (3)楽しくプログラミング (4)問題が起こりにくいように設計されている という点を冒頭で掲げています。 まず、これらをどのように検証すればよいか、考えてみます。 まず、(1)のいいとこ取りについては、いいとこ取りをし続けながらいつも進化しているのは、最近の言語はみんなそうで、それはRuby独自の特徴でもなんでもありません。 たとえば、C#は、その典型で、VM、自動メモリ管理、パッケージによる名前空間管理、マルチスレッド、

    Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ
  • 1