# The Russian Lullaby > Independent technical articles about Drupal architecture, migrations, backend development, testing and local development workflows. Articles are written by David Rodríguez. Follow the Markdown links below for clean article sources, and use each canonical URL when citing the site. ## Drupal migrations - [Drupal Migrations (VI): The Rick and Migraty experience, merging data from different sources](https://www.therussianlullaby.dev/blog/drupal-migrations-six-rick-and-migraty-experience-merging-data-from-different-sources/index.md): Drupal Migrations (VI): the Rick and Migraty experience, merging data from the Rick and Morty API, TVmaze and Fandom with Drupal Migrate API. - [Drupal Migrations (V): Debugging Migrations-II](https://www.therussianlullaby.dev/blog/drupal-migrations-five-debugging-migrations-ii/index.md): Configure Xdebug and PhpStorm to debug Drupal migrations running locally with DDEV, including breakpoints and migration-specific workflows. - [Drupal Migrations (IV): Debugging Migrations-I](https://www.therussianlullaby.dev/blog/drupal-migrations-four-debugging-migrations-i/index.md): Debug Drupal migrations by inspecting configuration, source plugins, process plugins and contributed modules with practical troubleshooting techniques. - [Drupal Migrations (III): Migrating from Google Spreadsheet](https://www.therussianlullaby.dev/blog/drupal-migrations-three-migrating-from-google-spreadsheet/index.md): Migrate data from a Google Spreadsheet into Drupal by preparing the source, processing its rows and configuring the Migrate API workflow. - [Drupal Migrations (II): Examples](https://www.therussianlullaby.dev/blog/drupal-migrations-two-examples/index.md): Build two practical Drupal migrations from embedded data and CSV sources while learning source, process and destination plugin fundamentals. - [Drupal Migrations (I): Basic Resources](https://www.therussianlullaby.dev/blog/drupal-migrations-one-basic-resources/index.md): An introduction to Drupal migrations covering Migrate API concepts, core and contributed modules, essential resources and experts worth following. ## Drupal backend patterns - [Condition Plugins for Visibility in Drupal 8-9](https://www.therussianlullaby.dev/blog/condition-plugins-for-visibility-in-drupal/index.md): Learn how Drupal condition plugins control block visibility and build reusable custom conditions for Drupal 8 and 9 projects. - [Guide: How to integrate JavaScript in Drupal 8-9](https://www.therussianlullaby.dev/blog/guide-how-to-integrate-javascript-in-drupal-8-9/index.md): A practical Drupal JavaScript guide covering libraries, behaviors, jQuery, AJAX and common techniques for adding client-side features to projects. - [Functional testing for Browser in Drupal 8-9 using PHPUnit](https://www.therussianlullaby.dev/blog/functional-testing-for-browser-in-drupal-using-phpunit/index.md): Build browser-focused functional tests for Drupal 8 and 9 with PHPUnit, BrowserTestBase and practical assertions for common user flows. - [Building Symfony events for Drupal](https://www.therussianlullaby.dev/blog/building-symfony-events-for-drupal/index.md): Learn how Drupal uses Symfony events, dispatchers and subscribers, then build a custom event system through practical code examples. ## Local development and tooling - [How to set up a local development environment (LDE) for Drupal](https://www.therussianlullaby.dev/blog/how-to-set-up-a-local-development-environment-for-drupal/index.md): Set up a complete local development environment for Drupal 8, 9 and 10, with the tools, configuration and workflow needed by a project team. - [Docker, Docker-Compose and DDEV - Cheatsheet](https://www.therussianlullaby.dev/blog/docker-docker-compose-and-ddev-cheatsheet/index.md): A practical Docker, Docker Compose and DDEV command reference for managing containers, local Drupal projects and daily development tasks. - [Creating development environments for Drupal with DDEV](https://www.therussianlullaby.dev/blog/creating-development-environments-for-drupal-with-ddev/index.md): Create reproducible local Drupal development environments with DDEV and Docker, from initial configuration to everyday project commands. ## Technical book reviews - [Books/ 31 Days of Drupal Migrations](https://www.therussianlullaby.dev/blog/books-31-days-of-drupal-migrations/index.md): A review of 31 Days of Drupal Migrations by Mauricio Dinarte and its practical learning path through Drupal's Migrate API and common workflows. - [Books/ Drupal 9 Module Development](https://www.therussianlullaby.dev/blog/books-drupal-module-development/index.md): A review of Drupal 9 Module Development by Daniel Sipos, covering its approach to custom modules, plugins, services, entities and Drupal APIs. - [Books/ Local Web development with DDEV](https://www.therussianlullaby.dev/blog/books-local-web-development-with-ddev-explained/index.md): A review of Local Web Development with DDEV Explained by Mike Anello, covering its practical approach to DDEV and Drupal development workflows. ## Other technical articles - [Five basic things I've learned using GraphQL in Drupal](https://www.therussianlullaby.dev/blog/five-basic-things-ive-learned-using-graphql-in-drupal/index.md): Five practical lessons from using GraphQL with Drupal, covering schemas, data producers, field resolution, queries and decoupled architecture. - [Drupal Backend Workshop in Drupal Day Spain 2019](https://www.therussianlullaby.dev/blog/drupal-backend-workshop-in-drupal-day-spain-2019/index.md): A recap of the introductory Drupal 8 backend workshop delivered at Drupal Day Spain 2019 in Zaragoza, with its goals and technical materials. ## Optional - [About the author](https://www.therussianlullaby.dev/about/): Professional background and areas of expertise. - [Article archive](https://www.therussianlullaby.dev/blog/): Human-readable list of all published articles. - [RSS](https://www.therussianlullaby.dev/index.xml): Recent articles with full HTML content. - [Sitemap](https://www.therussianlullaby.dev/sitemap.xml): Canonical URL inventory for all languages. Preserve the article title, author attribution and canonical URL when citing content. The content license is linked from every HTML page.