RSS Telegram YouTube Apple Яндекс Spotify Google Amazon Почта

Backend Podcast  

подкаст о разработке бэкенд-приложений

49. nextgres & debezium 28.04.2024

⚖️ В этом выпуске рассказываю про nextgres - PostgreSQL бэкенд для MySQL приложений. И про debezium для аудита изменений СУБД.

48. Redis больше не FOSS 21.04.2024

🌶 Почему Redis теперь - это проприетарный продукт? Что такое SSPL лицензия и чем она плоха для разрабочиков? Что использовать вместо Redis?

47. UX: Don't Make Me Think 13.04.2024

📘 Отзыв на книгу по UX. Важен ли UX? Как создать удобный сайт? Почему простота и интуиция — ключи к успешному дизайну веб-сайта.

46. Экстремальный бекап, новый GoLand, UUIDv7 07.04.2024

🍿 Инкрементные бэкапы при помощи pg_probackup, когда штатных средств PostgreSQL не хватает. Что нового в GoLand 2024.1? Зачем предложен черновик стандарта новых UUID и чем хорош UUIDv7?

45. GSA: алгоритм Гейла-Шепли 31.03.2024

🐌 Как Gale-Shapley алгоритм помогает найти идеальную пару и работу мечты. И как жадность улучшает систему. Также здесь поговорим о том, почему не всегда получается сделать всех счастливыми.

44. Go tracer, 1BRC 24.03.2024

🪢 Что нового в runtime/trace? Что дает партицирование и стриминг данных трейсера? Как ускорить чтение и обработку файла на 1 миллиард строк?

43. No silver bullet 17.03.2024

🥇 Обсудили статью Брукса 1986 года "No silver bullet" о возможности решения проблемы сложности в программных продуктах. Коротко про инцендент и успешный PITR в PostgreSQL, а также про команду MERGE.

42. Go 1.22.1, PostgreSQL в облаке, пакет slices 10.03.2024

⛵️ Исправления безопасности в Go 1.22.1. Сравнение производительности и стоимости PostgreSQL в разных облаках. Бережливое отношение к памяти в Go и пакет slices.

41. Ноль или один: споры о индексации 03.03.2024

🪲 Почему индексация массивов начинается с 0 в большинстве ЯП? Статья Дейкстры. Почему в Go отказались от отрицательной индексации?

40. MVCC, nocodb, уольнения в IT 25.02.2024

🤹‍♀️ MVCC - механизм конкурентного доступа к данным в PostgreSQL. Zero-code бэкенд с помощью nocodb. Массовые увольнения в IT-отрасли в США.

39. Книги: Мониторинг PostgreSQL; The Essence of SQL 18.02.2024

Поговорили про пару стоящих книг:
📘 Мониторинг PostgreSQL, Алексей Лесовский;
📙 The Essence of SQL, Дэвид Розенштейн.
Одна из них совсем свежая, другая же вышла больше 20 лет назад.

38. Go 1.22 11.02.2024

🚀 Go 1.22 и новое версионирование пакетов в SDK, как использовать PGO и его улучшенная производительность, улучшенный мультиплексор в net/http пакете, щепотка синтаксического сахара и другие изменения.

37. Буферный кеш; DRY-принцип 04.02.2024

🧹 Буферный кеш в PostgreSQL. Что это и в чем отличия буферного кеша от буфера и от кеша? 😐 Насколько DRY-принцип - это принцип? Обсудили его недостатки и проблемы поиска нужной абстракции.

36. Бекэнд для бизнес-аналитики 28.01.2024

🩻 MVP для бекэнда в бизнес-аналитике и его важнейшие компоненты.

35. Таймауты и ретраи 21.01.2024

🐌 Таймауты и ретраи разного типа. Какие бывают стратегии повторной отправки, зачем нужен джиттер и что такое спираль смерти?

34. Выстрел в ногу с PostgreSQL 14.01.2024

🔫 Что такое work_mem и как определить его значение? Стоит ли переносить всю бизнес-логику в хранимые процедуры? Как быстро уведомить о завершившейся транзакции, NOTIFY или Go-рутина? CTE или подзапросы и что изменилось в PostgreSQL 12? Сегодня говорим о PostgreSQL, индексах на FK и вдохновляем себя и вас на использование EXPLAIN ANALYZE.

33. Unicode 07.01.2024

🉐 Ориентация букв, графемные кластеры, перевенутые символы, руны и код-поинты таблицы символов, глифы, монгольский язык и египетские иероглифы, диакритики, валидация пользовательского ввода с диакритиками и приведение строк к ASCII

32. Итоги, ускорение LIKE/ILIKE, deadcode, курс на Brilliant 31.12.2023

🎅 Коротко об итогах года. Как ускорить LIKE/ILIKE с поиском по подстроке в PostgreSQL? Находим мертвый код с помощью deadcode. Всех с наступающим/наступившим Новым Годом! ☃️🎄🌵🎉

31. Основы Go 24.12.2023

🗿 Что такое выражение (expression) и инструкция (statement)? Что такое control flow? Чем декларация в Go отличается от C? Два вида тайп алиасов.

30. Резульатыт опроса Go разработчиков, CGO-пакеты 17.12.2023

🍰 Результаты отчета Go Developer Survey 2023 H2. Насколько микросервисная архитектура популярна в комьюнити Go-разработчиков? Какие СУБД, облака, IDE, форматы обмена данных самые популярные в комьюнити? Как комьюнити использует AI в разработке?

🔧 go-sqlite для работы с SQLite3 без CGO. Чем CGO пакеты хуже pure Go? Бенчмарк C FFI оверхедов и низкий перфоманс Go.

29. Опыт использования API от OpenAI 10.12.2023

👾 Почему мы решили использовать OpenAI в нашем проекте? Как мы его используем и какие поулчили результаты? Что дает API ассистент? Готов ли ChatGPT для использования в продакшне?

28. Обработка ошибок в Go 03.12.2023

☔️ Самая частая ошибка при работе с ошибками в Go. Обработка ошибок в Go: wrapping и добавление контекста. Достаточно ли Go SDK для работы с ошибками и что есть за пределами SDK?

27. Open, Close в Go 26.11.2023

💾 Функции Open, Close в Go, финализаторы и деструкторы Go рантайма.

🔧 nilaway - новый линтер от Uber

26. Полиморфизм в SQL, инцидент с WAL 19.11.2023

🌜 Что делать, если часто рвется SSH-соединение? Опыт использования lazydocker. Сколько можно выжать RPS из web-сервера с SQLite базой? Какие есть варианты дизайна БД для достижения полиморфизма в SQL (polymorphic association)?

🔥 Индциндент: закончилось место на сервере БД

25. Слайсы 12.11.2023

🔪 Почему слайсы в Go - это сложная концепция? Типовые ошибки при использовании слайсов. Как они устроены?

🗞 Группа Charm получила USD 6_000_000 от фонда Gradient
🗞 Krater: опыт перехода с Rust на Go

24. SSH-based приложения, сложности микросервисной архитектуры, рынок труда 05.11.2023

🧟 что такое ssh-based приложения? есть ли в вашей компании X+ разработчиков для решений на базе микросервисной архитектуры? почему микросервисная архитектура - это сложно? перспективы back-end разработки и у кого больше з/платы?

23. SQL антипаттерны 29.10.2023

🍄 Книга SQL антипаттерны. Реляционные БД без FK чеков. Проблемы смешивания метаданных и данных. EAV как надежный способ добавить страданий. Три способа хранения деревьев в реляционной БД (включая тот, о котором вы скорее всего не знали).

22. Новый рауер в Go 1.22 22.10.2023

🛵 Что будет в новом раутинге в Go1.22? Как новый раутинг устроен под капотом и насколько медленнее он будет работать по сравнении с текущим? Теперь для раутинга в HTTP-сервере достаточно Go SDK?

21. Монотонное, системное и атомное время 15.10.2023

⏱ Что такое монотонные часы? Скачущая секунда в POSIX и инциндент в CloudFlare из-за особенностей замеров временных интервалов в Go. Астрономические, атомные и монотонные часы.

20. Логгирование 07.10.2023

🐾 Можно ли в логгированием решить задачи трейсинга и мониторинга? Как логгировать запрос-ответ web-сервиса? Подебатировали про уровни логгирования (severity levels). Где хранить логи, PostgreSQL, ElasticSearch, ClickHouse? Неправильные ошибки в Go и при чем тут логи?

19. ChatGPT и Copilot 30.09.2023

🍕 Как мы используем Copilot и ChatGPT на ежедневной основе? Недостатки обоих продуктов, а также про чувство вины при использовании ChatGPT в работе, про правительство Исландии, идеи стартапов, "Black Mirror" и т.д.

18. testing-фреймворк в Go 23.09.2023

🧩 То что вы скорее всего не знали о testing пакете в Go. Бенчмарки, фаззи-тесты, параллельное тестирование, fstest, iotest и т.д.

17. Конкаренси, параллелизм, асинхронщина 16.09.2023

🚧 Concurrency, parallelism и asyncronous программирование. Почему эти термины часто путают, как все это работает в Go, JavaScript и Python? При чем тут очереди и event loop?

16. Брокеры сообщений и очереди 09.09.2023

💬 Когда переходить от batch processing к брокеру сообщений? Каковы этапы повышения сложности приложения? Опыт неудачного использования RabbitMQ.

15. Golang или Python? 02.09.2023

🥊 Почему 5 лет назад мы перешли с Python и PHP на Golang? Почему именно Golang? Python треды и GIL, что выбрать сегодня для разработки бэкэнда?

14. pgx 26.08.2023

🧱 Почему мы не используем pq в наших проектах на Go? Когда стоит использовать database/sql из стандартной библиотеки, а когда лучше работать напрямую с драйвером и почему мы не используем database/sql? Поговорили про функционал pgx позволяющий использовать LISTEN/NOTIFY, т.е. межпроцессное взаимодействие (IPC) на базе PostgreSQL. Коснулись работы с LOB и темы хранения файлов в БД. Поговорили про новую систему логгирования в pgx5 с использованием механизма трейсинга и про пул соединений.

13. Project layout 19.08.2023

🗺 В этом выпуске мы говорим о лейауте Go-проекта, т.е. организации файловой структуры проекта. Есть ли стандартный лейаут? Какие общие правила можно применить для организации кода? Резместить весь код в одном main.go файле - это ок? Какие идеи для лейаута можно почерпнуть из Go SDK? Стоит ли уделять большое внимание этому вопросу? Также Боря рассказал в общих чертах о своем "неправильном" лейауте и почему он сделал такой выбор.

12. Валидация. 12.08.2023

🔬 Валидация, верификация, RFC7807 и Марк Нотингем, анмаршалер JSON в Go и его связь с точностью валидации и как сообщать пользователю об ошибках.️

11. gonew, multi-threaded PostgreSQL. 05.08.2023

🏋🏾‍♀️ Наконец-то появится стандартный лейаут Go-проекта? PostgreSQL станет single process, multi-threaded? Что это решит и станет ли СУБД быстрее?

10. Рекомендации начинающим разработчикам. 29.07.2023

🔨 "Если у меня получилось, то и у вас получится" (Ларри Хон, очень эффективный плотник)

9. Пакет context в Go SDK. 22.07.2023

🔮 Казалось бы, с чего это пакет context заслужил отдельного подкаста?

8. Не WebSocket'ом единым. 15.07.2023

☄️ Бесконечные респонсы, фул-дуплекс, тройное лейтенси однонаправленных и двунаправленных коммуникаций

7. Это REST? 08.07.2023

🪓 REST - беда для перфекциониста. Есть ли у RESTful архитектурного стиля стандарт?

6. Зависимости в кодовой базе. 01.07.2023

🦕 Как ощутить свободу и избавиться от зависимостей? Статья Раса Кокса легла в основу этого выпуска.

5. Go 1.21. 24.06.2023

🔥В августе выйдет Go 1.21.0. Доступна rc-версия. Официальный release note (https://tip.golang.org/doc/go1.21).

4. Немного о безопасности: XSS, CSRF, CORS. 17.06.2023

В этом выпуске мы немного поговорили о безопасности бэкэнд-приложений, CORS-механизм и связанные с ним политики безопасности браузеров, чуть обсудили XSS и CSRF атаки.

3. To ORM or not to ORM? 10.06.2023

В этом эпизоде обсудили стоит ли использовать ORM в проектах и почему мы отказались от них в своих проектах.

2. regular expressions, systemd 03.06.2023

Регулярные выражения, автостарт и рестарт при краше с помощью systemd.

1. pg_basebackup, gzip vs zstd, DB indexes, Golang survey. 27.05.2023

Фиксация тега базового docker-образа; програмы для сжатия в pg_basebackup; важность понимания внутреннего устройства индексов БД на примере B-Tree; результаты опросы Go-комьюнити.