タグ

Rubyに関するyassのブックマーク (60)

  • msgpack-inspect を作った - たごもりすメモ

    MessagePackはJSONぽいけどバイナリでデータサイズが小さく抑えられ、またシリアライズ/デシリアライズが比較的高速であるとして広く使われておるところであります。なんか #linedevday にいるせいで口調がおかしいな。 が、バイナリなせいでデータを作ったあとその内容が正しいかどうか確認するのがいまいち面倒くさく、いちいちunpackするスクリプトを書いて中身を見る必要がある。JSONみたいに目で見て思った通りの表現になっているかどうかを判別するのは普通の人間にはなかなか難しい*1。 このため開発時にデータがバグってるのかコードがバグってるのかが分かりづらく、MessagePackを利用したアプリケーションおよびサービスを開発する上で問題になっていた。 ので、MessagePackのバイナリデータをわせると内容を分かりやすくダンプしてくれるツールを作った! のです! msgp

    msgpack-inspect を作った - たごもりすメモ
  • では、Sinatraの使いどころとは一体 - すがブロ

    Webアプリエンジニア養成読 Advent Calendar 2014 - Qiita これの6日目です。すでに7日になってしまい大変恐縮です。 ところで、この書籍(みなさん100万回読んでいると思うので蛇足だと思っていますが!!)では、Sinatraを使って簡単なWebアプリケーションを作成しています。ちなみに、書籍で作成するWebアプリケーションのソースコードは sugamasao/Shiori · GitHub にあります。 なぜSinatraなのか Sinatra自体は非常に手軽で学習コストが低いこと、その上で一歩ずつ組み立てていくのでWebアプリケーションとは?みたいな題材だとかなり良いと思っているのですよね。Webアプリケーションに必要な構成要素と必要な要素の説明がしやすいんです。 とは言え、カッチリつくろうと思うとファイル数が増えても破綻しないようなディレクトリ構成等を始め

    では、Sinatraの使いどころとは一体 - すがブロ
    yass
    yass 2015/01/04
    " まずはお手軽なSinatraを使ってWebアプリケーションを書いて、複雑になって行きそうな規模になったら、その時はRailsやPadrinoを検討してみるのが良いでしょう "
  • なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記

    新人エンジニアとの読書会でシグナルの話が出た時に色々知識が曖昧なことに気づいたので読んだ。(Spyglass についてはまだ触っていない) 社内の別の読書会にこれの原著を読むものがあったんだけど、 当時 Ruby や UNIX について知識がなさ過ぎたり英語読むのに少しつらみがあったり そもそも途中から参加していなかった。覚えていたのはゾンビプロセスの語感と内容が重要そうだったってことくらい。 今回は英語学習より内容の速習を求めたので、翻訳版を読むことにした。 以下は読書感想文です。 プロセス、カーネル、システムコール このはプロセスとそれを取り巻く技術についてそれぞれかなり基礎的なことから書かれており、UNIX について然程知識がなくとも問題なく理解し読み進められる。 自身ではプロセスは親子関係やPIDについて知っている程度で、5章のファイルディスクリプタや 10章の終了コード、11章

    なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記
  • Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~

    アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで 作者: Tom Stuart,笹田耕一(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型この商品を含むブログ (2件) を見る 一番最初にはっきりさせておきますが、Rubyは嫌いな言語です。 が、このRubyが嫌いな自分でもいいだと言える*1でした。 自分が対象読者に入っているかどうかは実際に読んでみるまで微妙かな、と思っていましたが、とても楽しめました。 以下、書評です。 Rubyという選択 説明用のコードとして書はRubyを使っていますが、 これに関してはその理由が1章にあります。 私はその明瞭さと柔軟さに魅かれてRubyを選びました また、続けて 書にはRuby独自の機能に依存しているところはありません。 そのため、もしあなたにとってわか

    Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~
  • r7kamura/webtail · GitHub - Stdin to your browser by WebSocket

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    r7kamura/webtail · GitHub - Stdin to your browser by WebSocket
    yass
    yass 2014/08/10
    " $ tail -f log/development.log | webtail "
  • rebuildfm 53で話題になったRubyのスレッドに関係したつぶやき

    wyukawa @wyukawa RubyだとGILがあるからマルチコアがいかせないとか批判する人いるけど、そのくせシングルスレッドで動くnode.jsをほめるのは矛盾じゃないのかというのは確かにw #rebuildfm 2014-08-08 17:44:26 Kiyoshi Nomo 🐟☔️🍈🍋🍜 @kysnm #rebuildfm 53: Less Code Is Better Code (Matz) 聞いた。Node.js がシングルスレッドで CPU 使い切れないの結構言われてますよ 2014-08-08 19:05:59

    rebuildfm 53で話題になったRubyのスレッドに関係したつぶやき
  • 第19章 スレッド

    rubyスレッド スレッドは「みんな一斉に動く」というのが建前だが、実際には少しの時間ず つ順番に動いているわけだ。厳密に言えばマルチCPUのマシンでそれなりに工 夫すれば同時に二つ動いたりもできるが、それでもCPUの数以上のスレッドが あればやはり順番に動かなければならない。 つまりスレッドを作り出すためにはどこかで誰かがスレッドを切り替えてやら ないといけないわけだが、その手法には大きく分けて二種類ある。 カーネルレベルスレッドと ユーザレベルスレッドだ。これはどちらも読んで字の如く、ス レッドというものをカーネルで作るかユーザレベルで作るかという違いである。 カーネルレベルならマルチCPUを生かして複数のスレッドを同時に動かしたり もできる。 ではrubyのスレッドはどうなのかと言えば、これはユーザレベルスレッドで ある。 そして(それゆえ)同時に動けるスレッドは厳密にただ一つと制限

    yass
    yass 2014/03/09
    " そこでrubyのスレッドはどうかと言うと、Rubyレベルではプリエンプティブで、 Cレベルではノンプリエンプティブである。つまりCのコードを書いているときは スレッドが切り替わるタイミングをほぼ確実に特定できる。"
  • snoozer05.org

    1978年神奈川県生まれ。電気通信大学電気通信学部情報工学科卒。2009年に株式会社えにしテックを設立。2011年からは一般社団法人日Rubyの会の理事も務める。 近著に『ソフトウェアアーキテクチャ・ハードパーツ』(オライリージャパン、翻訳)『ソフトウェアアーキテクチャの基礎』(オライリージャパン、翻訳)『ユニコーン企業のひみつ』(オライリージャパン、共訳)、『モノリスからマイクロサービスへ』(オライリージャパン、翻訳)など。

  • facterでサーバ情報を簡単に取得 | ボーダーレスライフ

    デプロイやちょっとした設定変更の際に、オぺレーティングシステムなど、システム条件をもとに固有の処理をしなければならないケースはよくありますよね。facterを使うと以下の様なシステム情報を取得できるので、そういった処理が簡単につくれます。 でもこれじゃ情報不足で中途半端、あんまり使い道ないわー、なんていう反応をしてしまいそうですが、facterは取得する情報をカスタマイズできるので、例えばサーバをファーム分けしている場合ファームIDを取得したり、MySQLのmaster/slaveの区分を取得するなんてことも可能です。 -bash-3.2$ facter architecture => x86_64 augeasversion => 0.9.0 domain => hoge.example.com facterversion => 1.6.1 fqdn => ope.hoge.exampl

    yass
    yass 2013/10/31
    " オぺレーティングシステムなど、システム条件をもとに固有の処理をしなければならないケースはよくありますよね。facterを使うと以下の様なシステム情報を取得できるので、そういった処理が簡単につくれます。"
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

    yass
    yass 2013/10/28
    " 参照カウントをアルゴリズムに採用しない言語がある理由は、/ 各オブジェクトの内部に参照カウントを置くスペースを確保したり、変数/参照を上下変化させるオペーレーションなど、この手法のインプリは難易度が高い"
  • ngx_mruby vs lua-nginx-module 対決してみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 論文や発表が少し落ち着いたので、研究の実装を再開しています。 そこでふと思ったのですが、そういえばngx_mrubyとlua-nginx-moduleのパフォーマンス比較していないなぁと思いました。でも、今検証環境が色々あって揃っていないので微妙だなぁと思いつつも、やっぱり気になると試さずにはいられないたちなので、簡単なhello worldのベンチマーク比較をしてみました。 ngx_mrubyとlua-nginx-moduleの導入 検証環境がないので一から導入しました。意外と簡単ですね。 [program lang=’bash’ escaped=’true’] wget http://nginx.org/download/nginx-1.

    ngx_mruby vs lua-nginx-module 対決してみた
    yass
    yass 2013/10/12
    " 単純なhello worldの比較ではngx_mrubyの方が速い結果となりました。しかし、lua-nginx-moduleには沢山機能があって、安定稼働している例もいくつか聞くので、まだまだ複雑な事をやろうとするとlua-nginx-moduleの方が良いでしょう "
  • 実用域に達したJRuby 9K

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    実用域に達したJRuby 9K
    yass
    yass 2013/10/03
    " Java 7上で動作するJRubyが,レスポンス時間の面でRuby MRI 1.8よりもわずかに優れたパフォーマンスを示している。メモリ使用量が200MBに達したときのガベージコレクション時間においては,Ruby MRI 2.0を大幅に凌駕 "
  • Rubyによるお手軽分散処理

    Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation

    Rubyによるお手軽分散処理
  • 情報処理学会論文誌プログラミング No. SIG.10(PRO 33) - Matzにっき(2007-06-30)

    << 2007/06/ 1 1. [Ruby] 楽天技術研究所フェロー就任の影響 2. [知財] 私的録音録画小委員会、CD売上減と私的複製の関係めぐり議論は平行線 3. [Ruby] 川o・-・)<2nd life - Ruby で debug する7つの方法 4. [Ruby] Rails vs Django: a non biased yet useless comparison 5. [OSS] Dave Gilbert's Weblog : The Badness of JFree 6. [OSS] Trust, But Verify - O'Reilly ONLamp Blog 7. [言語] Scala Actors -- A Short Tutorial 8. [Ruby] taw's blog: Why RLisp will not support Ruby class

    yass
    yass 2013/08/11
    " 従来のGC方式ではマークのコストは、生きているオブジェクト数に依存する/「世代別」方式では、 (old→new参照を検出するため)旧世代オブジェクトから全部マークした上、 主にnew領域を対象に通常のマークを行う"
  • RubyでGUIアプリを作るならJRuby JavaFX Rawrで決まり!

    Ruby大好きな私としては、一般配布するGUIアプリケーションとかもRubyで書きたい訳です。しかし、Windowsには標準でRubyは入っていないし、Macもバージョンが古い1.8.7が標準だしで、普段プログラミングなんかしない一般ユーザーさんでも簡単に起動できるアプリケーションを作るのがなかなか難しいという問題があります。 そういった問題から、クロスプラットフォームな言語・ライブラリ、例えばC++のQtなんかに一時期浮気したりもしたのですが、やっぱりRubyで書きたい。だってRubyが好きだから。 そして、色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。それは… JRuby JavaFX jrubyfx Rawrこの組み合わせです…!それぞれ解説していきましょう。 JRuby … JavaRubyJRuby

    yass
    yass 2013/08/11
    " 色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。"
  • koie blog : いってきた: mrubyの夕べ

    2013年01月29日00:00 カテゴリsw いってきた: mrubyの夕べ 2013-01-28 17:00〜19:30 神保町 IIJ 17F 大会議室 http://partake.in/events/36879645-7365-4dcc-ac80-60fdcbee1cfb http://togetter.com/li/446585 朝起きたら相模原は雪がうっすら積ってギュッギュ音がしてたけど、都心はいつもどおり灰色の景色。 10分前に会場到着。 mruby / @yukihiro_matz [2013-01-28 17:04] 技術的な話をするのは初めてなのでうれしい。 em.rubyと発音して mrubyのm: 開発者にまつもとさんがおおい. 組み込み: いろいろ定義はあるけど、メモリがすくない、というような環境。いまではPCなみ。ソフトの割合が増えてきた。 アーキテクチャにお

    koie blog : いってきた: mrubyの夕べ
    yass
    yass 2013/08/11
    " インクリメンタルGC スイープ時間: 生成されたオブジェクト数に比例 マーク時間:生きているオブジェクト数に比例"
  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

    yass
    yass 2013/06/15
  • Agen slot online Terbaik – Daftar Poker Online terlengkap di situs agen judi online poker terpercaya 2020, Mudah dapat Double Jackpot

    Merasakan Manfaat Membaca Artikel Judi BandarQQ Online BiangQQ – Sudah tidak bisa dipungkiri lagi, perkembang judi online sejenis BandarQQ online sangat berkembang pesat di negeri terkasih Indonesia ini. Tidak hanya kalangan muda yang memainkan permainan ini, akan tetapi juga disemua umur kalangan sudah merambat untuk bermain taruhan yang sangat menantang ini. Mereka semua bermain pastinya mempuny

    Agen slot online Terbaik – Daftar Poker Online terlengkap di situs agen judi online poker terpercaya 2020, Mudah dapat Double Jackpot
  • Combining the strength of erlang and Ruby

    In the world of social gaming, the classic 2-tier of web application does not cut it anymore. We need new and better solutions. Follow along the evolution of game servers at Wooga and get an in-depth look into the next-generation backend putting the combined forces of Erlang and Ruby to work. Learn how scalability, reliability, concurrency control and beautiful code do not need to be mutually excl

    Combining the strength of erlang and Ruby
  • Hybrid concurrency patterns

    Ruby developers need to stop using EventMachine. It's the wrong direction. Lost in the "Threads vs Event Driven vs Process Spawning" debate is that you can combine them! Learn how Celluloid is improving thread programming by abstracting them using a higher level framework called Celluloid, how you can use Celluloid::IO to throw a reactor pattern into a thread. Using this approach, you can take adv

    Hybrid concurrency patterns