タグ

ライブラリに関するYassLabのブックマーク (7)

  • What is a gem? - RubyGems Guides

    Unpack the mystery behind what’s in a RubyGem. Structure of a Gem Each gem has a name, version, and platform. For example, the rake gem has a 13.0.6 version (from Jul 2021). Rake’s platform is ruby, which means it works on any platform Ruby runs on. Platforms are based on the CPU architecture, operating system type and sometimes the operating system version. Examples include “x86-mingw32” or “java

    YassLab
    YassLab 2024/02/19
    “Unpack the mystery behind what’s in a RubyGem.”
  • Ruby の JSON ライブラリ Oj のパフォーマンス改善を行いました - Repro Tech Blog

    Development Division/Repro Team/Feature 1 UnitWatsonです。Feature 1 Unit は Repro Tool の機能開発と保守を担っています。 弊社でも利用している Oj gem のパフォーマンス改善 PR を送った話と、その PR の内容について共有します。 ことのはじまり 以前、同僚が Ruby on Rails で JSON を返す REST API を作成した際、JSON のエンコード部分のパフォーマンス計測をしていました。JSON のエンコード方法は JSON.generate、ActiveSupport::JSON.encode、Oj gem を利用する方法など色々ありますが、私としては Oj gemの ほうがパフォーマンス的にいいだろうからそちらを利用したほうが良いのではと思っておりました。 計測結果を拝見したら確

    Ruby の JSON ライブラリ Oj のパフォーマンス改善を行いました - Repro Tech Blog
    YassLab
    YassLab 2023/12/20
    "JavaScript 内部で float を多用するためか、近年この変換処理を高速に行うアルゴリズムが出てきてます ... このアルゴリズムを Ruby で使うと、Float を文字列に変換するパフォーマンスが 4 倍ほどに向上しそう"
  • ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記

    現在、Ruby 製 worker を作成することを業務で行っているのですが、継続的にメモリ使用量が増加する現象に遭遇してました。 (グラフの値が下がったタイミングが数回ありますが、それぞれでデプロイが行われてリセットされただけ) ObjectSpace.allocation_sourcefile や ObjectSpace.allocation_sourceline を利用してどのファイルのどの行でメモリ確保が多くなるのか調べれるようにしました。 以下のようなコードを worker に追加しました。 require 'objspace' class MemoryProfiler INTERVAL = 5 * 60 DISPLAY_COUNT = 20 def self.start Thread.start do loop do memory_usages = {} ObjectSpace.

    ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記
    YassLab
    YassLab 2023/08/03
    “この問題は使用しているライブラリである graphql-ruby の v2.0.24 でPerformance: Reduce memory usage when adding types to a schema #4533 とあり、どうやら修正されていそう / バージョンアップしメモリ使用量は落ち着いた感じになりました”
  • RubyKaigiに参加してプロダクト価値を高めるためにOSS をやっていきたいと再認識した話 - Speee DEVELOPER BLOG

    こんにちは、新卒で入社してから早くも 1 年がたってしまったことに驚きを隠せない、DX 事業エンジニアで 22 新卒の高島です。 ブログでは、プロダクトを伸ばすために OSS をもっとやっていきたいと気づけた話として、直近参加した RubyKaigi 2023 で得られた学びをまとめたいと思います。 目次はこちら OSS 活動について 私が RubyKaigi にオフライン参加した第 2 の目的 「プロダクト開発」 と 「OSS 活動」 はトレードオフ関係ではない OSS と プロダクトは 表裏一体な関係である OSS に関わる機会は自分でもっと作っていける まとめ 謝辞 RubyKaigi の思い出 最後に OSS 活動について 私は昨年の 12 月からクリアコードの結城さんのサポートを受けながら、週 1 回業務時間を使って OSS 活動を行っています。 特に、業務の中で使っている

    RubyKaigiに参加してプロダクト価値を高めるためにOSS をやっていきたいと再認識した話 - Speee DEVELOPER BLOG
    YassLab
    YassLab 2023/06/12
    "例えば、普段使っているライブラリがもっとこう使えれば便利なのではないかという観点で改善や機能リクエスト / 「メンテナンスが止まっている」から入れないではなくメンテナンスを引き継ぐ気持ちで取り込んでみる"
  • Rubyのバージョン変更前に依存ライブラリのソースコードを静的解析

    やっておくと安心。 手順 まず利用しているライブラリのソースコードを、適当な場所にコピー。 cp -r vendor/bundle/gems tmp/gems 各ライブラリに .rubocop.yml が含まれているとその設定が利用されてしまうので、削除する。前述のコピーはこのために必要。 rm tmp/gems/**/.rubocop.yml 適当なオプションを付け、Rubyのバージョン変更に関係がありそうなCopを指定しながら、RuboCopで静的解析する。 bundle exec rubocop \ --ignore-disable-comments \ --ignore-parent-exclusion \ --ignore-unrecognized-cops \ --only Lint/DeprecatedClassMethods,Lint/DeprecatedConstants

    YassLab
    YassLab 2023/06/10
    “ bundle exec rubocop --ignore-disable-comments --ignore-parent-exclusion --ignore-unrecognized-cops --only Lint/DeprecatedClassMethods,Lint/DeprecatedConstants,Lint/UnifiedInteger tmp/gems/**/*.rb ”
  • RubyKaigi 2023 で開催された廊下会議の紹介 - ANDPAD Tech Blog

    こんにちは @hsbt です。ゼルダの伝説 ティアーズ オブ ザ キングダムがついに発売されたので RubyKaigi 2023 の登壇後にプレイを開始していますが、引き続き原神もアップデートがあり、さらに崩壊:スターレイルも始めてしまったので大変なことになっています。 さて、今回は 5/11-13 に長野県松市 まつもと市民芸術館 で開催された RubyKaigi 2023 で私 @hsbt が廊下会議で何を話してきたのか、という内容をご紹介します。 廊下会議とは 日の技術顧問業、「技術カンファレンスへ参加するときに大事にしたいのは廊下(自然発生的に起こるインフォーマルなオフライン議論の場)だ」という話をした— Takuto Wada (@t_wada) 2019年10月17日 t_wada さんが初出かどうかは定かではないのですが、カンファレンスの醍醐味は廊下、とはよく言われます。

    RubyKaigi 2023 で開催された廊下会議の紹介 - ANDPAD Tech Blog
    YassLab
    YassLab 2023/06/01
    “皆さんも普段からお世話になっていることに対する感謝を伝えたり、提案がある場合は廊下会議を開催してより良いソフトウェアのためのきっかけ作りをしてみてはいかがでしょうか?”
  • ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ

    LFAを書いたときの話にあるKernel#loadの第2引数で名前空間的なものを作れるんだけど、loadした先のファイルでrequireされてたらダメなんだよね、という話の続き。ダメなんだよねー、で終わってたんだけどRubyKaigi2023で@shioyamaさんのMultiverse Rubyを聞いて、ここに仲間がいた!!! ってなって、さらにそのあとバーで飲みながらやろうやろうって盛り上がったので、なんか色々考えている。 RubyKaigiの話は別途書くとして、いまはとりあえずこっち。 後半に、こんなものが欲しい、という話、および読んだ人の意見が欲しいということが書いてあるので、このあたりに何か思うところがある人はぜひ読んでみてください。どっちかというと、自分以外のRubyユーザがどう考えているのかを、bugsに出す前にまず知りたいなと思っています。 動機 Rubyにはみなさんご存知

    ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ
    YassLab
    YassLab 2023/05/17
    “イムと読む。ImportのImだから。”
  • 1