...least modularity 3.1.0. Compare implementations Now compare your implementations. Which one do you like best? Does modularity offer features the other approaches don't...

We are using the BEM pattern ("Block, Element, Modifier") to structure our CSS in all new projects. We try to migrate legacy projects to BEM, block-by-block. Read

...it important modifiers start with -? More examples Look at some examples of a good BEM structure in the DOM tree of these websites: https://makandra.de/ https://railslts.com/ https://www.aitiraum.de/

...Just take a step back and evaluate its usefulness first. Also, consider if its benefits outweigh the cost of teaching and maintaining the new thing. Being a good open-source...

JavaScript is a scripting language supported by all browsers. Browsers don't speak Ruby, so if we want to implement...

makandra Curriculum

Watch Solving bizarre authorization requirements with Rails Read the Consul README Read the assignable_values README Understand how Consul...

...why we should always use ===, never == Testing the type of a value Understand the benefit of LoDash's _.isEqual What the f*ck JavaScript? Understand that there is no way...

...a callback function which can write it to console.log. Understand why each code block behaves the way it does: Variant 1: Iterating with forEach's callback function const callbacks...

makandra is responsible for maintaining about 75 Ruby projects. These projects use a large number of different versions for Ruby...

makandra Curriculum

We've already learned how to integrate user-provided images uploads to our application in 205 basic file uploads and...

makandra Curriculum

How to write an issue Issue format Read the card Project management best practices: Issues. Gatekeeping Get familiar with our Gatekeeping process. In particular you should understand the...

...purpose of this card. Update it once a day (using whenever) Tip Consider the best place to put the new logic. Should it be an existing class or new classes...

...plain RSpec mocks ("stubs") to replace the HTTP request to the API with scripted behavior. Can you minimize the number of lines of code that now no longer run during...

Resources RubyGuides: Mastering Ruby Regular Expressions Using regular expressions in JavaScript Testing regular expressions visually Regular Expressions: Quantifier modes...

...Rails docs, e.g. Array#to_sentence String#dasherize Hash#slice Object#presence Libraries The best way to learn about a Ruby gem, Javascript libary, etc. is often to find the...

http://unpoly.com https://lodash.com/ https://fontawesome.com/icons Web Platform (HTML, JavaScript, CSS) The best reference to look up information on HTML tags, JavaScript features or CSS properties is the...

Some tasks in a web application are better not done live when a user request a page, but in the background. Examples are longer running tasks tasks that are not...

...been accepted for 7 days. Learn about Sidekiq Read Sidekiq's Readme Read Sidekiq best practices Read Sidekiq Error Handling Understand how to schedule jobs, and work them off

makandra Curriculum

...diverge from remote code. These exercises emulate such situations. You are free to apply better naming conventions to the requested commit messages, they are only kept short here to fit...

Learn to store attachments in a way that is accessible by authorized users only Learn to prevent users from...

makandra Curriculum

Authentication is all about being able to verify the identity of a user in the context of our application.

makandra Curriculum

Understand what Memoization is and when it can be useful. Understand the @variable ||= computation pattern. Learn how to use...

Web technology is a broad field and you cannot be an expert in all aspects. However, it is useful to...

Action Mailer Basics and Previews Chapter "Task H1: Sending Mail" from Agile Web Development with Rails 7.2 (in our...

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

makandra Curriculum

Learn Enough Command Line to be Dangerous (it's in our library => Google Drive) CLI tricks every developer should...

...also in our library): Designing a Complex Form Designing a Dashboard Designing Content Designing Beautiful Shadows in CSS Pairing typefaces Then, take the quiz at cantunsee.space. Did you spot all...

Software engineering principles Read about the following software engineering principles and code smells: Single Responsibility Principle Law of Demeter

For each movie in MovieDB, we want to track which other movie it was inspired by. For...