makandra Curriculum

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

We had a strange behaviour on one of our mariadb-servers: Everyday at around midnight we saw that the root...

We generally use multiple application servers (at least two) and you have to search on all of them if you...

When your application is running on a multi-server setup, application logs are stored per server (unless you choose a...

When your site is mapped into the URL-space of another server using mod_proxy, ProxyPass and ProxyPassReverse, all requests...

This Capistrano task runs a command on all servers. bundle exec cap production app:run cmd='zgrep -P "..." RAILS_ROOT/log/production.log...

The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...

What is a Cookie? Google it if you do not know. How are cookies transferred between your browser and...

There is a reasonable simple way to move data between Redis servers: Simply temporarily configure the new server as a...

It happens from time to time that a job in a GitLab pipeline fails. Sometimes, however, the error message is...

DevOps Curriculum

Mit SQL spricht man mit relationalen Datenbanken. Ziele Verstehe die folgenden SQL Befehle SELECT WHERE ORDER INNER JOIN, LEFT JOIN...

makandra dev

Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...

makandra Curriculum

Read the Rails Guide about Active Record migrations Understand why we never use models in migrations. Checkout the repository...

In this example we assume that not only the storage gem changes but also the file structure on disc.

makandra dev

This may be awkward to set up, but will work once you're done. Fun facts:

edgeapi.rubyonrails.org

Starting from Rails 4.0, you can use a special form options helper called #collection_check_boxes. It behaves similar to...

To upload a file via AJAX (e.g. from an ) you need to wrap your params in a FormData object.

This is a way to run multiple redis server on one ubuntu server. These steps you have to do only...

To show the MySQL default character set you have to login to the MySQL console and execute SHOW VARIABLES LIKE...

When you get an error like this: Invalid gemspec in [/opt/www/foo-project.makandra.de/shared/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]: Illformed requirement ["# 1.1.4"] ... the machine's Rubygems needs to...

Sometimes, through some firewall or proxy misconfiguration, you might have to deploy to a server that cannot access the git...

From time to time we're convinced that an error must be very close to the network card, OS IP...

makandra dev

Enable local logging for Sentry when: Debugging Sentry event capture locally Testing error handling without polluting production metrics Developing background...

makandra dev

Crontabs are often unordered, especially when generated for an application where you usually group tasks by their domain/scope.