並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 252件

新着順 人気順

rails includesの検索結果1 - 40 件 / 252件

  • CDNは5時間で開発できる | POSTD

    「CDN」(content delivery network)という言葉からは、Googleのような大企業がいくつもの巨大なハードウェアを管理し、1秒当たり何百ギガビットものデータを処理する様子が想像されます。しかし、CDNは単なるWebアプリケーションです。私たちのイメージとは違いますが、それが事実です。8年前に買ったノートパソコンを使って、コーヒーショップの席に座りながらでも、きちんと機能するCDNを構築できます。この記事では、これから5時間でCDNを開発しようとするときに、直面するかもしれないことを紹介します。 まずはCDNの機能を明らかにしておきましょう。CDNはセントラルリポジトリ(通称:オリジン)からファイルを吸い上げ、ユーザーに近い場所でコピーを保存します。初期のオリジンはCDNのFTPサーバーでした。現在、オリジンは単なるWebアプリとなり、CDNはプロキシサーバーとして機

      CDNは5時間で開発できる | POSTD
    • Webエンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて【前編】|Offers Tech Blog

      はじめに こんにちは!Offers を運営している株式会社 overflow の バックエンドエンジニアの takkun7171 です。 エルデンリングをクリアして、Apex のランクを再開したところ、 初のソロダイヤを達成しますた。齢 40 過ぎのオッサンでも、やればできるんだから!!w さて、技術ブログなんですが、今回は技術というよりも Web エンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて 書いてみようかなと考えてます。 初心者向けというわけではないのですが、 4 月ですし、新人エンジニアの方も増えるということで 初心者の方にも読んで頂きたいです。 そこそこ分量があるので、前後編に分けて、 前編はハードスキル中心、後編はソフトスキル中心で書いてみます。 後編の記事 自分はマネージャーでも CTO でもなく一介のエンジニアでしかありませんが、 Web エンジニア歴は

        Webエンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて【前編】|Offers Tech Blog
      • ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog

        こんにちは、delyコマース事業部エンジニアの小川です。 先月11月に入社し、エキサイティングな毎日を過ごしています。 この記事はdely Advent Calendar 2019 - Qiitaの24日目の記事です。 昨日はSREの松嶋さんが「AWS RunCommandを使ってEC2上に監視ダッシュボードをサクッと作る(Ansible+Terraform+Grafana編)」という記事を書いてくれましたので是非そちらも読んでみてください! tech.dely.jp コマース事業部では、現在「事業開発」と「ソフトウェア開発」がほぼ同時に進行しており、プロジェクトにおける確定要素と不確定要素が複雑に絡み合っています。 スピード重視でゴリゴリ実装していくのも興奮しますが、変化に耐えづらい実装をしてしまうと、その後の開発スピードに影響していまい、事業のスピードが落ちるなんて事にもなりかねません

          ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog
        • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

          技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

            プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
          • Modern web apps without JavaScript bundling or transpiling

            August 12, 2021 Modern web apps without JavaScript bundling or transpiling I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that

              Modern web apps without JavaScript bundling or transpiling
            • Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに

              Ruby言語によるWebアプリケーションフレームワークの最新版となる「Rails 7」が正式リリースされました。 Rails 7.0 FINAL: 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. https://t.co/WxJ0nKYfE7 — Ruby on Rails (@rails) December 15, 2021 Rails 7の最大の変更点は、フロントエンド開発環境が刷新されてNode.jsを用いない構成がデフォルトとなったことでしょう。 Rails 6では、優れたフロントエンド開発環境を実現するためにトランスパ

                Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに
              • Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog

                こんにちは。SmartHRでRails顧問業をしています @willnetです。最近は主にリファクタリングをしています。 SmartHRのバックエンドは基本的にRubyで書かれています。しかし入社してくるバックエンドエンジニアは必ずしもRubyやRailsを長年使ってきた人だけではなく、前職では他言語を使っていてRuby(Rails)はほとんど使ったことがないという人もいます。 webアプリケーションを作る、という点ではどの言語でも抑えるべき点は同じですが、RubyやRailsに特化した考え方や書き方もありますよね。SmartHRではそれを効率よく習得してもらうために読書会を開催したり、社内のドキュメントツールに知見を書いて共有したりしています。 僕も社内のドキュメントツールにActive Recordの付き合い方ついて書いたところ、評判が良く「テックブログにしたら?」と言われたので今回一

                  Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog
                • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

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

                    Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                  • EmbulkでPostgreSQLをMySQLに移行した話 - LIVESENSE ENGINEER BLOG

                    こんにちは。マッハバイトを運営するアルバイト事業部エンジニアの mnmandahalf です。 先日、マッハバイトの販売管理システムで使っているデータベースをオンプレPostgreSQLからAmazon Aurora MySQLに移行しました。 本記事では移行に至った背景、吸収する必要があった差分や苦労した点についてお話しします。 環境 移行前のバージョン: PostgreSQL 9.4 ※ドキュメントはバージョン14のものを添付しています 移行後のバージョン: Aurora MySQL 3.02.0 (compatible with MySQL 8.0.23) 環境 MySQL移行の背景 データ移行方法の検討 Embulkの実行で考慮したポイント Embulkの設定 scram-sha-256認証への対応 タイムスタンプが9時間巻き戻る FK制約を無効化できない PostgreSQLとM

                      EmbulkでPostgreSQLをMySQLに移行した話 - LIVESENSE ENGINEER BLOG
                    • OpenAI API ドキュメント 日本語訳|#2 GET STARTED 後編|ゑぐみかるちゃあ

                      OpenAI API ドキュメントの日本語訳をこちらでまとめます。文字量の多いドキュメントなので、セクションごとに記事を分割しています。 今回は「GET STARTED 」のセクションからLibraries 、Models、TutorialsそしてUsage policiesを抜粋した後編です。 基本 DeepLで翻訳して、気になるところだけ書き換えています(ほぼ気になるところがないのが、DeepLのすごいところ)。原文との突き合わせができるようにはじめに原文を入れてますので、間違いなど見つけられましたら、ぜひご指摘ください。ご指摘箇所は随時反映させていただきます。 原文のリンクが有効になってますので、それぞれ必要な場合は原文リンクの方を参照ください。 前回のおさらいはこちら Python library|Python ライブラリWe provide a Python library, w

                        OpenAI API ドキュメント 日本語訳|#2 GET STARTED 後編|ゑぐみかるちゃあ
                      • 速報: Basecampがリリースした「Hotwire」の概要|TechRacho by BPS株式会社

                        12/23の朝方、DHHが以下のツイートを発信しました。 Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This includes our brand-new Turbo framework and pairs with Stimulus 2.0 😍🎉🥂 https://t.co/Pa4EG8Av5E — DHH (@dhh) December 22, 2020 取りあえず様子を知りたかったのでDHHのツイートを追ってみました。お気づきの点がありましたら@hachi8833までお知ら

                          速報: Basecampがリリースした「Hotwire」の概要|TechRacho by BPS株式会社
                        • How we use Web Components at GitHub

                          EngineeringHow we use Web Components at GitHubAt GitHub, we pride ourselves on delivering a first-class developer experience. A considerable part of our work is on our front end, which we strive to keep as lightweight, fast,… At GitHub, we pride ourselves on delivering a first-class developer experience. A considerable part of our work is on our front end, which we strive to keep as lightweight, f

                            How we use Web Components at GitHub
                          • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

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

                              プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                            • Railsアプリの処理を100倍以上に高速化して得られた知見 | Recruit Tech Blog

                              はじめまして。2019年4月から妊娠・出産アプリ『Babyプラス』の開発チームにJOINした濱田です。 『Babyプラス』のバックエンドはRailsで実装されているのですが、とあるCSV生成処理がとても遅かったので100倍以上に高速化しました。この過程でRailsアプリの処理高速化に関する以下の知見が得られたので、具体例を交えて共有します。この知見は、ActiveRecordを使用してMySQLなどのRDBMSからデータ抽出をする様々な場面で活用できると思います。 いわゆる「N+1問題」を起こさないのは基本 「ActiveRecordインスタンスの生成コスト」はそれなりに高い pluckはjoinsと組み合わせることで他テーブルのカラム値も取得できる 前提: DBスキーマとデータ規模 今回の処理高速化に関わるモデルのDBスキーマとデータ規模は以下の通りです。なお、これらは本エントリ向けに少

                                Railsアプリの処理を100倍以上に高速化して得られた知見 | Recruit Tech Blog
                              • __proto__の除去でNode.jsのプロトタイプ汚染を防げないケース - knqyf263's blog

                                前提 Node.jsのプロトタイプ汚染について書いているのですが、プロトタイプの説明(prototype と __proto__ の関係とか)を定期的に見直さないと綺麗サッパリ忘れる程度にはNode.js触っていないので、何かおかしいところあればご指摘お願いします。 概要 Node.jsではここ数年プロトタイプ汚染攻撃が流行っています。概要は以下を見れば分かると思います。 jovi0608.hatenablog.com そもそもプロトタイプって何?という人は以下の記事が分かりやすいです。自分はお守りのように定期的に読んでます。 qiita.com 外部から送られてきたJSONなどをパースして変換し、そのオブジェクトをmergeやcloneする際に __proto__ を上書きすることで Object.prototype を汚染するというものです。このオブジェクトが書き換えられると、新しく作

                                  __proto__の除去でNode.jsのプロトタイプ汚染を防げないケース - knqyf263's blog
                                • The technology behind GitHub’s new code search

                                  To perform a search, we intersect the results of multiple lookups to give us the list of documents where the string appears. With a trigram index you need four lookups: lim, imi, mit, and its in order to fulfill the query for limits. Unlike a hashmap though, these indices are too big to fit in memory, so instead, we build iterators for each index we need to access. These lazily return sorted docum

                                    The technology behind GitHub’s new code search
                                  • 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
                                    • プロと読み解く 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 - クックパッド開発者ブログ
                                      • 我々はConcernsとどう向き合うか - おもしろwebサービス開発日記

                                        この文章は先日開催された大阪Ruby会議02での登壇内容Concerns about Concernsをブログエントリにしたものです。書いている内容は登壇内容とだいたい同じですが完全一致ではなく、構成を変更したり喋っていない情報を足したりしてます*1。 大阪Ruby会議02に出席していない方でもスライドを読めば大体の内容を把握できると思いますが、これだと細かいニュアンスは伝えられない(し、この手の話はその細かいニュアンスが大事だったりする)のでちゃんとブログエントリにしておこうと思ったのでした。 意見がある人はこちらのスレに書いてもらえると嬉しいです(\( ⁰⊖⁰)/) Concernsとはなにか Concernsという概念は、Rails 4.0から導入されました。具体的にはrails newしたときに生成されるファイルたちの中に app/models/concerns app/contr

                                          我々はConcernsとどう向き合うか - おもしろwebサービス開発日記
                                        • Blitz.jsをRuby on Railsエンジニアが触ってみた感想

                                          感想です。 何をしたか 現状でBlitz.jsで本番サービスを運用できるかの調査。 Railsで運用している本番サービスの一部機能を、3日間ほどかけて移行を試してみた。 結論 (Railsの主戦場でもある)新規事業開発の文脈でのクイックな立ち上げを想定するなら、本番運用するにはまだ厳しい。 特に、RailsユーザーとしてはActiveRecordがないのが厳しい。 開発効率そのものはRailsと比べて多少落としても、Railsよりもスケーラブルで型安全に開発したいなら、割と良い選択肢に思う。 もろもろ可能性は感じるので、引き続き応援していきたい。 良かった点(=Blitz.jsに興味を持っている理由) 型安全な開発 サーバーもフロントも全てが型に守られた開発、そしてIDEの恩恵を受けられるのは、いうまでもなく心地がいい。 型は補助輪のようなものなので、ユーザースキルが高ければ必須ではないく

                                            Blitz.jsをRuby on Railsエンジニアが触ってみた感想
                                          • The 5-hour CDN

                                            The 5-hour CDN Author Name Kurt Mackey @mrkurt @mrkurt The term “CDN” (“content delivery network”) conjures Google-scale companies managing huge racks of hardware, wrangling hundreds of gigabits per second. But CDNs are just web applications. That’s not how we tend to think of them, but that’s all they are. You can build a functional CDN on an 8-year-old laptop while you’re sitting at a coffee sho

                                              The 5-hour CDN
                                            • 研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ

                                              はじめに 配属研修の課題について エンジニア新入社員研修の個人課題:「JavaScriptでの開発」 配属研修課題1:「RailsでAPIサーバのみ構築」 配属研修課題2:「Railsでフロントエンドも含めた開発」 作ったアプリケーションの概要 JavaScript・Expressで開発した時との違いに関する感想 letやconstが要らない変数定義 falsyな値の違い ブロックをそのまま変数に代入できない 暗黙のreturn 条件文の後置 フレームワークの機能が豊富 ディレクトリ構造の一貫性 リソースベースルーティング 課題を取り組みながら学んだこと OpenAPIを使ったAPI定義ファイルの作成 N+1問題対策 テストコードに関する考えの変化 おわりに We are hiring! サムネイル画像 はじめに こんにちは。2022年4月に新卒で入社しました教育事業本部サービス開発部バッ

                                                研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ
                                              • Ruby with Visual Studio Code

                                                Version 1.88 is now available! Read about the new features and fixes from March. Ruby in Visual Studio Code Ruby is a dynamic, open-source programming language known for its simplicity and productivity. With an expressive and elegant syntax, part of the Ruby philosophy is to make developers happy. It is often used for web development with a range of different frameworks, and for scripting, allowin

                                                  Ruby with Visual Studio Code
                                                • クローズしたサービスの管理画面を静的サイトにする - クックパッド開発者ブログ

                                                  こんにちは、技術部の石川です。 ある日、社内の各種アプリケーションを眺めている中で、とあるクローズしたサービスの管理画面を担っていたウェブアプリが今も動いていると気付きました。簡単にヒアリングしたところ、サービス自体はクローズしたものの、保有していたデータが次のチャレンジに生かせるため管理画面だけ残しているとのことでした。 一方で、その管理画面へのアクセスはそう多くありませんでした。毎日ちょっとだけのリクエストを処理するためだけにデータベースとサーバーが動いており、少し無駄がある状態になっていました。 やや気になったので検討した結果、最終的にこの管理画面アプリを Next.js 製の静的なデータビューワーサイトとしてリニューアルし、社内向けの GitHub Pages として提供されている状態にできました。この記事ではその顛末をご紹介します。 技術選定 いくつか事前調査をした結果、今回の管

                                                    クローズしたサービスの管理画面を静的サイトにする - クックパッド開発者ブログ
                                                  • Honoの今の状況 - ゆーすけべー日記

                                                    この記事は2023 JSConf JPで発表したHono v3 and v4を元に11月17日に書いたCloudflare社内のブログ記事「Current Status of Hono」を日本語に訳した記事です。 Honoの「Initial commit」からおおよそ2年が経ちました。このプロジェクトは2021年の12月15日に始まりました。 当初、私はCloudflare WorkersのみのためにHonoを作りました。itty-routerはよかったものの、私が欲しかった多くの機能が欠落していました。また、私は勉強のためにTrie木構造のルーターを作りたかったのです。それがHonoの生まれた理由です。 それから多くのことが起こりました。私がCloudflareにいるのもHonoのおかがです!HonoはCloudflare開発者コミュニティで認知されていきました。Honoの人気が出ること

                                                      Honoの今の状況 - ゆーすけべー日記
                                                    • Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ

                                                      こんにちは。技術部クックパッドサービス基盤グループの青沼です。当グループではクックパッドのレシピサービスを支える web アプリケーションの改善を進めています。今回はフロントエンドの改善の一環として、 Babel と Rollup を Rails のアセットパイプラインに組み込み、レガシーな CoffeeScript ファイルを ES2015+ の JavaScript に移行した話をします。 レシピサービスと CoffeeScript の歴史 クックパッドは10年以上の歴史を持つサービスです。中でもレシピサービスの web アプリケーションは初期に作られた Rails 2 アプリケーションがアップグレードを重ねながら今も動いています。2018年には Rails 3 から4へ、つい最近では4から5へのアップグレードを完了しました。 Ruby のコードはそれに伴って新しい書き方へと徐々に移行

                                                        Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ
                                                      • Announcing SvelteKit 1.0

                                                        Announcing SvelteKit 1.0 Web development, streamlined The Svelte team Dec 14 2022 After two years in development, SvelteKit has finally reached 1.0. As of today, it’s the recommended way to build Svelte apps of all shapes and sizes. We’re so excited to share this release with you. It’s the culmination of thousands of hours of work, both from the Svelte core team and the wider community, and we thi

                                                          Announcing SvelteKit 1.0
                                                        • Let'sリファクタリング!! 〜ボクシル開発チームでやってきたこと〜 - SMARTCAMP Engineer Blog

                                                          こんにちは!フリーランスエンジニアの曽根田です。 本日は「Let'sリファクタリング!!」ということで、以下の内容でお届けさせていただきます。 はじめに ボクシル開発チームで取り組んできたこと リファクタリングに取り組むにあたっての背景 リファクタリングコードのサンプル Let's リファクタリング DB への問い合わせの削減(N+1 対策) 対策 1: categories と category_setting_items を予め読み込んでおき、キャッシュさせておく 対策 2: product_category_settings を予め読み込んでおき、キャッシュさせておく/ view での SQL の発行を止める 改善結果 view のコンポーネント化 未使用の関数の削除 外部キー制約をつける NOT NULL 制約をつける test コードを書く まとめ はじめに スマートキャンプさん

                                                            Let'sリファクタリング!! 〜ボクシル開発チームでやってきたこと〜 - SMARTCAMP Engineer Blog
                                                          • Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk

                                                            Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk Dealing with incoming email, composing rich-text content, connecting to multiple databases, parallelizing test runs, integrating JavaScript with love, and rewriting the code loader. These are fundamental improvements to the fundamentals of working with the web and building fast and fresh appl

                                                              Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk
                                                            • Rails: Active Recordメソッドのパフォーマンス改善とN+1問題の克服(翻訳)|TechRacho by BPS株式会社

                                                              概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Improving Database performance and overcoming common N+1 issues in Active Record using includes, preload, eager_load, pluck, select, exists? – Saeloun Blog 原文公開日: 2020/01/08 著者: Rohit Kumar サイト: Saeloun -- Ruby on Railsのコンサルティング会社で、Rails + React開発のほかに、React Nativeによるモバイルアプリ開発も手がけています。 日本語タイトルは内容に即したものにしました。 2020/03/11: 初版公開 2023/09/27: 更新 Railsアプリケーションのパフォーマンスは多くの変数に

                                                                Rails: Active Recordメソッドのパフォーマンス改善とN+1問題の克服(翻訳)|TechRacho by BPS株式会社
                                                              • 2021年にやったこと - k0kubun's blog

                                                                2020年にやったこと 2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと というわけでこれ毎年書いてるんですけど、 なんか参戦したくなったので Rubyist近況 Advent Calendar 2021 24日目です。 入居者募集 記事があるくらいですし、自由に書こうと思います。メリークリスマス。 発表 1歳児がいる状況で家を留守にしたり夜に声を出したりすると家族に負担がかかるので、録画提出できるカンファレンスにしか基本参加しないことにしているのだけど、コロナが長引いていることにより今年も登壇しやすい状況が続いた。 とはいえ、ハイブリッド開催だったRubyConfに関しては、国内の渡航だけでShopifyのYJITチーム全員 (や当地のRubyフレンズ) と対面で話せる貴重な機会だったので、行けなかったのは惜しいなあと

                                                                  2021年にやったこと - k0kubun's blog
                                                                • ためして分かる、N+1問題とその解決方法 - プログラミング漫遊記

                                                                  この記事はフィヨルドブートキャンプ Part 1 Advent Calendar 2022 の23日目の記事です。 昨日はpart1が penoさんのフルタイムで働く社会人が月に100時間の勉強時間を確保できるようになるまで。私なりの具体的なやり方と失敗事例 - ぺのめも、part2が uchihiroさんのVSCodeのパッケージ不適合によるエラー解決までの道のり(Byebug編)でした。 前振り フィヨルドブートキャンプを今年の4月に卒業しました。卒業生なので、近況報告などしようかなと思ったんですがDiscordや日報などで日々わーわー言ってるので自重しておきます。 その代わり?最近友達とN + 1 問題の勉強会を行ったのでハンズオン形式で理解できるような記事を書いてみようと思います。(わからないところあったらフィードバックください) Ruby on Rails でよく発生するN +

                                                                    ためして分かる、N+1問題とその解決方法 - プログラミング漫遊記
                                                                  • GitHub ActionsでPRを自動生成するチュートリアル - spacelyのブログ

                                                                    株式会社スペースリーのRailsエンジニアの海老原です。 スペースリーが提供するサービスの反映は、CSチームでテストを実施してから本番環境にリリースする業務フローになっております。各featureブランチごとに、テストを実施できるように、プルリクエストに動作確認の手順を記載し、動作確認をCSに依頼するという流れです。今回は、ラベルごとにPRの記載内容を書き分けて、自動でプルリクエストを作成できるようにする設定を、GitHub Actionsを使って行いましたので、コードを交えて紹介したいと思います。 以下のようなプルリクエストをGitHub Actionsから自動で作成できます。赤枠が自動で埋められる部分です。 1. ローカルデバッグ環境構築 まずは、作業の準備として必要なツール類のインストールを行ってローカルの開発環境を整えて行きます。 4章のインテグレーションテストで利用することになり

                                                                      GitHub ActionsでPRを自動生成するチュートリアル - spacelyのブログ
                                                                    • How to Fix Slow Code in Ruby

                                                                      Opens in a new windowOpens an external siteOpens an external site in a new window By Jay Lim and Gannon McGibbon At Shopify, we believe in highly aligned, loosely coupled teams to help us move fast. Since we have many teams working independently on a large monolithic Rails application, inefficiencies in code are sometimes inadvertently added to our codebase. Over time, these problems can add up to

                                                                        How to Fix Slow Code in Ruby
                                                                      • freee 会計に残る 400ファイルの CoffeeScript を decaffeinate を使って書き換えた話 - freee Developers Hub

                                                                        こんにちは、freee会計でエンジニアをしている jaxx です。 freee 会計におけるメイン業務とあわせて、会計フロントエンド委員会というフロントエンドに思い入れのある有志で集まった委員会にも所属しており、フロントエンドの技術的負債と向き合ったり、新しい技術導入に向けて意見を交換し合ったりしています。 今回はその改善の一環として freee 会計に残る 400ファイルの CoffeeScript を decaffeinate を使って書き換えた話をします。 freee 会計と CoffeeScript 参考:「10分でわかるfreee エンジニア向け会社説明資料」 freee 会計の開発が始まった 2012 年ごろ Ruby on Rails3 では CoffeeScript が標準サポートされており、freee もそれにならってフロントエンドでは CoffeeScript がメイン

                                                                          freee 会計に残る 400ファイルの CoffeeScript を decaffeinate を使って書き換えた話 - freee Developers Hub
                                                                        • Effect of the Last Week on Ruby on Rails

                                                                          As someone who, like many here, depends on Rails for my job, I’m worried about the long term effects of the last week on Rails. I’m not going to discuss those changes at Basecamp but I want to discuss my concerns about what this means for Rails itself. In the last week we’ve seen: One Rails core team member resign from the core team The creator and major contributor to important features in Rails,

                                                                            Effect of the Last Week on Ruby on Rails
                                                                          • TypeScript でメソッドチェーンしたら推論される引数が増えていくやつ - エムスリーテックブログ

                                                                            こんにちは、エムスリーエンジニアリンググループ Unit5 (Consumer) チームの園田です。 今回は大きな実装ではなく、TypeScript のちょっとしたテクニックを Next の API ルートを題材に書いてみます。 想定読者は TypeScript 初心者の方です。TypeScript 強者の方はどうぞ温かい目で見てください。 はじめに モチベーション 実装のポイント 試行錯誤 関数で何度も囲む形式 引数指定 + オーバーロード 実際に辿った実装手順 最終的なコード Class 構文での実装 まとめ We are hiring はじめに まずは何を作ったのかご覧ください。 NextApiHandler の Factory できた メソッドチェーンで引数が増えてくやつ hono の zValidator を意識したけど、ハンドラの引数として Zod を渡すのではなくメソッドチェ

                                                                              TypeScript でメソッドチェーンしたら推論される引数が増えていくやつ - エムスリーテックブログ
                                                                            • Post-Incident Review on the Atlassian April 2022 outage - Atlassian Engineering

                                                                              This PIR is available in the following languages:日本語 | 简体中文 | 繁體中文 | Deutsch | English | Español | Français | Italiano | 한국어 | Polski | Português | русский. Letter from our co-founders & co-CEOs We want to acknowledge the outage that disrupted service for customers earlier this month. We understand that our products are mission critical to your business, and we don't take that responsibility light

                                                                                Post-Incident Review on the Atlassian April 2022 outage - Atlassian Engineering
                                                                              • Rewriting the Ruby parser

                                                                                At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems downloaded from rubygems.org. We recently got approval to merge this work into C

                                                                                  Rewriting the Ruby parser
                                                                                • Level up your JavaScript browser logs with these console.log() tips

                                                                                  Level up your JavaScript browser logs with these console.log() tips I consider myself a backend software engineer - and as any backend engineer would attest, a large part of our life is spent monitoring, troubleshooting, and debugging our applications. The fundamental rule of software development is that software will fail - what separates new developers from experienced ones is how they plan for

                                                                                    Level up your JavaScript browser logs with these console.log() tips