Kaigi on Rails 2024 での発表資料です #kaigionrails https://kaigionrails.org/2024/talks/moro/
HotwireとNext.jsをちゃんと見て比較しよう#本サイトでは、React/Next.jsに詳しいフロントエンドエンジニアを対象に、実際に動くコードと実際に動くデモを体感しながら HotwireとReact/Next.jsを比較します。 各技術でのUIの作り方を伝えるだけでなく、さまざまな状況での動きを確認していただくために、仕組みや限界も紹介します。そのため、かなり細部の議論もしています。 HotwireでもNext.jsと同等か、それ以上のUI/UXが実現できます。「Hotwireは簡単だけど、React/Next.jsの方が優れたUI/UXが作れる」というのは、かなり特殊なものでない限りは誤解ですHotwireはバックエンド非依存です。Rails, Laravel, Django, Go, Nodeでも関係なく動きます。実際、本サイトのHotwireコードはNext.js AP
Photo by Domenico Loia on UnsplashHotwired ASP.NET Core Web Application (6 Part Series) Hotwired ASP.NET Core Web Application — Part 1 (Intro) Hotwired ASP.NET Core Web Application — Part 2 (NPM, Webpack Setup) Hotwired ASP.NET Core Web Application — Part 3 (Turbo Drive & Frame) Hotwired ASP.NET Core Web Application — Part 4 (Turbo Stream) Hotwired ASP.NET Core Web Application — Part 5 (Stimulus)
Turbo Streams: How They Work and Differ From Turbo Frames No, you don’t need WebSockets to use Turbo Streams. You can simply use them to deliver multiple page updates with a single HTML response. This article teaches the basics of Turbo Streams to build a SPA without writing a single line of JavaScript. No Rails needed, either! In the last article, we learned how a static website can behave like a
You Don't Need Rails to Start Using Hotwire Although Hotwire is closely tied to Ruby on Rails, you might be surprised to know that you don't really need Rails to learn, play, and experiment with Hotwire. In this article, we'll build a simple static site that uses Turbo Drive + Frames to make it responsive and use Streams to make it dynamic. Update: I originally published this post few months ago,
Herokuの移行先を考える 今運用しているアプリ達をすぐにHeroku以外に移すということはしないまでも、競合となるプロダクトの調査をしておくことは(特に後発のものについては)機能面で実はこんなに便利なものがあったのか、と気づくことにもなったりするので、やっておいて損はないかと思いました。 比較対象について 比較する対象としては、インターネットで最近見かけるPaaSを選定しました。同様のことができるIaaSのコンポーネントとして、AWS FargateやGoogle Cloud Runがありますが、そのようなIaaSの一部として提供されるものについては今回は比較対象とはしません。 今回の比較対象は以下3つです。 Render https://render.com Railway https://railway.app Fly.io https://fly.io deployするRails
rails new してから steep check が通るまでにやってみた作業をまとめておく。 GitHub コードはGitHubで公開しているので、詳細な手順を知りたい方は参照してください。 github.com 手順 gemを入れる steepとrbs_railsをGemfileに追加する。 # Gemfile group :development do gem 'rbs_rails', require: false gem 'steep', require: false end bundle install を実行する。 $ bundle install rbs_rails のREADMEの手順に従って lib/tasks/rbs.rake を作成する。 # lib/tasks/rbs.rake require 'rbs_rails/rake_task' RbsRails::Rak
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hotwire: Reactive Rails with no JavaScript? — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021/04/12 原著者: Vladimir Dementyev -- Evil Martiansリード開発者。 サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 長文につき前編と後編に分割しました。今回は後編です。 HotwireはRailsを「ゼロJavaScript」でリアクティブにできるか?前編(翻訳) 前編: TurbolinksをTurbo Driveに置き換える 前編: Turb
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hotwire: Reactive Rails with no JavaScript? — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021/04/12 原著者: Vladimir Dementyev -- Evil Martiansリード開発者。 サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 長文につき前編と後編に分割しました。 サマリー The HEY stack: - Vanilla Ruby on Rails on the backend, running on edge - Stimulus, Turbolink
従業員データベース機能の開発を担当している渡邉です。最近公開したGemであるactiverecord-tenant-level-securityの紹介をします。 SmartHRにおけるマルチテナントの現在 私たちが開発するSmartHRはお客様ごとに1つの環境を提供する、マルチテナント型SaaSです。サービス全体で1つのデータベースを持ち、複数のテナントのデータが混ざらないように、SQLで問い合わせを行います。 1つの環境ごとに1つのデータベースを持つ方式は安全性の面で優れていますが、スキーマの保守やマイグレーションにかかる時間の増加など、多くの技術的な困難をもたらします。この選択の背景については、2018年に書かれた以下の記事もご覧ください。 tech.smarthr.jp とはいえ、常にテナントごとのWHERE句を意識しながらコードを書くのは大変ですし、不具合の温床になります。幸い、私
筆者はES6以前のVanilla JSがあまり好きではありませんでした。 そこで、バニラJavaScriptをなるべく書かなくていいように、2000年代を通じてさまざまなアプローチを追求してきました。最初はRJS(Ruby-to-JavaScript)、次はCoffeeScriptでした。どちらのアプローチも、バニラJavaScriptより楽しく書けるソースコードを、ブラウザが実行できるバージョンのJavaScriptへトランスパイルするものです。ある程度は、うまくいっていました。 とはいえ、これは明らかにその場しのぎの手段に過ぎず、ブラウザがより洗練されたJavaScriptを理解できる日を待ちわびていたのです。ただ、そんな日が来ることはなく、永久にその場しのぎでやり過ごすのかと思われる時期がしばらく続きました。 しかし、幸いなことにJavaScriptは改善を続け、2015年にはES6
Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちが間違ってることも当然あるように思うので話半分で読んでください。 これは一体 最近のRailsフロントエンドやDHHの活動には一連の流れがあるわけですが、一部トレンドに沿ってない部分がある故にそれが汲めないというところがあるのではと思います。 それらの流れを記憶が定かなうちにつないで記録しておこうという記事です。 前提知識 Railsの生みの親、Rubyist Basecamp(社) DHHがCTOやってる会社 Basecamp(サービス) Basecamp(社)が開発してるプロジェクト管理ツール Trixを開発してたある日 Basecamp(サービス)に組み込まれてるリッチテキストエディタのtrixをcustomElements使って開発してたある日、DHHはあることに気づく。
Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちや考え方が間違ってることも当然あるように思うので話半分で読んでください。 これは一体 前回かいた妄想的DHH理解のエピソード0的な話です。 妄想的DHH理解では、DHHがどういう過程で今のRailsフロントエンドに達したかの話が主題でしたが、そこでは「なぜ〜を選ばなかったか」は説明されていませんでした。 彼はモノリシックを愛したり、トレンドと真逆のアプローチでフロントエンドに新しいレールを引き始めたりするので、単に彼が天邪鬼であったり車輪の再発明大好きおじさんとして捉えられがちですが、実は太い太い一本筋をもった技術選定をし続けてるってことが広まればいいなと思ってるファンの記事です。 前提知識 前回とほぼ同じです。 Railsの生みの親、Rubyist。 実はカーレーサーでもありま
最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteがRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です
はじめまして、アイキューブドシステムズでCLOMOのサーバーサイド開発を担当している YusukeIwakiです。CSEという、CLOMOの改善や維持管理をするチームで開発を進めています。 ブログを通して、「中の人はこんな感じで働いている会社だよ」という発信をしたいとずっと思っていました。このたび会社としてブログを書いていくことになったので、第1号記事を書かせていただきます!! 今回は、少し昔の話になってしまうのですが、私が昨年入社して最初に取り組んだ開発環境のDocker化の話を書いていきます。 開発環境の構築手順書がメンテナンスされていない問題 エンジニアとして入社して最初のイベントと言えば、開発環境の構築ですね。 CLOMOは大部分がRuby on Railsで作られているのですが、私の入社時、開発環境の構築手順書のようなものはあまりメンテナンスされていない状態でした。 一括で環境セ
こちらの記事は翻訳記事となります。 原著者の許諾を得て翻訳・公開しております。 英語記事: How to Write Fast Code in Ruby on Rails原文公開日: 2019/10/08著者: Gannon McGibbonURL: https://engineering.shopify.com/blogs/engineering/write-fast-code-ruby-rails はじめにShopifyでは、ほとんどのプロジェクトの開発フレームワークにRuby on Railsを使用しています。 RailsとRubyはともにパフォーマンスに対するスティグマ(偏見)が存在します。 多くの個人や企業が、Rails以外での解決方法を探しています。 しかし一方で、私たちShopifyではRuby on Railsを採用して、毎分何百万ものリクエスト(requests per
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く