タグ

Rubyに関するriyokotterのブックマーク (52)

  • なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎 | snoozer05.org

    ダウンロードPDF(2MB)書について『Working with TCP Sockets』の翻訳版を、原著者であるJesse Storimerの許可を得て島田浩二が公開するものです。 翻訳版の書名は、同シリーズの先行書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会』に揃えて『なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎』としました。 翻訳版も原書と同様、無料でお読みいただけます。 翻訳版の原稿は、10年ほど前に刊行を目指して翻訳したものとなっています。もし現在のRubyで動かない箇所や注釈が必要な箇所があれば、snoozer.05@gmail.com まで連絡ください。 公式ハッシュタグ:#naruhotcp 改訂履歴2024-09-23: 公開謝辞Jesse Storimer Original Author@takahashim

  • Ruby で高速なプログラムを書く

    2. 自己紹介:遠藤侑介 • Ruby コミッタ(2008年~) – Rubyのテストを増強した – コードカバレッジ測定機能を 実装した – キーワード引数を実装した – Ruby 2.0 リリースマネージャ だった – 最近は何もしてない 2 ’06下 ’07上 ’07下 ’08上 60 70 80 90 100 coverage(%) 70% 85% C0カバレッジ遷移 3. と私 • 立ち上げの時に @chezou さんに相談を受けた • 初期に数回だけ参加した • Kawasaki.rb #005 (2013-10-23)で発表した – 以上(すみません) • ちなみに Kawasaki.rb #005 で発表したものは 3 4. eval$s=%q(eval(%w(B=92.chr;N=10.chr;n=0;e=->(s){Q[Q[s,B],?"].gsub(N,B+?n)};

    Ruby で高速なプログラムを書く
  • Rubyで言語処理100本ノック 00-04 - (wat-aro)

    www.cl.ecei.tohoku.ac.jp Rubyの練習のために始めました. 4章からは難しそうなので3章まで頑張りたい.でも飽きたらやめるかも. コードを書く基礎が足りない気がするのでもっと書かないと. 始めるにあって,とりあえずRuby 2.2.3のStringクラスは一通り目を通してきました. 全体的に末尾再帰でなんとかしようとしてます. Rubyは末尾再帰の最適化がないって聞いたんですがどうなんですかね? Rubyっぽい書き方がわからないので,Rubocop先生に出来るだけ怒られないように書いてます. 00 # 00 文字列を受け取り,末尾から順に表示する class String def my_reverse size = length result = '' while size > 0 size -= 1 result << self[size] end result

    Rubyで言語処理100本ノック 00-04 - (wat-aro)
  • 【Ruby】機械学習をするためのgemをつくった - Qiita

    概要 Rubyistでも機械学習がしたい! ということで、タイトルの通りRuby機械学習のためのgemをつくってみました。機械学習のための、と書きましたが、試作品ということもあり2016年4月現在実装されているのは多層パーセプトロンと自己符号化器のみです。今後、時間が空いたときに少しずつ更新して、中身を増やせていければよいなと思っています。 Rubyにも機械学習のためのライブラリがいくつかあるのは知っていますが、選択肢を増やすためにも稚拙ながら実装してみました。 インストール ソースコード https://github.com/seinosuke/sabina デモ examples/ 以下にあるサンプルの実行結果をデモとして示します。これらのデモの実行にはgemに加えてv5.0以上のgnuplotが必要です。 多層パーセプトロン その1 以下の図はタグ付けされた訓練データの画像と、学

    【Ruby】機械学習をするためのgemをつくった - Qiita
  • 【Ruby・CheatSheet】文字列チェックメソッドの機能と使い分け – Engineer Woman

    コーディングをするさいに、必ずと言っていいほどお世話になるのが、文字列の状態をチェックするメソッド。 とくに、定番である「空文字チェック」「文字列比較」「文字列含有チェック」は使用頻度も高く、これがなければ仕事にならないと言っても過言ではありません。 けれど、なかなかその機能や使い分け方を覚えられず、毎回ネットで検索して調べている、という方は多いのではないでしょうか。 そんなあなたのために、ここではRubyで使われる各メソッドの詳細について、まとめてみました。 空文字チェック nil?, empty?, blank?, present? の機能と使い分け nil? nil?メソッドは、「そのオブジェクトがnilかどうか」をチェックするものです。オブジェクトがnilの場合にはtrueを返し、そうでない場合にはfalseを返します。 文字列が ‘ ‘ の場合には、「空文字が存在している」という

    【Ruby・CheatSheet】文字列チェックメソッドの機能と使い分け – Engineer Woman
    riyokotter
    riyokotter 2016/04/07
    “No Pain No Gain”
  • FXや株の自動取引ツールの作り方 - A級リーグ指し手1号

    私はFXやら株やらの投資に多少手を染めているのですが、一時期その自動取引をするツールを自作したことがあります。先日やはり自動取引に興味のある方とその話をしていたのですが、自動取引のやり方というのはどうもあまり知られていないようです。Web製作サイドでは割と一般的な技術を使っているだけ(だと思う)で、そんな大したことをやってるわけではないのですが、その業界以外ではたしかにあまり知られていない技術かもしれないので、参考にされる方もいるかもしれないと思い、ご紹介しておきます。 世の中にはFXや株の自動取引ツールというものがいくつか出回っています。FXだとMetaTraderというのが有名です。ただ、どのツールも大体、為替なり株価なりの時系列情報だけを用いた単純なテクニカル分析を対象としており、いろんな情報源を利用してある程度複雑なロジックを実現することは(私の知る限り)できないはずです。そのよう

    FXや株の自動取引ツールの作り方 - A級リーグ指し手1号
  • リファクタリングコンテスト in Ruby 審査結果発表 - Grooves開発ブログ

    大変長らくお待たせしました。Forkwell Jobs にて、2015年11月24日〜12月31日の期間で開催していた【リファクタリングコンテスト in Ruby 】の審査結果がようやく出揃いました。 今回、なんと最もよいコードに贈られる Ruby賞 を1人のユーザーが独占する結果となりました。 気になる審査結果の前に、あらためて審査員をご紹介します。 松田 明 ( @a_matsuda ) Ruby / Rails / Haml / CarrierWave等のコミッター。kaminari / action_args / active_decorator / motorhead 等の作者。 好きな寿司:アナゴ 和田 卓人 ( @t_wada ) タワーズ・クエスト株式会社取締役社長、プログラマ。日におけるテスト駆動開発(TDD)のスペシャリスト。 好きな寿司:赤貝 藤村 大介 ( @ff

    リファクタリングコンテスト in Ruby 審査結果発表 - Grooves開発ブログ
  • DeNAのゲーム開発を支える Game Backend as a Service

    昔からシステムは常に問題なく使えて当然のように思われてきました。しかし現実には、現在に至るまでアプリケーションが落ちることが想定されていないシステムも少なくありません。 ステートレスなアプリケーションの場合、落ちることが想定されているシステムでは、アプリケーションを複数個並べることでそのうちのいくつかが落ちてしまっても、アプリケーション利用者には影響が無いように作られています。一方でHTTPセッションというステートフルな情報を持つアプリケーションはどうでしょうか? セッションでは、ステートフルなアプリケーションにおいて、落ちても問題ないアーキテクチャとはどのようなものになるのかを紹介します。

    DeNAのゲーム開発を支える Game Backend as a Service
  • 条件分岐、比較演算子が最速でわかる!Rubyの無料学習サービスやってみた - paiza times

    こんにちは、谷口です。 paizaのオンラインプログラミング学習コンテンツ「paizaラーニング」のRuby編に、「Ruby入門編2:条件分岐、比較演算子を学ぶ」が追加されました! 動画と演習課題でRubyの基礎、入門編2では特に「条件分岐と比較演算子」についてが学べますのでぜひごらんください! 今回は、プログラミング初心者の弊社社員にpaizaラーニングを使ったRubyの学習を実際にしてもらいましたので、その過程をご紹介していきます。 ちなみにやってもらったのは、普段は事務を担当しており、プログラミング実務経験はなし、Rubyに触れたのはpaizaラーニングが初めてという弊社女性社員ですので、初心者のサンプルとしては最適な人材だと思います。 ■入門編って、実際どれくらいのスキルの人を対象にしてるの? こちらのRuby入門編2では、これからプログラミングを学びたいと言う方、paizaランク

    条件分岐、比較演算子が最速でわかる!Rubyの無料学習サービスやってみた - paiza times
  • gdbを使ったrubyのデバッグ - クックパッド開発者ブログ

    技術部の国分 (@k0kubun) です。 先日byebugの高速化を行っていた最中、変更を加えたbyebugを使っていると一定の確率でrubyがSEGVするバグを発見しました。 私はC言語のコードのデバッグの経験はなかったのですが、デバッガの使い方を調べながらSEGVの原因調査を行いパッチを送ったところ無事取り込まれ、最新の高速なbyebugが安全に使えるようになりました。 その際、ruby自体をデバッグするために必要な情報が分散していて大変だったので、まだrubyのデバッグをしたことがないけれどやってみたいという人を対象に、gdbというデバッガを使ったrubyのデバッグの方法を紹介します。 デバッグ用にrubyをビルドする デバッグ時に変数名やソースコードなどの情報を見るためには、最適化オプションをオフにしてデバッグ用にrubyをビルドしておく必要があります。 rubyのデバッグ用ビル

  • RubyとAWSでつくるメディアストレージ基盤 - Qiita

    概要 基盤の果たす役割としては、「利用者が基盤に向けてファイルをアップロードし、なんらかの(変換を含む)処理を行って利用サービス側に通知する」というものになる。 そこで、想定する利用イメージを大まかにでも理解してもらうため、抽象的なイメージを図示する。 ファイルをアップロードしたいユーザーは、まず基盤の利用サービスに対してアップロード権限の発行を依頼する。 図では省略したものの、利用サービス側はその依頼を受けて、基盤に対してアップロードチケットの発行を依頼し、取得した情報をアップロードしたいユーザーに対して返す。 アップロードユーザーはそれを受けて、基盤に対してファイルのアップロードを行い、アップロード・バリデーション・変換が済んだものについては基盤が利用サービスに結果を通知するというのが大まかな流れとなる。 次に、基盤の持つ責務について簡単に解説したい。 基盤は、メディア

    RubyとAWSでつくるメディアストレージ基盤 - Qiita
  • 【プログラミング 46時間目】Rubyの例外処理 - 感謝のプログラミング

    たのしいRuby 第3版 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/03/31メディア: 単行購入: 15人 クリック: 394回この商品を含むブログ (81件) を見る たのしいRubyでたのしくRubyを勉強。このも素晴らしくわかりやすい素敵なだ。 プログラムの実行中にエラーが起こると例外が発生する。例外が発生すると、プログラムの実行は一時中断し、例外処理を探す。 例外処理が記述されていればそれを実行する。 例外処理の仕組みがない言語では、処理が完全に終わったかどうかを一つ一つ確認しながらプログラムを書く必要がある。 ■Rubyの例外処理の書き方 begin 例外を発生させる可能性がある処理 rescue 例外が起こった場合の処理 endあるいは、 begin 例外が起こる可能性のある処理 rescue => 例

    【プログラミング 46時間目】Rubyの例外処理 - 感謝のプログラミング
  • RubyからGoの関数をつかう → はやい - Qiita

    この記事ではRuby2.2.3とGo1.5.1を使用しています。 すごい要約 Go and Ruby-FFI - Code7 Interactiveを読むといい。 Go、はやい 最初にRubyGoの計算速度を比べるため、フィボナッチ数を単純に計算するやつをそれぞれ書きました。

    RubyからGoの関数をつかう → はやい - Qiita
  • http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/

    http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/
  • Ruby のココがダメ - Qiita

    タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基的に同じだけど,削除が行われなかっ

    Ruby のココがダメ - Qiita
  • IT業界・エンジニアの転職ならTech Stars Agent

    技術に精通した コンサルタント が併走 経験豊富なアドバイザー 元ITエンジニア、元ゲーム企業人事、 IT会社役員、大手人材エージェント

    IT業界・エンジニアの転職ならTech Stars Agent
  • [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 の特大の非互換について - まめめも
  • Progate/Webアプリ開発が学べる「Ruby on Rails 中級編」を無料公開

    Progateは26日、開発運営するオンラインプログラミング学習サービス「Progate」で、Webアプリの開発を学べる「Ruby on Rails 中級編」を無料で公開した。 「Progate」は、画像で直感的に理解できる学習スライドや、環境構築を必要としない、ブラウザで完結する学習環境が特徴の学習サービス。 その中で提供している「Ruby on Rails」コースは、初級・中級・上級の3部構成となっており、学習しながら「SNSサイト」を構築していく。 今回の中級編ではscaffoldやアソシエーションといった、より実践的な「Ruby on Rails」の知識を身につける内容となっている。 中級編リリースに続き、10月中には上級編のリリースを予定。また、その後は「サーバー構築」や「バージョン管理」といった、実際にWebアプリケーションを開発する際に必要となる知識を学習するレッスンを開発し

    Progate/Webアプリ開発が学べる「Ruby on Rails 中級編」を無料公開
  • 画像認識でアプリケーション操作の自動化を実現!Sikuliがあまりに革命的で興奮した

    アプリケーションの自動操作をスクリプトで実現するために、Sikuliを調べてみました。 Sikuliとは# Sikuliとは、 OpenCVをつかった画像認識 OCRをつかった文字認識 で、アプリケーションの自動操作を実現するためのツール、スクリプト言語。 Sikuli Script - Home Javaで実装されているため、JVM上で動作するスクリプト言語から利用できる。 スクリプト編集のためのIDEは、画像とプログラム言語を合わせて表示できるという、革命的なソフトウェア。久々に、スゴイ!とおもったソフトウェアだ。 インストール# sikuli-setup.jarをダウンロードして、インストーラをダブルクリックで起動するだけ。 すると、いろいろとインストールオブションがきかれる。JRubyを選択。 slkulix.jarをダブルクリックで起動。IDEが立ち上がる。 インストールは、以下

    画像認識でアプリケーション操作の自動化を実現!Sikuliがあまりに革命的で興奮した
  • 並列に実行するんだけど並列度も制限したい時 - Qiita

    まあ例を挙げて話したほうがわかりやすい気がするので例をあげると、たとえばあなたはオンプレミスからコンテナまで総計数千台のホスト的な何かで構成されたシステムを管理する必要があります、と。この規模になってくると当然日々何かが壊れては何かが直っていくのはそういうものですね。で、じゃあ、刻一刻と変わる管理台帳と実際の環境の整合性をチェックすることを考える、と。すると要件としては、 管理台帳から存在するはずのホスト名とそのIPアドレスの一覧を引っ張ってくる そこからまずホスト名をババババと名前解決して管理台帳どおりのIPアドレスが解決されるか確認する 次にそいつらが生きてると限らんので、解決されたIPアドレスに向かってICMP Echoパケットをババババと打ちまくって反応を見る ping応答あった「なにか」が、当に管理台帳どおりのホストとは限らないので、とりあえずsshで入れるか確認する 入れたら

    並列に実行するんだけど並列度も制限したい時 - Qiita