並び順

ブックマーク数

期間指定

  • から
  • まで

561 - 600 件 / 4915件

新着順 人気順

railsの検索結果561 - 600 件 / 4915件

  • 「アプリケーションが壊れているのに検知できないテストコード」を書かないようにするための、べからず集 - Qiita

    はじめに テストコードを書くことは重要です。 テストコードがないアプリケーションよりもテストコードがあるアプリケーションの方が望ましいことは間違いありません。 ですが、テストコードも書き方を間違えると、アプリケーションが壊れているのに正しく検知できないテストを書いてしまう可能性があります。 この記事ではそんな「アプリケーションが壊れているのに正しく検知できないテスト」のコード例を「〜するべからず(〜してはいけない)」の形式で紹介し、その修正方法を説明していきます。 サンプルコードはRSpecで書いてます(でも他の言語でも考え方は同じはず) サンプルコードはRailsアプリケーションをRSpecでテストする場合を想定したものになっていますが、基本的な考え方自体は他の言語やテスティングフレームワークでも適用可能なはずです。 RSpecのイロハについて先に学んでおきたいかたは「使えるRSpec入

      「アプリケーションが壊れているのに検知できないテストコード」を書かないようにするための、べからず集 - Qiita
    • N+1問題におけるORMの重たさについて - Atsuo Ishimoto's blog

      tl;dr¶ボトルネックはちゃんと測定して把握しないとダメだよ。 N+1問題¶DjangoやRailsなど、ORMを利用するWebフレームワークなどの開発では、よく 「N+1問題」 というのが話題になります。ORMでは、あるモデルが参照している別のモデルを参照するとその時点でSQLが発行されてしまうため、気が付かないうちにパフォーマンスが低下する場合がある、というやつですね。 Django¶例えば、Djangoで次のようなモデルがあったとき、 class Table1(models.Model): text = models

        N+1問題におけるORMの重たさについて - Atsuo Ishimoto's blog
      • GraphQLの基礎の基礎 - Qiita

        はじめに GraphQLについての知見が溜まってきたので、これから何回かに分けて記事としてまとめていきたいと思います。 GraphQLはWEB APIのクエリ言語であり、既存のデータに対してクエリ(データ取得の命令)を実行するためのランタイム(実行時に必要なもの)です。 REST APIと異なり、GraphQLではエンドポイントが1つだけであり、処理ごとに増やしていく必要もないので、管理しやすいことが大きな特徴です。 本記事では、GraphQL公式チュートリアルを参考に、実際にスキーマ言語を記述した上でGraphQL IDEにてクエリを書き、データの取得を実践します。 記事内で使用する言語はJavaScriptです。 GraphQLの歴史 GraphQLは2012年頃Facebook社が開発をスタートしたこときっかけに、2015年にはオープンソース化、2018年にはGraphQL Foun

          GraphQLの基礎の基礎 - Qiita
        • もしもいま、Ruby/Railsをイチから学び直すとしたら? Ruby技術書著者・五十嵐 邦明さんに聞いた学習ロードマップ - Findy Engineer Lab

          めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回お話を伺ったのは、Ruby・Rails関連の技術書を数多く上梓し、学習環境の充実化やエンジニア育成に尽力されてきた五十嵐邦明さん(@igaiga555)。“自分だったらこう進めたい、Ruby・Ruby on Railsの学習ロードマップ”を伺いました。 初心者に向けて執筆した『ゼロからわかる Ruby超入門』が最適 ――五十嵐さんがいま、イチからRuby・Railsを学び直すとしたら、何から始めますか? もしも私がこれから学び直すとしたら、自分が執筆した『ゼロからわかる Ruby超入門』を使

            もしもいま、Ruby/Railsをイチから学び直すとしたら? Ruby技術書著者・五十嵐 邦明さんに聞いた学習ロードマップ - Findy Engineer Lab
          • メモリの上に置かれているRubyの文字列を覗く - ローファイ日記

            これもフィヨルドブートキャンプの生徒さんの質問からふと思いついた、ちょっとした遊びですが。 (そして、書いてある内容に誤解があったら優しく教えてください) p Object.new => #<Object:0x000055959ddf1910> Rubyのオブジェクトのinspect表示のデフォルトで出てくる、この16進数は、このオブジェクトが置かれているメモリアドレスのことだと知られている。 では、実際にこのメモリアドレスにオブジェクトが置かれていることを確かめるには? さて、以下のコードはLinuxで動かすことにする。 String オブジェクトで試してみる。と言っても、StringのinspectはObjectに定義されたものではなく、自分のクラスで定義しているので、まずはそれを「無効にする」。以下のような方法で Object#inspect を呼ぶように変更できる。 class S

              メモリの上に置かれているRubyの文字列を覗く - ローファイ日記
            • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

              はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

                SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
              • 継続的にRailsアプリを開発する上で早めにやっておきたいこと

                https://gitlab.com/gitlab-org/gitlab/-/tree/master/rubocop/cop https://postd.cc/how-dhh-organizes-his-rails-controllers

                  継続的にRailsアプリを開発する上で早めにやっておきたいこと
                • 【新人プログラマ応援】開発タスクをアサインされたらどういう手順で進めるべきか - Qiita

                  はじめに これはQiitaで開催されている「新人プログラマ応援 - みんなで新人を育てよう!」イベントの投稿記事です。 前回は「学習用のプログラムと仕事で書くプログラムは何が違うか」というタイトルで、お勉強用に作るプログラムと仕事で書くプログラムはこんなところが違うんだよ〜、というお話を書いてみました。 今回の記事ではみなさんが無事にプログラマとして就職できたと仮定して、「○○さん、このタスクお願いね」と開発タスクをアサインされたときの対応手順を説明してみます。 この記事を書いている人 仕事で20年近くプログラムを書いているプログラマ 現在は株式会社ソニックガーデンでRubyプログラマをやっている Rubyの入門書「プロを目指す人のためのRuby入門」を出版している プログラミングスクール「フィヨルドブートキャンプ」のメンターでもある 対象読者 新卒、または業界未経験の中途入社で最近プログ

                    【新人プログラマ応援】開発タスクをアサインされたらどういう手順で進めるべきか - Qiita
                  • 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を始める人が読むと良いサイト - 技術メモ
                    • 2021 年度新卒エンジニア研修について | MEDLEY Developer Portal

                      2021-10-122021 年度新卒エンジニア研修についてこんにちは。医療介護求人サイト「ジョブメドレー」の開発を担当しているエンジニアの山田です。 今年の新卒エンジニア研修において、メンターを担当しました。 メドレーでは 2019 年度から新卒採用を行なっており、今年 2021 年度は 5 名の新卒がエンジニアとして入社しました。 例年と同じく 4 月から 9 月にかけて、約 5 ヶ月間の新卒エンジニア研修を実施しましたので、その取り組みを、研修受講者である新卒からの声も交えてご紹介します。 新卒研修の概要今年の新卒研修の最終ゴールは、「メドレーのエンジニアとして、Our Essentials(※) を体現し、顧客へ価値提供できるようになるための基礎を身につけ、経験を得ること」として掲げました。 ※) メドレーの行動原則 メドレーの新卒エンジニア研修では、技術を身につけることだけではな

                        2021 年度新卒エンジニア研修について | MEDLEY Developer Portal
                      • Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog

                        Runa という Ruby で Gem を使ったり複数ファイルで構成された中規模のアプリケーションを簡単に書くためのフレームワークを作っています。 Runa を作った経緯 Ruby は単独のスクリプトファイルとして実行するときは取り回しも簡単で大変使いやすい(小規模アプリケーション) が、特定の gem に依存したり複数ファイルで構成されるようなアプリケーションを作ろうとするとスタンダードな方法が用意されておらず(特に配布や共有のことを考えると)敷居が高くなってしまう(中規模アプリケーション) これが今まで余り問題にならなかったのは、Web アプリであれば Rails がその辺りも面倒をみてくれたり、コンソールアプリケーションなら gem で配布するみたいな方法でやりくりしてきた経緯がある。しかし gem で配布するには RubyGems のアカウントが必要だったり、昨今のセキュリティ問題

                          Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog
                        • FactoryBot the Right Way

                          Kaigi on Rails ( https://kaigionrails.org )の登壇資料です。

                            FactoryBot the Right Way
                          • なんとなく、Railsアプリケーションの高速化について自分が知っていることを吐き出してみる

                            まず、RailsやRubyが遅いせいでユーザ体験に影響がでるというのは、普通のWebアプリケーションであれば基本は無いんじゃないかと思います。GitHubもShopifyもRailsです。まず自分のコードや構成を疑うのが大体の場合正しいと思います。 計測して、必要になるまではやらない 時間は貴重なので、不必要な最適化をしないというのが結構重要だと思います。 当て推量で無駄なことをしてしまったり、最適化するの自体が楽しくなってしまって時間を使ってしまいがちです。 その上では 目標を立てて十分早ければそれでよいと考える 例えばクックパッドでは(平均?)レスポンスタイム200ms以下を目標にしているようです 計測する が重要かと思います。 計測するには、とりあえずはありものの道具を使いましょう。 サーバサイドであれば 開発環境にはrack-mini-profiler を入れましょう 本番ではAP

                              なんとなく、Railsアプリケーションの高速化について自分が知っていることを吐き出してみる
                            • 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
                              • RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社

                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: History of RSpec – Steven R. Baker 原文公開日: 2021/05/09 著者: Steven R. Baker 日本語タイトルは内容に即したものにしました。 私がTDD(テスト駆動開発)をチームで教え始めたのは2001年のことでした。当時のTDDはまだかなり新しい概念でしたので、テストを自動化したチームもほとんどなく、XP(エクストリームプログラミング)やTDDについて聞いたことがある人も皆無でした。テストを最初に書くことで設計を進めるという概念は当時まったく知られていなかったので、TDDを理解するのに皆とても苦労していました(20年経った今でも、この事実が完全に変わったとは言えません)。 思い返せば、あの当時は厳しい状況でした。最善を尽くしてTDDの概念を説明し、どうにかしてチームの関心を惹こう

                                  RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社
                                • HomebrewのCaskリポジトリを介した任意コード実行

                                  English version is available here: https://blog.ryotak.net/post/homebrew-security-incident-en/ (公式インシデント報告はこちらから読むことができます: https://brew.sh/2021/04/21/security-incident-disclosure/) はじめにHomebrewプロジェクトはHackerOne上で脆弱性開示制度(Vulnerability Disclosure Program)を設けており、脆弱性の診断行為が許可されています。 本記事は、当該制度に参加し、Homebrewプロジェクトのスタッフから許可を得た上で実施した脆弱性診断行為について解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 Homebrewに脆弱性を発見した場合は、

                                    HomebrewのCaskリポジトリを介した任意コード実行
                                  • 型なし言語のための型

                                    富山Ruby会議01

                                      型なし言語のための型
                                    • Rubyを研鑽した話

                                      研鑽Rubyの話 研鑽Ruby出ましたね。 レビューに参加させてもらってコメントさせてもらいました。主に実装周りと性能周り。本書についてはいくつか素敵な書評が出ているのであまり書きませんが、なるせさんが書いていた やりたいことに対していくつもの書き方がある "There is more than one way to do it" なRuby において、『研鑽Rubyプログラミング』はきっとまだ行くべき道を見定められない人の助けとなることでしょう。 という表現はまさに的を射た書評だと思います。Jeremy 流の書き方のご紹介。いろんな書き方を知るのは良い勉強になります。ただ、素直にすべて鵜呑みにするとまずそうな本だと思うので、自分や人の意見を確認しながら、批判的に読むと良いと思います。まぁ、どんな本でもそうかもしれませんが。 Ruby を研鑽した話 で、Rubyの性能に興味のあるパーソンと

                                        Rubyを研鑽した話
                                      • Ruby × jemallocのすすめ - メドピア開発者ブログ

                                        集合知プラットフォーム事業部・エンジニアの榎本です。コロナ禍の運動不足を解消すべく筋肉体操で筋トレを続けてますが、上腕三頭筋がいい感じに成長しており継続の大切さを身に沁みて実感しております。 目次 TL;DR(三行要約) Rubyアプリケーションのメモリ肥大化問題 jemalloc を使ってみる jemalloc とは? jemalloc で改善するのか? jemalloc の設定方法 jemalloc をプロダクション導入してみた結果 まとめ おまけ:jemalloc についてMatzに聞いてみた TL;DR(三行要約) jemalloc でRubyアプリのメモリ効率改善 jemalloc でRubyアプリのパフォーマンス改善 jemalloc の導入も簡単 Rubyアプリケーションのメモリ肥大化問題 Ruby on RailsなどのRubyアプリケーションを運用する上で、メモリ使用量の

                                          Ruby × jemallocのすすめ - メドピア開発者ブログ
                                        • プログラムを「書き始める」「試しに実行する」コストを下げる工夫

                                          はじめに 物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。 このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。 本稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。 筆者が Ruby が好きなので、Ruby の例が多いですが、別に Ruby に限った話ではありません。 プログラミング言語による違い たとえば、C 言語ですと、プログ

                                            プログラムを「書き始める」「試しに実行する」コストを下げる工夫
                                          • Railsアプリの脆弱性パターン / vulnerability patterns for Rails app

                                            集え、Rubyist ~著名Rubyistから学ぼう~ iCARE Dev Meetup #14 https://icare.connpass.com/event/189356/

                                              Railsアプリの脆弱性パターン / vulnerability patterns for Rails app
                                            • Zigで簡単クロスコンパイル 2022 - k0kubun's blog

                                              僕は以下の3つのツールを複数プラットフォーム向けにクロスコンパイルしてバイナリ配布しており、以下のように全て異なる言語で開発している。 Go: sqldef Rust: xremap mruby: mitamae クロスコンパイルに苦労している話をするとZigを使ってみたらいいんじゃないかと言われることがあり、周りでもZigが何となく流行り始めた気がするので、これらのツールに実際自分で使ってみてどうだったかという事例を紹介したい。 Zigとは Zigはそもそもプログラミング言語なのだが、C/C++とのinteropがやりやすい言語なようで、おそらくそれに必要でLLVMベースのC/C++ツールチェインが同梱されていて、しかもそれをDrop-In Replacement for GCC/Clangとして売りにしている。 僕はZig言語そのものにはそれほど興味はないのだが、クロスコンパイラとして

                                                Zigで簡単クロスコンパイル 2022 - k0kubun's blog
                                              • 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
                                                • ブラウザでRubyを動かす夢 - まめめも

                                                  何に使うわけでもないけど、とにかくブラウザで Ruby を動かしたかったんです。 その夢が、ついにかなった気がします。 長年の念願だった Emscripten と xterm.js でブラウザで irb を動かすやつがついに(一応)できたhttps://t.co/ubentOzj7p— Yusuke Endoh (@mametter) 2024年1月27日 振り返ってみると、ここに来るまで 6 年もかかったようです。ちょっと嬉しくなったので経緯を書き残します。 Emscripten で Ruby をビルドする 2018 年、ふと思い立って、Emscripten で Ruby をビルドできるようにしました。 Emscripten は、要するに C/C++ プログラムを JavaScript や Wasm に変換してくれるコンパイラです。C で書かれた Ruby を Emscripten でビ

                                                    ブラウザでRubyを動かす夢 - まめめも
                                                  • Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn

                                                    昨日は https://note.com/takuya_stmn/n/n02e627b9afc3 で会社のアップデートを書きました。プロダクト系職種の中でも、特にコロナによるフルリモートがどの会社でも当たり前になった頃から採用難易度が増してきた、Webバックエンドエンジニア、とりわけRuby on Railsエンジニアの採用の難易度が難しくなった理由について、Rubyを25年間、Ruby on Railsを18年間やってきた中、感じたことを軽く書きます。 Image courtesy: https://unsplash.com/photos/selective-focus-photography-of-faceted-red-gemstone-p8w7krXVY1k

                                                      Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn
                                                    • What it was like working for GitLab

                                                      February 8, 2024 I joined GitLab in October 2015, and left in December 2021 after working there for a little more than six years. While I previously wrote about leaving GitLab to work on Inko, I never discussed what it was like working for GitLab between 2015 and 2021. There are two reasons for this: I was suffering from burnout, and didn't have the energy to revisit the last six years of my life

                                                      • たのしいOSSコードリーディング: Let’s read WEBrick🏠 - Qiita

                                                        この記事では、Ruby製HTTPサーバーフレームワークであるWEBrickのソースコードリーディングを行います。 経緯 去る2020年11月26日、地域RubyコミュニティTama.rbの公開イベントとしてTama.rb OSSコードリーディング部 WEBrick編を開催しました。 こちらは、原作者の一人である高橋征義さん @takahashim をお招きしてソースコードをわいわい読み、その様子をZoomでライブ配信するという試みでした。 当日学んだWEBrick内部の全体の処理の流れを振り返りつつ整理していきたいと思います。 長い記事ですが、どうぞお付き合いください🙏 WEBrickとは? 引用: library webrick 汎用HTTPサーバーフレームワークです。HTTPサーバが簡単に作れます。 現在はCRuby本体に同梱のHTTPサーバーツールキットとして知られているWEBri

                                                          たのしいOSSコードリーディング: Let’s read WEBrick🏠 - Qiita
                                                        • プロダクトエンジニア養成講座@リブセンスのwebアプリケーションコース用研修資料を公開します - Qiita

                                                          はじめに リブセンスで不動産売買サービスIESHILのエンジニアリングマネージャーしてる@tchikubaです。 今回縁あって、実務未経験の学生向けにプロダクトエンジニア養成講座(webアプリケーションコース)なるインターンのメンターを担当しました。Ruby on Railsを用いたwebアプリケーションの開発を「何を作るか」を定義して「チームで」行う、というものです。 個人的に社会人向けのプログラミング教育に関心があったので良い機会でしたし、未経験者の可能性を広げる意味でも社会的意義が大きいと感じています。 実際に受け入れた2名のメンバーから研修資料を終了後も見れるようにして欲しいと要望頂いていたので、せっかくなので資料を公開します。 期間中、コワーキングしながら作成した資料もあり、それも見れるようにした方が実際に何をやっていたのかより具体的にイメージが湧くのですが、社内のコンフルエンス

                                                            プロダクトエンジニア養成講座@リブセンスのwebアプリケーションコース用研修資料を公開します - Qiita
                                                          • 妄想的DHH理解2:概念的距離の圧縮 - Qiita

                                                            Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちや考え方が間違ってることも当然あるように思うので話半分で読んでください。 これは一体 前回かいた妄想的DHH理解のエピソード0的な話です。 妄想的DHH理解では、DHHがどういう過程で今のRailsフロントエンドに達したかの話が主題でしたが、そこでは「なぜ〜を選ばなかったか」は説明されていませんでした。 彼はモノリシックを愛したり、トレンドと真逆のアプローチでフロントエンドに新しいレールを引き始めたりするので、単に彼が天邪鬼であったり車輪の再発明大好きおじさんとして捉えられがちですが、実は太い太い一本筋をもった技術選定をし続けてるってことが広まればいいなと思ってるファンの記事です。 前提知識 前回とほぼ同じです。 Railsの生みの親、Rubyist。 実はカーレーサーでもありま

                                                              妄想的DHH理解2:概念的距離の圧縮 - Qiita
                                                            • Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita

                                                              Ruby on Rails Advent Calendar 2021の枠が空いていたので、あとから登録しました はじめに 個人的なプロジェクトになりますが、僕が翻訳しているRSpecの入門書「Everyday Rails - RSpecによるRailsテスト入門」を2022年前半にRails 7.0バージョンにアップデートしようと考えています。 そこでこの本の中で使っているサンプルアプリケーションをRails 7.0でゼロから作り直してみました。フロントエンド周りを中心に結構考え方が変わっている部分があったので、「ここでハマった!」とか「こういうポイントを押さえておくといいかも」という点をあれこれ書いてみます。 なお、Rails 7.0版のサンプルアプリケーションはまだ公開できる状態ではないので、公開はもうしばらくお待ちください🙏 今回作成したサンプルアプリケーションはこちらで公開してい

                                                                Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita
                                                              • Rails6の複数データベースの仕組みと実装時にハマったところ - dely Tech Blog

                                                                こんにちは、開発部の高橋です。 本記事はdely Advent Calendar 2019の14日目の記事です。 昨日はミカサ(acke_red)さんの「デザイン負債を返済する - クラシルのデザインの展望2020」という記事でした。 note.com 目次 目次 はじめに 複数データベースの仕組み 複数データベースに関連するActiveRecordの全体像 1. master/slave構成 利用方法 DatabaseSelectorの利用方法 2. 複数のデータベースの利用 利用方法 アプリケーションでの実際の実装 開発時にハマった箇所 POSTのあとのGETでの更新処理で競合が発生 readingロールに対して更新していることがテストで気付きにくい まとめ 最後に はじめに 10月の半ば辺りにRails6の複数機能を利用し、master/slave構成に対応した新規アプリケーションを

                                                                  Rails6の複数データベースの仕組みと実装時にハマったところ - dely Tech Blog
                                                                • Google App Engineのスタンダード/フレキシブル環境を選ぶときのヒントと設定の注意点

                                                                  イメージとしては スタンダード環境の方が気楽にはじめられる フレキシブル環境の方がより細かな設定ができる という感じでしょうか。 「料金が安いのはスタンダード」とは限らない ググって見つかる情報を読むと、多くの人は「スタンダード環境の方が安く済みそうだ」という印象を持つと思います。僕もそのような考えから、当然のようにスタンダード環境を選んでいました。しかし、結果として、Zennの場合にはフレキシブル環境の方が料金は大幅に安く済むことが分かりました。 Zennの場合 具体例があった方が読んでいて楽しいと思うので、恥を捨てて実際にかかっていたGAEの料金を載せてしまいます。ほれっ。 ※ 料金の推移は、サービスへのアクセス数とはほぼ相関していない ピーク時には1万円/日近くいってしまっていますが、設定と環境を見直すと¥500/日くらいで済むようになりました。設定をミスらなければPS5を転売ヤーか

                                                                    Google App Engineのスタンダード/フレキシブル環境を選ぶときのヒントと設定の注意点
                                                                  • Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ

                                                                    ("汚染"という言葉をあまり良く思わない方もいると後から知りました。たしかにその通りだと思います。次から気を付けようと思いますが、とりあえず本記事ではそのまま"汚染"の表現を使います。ご了承ください。) 2021年の3月、突如としてRailsのGPL汚染の話題がネット上を駆け巡りました。 リチャードストールマンがFSFへの復帰を発表した途端にこんなことが起きるなんて…。 偶然にしてはすごいタイミングですね。 GitHub Enterpriseのコードが公開されるの?と盛り上がっておりますが、果たしてどうなりますでしょうか。 さて今回は本件についてまとめていきます。技術者だけでなく法務や知財の目線でも分かるように書いていこうかと思います。 ★私は法律の専門家ではありません。この記事に法的根拠はありませんので何かあっても責任は取れません。ご理解ください。 概要(経緯) 概要はこのissueのや

                                                                      Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ
                                                                    • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

                                                                      こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

                                                                        Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
                                                                      • Rails GraphQL

                                                                        Install Totally plug-in-play # Add the gem to your Gemfile $ bundle add rails-graphql # Then run the Rails generator $ rails g graphql:install Define Designed for simple and complex Schemas # app/graphql/app_schema.rb class GraphQL::AppSchema < GraphQL::Schema field(:welcome).resolve { 'Hello World!' } end Run Follows Rails core principles $ curl -d '{"query":"{ welcome }"}' \ -H "Content-Type: ap

                                                                          Rails GraphQL
                                                                        • Python使いがRubyを触るために理解するべきこと - Qiita

                                                                          概要 スクリプト言語的なものとしては、もっぱらPythonを使っていたが、 このごろRubyを初めてややガッツリ触る機会があった。 すぐ慣れるだろうと甘くみていたら、予想以上にクセが強くて苦戦したので、 Python使いの視点からRubyの特徴を簡単にメモっておきたいと思う。 まだまだ勉強不足なので網羅的な説明にはならないと思うが、 最低限これだけ把握すれば大体不都合なくRubyを読み書きできるというポイントをまとめる。 省略文化 Pythonと似たようなものだろうと思っていた自分にまず面食らわせてきたのがこれ。 イカした特徴だと思うが、慣れないと大変。 returnの省略 returnは省略可。 例: ゲッターメソッド

                                                                            Python使いがRubyを触るために理解するべきこと - Qiita
                                                                          • Squareに転職しました - soutaroブログ

                                                                            11月からSquareで働いています。POSレジを作るのが嫌になったと言ってユビレジを辞めてSiderに転職したのが2016年、その3年後にまたレジの会社で働くことになるとは……(レジは作ってませんが。) *1 アメリカに行くのかというとそんなことはなくて、東京で日本法人の従業員として働いています。Squareが日本でサービス開始したのは2013年のことですが、それ以来東京のオフィスには開発者がいない状況でした。募集もしてなかったのですが、募集があるかどうかの確認もせずに知り合いづてに応募した人間がいて、それが私です……入社してから気づいたのですが、最近、全社を挙げてSFから世界中に分散していくというのを進めているそうで、その流れに気づかないうちに乗っていたのかもしれません。 今回仕事を探すに当たっては「RubyとSteepの開発に時間を使えるようにしたい」「社内でRubyの型に関するテス

                                                                              Squareに転職しました - soutaroブログ
                                                                            • 研修で初めて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を触って学んだこと - ドワンゴ教育サービス開発者ブログ
                                                                              • WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース

                                                                                Ruby開発チームは、2022年12月25日にRuby 3.2.0の正式リリースを発表しました。Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっています。 WebブラウザでRubyコードをそのまま実行可能に 新バージョンであるRuby 3.2.0の最大の新機能は、WASIベースのWebAssembly版Rubyが登場したことです。 これによりWASIをサポートしたWebAssemblyの実行環境、例えばWebブラウザやNode.js、DenoなどのサーバサイドJavaScriptランタイム、Cloudflare WorkersやFastly Compute@Edgeなどのクラウドエッジ環境で、WebAssembly版のRubyを実行できるようになりました。 これらの環境でWebAssemblyの上でRubyランタイムを実行すると、Rubyで書かれたコードをそのまま走ら

                                                                                  WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース
                                                                                • 赤いラクダは3倍早い!ピーク時毎分1400件を捌くための決済処理のチューニング紹介 - pixiv inside

                                                                                  こんにちは、4月からBOOTH部になったorekyuuです。 この記事では、転属後の一番大きな成果である、BOOTHで発生する大量の注文(ピーク毎分約1400件)を整合性を取りつつ高速にさばく改善について解説します。 BOOTHが抱えていた課題 まずはBOOTHが抱えていた課題について説明します。 BOOTHでは販売開始時刻が事前に予告されていた場合などの理由で瞬間的に決済が集中し、サーバーが大量の注文に耐えきれないケースが度々ありました。 その原因は在庫の処理にありました。擬似コードですが、注文の処理は以下のようになっていました。 def checkout! ActiveRecord::Base.transaction do 商品の悲観的ロック # 在庫数を同時に編集しないようにロックを取る 商品の在庫の減算処理 注文を確定済みにする 決済の請求APIを叩く end end 上記のコード

                                                                                    赤いラクダは3倍早い!ピーク時毎分1400件を捌くための決済処理のチューニング紹介 - pixiv inside

                                                                                  新着記事