В этом репозитории мы собираем лучшие материалы и источники для самостоятельного изучения программирования от нулевого до продвинутого уровня. Все материалы на русском языке, за исключением случаев, когда указан префикс [EN].
- База знаний по изучению программирования
- Навигация
- Начинающим
- Курсы разработки ПО
- Алгоритмы и структуры данных
- Многопоточность и асинхронность
- Сборка мусора (GC)
- Базы данных
- Проектирование, архитектура и System Design
- Процессы-разработки-и-методологии
- Тестирование для программиста
- CI/CD
- Облака (Clouds)
- Инструментарий
- Прочее
- CS50 – Гарвардский курс по основам программирования
- Увлекательное программирование на C# (Дмитрий Сошников)
- Основы программирования и анализа данных на Python (Хирьянов Тимофей Фёдорович)
- "C# 2022 с нуля до профи" (9 часовой курс)
- Курс "ИТМО - Проектирование ПО 2021" (Андрей Суховицкий)
- Курс "Разработка ПО" в CS Center о жизненном цикле, методологиях и прочем (Тимофей Брыксин)
- Курс "Проектирование программного обеспечения" в CS Center (Юрий Литвинов)
- "Школа бекенд-разработки 2021" (Python) от Академии Яндекса
- "Школа бекенд-разработки 2022" (Python, Java) от Академии Яндекса
- Семинары CLRium "Concurrency и Parallelism" (Станислав Сидристый и Ко.)
- Курс "Параллельное программирование" 2016 (CS Center, Евгений Калишенко)
Курс "Параллельное программирование" 2022 (CS Center, Евгений Калишенко)- плохой звук- Курс "Теория и практика многопоточной синхронизации (ТПМС, Concurrency)" [Лекции] 2022 (ФМПИ, Роман Липовский)
- Курс "Теория и практика многопоточной синхронизации (ТПМС, Concurrency)" [Семинары] 2022 (ФМПИ, Роман Липовский)
- Курс "Параллельные и распределённые вычисления" 2021 (ФПМИ, Ивченко О. Н.)
- [JS] Сборник лекций и докладов на тему "Асинхронное программирование" (Тимур Шемсединов)
- [EN] Бесплатные уроки курса Async Expert от сообщества Dotnetos
- Лекция "Многопоточное программирование в .NET ч. 1" (Дмитрий Иванов)
- Лекция "Многопоточное программирование в .NET ч. 2" (Дмитрий Иванов)
- "ThreadPool для сервиса, адаптирующегося под внешнюю нагрузку" (Станислав Сидристый)
- "Разграничение ответственности между процессорными ядрами" (Станислав Сидристый)
- "Тонкие настройки стандартного ThreadPool" (Станислав Сидристый)
- "Здоровое || программирование – многопоточность vs асинхронность, зачем нам ThreadPool, контексты исполнения" 2022 (Родион Мостовой)
- "Модель памяти .NET" 2017 (Валерий Петров)
- lock(_sync): иллюзия идеального выбора (Станислав Сидристый)
- [EN] "The C++ and CLR Memory Models" (Sasha Goldshtein)
- [EN] "How Interlocked and Volatile works in .NET" 2020 (Dotnetos)
- [EN] "A Gentle Introduction To Low-Level Concurrency In .NET (Szymon Kulec)"
- Online-книга "DotNetBook" – глава про потоки (Стас Сидристый)
- Самое главное про Memory Model в .NET (Родион Мостовой)
- Полное понимание асинхронности в браузере
- О Thread и ThreadPool в .NET подробно (часть 1)
- О Thread и ThreadPool в .NET подробно (часть 2)
- ConfigureAwait: часто задаваемые вопросы (перевод статьи Stephen Toub)
- Барьеры памяти и неблокирующая синхронизация в .NET
- Многопоточность на низком уровне
- Введение в lock-free программирование
- .NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 1
- .NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2
- Async/await в C#: концепция, внутреннее устройство, полезные приемы
- System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без аллокаций и стэк дайва
- Порт завершения (Completion Port)
- Что означает RISC и CISC?
- ValueTask — почему, зачем и как? (перевод статьи Stephen Toub)
- [EN] Статья "ExecutionContext vs SynchronizationContext" (Stephen Toub)
- [EN] Статья "There Is No Thread" (Stephen Cleary)
- [EN] The CLR Thread Pool 'Thread Injection' Algorithm
- [EN] AsyncGuidance: Лучшие практики при работе с асинхронностью (David Fowler)
- DotNet&More #31: Многопоточность и не только
- Podlodka #102 – Многопоточность (с Романом Елизаровым)
- Podlodka #56 – Корутины, Промисы, Акторы
- Mobile People Talks: Асинхронность – знаешь что об этом ты? часть 2
- Flutter Dev Podcast: Асинхронность
- Moscow Python Podcast. Асинхронщина с базами данных: aiopg и другие звери
- [EN] Async Expert – Большой курс от сообщества Dotnetos (Konrad Kokosa, Łukasz Pyrzyk, Szymon Kulec)
- [EN] Курс "CMU Intro to Database Systems (15-445/645 - Fall 2023) (Andy Pavlo, Jignesh Patel)"
- [EN] Множество курсов по СУБД от начального до продвинутого уровня от CMU DATABASE GROUP
Качество отечественных платных курсов под вопросом. Здесь собраны те из них, что мне попадались. Есть мнение, что курсы по архитектуре от зарубежных авторов более качественные.
- Авторские курсы и практикумы Алексея Рыбака по архитектуре, System Design и бекенду
- Разработка Enterprise-приложений без боли и сожалений (Евгений Лукьянов, Сергей Бухаров)
- Асинхронная архитектура от "Школа сильных программистов" (Фёдор Борщёв, Антон Давыдов)
- Курсы по архитектуре и System Design от Systems.Education (разные авторы)
- Курсы от ex-архитектора ЦБ РФ Максима Смирнова
- Software Architect от OTUS (разные авторы)
- Пример микросервисного приложения eShop по DDD от Microsoft
- Пример веб-приложения на ASP.NET Core со слоенной архитектурой от Microsoft
- Пример микросервисного веб-приложения на ABP Framework, работает на Kubernetes, Helm, включает API-Gateway и приложения на Angular
- Шаблон проекта на ASP.NET Core с чистой архитектурой
- Пример интернет-магазина, реализованного на Blazor Server
- Шаблон проекта на ASP.NET Core + React + Redux + TypeScript + Hot Module Replacement
- Пример веб-приложение на Blazor WebAssembly с чистой архитектурой
- Шаблон "надежного ASP.NET Core веб-приложения, использующего сервисы Azure"
- EQSP 12/20: Философия автоматизированных тестов (Егор Бугаенко)
- Занятие "Python - Тестирование" (Сергей Бочкарев) из курса "ШБР 2022" Академии Яндекса
- Занятие "Java - Тестирование" (Сергей Волков) из курса "ШБР 2022" Академии Яндекса
- Занятие "Нагрузочное тестирование" (Григорий Липин) из курса "ШБР 2022" Академии Яндекса
- Эффективное юнит-тестирование (Владимир Хориков)
- Юнит-тестирование в разработке (Сергей Немчинский)
- Имитируем с Moq (Иван Кожин)
- Мутационное тестирование в .NET (Николай Молчанов)
- [EN] Creating a QA/DEV Collaborative Testing Strategy (Roy Osherove)
- Лучшие практики тестирования JavaScript и Node.js
- [EN] Comprehensive and exhaustive JavaScript & Node.js testing best practices
- [EN] From Zero to Hero: Unit testing in C# (Nick Chapsas)
- [EN] From Zero to Hero: Integration testing in ASP.NET Core [Nick Chapsas]
- [EN] Building a Pragmatic Unit Test Suite (Vladimir Khorikov)
- [EN] Unit Testing an ASP.NET Core 6 Web API (Kevin Dockx)
- [EN] NODE.JS Testing From A to Z (Yoni Goldberg)
- Docker - Курс для начинающих [3 ЧАСА] (Богдан Станчук)
- Kubernetes - Курс для начинающих (Богдан Станчук)
- [EN] Architecting Distributed Cloud Applications (2017, Jeffry Richter (да, тот самый Рихтер))
- [EN] Building Microservices Applications On Azure Service Fabric (2019, Jeffry Richter)
- Небольшой учебник по изучению регулярных выражений на GitHub
- Кроссворды на регулярках — геймификация в изучении регулярок
- Bloop: Чат с кодом (Open Source)
- Загружаете в него репо и задаете по нему вопросу (например, "где реализована логика работы с аккаунтом?"), а bloop в ответ выдает вам список соответствующих файлов и мест в коде.
- Onboard AI: Аналог bloop, только с закрытым исходным кодом
- [EN] Курс "ChatGPT Prompt Engineering for Developers"
- [EN] Сборник "Каждый разработчик должен знать"
- [EN] Чеклист перед выходом в продакшн
- Список сервисов в помощь веб-разработчику
- Список сервисов (облачных в основном) с бесплатныыми лимитами для разработчиков
- Добавить обозначение сложности материала для каждой из ссылок
- Добавить краткое описание каждого курса/доклада/статьи
- Добавить подробную навигацию
- В виде спойлера вывести все темы из курсов после названия курса