並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 283件

新着順 人気順

"Ruby on Rails"の検索結果1 - 40 件 / 283件

  • JavaScriptエンジンから見るランタイム / 2024-04-25

    Fashionably flexible responsive web design (full day workshop)

      JavaScriptエンジンから見るランタイム / 2024-04-25
    • Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog

      こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 Ruby や Rails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 Ruby や Rails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。Ruby や Rails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rails アップグレードガイドでは、一般的なアドバイスと、各バージョンで注意すべき変更が書かれています。 また 社内版 Rails アップグレードガイドを公開します - Timee Product Team

        Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog
      • Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn

        昨日は https://note.com/takuya_stmn/n/n02e627b9afc3 で会社のアップデートを書きました。プロダクト系職種の中でも、特にコロナによるフルリモートがどの会社でも当たり前になった頃から採用難易度が増してきた、Webバックエンドエンジニア、とりわけRuby on Railsエンジニアの採用の難易度が難しくなった理由について、Rubyを25年間、Ruby on Railsを18年間やってきた中、感じたことを軽く書きます。 1. オワコンである「Rubyが死んだ」「Ruby on Railsは死んだ」みたいな言葉は何度も聞きました。Ruby / Ruby on Railsを使った開発を始めたころから辛さはありましたが、一定の生産性が出るということで利用ケース数は増えていきました。一方で、コミュニティベースの進化は独特の文化を持ち合わせていることもあり、中長期

          Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn
        • 海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに

          4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)という記事によると、Ruby on Railsの人気が再燃しているという。 4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)]という記事によると、Ruby on Railsの人気が再燃しているという。 同記事では、海外の求人サイト「Hired.com」が発表したソフトウェアエンジニアの採用状況についてのレポートを引き合いに出し、Ruby on Railsがソフトウェアエンジニアリングの役割において最も需要があるスキルであることを示している。同レポートによれば、Ruby on Railsのスキルを持つエンジニアは、約1.64倍もの面接機会を得ている。 Ruby on Ra

            海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに
          • 個人的Rails開発環境構築2024

            新規でRailsプロジェクトを始める時の個人的な環境構築についてまとめる。前提とする条件等は下記。 規模: ~中規模 開発者数: 個人 利用シーン: PoC作成・スタートアップ立ち上げ・並の業務アプリ開発等 基本戦略 利用シーン的に「思い立ったらすぐアプリの開発ができる」という感じの運用がしたい。極力セットアップで悩みたくないから必要なミドルウェアなどは全部Dockerでインストールできるようにして立ち上げれば終わり、の環境を作る。その環境の中で色々とコマンドを叩いたり、rails newやrails gなどでRailsアプリを作成していく。 この辺のRailsの初期セットアップの手間を出来るだけ省きたいのでtemplateとなるリポジトリを作成し、そこからcloneしてくるだけでOKにする。 フロントエンドはReactなどを使わずをRails標準のerbとHotwireを軸に開発する。開

              個人的Rails開発環境構築2024
            • Railsを始める人が読むと良いサイト - 技術メモ

              Ruby on Rails Guides / Ruby on Rails ガイド:体系的に Rails を学ぼう 公式Docs。教典。 Ruby on Rails チュートリアル:プロダクト開発の0→1を学ぼう Railsやってる人で知らない人はいないRails2系の頃からある定番サイト 昔は全部無料でWebテキストが読めたが今は1000円くらいで購入することになってる。今でも進化しながらメンテナンスされており神。 Railsの練習帳 少しだけ発展的だけど必須で知っておきたい内容。データモデリングとかGraphQLのような話も追加されていっている。無料。 asyraffff/Open-Source-Ruby-and-Rails-Apps: Awesome Ruby and Rails Open Source applications 🌈 Rails製のOSSプロジェクトをまとめたページ

                Railsを始める人が読むと良いサイト - 技術メモ
              • How does Sidekiq really work?

                Sidekiq is one of the most ubiquitous1 Ruby background job processors out there. To anybody who has worked with Ruby on and off Rails, it needs no introduction. Sidekiq has a 10+ year track record of being an efficient, battle-tested and simple-to-use solution for offloading the execution of application logic into the background. It utilizes a threaded model for job processing, uses Redis as a bac

                • Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開

                  Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開 最も有名なWebアプリケーションフレームワークの1つである「Ruby on Rails」は、もともと37signals社が社内向けに開発したフレームワークでした。 現在ではGitHubやShopifyなど大規模なWebサービスを支えるRuby on Railsも、登場初期には「スケールしない」という批判にさらされ、また競合となるフレームワークが登場するなどの経緯を経ています。 こうしたRuby on Railsのこれまでを、作者であるDavid Heinemeier Hansson(以下、DHH)氏や関係者が振り返る動画「Ruby on Rails: The Documentaryが、昨年(2023年)11月に公開

                    Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開
                  • Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開

                    「1999年か2000年頃、私は37signalsというWebデザイン企業を経営していました。2人のビジネスパートナーとWebデザインを受注していたのです」(Fried氏) Fried氏は本業とは別に再度プロジェクトとしてオンライン書籍データベースの開発に取り組んでいました。開発はPHPで行っていたものの、Fried氏はプログラミングでつまづきます。 当時はまだStackOverflowのような技術的な質問に答えてくれる掲示板などなかった時代。Fried氏はブログに「誰かこの問題を解決する方法をご存じですか?」と書き込みます。 するとデンマークからメールが届きます。メールを書いてきたのがDHH氏でした。 「私は(37signals社の)Signal vs. Noiseというブログを以前から熱心にフォローしていました」とDHH氏。 「ブログで彼の質問を見て、私は『おお、この答えを知っているぞ

                      Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開
                    • 越境が簡単なRailsでどのようにモジュラモノリスを実現するか 「境界分け」と「Active Recordの制限」に対する取り組み

                      「【ハイブリッド開催】Rubyで追求するモジュラモノリスの可能性」は、バックエンドにRubyを採用している株式会社タイミー、hacomono社、ワンキャリア社が、Rubyにおけるモジュラモノリスの可能性や良い点、悪い点を共有する勉強会です。ここで株式会社hacomonoの志賀氏が登壇。続いて、モジュラモノリス実現のための取り組みについて話します。前回はこちらから。 モジュラモノリスを導入に向けて境界分けをどうするか 志賀誠氏:じゃあ今度は、モジュラモノリスの実現の方法について説明します。(スライドを示して)Railsでモジュラモノリスを導入するにあたって、パッと思いつくもので、このスライドにあるような問題があるかと思います。 1個は、やはりRailsはRubyなので、なんでも書けちゃうということがあると思います。もうやろうと思ったらいくらでも越境できちゃう境界区域とかがあると思います。 も

                        越境が簡単なRailsでどのようにモジュラモノリスを実現するか 「境界分け」と「Active Recordの制限」に対する取り組み
                      • 社内版 Rails アップグレードガイドを公開します - Timee Product Team Blog

                        こちらはTimee Advent Calendar 2023 シリーズ1の25日目の記事になります。 昨日は @tomoyuki_HAYAKAWA による Swift Concurrency AsyncStreamを使ってみる #Swift - Qiita でした。 タイミーでバックエンドエンジニアをしている id:euglena1215 です。 メリークリスマス🎄 みなさんの手元にはプレゼントは届いているでしょうか。 Ruby の世界では Ruby コミッターサンタさんがクリスマスプレゼントとして新しい Ruby バージョンをリリースしてくれます。 今年は Ruby 3.3 ですね。個人的には 3.3 の YJIT がどれだけ速くなるのか楽しみです。 また、新しいバージョンのリリースにはアップグレードがつきものです。アップグレードせずには新しいバージョンの恩恵を受けることはできません。

                          社内版 Rails アップグレードガイドを公開します - Timee Product Team Blog
                        • Railsでモジュラモノリスを実現する3つの代表的パターン 5つの基準で見たそれぞれの評価

                          「【ハイブリッド開催】Rubyで追求するモジュラモノリスの可能性」は、バックエンドにRubyを採用している株式会社タイミー、hacomono社、ワンキャリア社が、Rubyにおけるモジュラモノリスの可能性や良い点、悪い点を共有する勉強会です。ここで株式会社タイミーの須貝氏が登壇。まずは、Railsでモジュラモノリスを実現する3つの代表的パターンと、各パターンの評価について話します。 須貝氏の自己紹介 須貝俊 氏:では、「RailsでModular Monolithを選択された御社に質問したいN個の疑問」というタイトルで発表をしたいと思います。 (スライドを示して)まずは自己紹介をしたいと思います。須貝と申します。タイミーには、2022年1月からジョインしています。スポットワークシステム領域というところで、チーム名がIronBank Squadという、企業さま向けの請求や、ワーカーさまへの給与

                            Railsでモジュラモノリスを実現する3つの代表的パターン 5つの基準で見たそれぞれの評価
                          • RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO

                            Introcusion つい先日、「Rust版のRails」ともいわれている、 Locoというフレームワークを教えてもらいました。 Railsは昔ちょっとさわった程度なのですが、 Rustで手軽にRailsライクなアプリ開発はおもしろそうなので、 試してみました。 Loco? Locoについて簡単に説明します。 このblog記事で、Locoって何? なんでRustなの?とか誰のためのフレームワーク?みたいなことが書いてあります。 軽く説明すると、↓です。 Locoって何? Loco は、Rails からインスピレーションを得た Rust用のWebフレームワーク ほぼすべての Rails 機能が含まれている Controllerとaxum経由のルーティング ActiveRecordライクにSeaORMでモデル操作 rrgenでコード生成 その他いろいろ。詳しくは元記事で RubyでいいならR

                              RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO
                            • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

                              この記事はTimee Advent Calendar 2023シリーズ 1の1日目の記事です。 はじめに こんにちは、タイミーでバックエンドエンジニアをしている須貝(@sugaishun)です。昨年は弊社でアドベントカレンダーに取り組んだか覚えていないのですが、今年はなぜかいきなり3トラックで臨むということで、非常に勢いがあるなと思いました。量と勢いで攻めていくところが弊社らしいなと感じています。全て完走できると良いですね。 さて私はその中のひとつのトップバッターということで、タイミーのRailsアプリケーションについて弊社のシニアなエンジニアたちと雑談した内容を座談会風にお伝えできればと思います。事の発端は弊社Slackのバックエンドエンジニアが集まるチャンネルで「タイミーのRailsアプリケーションの健康度はどのくらいなのか?」という会話をしたことでした。その時の私の感想は「人によって

                                タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                              • 島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから

                                島根県でプログラミング言語「Ruby」に関するイベントを集中的に実施するキャンペーン「Ruby Week」が開催された。そのうちRubyWorld Conferenceを中心に、Rubyの今とこれからを解説する。 島根県で、プログラミング言語「Ruby」の自由さや楽しさ、コミュニティへの貢献という価値観を表現するキャンペーンとして「Ruby Week」が開催された。これまでも開催していた「Ruby biz Grand prix」「RubyWorld Conference」「Ruby Prize」の3イベントを1週間にまとめるとともに、数多くの取り組みを実施。エンジニアやビジネス関係者が数多く島根を訪れる期間となった。 Ruby Weekの中心である3イベントのうち、最も歴史が深いRubyWorld Conferenceは、今回で15回目の開催。国内最大級のビジネスカンファレンスとして、Ru

                                  島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから
                                • Ruby の oneshot coverage で本番稼働中の Rails アプリの使用状況を収集して不要なコードを発見するための仕組みを導入した話 - DIGGLE開発者ブログ

                                  前置き プロダクト開発は人の手によって行われるものですから、開発サイクルの中で不要なコードを削除し忘れる人的なミスはどうしても発生します。 後から不要なコードに気づき削除する際には、慎重にチェックして本当にコードが使用されていないことを確認する必要があります。ただし、削除に自信が持てない場合、本番稼働中の Rails アプリに障害が発生する可能性も考慮しなければならず、何も影響しない場合はそのままにしておくことも多く、削除が難しい状況も少なくないと思います。 上記状況を打破するために DIGGLE では本番稼働中の Rails アプリのコードの使用状況を収集して不要なコードを発見するための仕組みを導入したので共有したいと思います。 前置き 不要なコードをどのように発見するか Ruby で コードカバレッジを計測する 仕組み導入にあたって悩んだポイント YJIT を有効化した状態で動作するの

                                    Ruby の oneshot coverage で本番稼働中の Rails アプリの使用状況を収集して不要なコードを発見するための仕組みを導入した話 - DIGGLE開発者ブログ
                                  • Ruby/Rails の勉強に何読んだらいいかと聞かれたとき - id:onk のはてなブログ

                                    「次の職場が Ruby なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。 「読める」になるために 言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。 Ginza Rails27 igaiga - Speaker Deck 著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。 たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。 できることを知る るりま (Ruby リファレンスマニュアル) の Enumerable、String Rails Guides の Active Support Core Extensions 日本語

                                      Ruby/Rails の勉強に何読んだらいいかと聞かれたとき - id:onk のはてなブログ
                                    • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

                                      先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                                        Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
                                      • RailsアプリのCI高速化

                                        参加しているプロジェクトで、RailsアプリのCIの高速化を行った。 まだ進行中の部分も幾つかあるが、結果から言うと、元々8分前後だったテストが3分半程度に短縮された。行った作業を幾つかの観点に分け、どのように高速化を行ったか、どの程度高速化されたか等を記述する。 プロセス数とマシン性能の調整 元々は2コア1プロセス4マシンで8分程度掛かっていたが、8コア8プロセス1マシンに変更することで5分程度に短縮された。 このプロジェクトではCIにGitHub Actionsを利用している。GitHub Actionsではデフォルトで2コアのマシンが利用されるが、Large runnerを利用して8コアに変更した。費用は変わらない。 また同時に、8プロセスで並列実行するためにparallel_testsを導入した。このプロジェクトではMySQLとElasticsearchを利用しており、またファイル

                                        • 管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin

                                          Kaigi on Rails 2023 "管理機能アーキテクチャパターンの考察と実践" https://kaigionrails.org/2023/talks/ohbarye/ 管理機能という身近な題材で
アーキテクチャについて考えてみよう、というテーマの資料です。B/43というプロダクトで実際に行った選択と運用の工夫も含みます。

                                            管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin
                                          • やさしいActiveRecordのDB接続のしくみ

                                            https://kaigionrails.org/2023/talks/kubo/

                                              やさしいActiveRecordのDB接続のしくみ
                                            • You can't get faster than No Build

                                              October 11, 2023 You can't get faster than No Build For the first time since the 2000s, I'm working on a new Rails application without using any form of real build steps on the front-end. We're making it using vanilla ES6 with import maps for Hotwire, and vanilla CSS with nesting and variables for styling. All running on a delightfully new simple asset pipeline called Propshaft. It's all just so..

                                                You can't get faster than No Build
                                              • One happy Rails World

                                                Celebrating twenty years of Ruby on Rails with more than 700 happy developers packed into the coolest conference venue possible in Amsterdam was epic. Safe to say, Rails World was a roaring success. Which is deeply satisfying to conclude, because it really wasn't a given outcome when I started working on The Rails Foundation last year. It's hard to know how new institutions are going to be receive

                                                  One happy Rails World
                                                • 2023-10-03のJS: Node v20.8.0、Vitest v1.0.0-beta.0、instant.dev(Rails-inspired ORM/Migrations)

                                                  JSer.info #663 - Node.js 20.8.0がリリースされました。 Node v20.8.0 (Current) | Node.js streamに関するフラグをビットマップで管理することでメモリ消費量とパフォーマンスが改善されています。 stream: use bitmap in readable state by benjamingr · Pull Request #49745 · nodejs/node vmにimportModuleDynamicallyオプションを追加、主にJestなどで起きていたvmのメモリリークの問題を修正なども含まれています。 Node.jsのアップデートが起因でJestのメモリリークが起きる問題としては、次のIssueがあります。 こちらのIssueは、Node.js 20.8.0ではまだ修正されていません。 [Bug]: Memory

                                                    2023-10-03のJS: Node v20.8.0、Vitest v1.0.0-beta.0、instant.dev(Rails-inspired ORM/Migrations)
                                                  • Ruby on Railsの作者がコンテナ・デプロイ・ツール「Kamal 1.0」を公開

                                                    Ruby on Railsの作者として知られるDavid Heinemeier Hansson氏は、コンテナ・デプロイ・ツール「Kamal 1.0」を9月19日(現地時間)に公開した。同氏は開発したWebサービスをクラウド・プロバイダーから自前のサーバーに移行する手続きを進めており、Kamalはその手続きの中で生まれたという。KamalはMITライセンスで公開しているオープンソース・ソフトウェア。 Kamalは、Dockerでコンテナ化したアプリケーションを配備するツール。設定ファイルに外部の公開IPアドレスを記入して起動すれば、Linuxが動作するコンテナが動き出す。このコンテナにはSSHで接続することも可能だ。 Hansson氏はKamalをWebアプリケーションをクラウドから自前のサーバーに移す目的で使用しているが、クラウド間での移動など、ほかの目的にも利用できる。Kamalを利用す

                                                      Ruby on Railsの作者がコンテナ・デプロイ・ツール「Kamal 1.0」を公開
                                                    • Next.js 13は新たなRailsとなるか?+ Supabase x Vercelによる爆速フルスタックWeb開発【個人開発】 - Qiita

                                                      Next.js 13は新たなRailsとなるか?+ Supabase x Vercelによる爆速フルスタックWeb開発【個人開発】Rails個人開発Next.jsVercelSupabase tl; dr Next.js 13 でフルスタックアプリを作った Supabase と Vercel はインフラを任せてしまおう DB, 認証, デプロイをボタンポチポチで完結 Supabase, Next.js用の helper ライブラリ が すっっごい便利 Next.js (RSC)は 少し昔の Rails になる フロントからバックエンドまでこれ一個で完結する 作ったもの ひとり用のSlack, Twitterのように、作業ログを時系列に記録できるアプリが欲しかったので作った。 slackで分報 xx_times をやってる人におすすめ。 マークダウン記法に対応, codeやリストでメモれる。

                                                        Next.js 13は新たなRailsとなるか?+ Supabase x Vercelによる爆速フルスタックWeb開発【個人開発】 - Qiita
                                                      • モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG

                                                        こんにちは、プラットフォームチーム所属のまこたすです。 昨今、様々な場で「モジュラーモノリスを導入した」という話を目にするようになってきました。弊社でも昨年からモジュラーモノリスの試験導入を進めており、社内でノウハウが徐々に溜まってきたため、今回 技術ブログ で なぜ導入したのかと知見の共有 をさせていただけたらと思います。 想定読者 モノリスなアプリケーションの分割を検討している Railsへのモジュラーモノリスの導入を検討している 話さないこと チーム体制がどうあるべきかという観点の話 以下アーキテクチャについての詳細 モノリスアーキテクチャ モジュラーアーキテクチャ 背景 今回「モジュラーモノリスを導入した」というタイトルですが、最初に検討・導入に至るまでの背景について触れたいと思います。 hacomonoという組織・サービスの成長 hacomonoというサービスはリリースから現在に

                                                          モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG
                                                        • 個人で開発していた上場企業の情報サイトをOSSにした

                                                          結論 個人で開発していたWEBサービスをOSSとして公開しました。 この背景や技術環境について書いていきます。 すべてのソースコードをGitHubに公開しています。 スターやレビューをしてくださると嬉しいです! 公開したサービス: 上場企業ランキング 先日、オープンソースでWEBサービスを公開しました。 「上場企業ランキング」というサービスです。 その名の通り日本の上場企業を業界ごとに「給与」や「売上」順で閲覧することができるサービスです。 URL: https://company-ranking.net/ GitHub: https://github.com/yuki0920/company-ranking 私は2度の転職活動経験がありますが、企業を選ぶ際に知っておきたいことはいくつもありますよね。 「給与はどのくらいだろう」 「売上や利益はどの程度なのかな」 こういった情報は、求人ペー

                                                            個人で開発していた上場企業の情報サイトをOSSにした
                                                          • 9ヶ月かけて全ての API を REST から GraphQL にリプレースした話 - がぶちゃんの日記

                                                            サマリー システム構成の変遷 創業フェーズ はじめての API と技術選定 GraphQL 移行直前 GraphQL への移行を決めたきっかけ GraphQL 移行方針 移行期間 ふりかえり 1つ目の方針は正解だった 2つ目の方針は微妙だったかもしれないけど、正解だったかもしれない 3つ目の方針はやはり苦戦した さいごに サマリー サービス開始から3年経った Next.js + Rails なシステム 全ての API を REST から GraphQL にリプレース 約9ヶ月かかりました 早速フロントエンドの都合でバックエンドにも手を入れるということが減って快適です という話です。 システム構成の変遷 創業フェーズ 1人目エンジニアとして入社して、何から手を付けようかなーと考えた結果、事業の肝の部分からシステム化していくことにしました。弊サービス https://moneiro.jp/ は

                                                              9ヶ月かけて全ての API を REST から GraphQL にリプレースした話 - がぶちゃんの日記
                                                            • RSpecを実行するとWebdrivers::VersionErrorが発生する場合の対処方法 - Qiita

                                                              Webdrivers::VersionError: Unable to find latest point release version for 115.0.5790. You appear to be using a non-production version of Chrome. Please set `Webdrivers::Chromedriver.required_version = <desired driver version>` to a known chromedriver version: https://chromedriver.storage.googleapis.com/index.html # ./spec/system/tasks_spec.rb:24:in `go_to_project' # ./spec/system/tasks_spec.rb:14:

                                                                RSpecを実行するとWebdrivers::VersionErrorが発生する場合の対処方法 - Qiita
                                                              • Railsの設計に迷ったのでGitLabの設計ドキュメントを読んでみた | DevelopersIO

                                                                Railsのプロジェクトがそこそこ大きくなり、ServiceやSerializerなどのカスタムレイヤーを追加してコードを細分化しているものの、レイヤーの役割やインターフェイスのルールが明確に決まっておらずふわふわとしていることを課題と感じていました。課題を解決するヒントを探すため、Railsの超巨大OSSプロジェクトであるGitLabの設計ドキュメントを読んでみました。 ガイドラインの必要性 まず初めにガイドラインの必要性が語られています。レイヤーの抽象化ができたとしても、それを正しく使えないと、あっという間にメンテナンスしにくいコードができてしまうということが説明されています。 例として、あるFinder(Finderはデータベースからデータを検索する抽象)の中で別のFinderを呼び出してはいけないということが挙げられています。もしそうしたなら、Finderにどんどんオプションが追加

                                                                  Railsの設計に迷ったのでGitLabの設計ドキュメントを読んでみた | DevelopersIO
                                                                • 「RubyはRailsと一緒に“峡谷”を乗り越えた」 「キャズム理論」に沿った、Rubyが広まるまでの歩み

                                                                  Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここでプログラミング言語Rubyの生みの親であるまつもとゆきひろ氏が登壇。続いて、ソフトウェアにおける「キャズム理論」について話します。前回はこちらから。 知られないものは存在しないものと同じ まつもとゆきひろ氏(以下、まつもと):「良いものを作れば世に広まる」という話なんですが、ビジョンを用意しました、ビジョンに従って世に問うような、未来を予測して、彼らは自覚していないけれども「こんなものがあったら顧客は本当に喜ぶ。生活が便利になるし、これはすばらしいものだ」と思って、良いものを提供しました。それで十分かというとですね、残念ながら「良ければ広まる」ということも、残念ながらあ

                                                                    「RubyはRailsと一緒に“峡谷”を乗り越えた」 「キャズム理論」に沿った、Rubyが広まるまでの歩み
                                                                  • 【2023年版】"Rails is not currently installed on this system."というメッセージが出たときの対処方法 - Qiita

                                                                    はじめに:sudo gem install railsは実行するな! 初心者さんが新しいMacにRailsの開発環境をセットアップすると、rails -sやrails -vを実行したときに以下のようなメッセージが表示されることがあります。 $ rails -v Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command.

                                                                      【2023年版】"Rails is not currently installed on this system."というメッセージが出たときの対処方法 - Qiita
                                                                    • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

                                                                      SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

                                                                        Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                                                                      • RailsプロダクトへのWebAuthn導入に向けての取り組み - 虎の穴開発室ブログ

                                                                        皆さんこんにちは、とらのあなラボのY.Fです。 先日、弊社エンジニアが開発で関わっているCreatiaで、以下のお知らせが投稿されました。 【新機能のご案内】#クリエイティア にて、『パスワードレスログイン』機能をリリースいたしました。 パスワードの代わりに指紋や顔認証、PINコードを使って、スムーズかつ安全にクリエイティアにログインできるようになりました! ▶詳細は下記記事をご参照くださいhttps://t.co/FzsVIAl7Sp— クリエイティア[Creatia]@ファンクラブ開設費無料! (@creatia_cc) 2023年6月8日 弊社のサービスは、とらのあな通販やサークルポータル除いて、ほぼRuby on Railsを利用しています。 speakerdeck.com 今回の記事では、Ruby on Rails + WebAuthnについて、調べたことなどをまとめてみたいと思

                                                                          RailsプロダクトへのWebAuthn導入に向けての取り組み - 虎の穴開発室ブログ
                                                                        • Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog

                                                                          こんにちは。 クラシル開発部、バックエンドエンジニアの松嶋です。 delyに入社してから約3年間、私はSREチームに所属していましたが、昨年10月にバックエンドに転向しました。バックエンドに転向してからは、主にクラシルアプリの公式レシピおよびCGMコンテンツの検索機能に関する開発・改善に取り組んでいます。 クラシルは、2016年2月にサービスを開始してから、管理栄養士監修の「誰でも安全に・おいしい料理を作ることができるレシピ動画」を5万件以上提供してきました。 昨年12月には、クラシルのブランドリニューアルを行い、今後はシェフや料理研究家を中心としたクリエイターとともに多様化したユーザーの食の好みや課題解決に応えられるよう、幅広い食のコンテンツを提供するプラットフォームを目指しています。 ブランドリニューアルの詳細に関しては、こちらを御覧ください。 www.kurashiru.com この

                                                                            Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog
                                                                          • Rails入門: ストロングパラメーターでセキュリティを強化する - Qiita

                                                                            はじめに 今回は、ストロングパラメーターについて学習したことを備忘録として記事にした。 ストロングパラメーターとは マスアサインメント攻撃を防ぐために使われている。 ストロングパラメーターを利用することで、パラメーターから値を取得する際に取得可能なデータを指定することができる。 マスアサインメント攻撃とは 設計者の意図に反してデータベースの複数の値を一度に更新させる攻撃のこと。 updateメソッドやnewメソッド、createメソッドなどでテーブルを更新する際にハッシュ形式のパラメータを受け取るが、これを悪用したもの。 例えば、Userモデルがname、email、adminという属性を持ち、adminは管理者フラグであり通常はユーザー自身が操作できない場合を想定する。 以下のパラメーターが送られてきたとする。 { user: { name: 'Alice', email: 'alice

                                                                              Rails入門: ストロングパラメーターでセキュリティを強化する - Qiita
                                                                            • Rails: Active Recordのfindで怖い思いをした話(翻訳)|TechRacho by BPS株式会社

                                                                              概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: A scary side of ActiveRecord's find | Arkency Blog 原文公開日: 2019/03/19 原著者: Jakub Kosiński サイト: Arkency Blog 日本語タイトルは内容に即したものにしました。 参考: Rails API find -- ActiveRecord::FinderMethods 参考: Object#tap (Ruby 3.2 リファレンスマニュアル) 私は最近プロジェクトでこんなリファクタリングを行いました。identityに束縛されたコンテキストにドメインイベントをさらに追加することで、システム内のidentityに対して実行された特定のアクションから取得する監査ログを改善するというものです。手始めに、コマンドを消費する責務を持つServiceを

                                                                                Rails: Active Recordのfindで怖い思いをした話(翻訳)|TechRacho by BPS株式会社
                                                                              • copilot-cli(ECS/Fargate)でRailsを運用するためのTips - Qiita

                                                                                ECS/Fargateをcopilot-cliを利用して構築・運用する方法について、JAWS-UG Okayama 2023で発表したときの資料です。 copilot-cliとは? すでにQiitaに別の方が投稿されているのでこちらをご参考ください。 https://qiita.com/yoshii0110/items/8a74cc0fc540ae3f2389 資料の中身 copilot-cliを使うことで何がうれしくなるのか copilot-cliの基本概念 copilot-cliに任せる範囲はどのようにして決定するべきか Fargateを利用する上で注意すべき箇所 バッチ処理(cron)を組む上で考慮すべき点 メンテナンス時のリモート接続で考慮すべき点 などなどが資料に書いてあります。 資料 ついでに Copilot Primer Workshopという資料もAWSさんが公開されている

                                                                                  copilot-cli(ECS/Fargate)でRailsを運用するためのTips - Qiita
                                                                                • Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ

                                                                                  こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしました! kakariのRailsリポジトリに型導入PRがマージされた様子 皆さんのプロジェクトは「型導入」していますか? 「型導入」しているRailsプロジェクトはまだ少ないのではないでしょうか なぜ型導入しないのか 型を導入すると何かしらが便利になることは分かっているのに何故やらないのでしょうか(煽り気味) 「型の恩恵」と「型を自分たちで書くコスト」の2点を比較していませんか? RubyKaigi 2023開催前の私がまさしくそう考えていました。 本当にその2点を比較するべきなのかをここで再考してみましょう。 「型導

                                                                                    Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ