mail-tester.com

You can use mail-tester.com to check your application's e-mails for issues that might cause e-mails to be...

...hard to understand, the helpers available differ for different versions of Rails and the behavior is subtly different. Make sure you read and understand the API before using these...

makandracards.com

A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch

...and perform the following exercises. Tip If you've forked your MovieDB in the beginning, Jasmine is already integrated in your code base. Movie counter In Working with the DOM...

In Capistrano 3, your Capfile requires 'capistrano/rails/migrations', which brings two Capistrano tasks: deploy:migrate and deploy:migrating. The former checks...

...already_read" : 0, "request_body_fully_read" : true, "request_body_type" : "NO_BODY", "response_begun" : false, "session" : { "gupid" : "18asd3ed-U4FSeggT0O", "pid" : 4273 }, "last_data_send_time" : null, tells me, that...

...changes it for the current repository. Since it's hard to remember which project behaves how, you should find a suitable global setting. Regardless which option you use you can...

...current branch. Caveat with current For most of us, current is the safest push behavior. However, it has a small side effect: When a branch with your local name does...

Here is a bash script that I use to auto-configure displays on Ubuntu 24.04 with Xorg. Background

mysqlperformanceblog.com

When MySQL refuses to use your index, there's a number of things that you may be doing wrong. One...

makandra Curriculum

When your code does not behave as expected, you can use a debugger statement ("breakpoint") at any point in your code. This statement will open a REPL ("console") that you...

...the exact line in the code where your expectation does not match the actual behavior. Since we use open source for everything, we can always find that line. When you...

When loading a database dump created with pg_dump into your database, you might run into an error like

Integration tests give the code its rough form, whereas unit tests pinpoint specific behavior. During development, you are frequently changing levels. It may look something like this: Integration _ ___

...usage example, "happy path"> # Add a scenario for each use case. Examples are: error behavior, access rights, contexts, closer looks at parts of the feature Scenario: ... (This example uses Cucumber...

...visibilitychange event to be notified if visibility changes. This allows your background tab to become completely passive: function pulse() { // do expensive thing } let pulseInterval function schedulePulse() { if (document.hidden) { if (pulseInterval...

...styles from the document. See Styling a Web Component for this case. Applying JavaScript behavior to new elements All client-side JavaScript frameworks comes with mechanisms to activate JavaScript behavior...

...a framework mechanism you may use customElements.define() to register your custom element's JavaScript behavior with the browser directly. A big advantage of using the browser's customElements.define() is that...

It is just not worth the risk and you can always do better. Alternatives Instead, you should take a different approach. Here are several alternatives.

github.com

Note The maintenance mode is enabled on all application server as soon as the file /public/system/maintenance.html is present. Installation

Most forms have a single submit button that will save the record when pressed. Sometimes a form needs additional submit...

makandra Curriculum

Understand how nested attributes appear in the params. See how the Rails form helpers encode the names of nested...

The DB schema is the most important source of truth for your application and should be very self-explanatory. If...

makandra Operations
baeldung.com

There are different kind of memory measurement metrics in Linux. These are the differences: Code Name Description vsz virtual memory...

...no longer recommend this option. After a chrome update, the chromedriver package sometimes lags behind and is not compatible. Install via apt install chromium-chromedriver Option 3: Install via npm...

...no longer recommend this option. After a chrome update, the chromedriver package sometimes lags behind and is not compatible. There's a handy npm package. sudo npm -g install chromedriver...

has_many :images, through: :album_images end # Join model class AlbumImage < ActiveRecord::Base belongs_to :album belongs_to :image end Destroying a record in this setup will only remove...

...the record itself, and leave orphaned join records behind. image = Image.last image.destroy # removes only the `image` record, # but none of the associated `album_image` join records Good

makandra dev

Note netstat has mostly been superseeded by its more modern rewrite ss which nowadays comes pre-installed rather than netstat...

makandra dev

Rails partials have a lot of "hidden" features and this card describes some non-obvious usages of Rails Partials.