サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
dev.37signals.com
We’ve just released version 2 of Kamal, our deployment tool for running web apps directly on VMs or bare metal servers. Kamal 1.0 was designed with 37signal’s use case in mind — deploying an application across multiple hosts, served with an external load balancer. With Kamal 2.0 we’ve focused on making it simpler to use at any scale, whether you are deploying your app to 50 servers or deploying 5
We’ve just released Solid Queue v1.0.0, right before speaking about it at Rails World. This version has come a long way since we published the first version, 0.1.1, back in December 2023, with 132 merged pull requests and 126 closed issues, and the help of multiple contributors. Apart from fixing many bugs and edge cases, we’ve enhanced Solid Queue with the following: Safe and atomic batch operati
As Rails World 2024 is about to begin, we have an exciting Hotwire announcement! We’re launching a brand new, yet familiar, framework for building hybrid mobile apps. Background But first, let me provide some context. Last year, shortly before Rails World 2023, we open sourced Strada, which allows you to build high fidelity native features in your hybrid Turbo Native apps. The launch was met with
Recently, customers who have purchased a copy of ONCE/Campfire were invited to participate in a live walk through the app’s CSS code. Campfire was built with vanilla CSS, fully #nobuild without compiling or preprocessors, and uses the latest web platform features available in evergreen browsers—CSS nesting, :has(), :is(), and :where(); wide-gamut colors, View Transitions and more. In this post we’
We’ve just released Thruster as open source! Thruster is a minimal HTTP/2 proxy server that we wrote to make it easier to serve a Rails application with great performance and security. It runs alongside your existing Puma process, and adds: HTTP/2 support SSL (via Let’s Encrypt, for automatic certificate management) HTTP caching, for public assets Efficient static file serving via X-Sendfile and c
We’re excited to announce the release of Turbo v8, a major update to the Turbo front-end framework. This release introduces a suite of innovative features designed to enhance web development and user experiences across the board. Here are the key highlights of Turbo v8: Morphing for smooth page refreshes This new technique enables us to refresh pages selectively, replacing only the HTML elements t
We’ve just open-sourced Solid Queue, a new backend for Active Job that we use in HEY to run about 1/3 of our roughly 18 million jobs per day. We’ll be moving more jobs in the coming days until we run HEY exclusively using Solid Queue. Besides regular job enqueuing and processing, Solid Queue supports delayed jobs, concurrency controls, pausing queues, numeric priorities per job, and priorities by
July 31, 2023 Globals, callbacks and other sacrileges Maximalist positions are a thing in our industry. Take a technique, outline its drawbacks, extrapolate you can’t use it under any circumstance, and ban it forever. We are lucky that Rails embraces exactly the opposite mindset as one of its pillars.
It’s been two decades since Rails changed the way we build web apps. As the demand for richer and richer UIs grew, teams came up with different frontends to deliver on those expectations. Client-side frameworks such as Angular, Ember, and React emerged as popular choices. One of Rails’ strengths has always been to empower individual programmers to not just contribute to, but to ship entire full st
Last week, we presented in Rails World an upcoming addition to Turbo that uses morphing to offer smoother page updates and a simplified broadcasting system. This is the article version of the presentation I delivered. The starting point The traditional server-side full-page programming model that Rails nailed twenty years ago is incredibly productive. It lets you think of your application as a set
We’ve just open-sourced Solid Cache, a new ActiveRecord::Cache::Store that we use in Basecamp and HEY. Solid Cache uses a SQL database as its cache store. We get a much larger cache at a fraction of the storage costs of memory caches like Redis or Memcached. For us, that’s a cache size of months rather than days. While memory access is many times faster than disk, it only accounts for a fraction o
I’m happy to announce the official launch of Strada, the long-awaited member of the Hotwire family. Strada enables you to create fully native controls in your hybrid mobile apps, driven by the web. Build web components and native components that work together in WebView screens to elevate your Turbo Native apps to the next level. We’ve been using Strada to build the HEY mobile apps for the past 3
For the Operations team at 37signals, the biggest effort in 2023 is removing our dependencies on the cloud and migrating our application stacks back into the data center onto our own hardware. We’ve already made amazing progress in a fairly short time — let’s get into some details! Why are we doing this? A number of our applications have been on a long journey through various cloud providers and s
Since we published why we’re leaving the cloud, we’ve received a lot of questions about our actual spending. We’re happy to share, both where we currently are and where we’re going. Since we published why we’re leaving the cloud last October, we’ve received a lot of questions about how we are using Amazon Web Services, what our current bills looked like, and if the costs savings are likely to just
Active Record restates the traditional question of how to separate persistence from domain logic: what if you don’t have to? Persisting objects in relational databases is an intricate problem. Two decades ago, it looked like the ultimate orthogonal problem to solve: abstract persistence out so that programmers don’t have to care about it. Many years later, we can affirm that… it’s not that simple.
A common critique of Rails is that it encourages a poor separation of concerns. That when things get serious, you need an alternative that brings the missing pieces. We disagree. I have often heard this: vanilla Rails can only get you so far. At some point, apps become unmaintainable, and you need a different approach that brings the missing pieces, because Rails encourages a poor separation of co
Recently we focused on improving the performance of HEY. Fixing slow database queries for some of the HEY pages was a challenge, so I thought it would be worth writing up a technique we used. Background HEY currently runs on Amazon Aurora with MySQL 5.7 compatibility. It uses the InnoDB storage engine. In InnoDB, table and indexes are stored in a variation of a B+ tree data structure. The tree is
このページを最初にブックマークしてみませんか?
『How we do, what we do』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く