検索対象

並び順

ブックマーク数

セーフサーチ

期間指定

  • から
  • まで

Railsの検索結果(絞り込み: 3 users 以上)79389 件中 1 - 40 件目

  • Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社

    近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は本記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく

    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社
    • OSS開発者に向けられる「搾取の精神」 まつもとゆきひろ氏が語る、正しい生産的関係に必要なのは “リスペクト”と“参加すること”

      「つよいエンジニア」になるためのオープンソースの使い方をはじめ、OSSへの貢献を推奨している企業のエンジニア文化やコミッター視点からみたOSSの未来について話す「TECH HILLS~まつもとゆきひろ氏と考える つよいエンジニアになるためのオープンソースの使い方~」。ここでRuby開発者のまつもとゆきひろ氏が登壇。オープンソースとの関わり方について話します。 フリーソフトウェア開発の経験者 まつもとゆきひろ氏(以下、まつもと):まつもとです。(スライドを示して)自己紹介はもういいかなという気もするんですが、こんなアイコンで活動しています。英語圏ではMatzと名乗っていますが、Rubyを作った人として知られています。 今日も「Rubyを作った人だったらオープンソースについてなにか知っているだろう」ということで呼んでもらいました。Rubyのおかげで、(私が)日本人で一番有名なプログラマーなんだ

      OSS開発者に向けられる「搾取の精神」 まつもとゆきひろ氏が語る、正しい生産的関係に必要なのは “リスペクト”と“参加すること”
      • 『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う

        『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う Railsの設計で悩んだことのある人なら絶対読んで損はないというか、共感したり反発したりにやにやしたりで楽しめると思います。RailsというかWebアプリ開発の歴戦の勇士(正直あまり若くなく、つらい経験を重ねてきた生き残り的な人)が語るベストプラクティス感があります。 本書の構成 大きく3部構成です。 Introduction その名の通り導入です。本書の目的、Railsのアーキテクチャの紹介と、ビジネスロジックの話など。 「Sustainable」とは何か? という説明もここで書かれています。これはつまり「持続可能」という(そのままの)意味ではありますが、仕様やリソースが増えたり変わったり、チームのメンバーが増えたり変わっても持続可能、ということでした

        『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う
        • Zeitwerkとrequire_dependency | Money Forward Engineers' Blog

          こんにちは、ぽっけです。マネーフォワード クラウド会計Plusでエンジニアをしています。 Rails 6.0から、新しいAutoloaderとしてZeitwerkが導入されました。Rails 7.0からは旧来のAutoloader (Classicと呼びます)は使えなくなり、Zeitwerkが必須となりました。 Railsでソースコードを読み込むメソッドにrequire_dependencyがあります。require_dependencyは、Zeitwerkでは使う必要がなくなりました。 この記事では、require_dependencyがなぜZeitwerkで必要ないのかを深堀りしようと思います。 require_dependencyとは そもそもrequire_dependencyとは何でしょうか? このメソッドは、Rubyデフォルトのrequireやloadの代わりにRailsが提供

          Zeitwerkとrequire_dependency | Money Forward Engineers' Blog
          • Ruby を Julia に変換して実行すると速くなる (場合がある) - Speee DEVELOPER BLOG

            開発部 R&D ユニットの村田です。OSSの開発をしております。本記事では、Ruby で書かれたマンデルブロ集合を計算するメソッドを実行時に Julia に変換して実行するとめっちゃ速くなる (場合がある)、という話をします。 はじめに Ruby 3.1 では YJIT がマージされ、Rails アプリケーションが速くなりました。今後のバージョンアップがとても楽しみですね。ただし、Ruby のデータ処理対応を進めている身としては、データ処理や数値計算がより高速になって欲しいと思っています。 データ処理や数値計算を高速化する試みとして、Python では NUMBA というライブラリが開発されています。NUMBA は、メソッド単位でバイトコードを LLVM を用いてネイティブコードにコンパイルすることでメソッド実行を高速化します。ただメソッドをネイティブコードに変換するのではなく、実行時にメ

            Ruby を Julia に変換して実行すると速くなる (場合がある) - Speee DEVELOPER BLOG
            • Re: ドメイン固有型(値オブジェクト含む)を再考する - Software Transactional Memo

              blog.j5ik2o.me 値オブジェクトはドメイン固有型の一種です。なので、不変と等価判定だけではなく、なにかしらのドメイン固有の不変条件(invariant)を維持する責任があると考えます(もちろん型として切り出すわけですからその投資に見合うだけの見返りがないといけません)。 違う。値オブジェクトとはID以外で等価判定をするオブジェクトの事であって、RubyのHash、Pythonのdict、C++のstd::unordered_setすらも値によって等価判定を行うのでこれらは値オブジェクトであるがドメイン固有型ではない。RubyでHashに入れて渡されたユーザ入力値をValidationしてドメイン固有型に詰め直すのはもちろん必要ならやれば良いが、Hashクラスそのものにモンキーパッチなり特異クラスなりを行って不変条件を維持する責任を負った自分専用Hashを作って普通のHashクラ

              Re: ドメイン固有型(値オブジェクト含む)を再考する - Software Transactional Memo
              • エンジニアの傾向は“なんでもやる人”から“スペシャリスト”に Webアプリ開発の体制変化で生まれた技術選定の課題

                Webアプリケーション開発は専業化が進んできている 清野隼史氏(以下、清野):今、リプレイスの話や、こういうところを作っていくのならRails以外使ってもいいかもという話が出たので、そのままテーマ2「今後のWebアプリケーションはどうなっていくか」にいきたいと思います。そもそもRailsだけではうまく立ち行かなくなってきているのは、Webアプリケーション自体の環境の変化が大きいのかなと。 テーマに「今後」と書いていますが、これからWebアプリケーションの開発の現場や環境はどうなっていくのかを整理したいと思います。変化として大きいのは開発体制だと感じているのですが、いかがでしょうか? 櫻庭洋之氏(以下、櫻庭):弊社では、サーバーサイドもフロントも、時にはインフラも含めて全般をやるタイプのエンジニアが多い。昔からWeb界隈は1人でなんでもやる人が多かったと思いますが、採用活動をしていると、サー

                エンジニアの傾向は“なんでもやる人”から“スペシャリスト”に Webアプリ開発の体制変化で生まれた技術選定の課題
                • Railsのnew_framework_defaultsとの向き合い方 | Money Forward Engineers' Blog

                  こんにちは、ぽっけです。マネーフォワード クラウド会計Plusでエンジニアをしています。 この記事ではRailsのnew_framework_defaultsとの向き合い方を整理します。私は最近Railsアップグレード業をしています。その中でこの設定との向き合い方を考える機会があったため、それを記事にしたためました。 new_framework_defaults とは まずはnew_framework_defaultsとは何か、について説明します。 この記事では便宜上、以下の2つの要素をまとめてnew_framework_defaultsと表現しています。 Rails::Application::Configuration#load_defaultsメソッド config/initializers/new_framework_defaults_*.rb ファイル これらはRailsのアップ

                  Railsのnew_framework_defaultsとの向き合い方 | Money Forward Engineers' Blog
                  • 0→1のWeb開発においてRDBMSを使った方がその先につながりやすく、Railsが復権したのがSaaS時代のトレンド - algonote

                    プロダクトの変遷でアーキテクチャーがどう変わったか 前口上 Web開発においてとりうるアーキテクチャーにはいくつかパターンがあります。 サーバー構成をモノリスかマイクロサービスかで分ける場合もありますし、データベースを内製で持つか外部のmBaaSに任せるかで変わる場合もあるでしょう。認証部分をOAuthに切り出したり、全文検索部分だけ外部サービスを使うこともありますね。 とある時は新しい技術Aを使うことがいけてるという時があれば、少し経つとその技術が終わったことにされる場合もあります。 こういった技術のトレンドにはその時にビジネスチャンスが広がったプロダクトのトレンドに影響されていることも多く、サーバー・クライアント比率の観点で見るとうまく整理できることに気づいたのでまとめてみます。 System of RecordとSystem of Engagement のっけから人様の資料で恐縮です

                    0→1のWeb開発においてRDBMSを使った方がその先につながりやすく、Railsが復権したのがSaaS時代のトレンド - algonote
                    • 週刊Railsウォッチ: rubygemsに「scoped gems」の提案、RSpecのブロック構文ほか(20220517後編)|TechRacho by BPS株式会社

                      週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 scoped gemsの提案(Ruby Weeklyより) 元記事: Scoped gems proposal by mullermp ·

                      週刊Railsウォッチ: rubygemsに「scoped gems」の提案、RSpecのブロック構文ほか(20220517後編)|TechRacho by BPS株式会社
                      • Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ

                        はじめに 皆様こんにちは、サーバーサイドエンジニアの草分です。 突然ですが、開発者の皆様、実装したソースコードはこまめにリリースしていますか? 「大きい機能なので開発に時間がかかる」「障害が起きないよう念入りにテストする必要がある」などの理由で、Featureブランチのままコミットグラフが伸びに伸びたりしていませんか? 大きな機能を作ること自体は悪いことではありませんが、大きすぎるFeatureブランチは、本流ブランチとの挙動の乖離やコードの衝突が発生しやすく、レビューやマージに多大な苦労を伴います。 この記事では、この問題の解決策の1つとなる「Feature Toggle」を、Ruby on Railsにおける実装方法と共にご紹介します。 Feature Toggle自体は開発手法の一種であるため、言語/フレームワークを問わず広く活用されています。 Feature Toggleとは 「機

                        Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ
                        • Shopify Invests in Research for Ruby at Scale

                          Opens in a new windowOpens an external siteOpens an external site in a new window Shopify is continuing to invest on Ruby on Rails at scale. We’ve taken that further recently by funding high-profile academics to focus their work towards Ruby and the needs of the Ruby community. Over the past year we have given nearly half a million dollars in gifts to influential researchers that we trust to make

                          Shopify Invests in Research for Ruby at Scale
                          • 週刊Railsウォッチ: Active Modelで属性のパターンマッチをサポート、猫でもわかるHotwire入門ほか(20220516前編)|TechRacho by BPS株式会社

                            週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) コミット差分: Comparing @{2022-04-29}…main@{2022-05-12}

                            週刊Railsウォッチ: Active Modelで属性のパターンマッチをサポート、猫でもわかるHotwire入門ほか(20220516前編)|TechRacho by BPS株式会社
                            • Hotwireの良かった点、辛かった点、向いているケース、向いていないケース - 猫Rails

                              (自分はRailsを書くことが多く、フロントエンドの経験は乏しいです。見方にだいぶ偏りがあると思いますので、そのあたり差し引いてお読みいただければと思います〜🙇‍♂️) こんにちは〜。Hotwireを仕事で使う機会があったので、実際に使ってみて感じた、良かった点、辛かった点、向いているケース、向いていないケースを共有します〜。 Hotwireとは? Turbo Driveとは? Turbo Framesとは? Turbo Streamsとは? Stimulusとは? Hotwireのデモ 良かった点 サーバーサイドに集中できる Railsの資産をフルに活かせる 後付けで段階的にSPA風の挙動を追加できる 学習コストが低い 開発コストが低い WebSocketは必須ではない 辛かった点・辛くなりそうな点 DOM更新時にレスポンスを待たないといけない SPAのユーザー体験とはだいぶ違う He

                              Hotwireの良かった点、辛かった点、向いているケース、向いていないケース - 猫Rails
                              • Rust 製の全文検索システム Tantivy を Ruby で使える Tantiny を導入した

                                ブログ過去記事の閲覧 UI にはこだわりがある。これまで何度か記事を書いた。 このブログの維持管理で一番時間を割いているのが Archives ページだ。しかしアクセスログを見ると自分以外はほとんど利用していない。完全に自己満なのだが、過去の自分を振り返ることができてとても自分には有意義なページだ。 過去記事を振り返るときには検索をしたくなる。タイトルのみであればページ内検索で探せるが、やっぱり本文込みで検索したい。 Lokka の検索はあるが、検索結果ページは 7 件ずつ(この値はカスタマイズできる)表示で全文表示される。自分は検索キーワードに関する記事が存在するか知りたい訳ではない。著者なのでキーワードに関連する記事があるかないかくらいわかってる。じゃなくて過去の自分がいつ頃どの密度でそのトピックについて書いていたかを知りたいのだ。 タグやカテゴリーで絞り込む手もある。しかしカテゴリー

                                Rust 製の全文検索システム Tantivy を Ruby で使える Tantiny を導入した
                                • DNSリバインディング(DNS Rebinding)対策総まとめ

                                  サマリDNSリバインディングが最近注目されている。Google Chromeは最近になってローカルネットワークへのアクセス制限機能を追加しており、その目的の一つがDNSリバインディング対策になっている。Googleが提供するWiFiルータGoogle Nest WiFiはデフォルトでDNSリバインディング対策機能が有効になっている。 DNSリバインディング対策は、攻撃対象アプリケーションで行うべきものであるが、ブラウザ、PROXYサーバー、リゾルバ等でも保護機能が組み込まれている。本稿ではそれら対策機能の状況と対策の考え方について説明する。 DNSリバインディング(DNS Rebinding)とはDNSリバインディングはDNS問い合わせの時間差を利用した攻撃です。DNSのTTL(キャッシュ有効期間)を極めて短くした上で、1回目と2回目の問い合わせ結果を変えることにより、IPアドレスのチェッ

                                  DNSリバインディング(DNS Rebinding)対策総まとめ
                                  • 最初の一歩はドキュメントの英語化。Rubyが世界で使われるまでの「運と縁」をRubyのパパまつもとゆきひろ氏が振り返る - Findy Engineer Lab - ファインディエンジニアラボ

                                    グローバルで通用するプロダクトやソフトウェアを作りたい。一度は考えたことのあるエンジニアにとって「Ruby」の生みの親、まつもとゆきひろ氏は偉大かつ心強いパパです。 今回は、まつもと氏をお招きし、Rubyが世界に広がるまでのプロセスや日本から世界的なシステムやソフトウェアが生まれづらい理由、グローバルなOSS活動から得られる機会などを語っていただきました。聞き手はファインディの山田が務めます。 「自分の使うツールを良いものにしたい」が最大のモチベーション ——初めに、Rubyを開発するまでのキャリアを教えてください。 筑波大学でコンピュータサイエンスを学び、新卒で受託開発を行う独立系のソフトウェア企業に就職しました。 当時はバブル末期で、就職活動も売り手市場。プログラミング経験のある人のうち、わざわざ知名度の低いソフトウェア会社を選ぶ人は少なかったんです。2000名の社員に対し、新入社員は

                                    最初の一歩はドキュメントの英語化。Rubyが世界で使われるまでの「運と縁」をRubyのパパまつもとゆきひろ氏が振り返る - Findy Engineer Lab - ファインディエンジニアラボ
                                    • RustでRubyのgemを書く part2 - アジャイルSEの憂鬱

                                      RustでRubyのgemを書く part1 の続き。 クラスやインスタンス変数を使うメソッドを実装したので、まとめておく。 Rubyで実装したいコードのイメージ module Wasabi class Object def initialize(name) @name = name end attr_reader :name def say "say, #{name}" end end end 実際のRustのコード github.com クラスの定義 まず、RubyのObjectをRustで使うために extern を書く。 extern { static rb_cObject: Value; } これをを継承するクラス Wasabi::Object を定義する。 let rb_class = class::rb_define_class_under(rb_mod, str_to_cs

                                      RustでRubyのgemを書く part2 - アジャイルSEの憂鬱
                                      • RailsでRack::Sendfileを使っていない場合は外しておいた方が良いという話

                                        Rack::SendfileにはRegex Injectionの危険性があります Railsのsend_fileではRack::Sendfileが使われます リバースプロキシの設定をしていなければ、Rack::Senfileを外したほうがよいです ruby3系を使っている場合は最新のバージョンに更新しましょう Rack::Sendfileはリクエストヘッダーの値を使って正規表現を組み立てています。この値がnginxなどアプリケーションサーバの前にあるリバースプロキシから送信されている場合は問題ないのですが、クライアントからも送信可能な値であるため、リクエストヘッダーを細工することで自由な正規表現の組み立て、つまりRegex Injectionが可能です。 具体的な脅威としてはReDoS、またはnginxを使っている場合にsecret internalの内容が漏洩する可能性です。 ReDoS

                                        RailsでRack::Sendfileを使っていない場合は外しておいた方が良いという話
                                        • Railsオワコン論 - laiso

                                          人の見方によっていろいろなんですね。一番高いところを知っていて、現状を見た時にそっちのほうが低いので、人気が落ちたというふうに見る人も当然いるわけですよね。人気が落ち続けると消えてしまうので、オワコンと言う人もいます。日本でも海外でも、毎年のように「Rubyは死んだ」みたいなことをブログに書く人がいます。 https://logmi.jp/tech/articles/326541 logmi.jp ハイプサイクルの頂点との落差がRubyやRailsのオワコン論の印象を呼ぶという話はそのとうりだと思う。 実際に急激なシェアの落ち込みが発生しているのかというと Stack Overflow Insights などを見ても観測できない。 (この話題についてのGoogle Trends同士の比較は「ハイプサイクルは実在する」ぐらいの感想しか得られないことが多い) 「最近は新規プロジェクトのアプリケ

                                          Railsオワコン論 - laiso
                                          • Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog

                                            まえがき こんにちは、Offers を運営している株式会社 overflow CTO の 大谷旅人 です。 小ネタです。 弊社では Ruby/Rails をバックエンドの開発言語として採用しており、その柔軟性は開発の大きな助けとなっている面がありつつも、コードベース全体の規模増加や保守効率を考えて環境自体の見直しや、段階的な新環境への移行も行っています。 その中で、今回は Ruby での開発体験を向上させるために行っていた、静的型解析の導入に関してのお話です。 型安全性な環境(TypeScript,Rust,etc..)から Ruby に戻ってくるとやはりあっちは機構が勝手にチェックしてくれていいぞいいぞと思うわけで、 C#が dynamic 型で静的型言語なのに動的型付していたり, Python が type hints で型検査してたりを見ると、どうにかこうにか導入したいと日々思ってい

                                            Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog
                                            • ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来

                                              技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。ここで登壇したのは、Ruby言語の開発者である、まつもとゆきひろ氏。エンジニアを目指す学生からの質問に答えました。全3回。2回目は、Rubyがメジャー言語になったターニングポイントと、Rubyの魅力について。前回はこちら。 Rubyがメジャー言語となったターニングポイント 楓博光(以下、楓):では次の質問です。「Rubyがここまでメジャーになれたターニングポイントや、理由はなんだと思われますか」。 まつもとゆきひろ氏(以下、まつもと):いくつかあったと思うんですけど。1つは、1995年当時、ネットニュースという媒体があって、そこに、自分が作ったソフトウェアを公開するスレっていうんですかね、今風に言うと。ニュースグループというのがあったんですけど。 1995年の12月、そこに「Ru

                                              ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来
                                              • .rubocop_todo.ymlを解消するPull RequestをGitHub Actionsで自動生成する (前編)

                                                前編ではr7kamura/rubocop-challengeというCustom Actionの話をし、後編では再実装したr7kamura/rubocop-todo-correctorというCustom Actionの話をする。 ただ開発しているだけで、.rubocop_todo.ymlはそこ此処に積もる。たまに慈善活動的に解消してPull Requestを出したりもする。しかし人力でやっているとキリがない。この作業を自動化したい。こういうときに便利な、rubocop_challengerというGemがある。 便利なGemだが、設定しようとすると幾つかハマりどころがあり、導入が大変。そこで、簡単に導入できるようにr7kamura/rubocop-challengeというCustom actionをつくった。 READMEに書いてあるようなYAMLファイルを、適当にコピペするなどしてリポジトリ

                                                • 心理学と人間工学の交点にプログラミング言語開発があった まつもとゆきひろ氏が17歳の時に言語を作りたいと思ったわけ

                                                  技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。ここで登壇したのは、Ruby言語の開発者である、まつもとゆきひろ氏。エンジニアを目指す学生からの質問に答えました。全3回。1回目は、まつもと氏が言語開発に興味を抱いたきっかけと、誕生するまでの経緯について。 Rubyの父の経歴 楓博光(以下、楓):まず、Matzさん(※まつもと氏のニックネーム)から経歴を簡単にお話しいただいてもよろしいでしょうか。 まつもとゆきひろ氏(以下、まつもと):そうですね。32年前の1990年に大学を卒業して、プログラマーとして普通に就職したんですけれども、もともとプログラミング言語が大好きだったので、その傍ら、趣味でプログラミングをしていました。それで、「いつか作るか」と思っていた言語にとうとう取り掛かったのがRubyです。転職をするうちに、だんだんR

                                                  心理学と人間工学の交点にプログラミング言語開発があった まつもとゆきひろ氏が17歳の時に言語を作りたいと思ったわけ
                                                  • Ubuntu 22.04 には OpenSSL 3 しか存在しないため Ruby 3.1 未満のバージョンはビルドできない問題 - HsbtDiary(2022-05-12)

                                                    ■ Ubuntu 22.04 には OpenSSL 3 しか存在しないため Ruby 3.1 未満のバージョンはビルドできない問題 タイトルが全てなんですが、 Ubuntu 22.04 Jammy には OpenSSL のバージョン 3 しか提供されないので、Ruby 3.1 未満、具体的には 2.7 や 3.0 はビルドできません。 https://bugs.ruby-lang.org/issues/18658 https://github.com/rbenv/ruby-build/pull/1974 独自に OpenSSL 1.1 をビルドしてそれらを --with-openssl-dir で指定すればビルドできますが、それはそれで面倒なので ruby-build で @znz さんがパッチを投げて今揉んでいるという状況です。 また、OpenSSL 3 に対応した openssl ge

                                                    • Our Experience Porting the YJIT Ruby Compiler to Rust

                                                      Opens in a new windowOpens an external siteOpens an external site in a new window Last year, my team at Shopify implemented YJIT, a new Just-In-Time (JIT) compiler for CRuby, which was recently upstreamed as part of Ruby 3.1. Because the CRuby codebase is implemented in C99, we also decided to implement YJIT in C99 so that integration with the rest of the CRuby codebase would be as simple as possi

                                                      Our Experience Porting the YJIT Ruby Compiler to Rust
                                                      • 週刊Railsウォッチ: Ruby 3.2.0devにRust版YJITがマージ、Docker Compose V2ほか(20220511後編)|TechRacho by BPS株式会社

                                                        週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 Rust版YJITがRuby 3.2.0devにマージ PR: Rust YJIT by XrXr · Pull Request #582

                                                        週刊Railsウォッチ: Ruby 3.2.0devにRust版YJITがマージ、Docker Compose V2ほか(20220511後編)|TechRacho by BPS株式会社
                                                        • CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog

                                                          株式会社アンドパッドのアカウント基盤チームでテックリードをしているid:shiba_yu36です。 最近自分のサイドプロジェクトとして、生産性を向上するために、CI実行時間の短縮化を行っていました。その結果、とくに時間のかかっていたCircleCI上のRSpecによるテスト実行時間を、25min -> 12minに改善できました。そこで今回はどのような流れでCIの実行時間を改善していったかについて、具体的に書いてみたいと思います。実行時間改善の勘所について参考になれば幸いです。 改善の流れ: CircleCIでボトルネック調査し、大きいボトルネックを解消する 実行速度改善の前に: Flakyなテストを一斉に直す 速度改善1: bundle installのキャッシュがうまく効いていなかった問題を修正 -> 4minの短縮 速度改善2: developブランチ以外ではカバレッジを取らないよう

                                                          CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog
                                                          • 週刊Railsウォッチ:(20220510前編)Active RecordにPromiseと非同期集計メソッドがマージ、climate_control gemほか|TechRacho by BPS株式会社

                                                            週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) コミット差分: Comparing @{2022-04-21}…main@{2022-04-28}

                                                            週刊Railsウォッチ:(20220510前編)Active RecordにPromiseと非同期集計メソッドがマージ、climate_control gemほか|TechRacho by BPS株式会社
                                                            • RailsアプリをHerokuから移行するならどれがいいのか比較する | うなすけとあれこれ

                                                              Herokuの移行先を考える 今運用しているアプリ達をすぐにHeroku以外に移すということはしないまでも、競合となるプロダクトの調査をしておくことは(特に後発のものについては)機能面で実はこんなに便利なものがあったのか、と気づくことにもなったりするので、やっておいて損はないかと思いました。 比較対象について 比較する対象としては、インターネットで最近見かけるPaaSを選定しました。同様のことができるIaaSのコンポーネントとして、AWS FargateやGoogle Cloud Runがありますが、そのようなIaaSの一部として提供されるものについては今回は比較対象とはしません。 今回の比較対象は以下3つです。 Render https://render.com Railway https://railway.app Fly.io https://fly.io deployするRails

                                                              RailsアプリをHerokuから移行するならどれがいいのか比較する | うなすけとあれこれ
                                                              • 「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開

                                                                「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開 Pythonの主要なディストリビューション「Anaconda」などを提供しているAnaconda社は、HTML文書の中にJavaScriptと同じようにPythonのコードを記述し、実行可能にする「PyScript」をオープンソースで公開しました。 Did you hear the news from PyCon!? We are thrilled to introduce PyScript, a framework that allows users to create rich Python applications IN THE BROWSER using a mix of Python with standard HTML! Head to h

                                                                「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開
                                                                • Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer

                                                                  こんにちは、devcontainer職人です🧑‍🍳 今回紹介するのはDocker Composeを既に利用している開発環境にかんたんにdevcontainerを構築する方法を紹介します。 VSCodeのdevcontainerはとても良くできた開発環境構築方法なのですが、ちょっと難しそうと思われていたり、VSCode以外のエディタを使う人の開発体験が悪くなるのでは、などの懸念がありまだあまり使われていないような印象があります。今回はそんなdevcontainerを3分で作れるtipsを紹介します。 準備するもの Docker Composeで構築した開発環境 VS Code Docker Desktop for Windows/Mac Remote - Containers extension Docker Composeで構築した開発環境のサンプル 今回用意するのはサンプルとしてRu

                                                                  Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer
                                                                  • 個人開発のサービスをVPSからVercelとCloud Runに移行した話

                                                                    最近以下のような記事で個人開発のコストの話をよく見かけて、ちょうど自分も個人サービスをコストカットのためにVPSからほぼ無料なスタックに移行していたので構成とかを書いてみる。 前提としてはこんな感じ。 仲間内で使ってるだけのWebアプリケーション。月イチくらいしか使わない 技術スタックは技術的な実験とか学習を兼ねているので多少オーバースペックになるのはいい お金はなるべくかけたくない 移行前のスタック フロントエンドはNuxt.js、Netlify バックエンドはRailsでgRPC、envoyを噛ませてフロントエンドからはgRPC-Webで呼んでる VPS上にバックエンドのアプリケーションとDB(postgres)を動かしてる バックエンドは普通のRailsアプリにしてHerokuにするのが一番楽でお金もかからないんだけど、gRPC-Webを試してみたくて、そうするとproxyが必要にな

                                                                    個人開発のサービスをVPSからVercelとCloud Runに移行した話
                                                                    • RustでRubyのgemを書く part1 - アジャイルSEの憂鬱

                                                                      RubyGems 3.3.11でRust拡張の対応が実験的に入ったので、少し触ってみたメモ。 In particular, it includes experimental supppot for Rust extensions. 引用: https://blog.rubygems.org/2022/04/07/3.3.11-released.html wasabi 2019年に鹿児島Ruby会議01で作ったRust製gemがあるので、これを修正しました。 speakerdeck.com github.com thermite の削除 refs: b16bfd1e2864adbb698f5225f86e7fd18da0b95e thermite はRust拡張を作るために使用していたが、RubyGemsが対応したことで不要になったので削除する。 ext/wasabi/extconf.rb

                                                                      RustでRubyのgemを書く part1 - アジャイルSEの憂鬱
                                                                      • Polly Want A Message (DeconstructConf)

                                                                        Object-oriented languages have opinions about how best to arrange code. These opinions lead OO to naturally offer certain _affordances_. Just as round doorknobs expect to be grasped and rotated, OO expects messages, polymorphism, loose-coupling and factories. The key to creating intuitive and maintainable OO applications is to understand and embrace these built-in affordances.

                                                                        Polly Want A Message (DeconstructConf)
                                                                        • RubyでSPAを構築してみました - Qiita

                                                                          はじめに RubyのWebAssemblyビルドを使ってSPA(single page application)を構築するためのパッケージ"Bormaŝino"を開発し、TodoMVCを移植してみました。 本記事ではパッケージの紹介及び移植されたコードを解説します。 デモ TodoMVC 移植版 https://bormashino-todomvc.vercel.app/ テンプレートアプリケーション https://bormashino-app-template.vercel.app/ パッケージ"Bormaŝino"について コンセプト 伝統的な「フォームを表示し」「POSTされる内容でデータストアを更新し」「データストアに保持されている内容を元に画面を表示する」だけのアプリケーションを通信時間が0に近い状態で走らせれば、いわゆるSPA的な操作感が得られるのでは? という考えに基づき、

                                                                          RubyでSPAを構築してみました - Qiita
                                                                          • Rails API + React による開発ではまった点 - Qiita

                                                                            初めに rails APIとReactを用いた開発ではまった点に関するメモです。rails APIをHeroku、Reactをfirebaseにデプロイしたのですが、開発段階では起きなかったエラーも発生したのでそれらについてもまとめています。あくまでエラーに関する記事なのでユーザー認証やメール送信の実装などには深く触れません。 プロジェクトの構成は以下のようになっています。

                                                                            Rails API + React による開発ではまった点 - Qiita
                                                                            • Crystal言語作者がRubyを愛する理由(7)秘密のアルゴリズム(翻訳)|TechRacho by BPS株式会社

                                                                              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Why I love Ruby: the secret algorithms – DEV Community 原文公開日: 2022/03/01 原著者: Ary Borenszweig — Crystal言語の作者のひとりです Crystalの標準ライブラリがRubyのそれとほぼ同じに見えるのは秘密でも何でもありません。Rubyの標準ライブラリは実によく設計されていて便利なツールがたくさん詰まっているのですから、Crystalも同じようなAPIにしない理由はありませんし、わざわざ名前を一から考え直す理由もありません。 そこで私たちはこの数年、コンパイラで必要なメソッドを追加したり、楽しみのため、完成度を高めるために必要なメソッドを追加するようになりました。 それと並行して、RubyとCrystalのパフォーマンスを常に比較してい

                                                                              Crystal言語作者がRubyを愛する理由(7)秘密のアルゴリズム(翻訳)|TechRacho by BPS株式会社
                                                                              • 「RubyでDDDやるならHanami」という噂の真相

                                                                                こんにちは。株式会社InnoScouter CTOの大西(Twitter: @monarisa_masa)です。 InnoScouterでは、Ruby製WebフレームワークであるHanamiを採用しており、DDDを用いて開発しています。 Hanamiについて言うと、私個人としては、前職も含めて4年ほど運用経験があります。 ここでは、Hanamiが出てくるとよく話題にされるRailsとの比較は取り扱いませんが、初めてHanamiについての記事を読まれる方にも分かるようなサンプルコードで説明したいと思います。 突然ですが、こちらが本日のメイントピックです。 今回は、「RubyでDDDやるならHanami」と言われてますが、本当にそうなの?ってところを掘り下げていきたいと思います。 ツイートが意味していることと、それに対する自分の考えを話していけたらと思います。 この記事の対象読者 Rubyを触

                                                                                「RubyでDDDやるならHanami」という噂の真相
                                                                                • ペパボのことと、転職のふりかえり|Uchio Kondo|note

                                                                                  新型コロナウイルス感染症については、必ず1次情報として厚生労働省や首相官邸のウェブサイトなど公的機関で発表されている発生状況やQ&A、相談窓口の情報もご確認ください。またコロナワクチンに関する情報は首相官邸のウェブサイトをご確認ください。※非常時のため、すべての関連記事に本注意書きを一時的に出しています。 今月のゴールデンウィークの終了とともに、GMOペパボを退職する。 で、誰?…と言われると思うので簡単な自己紹介をすると、私 @udzura はインフラ周りを中心に色々とやっているWeb・インターネット系エンジニアで、社内SEやECサービスやオンラインゲーム開発など色々やってきた中、2013年に株式会社paperboy.co.jp(現GMOペパボ)に入社、同年福岡移住をしてきた。 また、RubyKaigiやCloudNative Daysでの登壇、RubyKaigi 2019 のローカルオ

                                                                                  ペパボのことと、転職のふりかえり|Uchio Kondo|note