並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 5040件

新着順 人気順

rails3の検索結果521 - 560 件 / 5040件

  • UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま

    Shift_JIS の CSV で連携する外部サービスがあり、DB では UTF-8 でテキストを持っていたため文字コードを変換する必要が生じた。 ところが UTF-8 に存在する多くの文字は Shift_JIS に対応がないため変換することができない1。 そこで、事前に NFKC 形式で Unicode 正規化することで変換可能な文字を増やすことを試みた。 まずは Unicode 正規化の前提として、Unicode の正準等価と互換等価について説明する。 以降の U+16進数 という表記は Unicode のコードポイント (文字に ID のようなものが割り当てられている) を示す。 また、コードポイントに対応する文字の詳細は https://codepoints.net/ といったサイトで確認することができる。 正準等価 例として、ひらがなの「が」について考える。Unicode では「

      UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま
    • 巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方

      大きな問題も分割すればなんとかなる まつもとゆきひろ氏:次のことわざにいきましょうね。4番目は、これもことわざじゃないと言われちゃうんですが、「分割統治」という言葉です。英語だと「Divide and Conquer」。「分割して征服せよ」という感じです。大きな問題もね、分割すればなんとかなるというやつですね。 (スライドを示して)これは最近見た漫画です。巨大なタスクが存在して、圧倒されそうな気持ちになった時には、タスクを取り上げて細かく分解すると、細かく分解されたタスクは無視しやすいので、タスクは片づかなくても気分は楽になるという漫画なんですけども(笑)、実際、そういうところもあるんですよね。 非常に巨大なことをしろと言われると大変なんだけど、手に負える範囲に分割して1つ1つ話をしていくと問題を解決できるというのは、どこにおいても応用可能な原則だと思います。 クイックソートは一応現時点で

        巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方
      • マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog

        こんにちは。 マネーフォワード CTOの中出(なかで)です。 CTOの私が、普段「なにを感じて、どんなことを考えているか」について、四半期に一回社内へ共有している内容を一部編集し、エンジニアブログに公開したいと思います。 前回はこちら:マネーフォワードCTOが考えていること(2020年6月) 目次 技術ポートフォリオの配分を変える ベトナム拠点とグローバルエンジニアについて コロナ禍の新入社員への影響について 技術ポートフォリオの配分を変える マネーフォワードは創業期からこれまで、Railsに集中する形で技術のポートフォリオを構成してきました。しかし私たちが中長期的に価値あるサービスを社会に提供し続けるために、技術戦略として、他の技術の割合を意識的に高めていく必要があると感じています。 これまでは、統一した技術で開発することのメリットが勝っていました。しかし多くのプロダクトがグロースしたた

          マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog
        • RSpecのテストコードを実行時に書き換えて実行速度を改善した話 - STORES Product Blog

          CTOの藤村です。つい最近まで STORES ブランドアプリ のチームでRailsを書いていました。 STORES ブランドアプリ のRailsリポジトリではdatabase_cleanerを(strategy = truncationで)使ってテスト中のデータベースをリセットしており、このことがテストコードの品質、速度などで重荷となっていました。 これを、テスト実行時にテストコード自体を書き換えて改善する仕組みを作り、先日無事Transactional Testへの移行が完了しました。ということで気分がとてもよいので、どうやったか共有させてください。 課題 STORES ブランドアプリのRailsのテストコードは速度に課題がありました。 テストデータを片付ける仕組みとして、 Railsエンジニアにはお馴染みのdatabase_cleanerというGemを使っていました。database_

            RSpecのテストコードを実行時に書き換えて実行速度を改善した話 - STORES Product Blog
          • リファクタリング専門チームによるお金周りリファクタリング - クラウドワークス エンジニアブログ

            こんにちは、エンジニアの @MinoDriven です。 今年2019年4月にリファクタリング専門チームを発足しました。 crowdworks.jp の最重要機能であるお金周りの機能に関して、どのような技術アプローチでリファクタしているかを紹介致します。特に、Railsには適用困難と言われているドメイン駆動設計の考え方を取り入れた手法を解説致します。 目次 背景 リファクタリング専門チーム発足 技術的負債 リファクタリング対象選定 方針①:パレートの法則(80:20の法則) 方針②:リファクタリング選定基準3軸 「仕事周り」か「お金周り」か お金周りモデルのリファクタリングを妨げるConcern 課題①:ActiveRecord側の構造に依存したコード 課題②:型や構造のチェック(リスコフの置換原則違反) 課題③:重要業務概念の埋没 どのようにリファクタしたか 手法①:Concern側メソ

              リファクタリング専門チームによるお金周りリファクタリング - クラウドワークス エンジニアブログ
            • Rails 7.0: Fulfilling a vision

              This version of Rails has been years in the conceptual making. It’s the fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. An omakase menu that includes everything from the aperitif to the dessert. This vision wasn’t possible even just a few years ago. We simply didn’t have the core technologies i

                Rails 7.0: Fulfilling a vision
              • プログラミングスクールで、「リアルバーチャルYoutuber」というWebサービスを作りました - 猫Rails

                はじめに 作ったWebサービスの紹介 開発日誌 Getting Realを読む エレベーターピッチを作る 技術検証 ペーパープロトタイプを作る 技術選定とシステム構成図の作成 開発の進め方を考える $ rails new Herokuをセットアップ 独自ドメイン設定 + SSL化 SendGridをセットアップ S3 + CloudFrontをセットアップ Googleアナリティクスをセットアップ Googleサーチコンソールをセットアップ ロゴ・ファビコンを作る サイトマップを自動作成 metaタグを設定する Rubocopを設定する 便利Gemを導入する bullet letter_opener letter_opener_web xray-rails pry-rails pry-byebug pry-doc pry-alias awesome_print tapp rack-mini

                  プログラミングスクールで、「リアルバーチャルYoutuber」というWebサービスを作りました - 猫Rails
                • Rails: Evil Martiansが使って選び抜いた夢のgem -- 2024年度版(翻訳)|TechRacho by BPS株式会社

                  概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文更新日: 2024/05/28 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ

                    Rails: Evil Martiansが使って選び抜いた夢のgem -- 2024年度版(翻訳)|TechRacho by BPS株式会社
                  • Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog

                    HamlitというRubyで使うテンプレートエンジンをメンテしてて、ちょっと前に思いついたけどこれまで実装してなかった最適化のアイデアを昨日それに実装したので、それについてちょっと書きたい。 github.com StringTemplate というテンプレートエンジン amatsuda/string_template というテンプレートエンジンがあって、 これは "the fastest template engine for Ruby" であると主張されている。 I think I just invented the fastest template engine for Ruby (Rails). Please enjoy! https://t.co/N056SReLh2 https://t.co/74MdR5DINj— Akira Matsuda (@a_matsuda) Dece

                      Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog
                    • Ruby の JSON ライブラリ Oj のパフォーマンス改善を行いました - Repro Tech Blog

                      Development Division/Repro Team/Feature 1 Unit の Watsonです。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
                      • Goで作ったシステムをRubyでリプレイスすることを検討してみた

                        はじめに 弊社にはGoで作ったシステムが存在しますが、作られてから数年が経過して、メンテナンスも十分にできていない状況でした。 そこで、このシステムをリファクタリングして生産性を上げようという結論になりました。 リファクタリングにあたり、Goのままで行くのか、弊社でよく使われているRubyで行くのかを検討してみましたので、その過程を紹介したいと思います。 Rubyでリプレイスしようと思った理由 Goで動いてて言語やライブラリのバージョンアップなどメンテナンスがされてない部分はありますが、 そこを解消すればGoのままで行った方が良いのでは?と思うかもしれません。 しかし、あえてRubyでリプレイスしようと思うに至ったのは以下の点があります。 Rubyの方が開発速度があがりそう Goのリファクタリングをするのに時間がかかりそう Goのリファクタリングと機能追加でコード修正箇所が被るとスケジュー

                          Goで作ったシステムをRubyでリプレイスすることを検討してみた
                        • 転職エントリ(1年後) - 世界線航跡蔵

                          Nianticに転職して1年あまりが過ぎた。 2018年の9月からNianticで働いているのだが、そういえば転職エントリーを書きそびれていた。 転職して以来、相変わらずサーバーサイドの開発をしていている。なお、開発しているのはIngressでもPokémon GOでもハリー・ポッター:魔法同盟でもない。 Nianticとの関わり Ingressは2014年12月から続けていて、Pokémon GOも日本での正式リリース日からぼちぼちやってきているものの、それにしてもNianticで働くようになるとは思ってもみなかった。 Pokémon GOがなんかえらく流行り始めたときも、自分とは関係ない話だと思いつつGoogle Maps時代の知り合いが何人か関わっているのを思い出して無責任に祝福していたぐらいである。知り合いへのご祝儀のつもりでポケコインを1万円分ぐらい買って、行動圏内にルアーモジュ

                            転職エントリ(1年後) - 世界線航跡蔵
                          • モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG

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

                              モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG
                            • スタートアップで戦い抜いてきたRailsアプリをどう直す? 既存Railsアプリを攻略する時にCTOが見ているポイント

                              「初学者から上級者までが楽しめるWeb系の技術カンファレンス」をコアコンセプトに掲げる「Kaigi on Rails」。ここで登壇したのは、STORES株式会社 CTO・藤村大介氏。別会社が自社にジョインしたことにより、新しく加わったプロダクトのRailsアプリケーションを触り改善する中で、見ていたこと・考えていたことなどを発表しました。全2回。前半は、アプリの概要を理解するために見ていたものについて。 STORES株式会社 CTO・藤村氏の自己紹介 藤村大介氏:「既存Railsアプリ攻略法」というタイトルで、CTOが何をやっているのか、何を見ているのか、何を考えているのかをお話ししようと思います。 自己紹介です。藤村大介と申します。あらためてよろしくお願いします。僕は2008年ぐらいから、バックエンドでRailsを書くのを中心にソフトウェアエンジニアとして仕事をしていて、フロントエンドも

                                スタートアップで戦い抜いてきたRailsアプリをどう直す? 既存Railsアプリを攻略する時にCTOが見ているポイント
                              • 過度なDRYを行わず、APIドキュメントだと思って書く 脳内メモリを消費させない“リーダブルなテストコード”の書き方

                                さまざまなテストレベルとロールで活躍されている方々がテストコードをリーダブルにする方法について語り、それぞれの違いや共通点について議論する、「リーダブルなテストコードについて考えよう」。ここで株式会社ソニックガーデンの伊藤氏が登壇。リーダブルなテストコードとは何か、リーダブルなテストコードを書くための具体的な意識を紹介します。 伊藤氏の自己紹介 伊藤淳一氏:リーダブルコードという発表です。いきなり余談から入りますが、今日仕事をしていたらテストコードに助けられました。 仕様変更がいつ入ったのかを調べなきゃいけなくなってコミットを追いかけていったら、過去の僕がすごくわかりやすいテストコードを書いていて、仕様Aを仕様Bに変えることがdiffを見れば一目瞭然というようなものを作っていました。リーダブルなテストコードを書いてて良かったと思った日がこの勉強会の開催日で、ナイスタイミングだと思いました。

                                  過度なDRYを行わず、APIドキュメントだと思って書く 脳内メモリを消費させない“リーダブルなテストコード”の書き方
                                • Inertia.js - The Modern Monolith

                                  JavaScript apps the monolith wayInertia is a new approach to building classic server-driven web apps. We call it the modern monolith. Inertia allows you to create fully client-side rendered, single-page apps, without the complexity that comes with modern SPAs. It does this by leveraging existing server-side patterns that you already love. Inertia has no client-side routing, nor does it require an

                                    Inertia.js - The Modern Monolith
                                  • Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                                    直感的な文法や生産性の高さから、世界中の人々に愛されるオブジェクト指向スクリプト言語Ruby。この言語には継続的に新しい機能や文法が追加されており、利便性が向上し続けています。コミッターの方々による日々の努力が、Rubyの改善を支えているのです。 コミッターのなかでも、とりわけRubyに大きな貢献をしてきたのがアカツキでフルタイムRubyコミッターを務める中田伸悦さん。(アカツキのCSRの取組みについてを記事下部参照) github.com 中田さんはRubyへのコミット数が全コミッターのなかで最多であり、通称“パッチモンスターと”呼ばれています。 今回のインタビューでは、中田さんがRubyへのコントリビューションを始めたきっかけや、印象に残る機能改修について解説してもらいました。「Rubyのことをもっと詳しく知りたい」「オープンソースソフトウェア(以下、OSS)へのコントリビューションを

                                      Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                                    • 50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】 - Qiita

                                      50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】RubyRailsnginxAWSDocker はじめに コロナ禍の中で会社経営をあきらめ、50代目前にして「Webアプリの開発者に、オレはなる!」と決意し、2ヶ月半でアプリを作成した経緯をご紹介させていただきます。 絶賛転職活動成功!(最終結果:企業エントリー145、書類通過10、内定3、業務委託3。転職活動期間2022/04末〜2022/11末) ポートフォリオサイトURL:https://delicha.github.io Wantedly プロフィール:https://www.wantedly.com/id/shouhei_yamamoto_bg アプリを実装するまで 今回のアプリを作成する「前」のおもな自分のスペックです。 アプリ開発前の年齢は限りなく50歳。 大

                                        50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】 - Qiita
                                      • はじめに - 作って学ぶ正規表現エンジン

                                        はじめに 正規表現は様々なプログラミング言語で利用されている、テキスト処理のためのパターン言語です。 正規表現はテキストエディタでの検索や置換、入力文字列のバリデーションなどプログラミングの様々な分野で実用されています。 ある程度の規模のプログラムにおいて、正規表現を全く利用しない (利用していない) ということはほとんど無く、正規表現は今日のプログラミングにおいて非常に重要なパーツだと言えます。 JavaScriptやRubyといったプログラミング言語では正規表現はファーストクラスのリテラルとして実装されているため、とても簡単に利用できます。 例えば次のRubyプログラミングでは変数fooに入った文字列の部分にfizzかbuzzが含まれるかどうかを、正規表現/fizz|buzz/を使ってチェックしています。 foo =~ /fizz|buzz/ さらに、計算機科学 (コンピューターサイエ

                                        • 本番環境に寄り添った開発用Docker環境の構築手法 - 虎の穴開発室ブログ

                                          皆さんこんにちは。虎の穴ラボの辻村です。 この記事は「虎の穴ラボ 夏のアドベントカレンダー」17日目の記事です。 目次 目次 対象とする読者 前提 開発・実行環境 ホスト環境 Docker環境 既存環境調査 アプリケーションサーバー OSバージョンに基づく対応イメージ特定 Amazon Linux 2の場合 CentOSの場合 ライブラリ確認 まずはコンテナ作成 ライブラリバージョン突合 依存ライブラリリストの見方 Rubyのバージョン突合 Dockerfile記述例 Bundlerのバージョン突合 Dockerfile記述例 サーバーのタイムゾーン突合 Dockerfile記述例 サーバーの言語設定突合 Dockerfile記述例 所属グループ突合 Dockerfile記載例 その他使用ミドルウェア、ライブラリ突合 DBサーバー バージョンを確認 キャラクターセット、照合順序設定、タイム

                                            本番環境に寄り添った開発用Docker環境の構築手法 - 虎の穴開発室ブログ
                                          • プログラミングは要らなくなる、Pythonが示す未来

                                            自分が最近どんな記事を書いているかを振り返る機会があった。そこで分かったのは、プログラミング言語のPythonに関する記事がとても多いということだ。 このコラム連載でも、Pythonに関する記事はよく読まれている。ここ半年で最も読まれたのは、Pythonを学ぶべき理由を紹介したコラムだ。次に読まれていたのは、Python 2がサポート対象外になるというコラムである。 関連記事: プログラマーだけではない、全ての人がPythonを学ぶべきたった1つの理由 寿命は年内限り、もはや「Python 2」は使ってはならない 私は日経クロステックだけでなく、ネットワーク技術者向けのメディアである日経NETWORKにもPythonの記事を書いている。2019年7月号には「知っておきたいPythonの基礎」という8ページの記事を書き、日経NETWORKの読者に初めてPythonを紹介した。 2019年10

                                              プログラミングは要らなくなる、Pythonが示す未来
                                            • Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog

                                              はじめに こんにちは。リアーキテクティングチームの髙橋と申します。 この記事では、アンドパッドの施工管理サービスで利用している Ruby をバージョンアップしたときに発生したメモリ使用量の問題の発生から解決までをお話しします。 Ruby のバージョンアップ(3.0 -> 3.2) アンドパッドでは昨年 2023 に、施工管理サービスで利用している Ruby を 3.0 から 3.2 にバージョンアップしました。 バージョンアップ自体は過去に確立済みの手法(詳しくは過去記事をご参照ください)により、粛々と進められリリースされました。 ところがこのリリースから数日後、とある問題が発覚しました。 メモリ増大問題 アプリケーションのリソース使用状況を監視している SRE チームのメンバーから、以下のような連絡がありました。 Ruby バージョンアップのリリース以降、アプリケーションの利用するメモリ

                                                Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog
                                              • Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社

                                                概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/01/17 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ

                                                  Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社
                                                • RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ

                                                  はじめに 2021年1月にv1.0がリリースされたWasmerにRuby Gemが存在することに触発されて調べてみました。RubyとWebAssemblyが関わっているものについてわかる範囲でまとめ、軽くどのようなものかを書いていきます。 僕自身、業務はおろかプライベートでもWASMを書いたことはなく浅い理解しかしていないですが…… WebAssembly (WASM)とは WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。 この機能はウェブプラットフォームにとって大きな意味を持ちます。 — ウェブ上で動作するクライアントアプリで従来は実現できなかった、ネイティブ水準の速度で複数の言語で記述

                                                    RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ
                                                  • 2021年からReactを始めるなら React Server Components 一択ではないか?

                                                    情報の新鮮さを重視しています。投稿記事は定期的に削除しています。どうしても過去記事を読みたい場合はVTeacherの「サブスク加入者のページ」からご閲覧ください。 apps.apple.com/app/vteacher/id1435002381

                                                      2021年からReactを始めるなら React Server Components 一択ではないか?
                                                    • 継続的なサービス発展を支えるアーキテクチャと技術 / Developers Summit 2023

                                                      自社サービスにおいてどのようにアーキテクチャと技術を活用するかについて、基本的な考え方をお話ししました。 https://event.shoeisha.jp/devsumi/20230209/session/4133/

                                                        継続的なサービス発展を支えるアーキテクチャと技術 / Developers Summit 2023
                                                      • Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ

                                                        こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。昨日、Ruby 3.0.0-preview2がリリースされました! このリリースには、遠藤が開発している Ruby の静的型解析ツール TypeProf が初めて同梱されています。これの使い方をかんたんにご紹介したいと思います。 デモ TypeProf は、型注釈のない Ruby コードを無理やり型解析するツールです。とりあえずデモ。 # user.rb class User def initialize(name:, age:) @name = name @age = age end attr_reader :name, :age end User.new(name: "John", age: 20) typeprof コマンドは、Ruby 2.7 で gem install typeprof でインスト

                                                          Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ
                                                        • GitHub Actionsのワークフローを利用してクロスブラウザのE2Eテストを自動化する - Money Forward Developers Blog

                                                          こんにちは。 『マネーフォワード クラウド経費』のフロントエンドエンジニアをしている木村(@kimromi)です。 Ruby on Railsを利用してサービス開発を進めているプロダクトのフロントエンドの環境を整えていき、UIの改善やフロントエンド側の開発効率アップなどにつなげていくような動きを現在やっています。 なぜクロスブラウザのE2Eテストが必要になったか ある日、IE11のみでJavaScriptエラーが起こり動作しないとの連絡が入り、慌てて対象のプルリクエストをリバートしたということが起こりました。 原因としてはライブラリの追加によるものでした。 現在フロントエンドの改修を行っていく中で、ライブラリの追加やビルド方式の変更などドラスティックな変更をすることが多くなってきています。 そのたびにMicrosoftからダウンロードできるVM環境を立ち上げ手元で確認するのは手間がかかり確

                                                            GitHub Actionsのワークフローを利用してクロスブラウザのE2Eテストを自動化する - Money Forward Developers Blog
                                                          • 深いドメインと統合型経営プラットフォームを支えるモジュラモノリスの事例 / Modular Monolith That Support Deep Domains And Integrated Management Platform

                                                            freeeにおけるモジュラモノリスの事例を大規模プロダクトから新規プロダクトまで紹介します。

                                                              深いドメインと統合型経営プラットフォームを支えるモジュラモノリスの事例 / Modular Monolith That Support Deep Domains And Integrated Management Platform
                                                            • Next.js アプリケーションの共通コンポーネント開発 - クックパッド開発者ブログ

                                                              こんにちは。レシピサービス開発部のkaorun343です。クックパッドではスマートフォン向けページにおける開発者体験向上のために、レシピサービスのフロントエンドを Next.js と GraphQL のシステムに置き換えている話にて紹介したとおり、Next.jsとGraphQLを用いたモダンな環境へと移行を進めています。例えばモバイル端末からのアクセスでURLがトップページの / であれば Rails、レシピ詳細ページの /recipe/:id であれば Next.js アプリにルーティングされるようになっています。現在ではレシピ詳細ページだけではなく検索結果ページやつくれぽ詳細ページ、MYフォルダページなどもNext.jsアプリケーションに置き換わっています。今回はその移行により生じた課題と取り組み方、それから併せて実施したモノレポ環境整備について紹介します。 共通コンポーネントの導入背

                                                                Next.js アプリケーションの共通コンポーネント開発 - クックパッド開発者ブログ
                                                              • Linux perfで快適に計測するためのtips - Qiita

                                                                これがあるのとないのとでは分かりやすさが全然違うので、perfを使う時は常に入れておくようにすると便利です。 2. --call-graph は fp 以外で使う 上記の問題を解決すると perf record + perf report では何が呼ばれているかおおむね分かることが多いのですが、call graphを出すために perf record -g をすると [unknown] というのが出てきてしまうことがあります。(以降の計測結果はRack::Utils::HeaderHashを使ったRuby VMのベンチをRubyのmasterで走らせたものです) Samples: 38K of event 'cycles:ppp', Event count (approx.): 271180000 Children Self Command Shared Object Symbol - 1

                                                                  Linux perfで快適に計測するためのtips - Qiita
                                                                • どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita

                                                                  テレビで素敵なサイトが紹介されていたのでアクセスしてみたら、なかなかレスポンスが返ってこなかったりステータスコード503になったりすることってありますよね。 テレビで紹介されたことで多くの人がサイトにアクセスした結果、そのサービスのキャパシティを超えてしまったわけです。 どうなるとキャパシティを超えるのでしょうか? また、いつからレスポンスが遅くなるのでしょう。 効果的にリクエストをさばくにはどうしたらいいのでしょう。 Photo by Roman Arkhipov on Unsplash 待ち行列理論を使って理想的なモデルからこれらを考えてみたいと思います。 待ち行列理論はコンピュータサイエンスをやってきた人はみんな触れたことがあるとは思いますが、大石の場合はそれが何十年も(!)前のことなのであらためて思い出してみました。 モデル Railsでサービスを提供するとき、rackサーバとして

                                                                    どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita
                                                                  • 『Zero To Production In Rust』を読んでいる

                                                                    初学者用のRustの教材として、RustでWebアプリケーションのサーバーサイド側をつくる一連のチュートリアル記事、『Zero To Production In Rust』を読んでみている。 https://www.lpalmieri.com/posts/2020-05-24-zero-to-production-0-foreword/ 一気に読んでいるかのような雰囲気でさらりと書いているが、仕事と遊びの合間に少しずつ、数日に1章程度の速度でゆっくり読み進めている。 問題駆動型の学習方法が嬉しい 知らない知識を複数同時に与えると学習効率が悪くなりがちなので、ある程度基礎部分を学んだら、少し難易度の高い領域であっても、自分の馴染みのある分野でどう使うかという話を例に学んでいく方が良いと考えている。今回の自分のケースの場合、Webアプリケーション開発という題目がそれにあたる。分からないところが

                                                                      『Zero To Production In Rust』を読んでいる
                                                                    • Ruby 3.2 のIRBの新機能 - Qiita

                                                                      これはRubyアドベントカレンダー2022の22日目の記事です。 binding.irb のすすめ 8年前に 今更聞けないpryの使い方と便利プラグイン集 という記事を書き、そこから長い間 binding.pry を愛用していた。binding.irb も binding.pry も使ったことがないよ、という人はご一読をお勧めしたい。 当時PryにあったIRBに対する優位性のうち、時間が経っても常に使い続けた機能といえば binding.pryの存在、$ (show-source)、@ (whereami)、ls とその -G (grep) オプション、デバッグ機能 (要pry-byebugプラグイン) という感じで、他はまあたまに使うかもねくらいの感じになったのだが、なんとこれらはRuby 3.2ではIRBで全て使えるようになった。その上、Gemfileに何も書かなくてもデフォルトで使え

                                                                        Ruby 3.2 のIRBの新機能 - Qiita
                                                                      • Rubyで書かれた ソースコードを読む技術 in kaigi on rails/technic-of-reading-source-code-written-in-ruby-for-kaigi-on-rails-2020

                                                                        Rubyで書かれた ソースコードを読む技術 in kaigi on rails/technic-of-reading-source-code-written-in-ruby-for-kaigi-on-rails-2020

                                                                          Rubyで書かれた ソースコードを読む技術 in kaigi on rails/technic-of-reading-source-code-written-in-ruby-for-kaigi-on-rails-2020
                                                                        • Rails + Contentful で LP のコーディングをゼロにする - pixiv inside

                                                                          こんにちは、@f_subal です。 pixivFACTORY というサービスで普段はフロントエンドをやっています。 今回は Rails のサービスに Headless CMS の Contentful を導入し、ワークフローを改善した話をします。 ランディングページ、あるいはマスターデータの詳細について pixivFACTORY はグッズおよび同人誌がブラウザ上で簡単に作れるサービスです。 取り扱っているグッズは 60 種類以上あり、各グッズごとに仕様が大きく異なります。 グッズにはそれぞれ、仕様や出来上がりの写真を載せたページ(以下、product 詳細とも呼びます)が存在します。 要するに、以下の状況を想定してください。 運営が管理する静的なドメインモデル(ここでいう「作れるグッズの仕様」)が存在する モデルの各内容について説明するページが存在する 各ページの内容は DB の内容から

                                                                            Rails + Contentful で LP のコーディングをゼロにする - pixiv inside
                                                                          • Railsオワコン論 - laiso

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

                                                                              Railsオワコン論 - laiso
                                                                            • Fat Modelの倒し方 / how to deal with fat model

                                                                              銀座Rails#21 ( https://ginza-rails.connpass.com/event/173610/ ) の発表資料になります。 Ruby on Rails アプリケーションにおける Fat Model の解決方法を下記の3つに分けて紹介しています。 1. Rails Way 2. Sub-Rails Way 3. Non-Rails Way 本発表はBlogにも文書の形でまとめてありますのでそちらもあわせてご参照ください。 https://blog.toshimaru.net/how-to-deal-with-fat-model/

                                                                                Fat Modelの倒し方 / how to deal with fat model
                                                                              • Rubyとシビックテックの素敵な関係! RailsとDecidimで“DIY”な市民活動に参加しよう

                                                                                シビックテックとは最近では「FinTech」「EdTech」などなど、「なんとかテック」という名前(ちょっと気取った言い方では「X-Tech」と呼ぶそうです)の技術をよく聞きます。最近のはやりなんでしょうか。「シビックテック(CivicTech)」はその中でも比較的古参にあたるようで、10年ほど前から使われていた用語になります。 もっとも、シビックテックという言葉は誰かがこれといって提唱したことではなく、「Civic Technology」の略語としてなんとなく自然発生的に生まれたようです。シビックテックという言葉よりも前に使われていた用語に「Government 2.0」(Web 2.0の二番煎じみたいなやつですね)や「e-Government」といったものがあり、これらは政府や行政を電子化する、といったトップダウンの方向が強そうです。それに比べると、シビックテックは草の根型の活動も含め

                                                                                  Rubyとシビックテックの素敵な関係! RailsとDecidimで“DIY”な市民活動に参加しよう
                                                                                • プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ

                                                                                  技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 昨日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.2.0 がリリースされました(Ruby 3.2.0 リリース)。今年も Ruby 3.2 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ プロと読み解く Ruby 3.1 NEWS -

                                                                                    プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ

                                                                                  新着記事