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

Backend Podcast  

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

120. We don't break userspace! 19.10.2025

Эскиль Стинберг. Блаженство суперстабильности. Могущественный C. Оптимизаторы компиляторов - настоящие герои. Спрыгнуть с иглы IDE. Код, который написали не для вас.

119. Backend on TypeScript 12.10.2025

Джефри Хинтон, Митчел Хашимото, Temporal. Простые вопросы собеседования для Junior Go Developer'а. TypeScript для бекэнда? Сила shell'а. TiDB. Рассылка почты через BillionMail и WhatsApp Business.

118. Form Submission 05.10.2025

Отправка данных из браузера на бэкенд: форма vs JavaScript/TypeScript. Где хранить стейт фронтенда?

117. Go Slices 18.09.2025

В этом эпизоде мы обсуждаем статью, которую написал Артём про слайсы в Go. В статье много 📊 диаграмм и примеров. Также ссылку на статью мы опубликовали в Reddit и если она вам понравилась, то поставьте пожалуйста плюс.

116. d2, DBOS, n8n, saga design pattern 09.09.2025

d2 - скриптовый язык для диаграмм. Решение проблемы организации workflow в DBOS. n8n - супер популярный проект для управления workflow. Для чего нужен дизайн-паттерн сага, что такое компенсация?

115. rsyslog vs graylog 01.09.2025

Новый Go 1.25. Что если логи писать просто в файл, rsyslog или graylog? Query builder - используем или нет? Динамическое количество колонок и агрегатные jsonb-фукнции в PostgreSQL.

114. AnythingLLM 23.08.2025

AnythingLLM - семантический поиск по вашему корпусу текстов с помощью LLM. Структуры данных под капотом тектсовых редакторов на примере Emacs.

113. Audit logging 10.08.2025

Storage Box от Hetzner. Трейсинг в логах PostgreSQL. Почему без query builder'а лучше? Аудиторский след на уровне приложения и СУБД (треиггеры). GUC и custom GUC для контекста триггеров.

112. Deployment granularity 28.07.2025

Сборка Go-проекта: один или несколько бинарников для сервера и утилит? Один или несколько процессов?

111. Testing on the Clock 21.07.2025

Как тестировать бэкенд web-приложения, когда нет времени? Книга про СУБД на Go в 3000 строк кода. Trendshift - тренды репозиториев на GitHub.

110. add/edit/view web pages 14.07.2025

Стоит ли объединять страницы CRUD приложения, невидимый черновик, паттерны по добавлению в контейнер. Экстремально быстрый прототип с teable.

109. Go1.25: JSON v2 07.07.2025

Прокси в Postman, telethon для написания клиентов для Telegram, Go 1.25 и новые пакеты json/v2 и json/jsontext.

108. PG row-level locks 30.06.2025

mitmproxy, разбираем термин staging. Недостаток FOR UPDATE лока в PostgreSQL.

107. Storage and Representation Layers 23.06.2025

Разделение на логические слои работы с хранилищем данных и репрезентации. Инцендент в Google, загрузка в S3, diff фич в PostgreSQL для разных версий.

106. public, static, assets, views 16.06.2025

Разбираем значение public, static, assets, views директорий в веб разработке. Почему статика в отдельной директории? Предлагаем простое решение для Go-приложения.

105. NLWeb 08.06.2025

🕸 Что такое NLWeb? Голосовое общение с сайтом и векторные базы данных. Как AI создает еще больше работы для разработчиков?

104. Null reference 01.06.2025

❄️ Обсуждаем лекцию Tony Hoar. Зачем нужен тип указателя. Индексация с внутренними проверками. Безопасность за счет прозводительности.

103. PostgreSQL 18 25.05.2025

🐘 Обзор изменений PostgreSQL 18. Skip scan, улучшенная работа с партициями, агрессивный фризинг, old и new в RETURNING, параллельная репликация, oAuth 2.0, md5 хеш для паролей теперь deprecated.

102. Criticizing Go: err handling 18.05.2025

😬 Почему в Go такая неудобная обработка ошибок? Чем она хороша и плоха? Почему в Go нет механизма исключений?

101. Graceful Shutdown 11.05.2025

😑 Graceful shutdown. Как положить приложение без последствий? Ошибка при написании консумера. Автодокументация легаси проекта.

100. File Uploads on the Backend 04.05.2025

💾 Сохранять ли файл в БД, длинные транзакции, коллизия имен, относительный vs абсолютный путь файла.

99. Go project layout v2 27.04.2025

📑 Стандартный layout проекта на Go. Пакеты и модули.

98. Software Architecture 20.04.2025

📖 Отзыв на книгу Master Software Architecture. Чем архитектура отличается от дизайна? Недостатки e2e тестов. Что делает архитектор на примере стартапа? Парадокс проекта.

97. Antropic MCP 13.04.2025

⬛️ Что такое MCP? Сравнительное исследование качества LLM'ок. Впечатления от Claude Code/Desktop.

96. SQL: Aggregates vs. Subqueries & Managing Statuses 06.04.2025

🪸 Группировка vs подзапросы, bool_or в PostgreSQL. Моделирование статусов. PostgreSQL в оперативной памяти, tmpfs.

95. Building Bluesky 30.03.2025

🐦 Что такое Bluesky, как он устроен, почему выбрана распределенная архитектура у этой соц. сети? Почему команда начала разработку на PostgreSQL и перешла на ScyllaDB + SQLite?

94. What the NULL 24.03.2025

😑 Нужно ли делать колонки в таблице nullable? Какие бывают проблемы с NULL?

93. os.Root, ReactJS to Go, tsgo 16.03.2025

🍭 Что позволяет dagger.io? Зачем команда Dagger переписала ReactJS фронтенд на Go + WebAssembly? Как не дать атакующему выйти за пределы родительской директории и прочитать ../../../etc/passwd? Зачем переписали компилятор TypeScript на Go?

92. Imposter syndrome 09.03.2025

🎭 Cиндром самозванца в профессии. Стоит ли на него обращать внимание? Как от него избавиться?

91. Object storage is all you need 02.03.2025

💾 Как объектные хранилища изменят тех. стек в будущем? Бесконечный виртуальный диск, SQL база данных, логи, очереди, leader election только на S3.

90. Pagination 23.02.2025

📑 Какие недостатки у постраничной пагинации? Как лучше сделать курсорную пагинацию? Механизмы полинга. Почему Prometheus полит данные?

89. Go 1.24.0 16.02.2025

🪂 Go 1.24.0. Самое полезное нововведение. Новый пакет в SDK. Развитие в сторону однородности терминов.

88. Parallelism, IO bottlenecks 09.02.2025

🛟 Почему команда create в Linux не заканчивается на e, а в Go - наоборот? Как параллелизм может быть не конкурентным? И почему производительность Go и Python зависит от жесткого диска?

87. Data Centers, Nvidia, DeepSeek, Ollama 02.02.2025

🧠 Многое ли изменит DeepSeek R1? От энергопотребления до тенденции ростов дата-центров.

86. Unix pipes & Go channels 26.01.2025

🚸 Разбираем аналогию Unix пайпа и канала в Go. Как думает программист при исправлении ошибок в коде? (на основе когнитивных исследований)

85. Delivering Terabytes of Video 19.01.2025

📼 Как организовать раздачу терабайт видео? Где хранить это видео, как его подготовить? Как работает адаптивный битрейт в HLS?

84. Date in PostgreSQL & time.Time in Go 12.01.2025

📅 Тип DATE в Postgres и time.Time в Go. Как работать с датой, если не нужна часовая зона? Когда использовать тип DATE в PostgreSQL? Необычное API у Date объекта в JavaScript. In-memory мок интерфейса к СУБД и удобство SQL.

83. 2024 Internet Trends Decoded 29.12.2024

🦌🎄Как изменился Интернет за 2024 год? Почему Starlink растет втрое, а HTTP/3 уже занимает 20% трафика? LLM-проекты с большим трафиком. Кто повинен в проблемах работы Интернета, пожары, технические ошибки, государства? Разбираем годовой отчет от Cloudflare.

82. Concerning var names 22.12.2024

🪄 Короткие имена упрощают код, но усложняют его понимание. Как найти зологую середину?

81. Continuous Integration 15.12.2024

🛣 Что такое Continuous Integration (CI), чем он отличается от Pre-Release Integration и Feature Branching? Как делать код-ревью при CI в условиях частых пушей в mainline? Как CI практика вынуждает разработчиков писать код проекта лучше?

80. Scripts & Machine Vision 08.12.2024

👁‍🗨 Варианты сохранения состояния в скриптах. Впечатления от задач по computer vision.

79. Side Effects 24.11.2024

🎇 Что такое сайд эффект? Какая парадигма программирования ввела этот термин? Откуда взялся термин "сайд эффект"? Как понять где в коде сайд эффекты? Действительно ли сайд эффект - это побочное дествие (дословный перевод) или желательное поведение?

78. Rate Limit & Token Bucket 15.11.2024

🗑 Оцениваем упущенные выгоды от использования старой версии PostgreSQL. Новый файловый менджер yazi. Как работают рейт лимиты и token bucket алгоритм?

77. Interruptions in Programmers' Work 09.11.2024

☎️ Какой эффект оказывают прерывания - когда нас отвлекают - на эффективность разработчиков, и можно ли их уменьшить? Recovery time после прерываний? Можно ли слушать музыку при написании кода?

76. Multi-tenant queue in PostgreSQL 03.11.2024

🤼‍♀️ Как сделать multi-tenant очередь в PostgreSQL и обеспечить справедливое распределение очередности выполнения задач? Зачем нужны странные вопросы на собеседованиях при устройстве в компанию и что на них отвечать?

75. LRO API Design Pattern 27.10.2024

🕗 Долго выполняющиеся операции. О проблемах, когда клиент долго ждет ответа. Когда применять дизайн паттерн LRO? Должен ли код ошибки быть читаемым?

74. gofpdf, PostgreSQL HOT & fillfactor 20.10.2024

🦁 Скрытые возможности gofpdf для генерации PDF. Какой формат для печатаемых документов предпочесть: PNG, ZPL, PDF? Когда PostgreSQL годится в качестве key-value хранилища и как использовать HOT и fillfactor для максимизации производительности часто обновляемых данных?

73. Cognitive Psychology and Programming 13.10.2024

🧠 Когнитивная перегрузка, научные эксперименты по восприятию задач над шахматистами и программистами, перенос в долговременную память. Что такое дальний и ближний перенос знаний и помогает ли знание алгоритмов в написание приложений? Развивает ли интеллект умение пользоваться алгоритмами?

72. PostgreSQL 17, Go for scripts, Complex Forms 06.10.2024

🐘 Что нового в PostgreSQL 17? Хорошая статья по введению в Bubble Tea для создания TUI приложений. Скрипты на Go. Огромные web-формы: стоит ли переносить логику на фронтенд?

71. API PATCH 29.09.2024

🩹 Пограничная разница уровней изоляции Repeatable Read и Serializable. Частичное получение и обновление данных через API, метод PATCH.

70. Elvish, Temporal 22.09.2024

🧝 Что такое шелл нового поколения на примере Elvish? Как решаются проблемы надежного выполненеия workflow в микросервисной архитектуре? Что понравилось и не понравилось в Temporal?

69. Webhooks and Callbacks 15.09.2024

🫣 Разбираем термины webhook и callback. В этом эпизоде мы знатно страдаем над определениями, разбираем наши заблуждения и прощупываем серые зоны. Хотели осветить больше технических деталей, но делать эпизод длиннее часа не стали, поэтому будет продолжение.

68. auto_explain, ClickHouse, import cycle in Go 08.09.2024

🔄 Ошибка циклической инициализации в Go и особенности дизайна этого ЯП, инкрементная компиляция. Модуль auto_explain в PostgreSQL. Когда использовать ClickHouse?

67. Mono vs Multi Repos: Navigating CI Pipelines 31.08.2024

📚 Разница между моно и мульти репозиторием. Стоит ли вам использовать моно-репозиторий? Как триггерить отдельный пайплайн для подпроектов в случае моно/мультирепозитория? Ускорение сборки Docker образа. Синхронная разработка backend и frontend проекта.

66. Go 1.23 iterators, to OSS or not? 25.08.2024

💍 Итераторы в Go 1.23.0. Делать ли коммерческий проект с открытым исходным кодом или закрытым? Социальный инжениринг из Северной Кореи. Какие для себя риски видят компании-потребители OSS?

65. The thorny path to breaking free from ReactJS 18.08.2024

🧗‍♀️ Почему мы выбрали ReactJS для фронтенда и потом отказались от него? Когда стоит взять на борт ReactJS и когда генерировать старый добрый HTML на сервере? Вобщем, обсуждаем наш тернистый путь отказа от ReactJS.

64. TIOBE index, ORM in prod, StackOverflow survey 11.08.2024

🌴 Обновленный индекс TIOBE по языкам программирования: Go на 9 месте и теперь в TOP-10. Кртитический обзор преимуществ использования ORM. Примечательные цифры опроса 2024 года от StackOverflow.

63. Request deduplication 04.08.2024

‼ ️Дизайн-паттерн для предотвращения дублирования запросов. Почему запросы иногда дублируются? Что делать, если данные в кеше устарели или кеш-сервер недоступен? Нужен ли уникальный request_id или достаточно использовать хеш тела запроса?

62. AWS certs, Monzo bank on AWS 28.07.2024

☁️ Мнение о AWS сертификатах для поиска работы в США. Case study: Monzo банк (UK) целиком работающий на инфраструктуре AWS.

61. sshd, basebackup, enum, rclone 21.07.2024

💥 Критическая уязвимость sshd. Особеннось работы pg_basebackup. Использование ENUM в PostgreSQL. Почему отказались от rclone в проде?

60. Riverqueue 14.07.2024

⛲️ Проблема двух хранилищ: СУБД и очередь. riverqueue - пример решения, в котором задачи очереди хранятся в трназакционной СУБД. Также, pspg и использование только SDK для тестов в Go.

59. OAuth 2.0 07.07.2024

🗝 Говорим про открытый стандарт авторизации OAuth 2.0 и ключевые моменты в понимании этого стандарта, а также про неочевидное использование этого фреймворка авторизации.

58. Serverless arc & microservices 30.06.2024

🤹‍♀️ Закат хайпа serverless архитектуры. Почему в свежих публикациях так часто предвещают конец развития технологии (спойлер: с технологией все в порядке)? Переход от микросервисной архитектуры к монолиту в Amazon Prime Video.

57. "Modern Software Engineering" book 23.06.2024

📘 Обзор книги "Modern Software Engineering": итеративная и инкрементальная разработка, agile современности и agile-манист от создателей, стоит ли всегда применять TDD, важные метрики разработчика: стабильность и производительность.

56. rclone снаружи и изнутри 16.06.2024

👭 Как используют rclone для однонаправленной и двунаправленной синхронизации? Правило "3-2-1" для резервного копирования. Также поговорили про внутренности rclone: интересная реализация интерактивной сборки конфигов, встроенный ncdu, базовые пакеты fs и vfs.

55. PGO: inlining & branching 09.06.2024

🏃‍♀️ Основы PGO (Profile Guided Optimization): инлайнинг и бранчинг.

54. Design: ticket reservation service 02.06.2024

👨‍🚀 Разбор модельного интервью: разработка сервиса резервации билетов. Самый популярный проект на Go - frp.

53. Survival Guide 26.05.2024

📘 Отзыв на книгу “Engineers Survival Guide”. Как выжить программисту в большой корпорации.

52. Mattermost 19.05.2024

💬 Mattermost - аналог Slack, написан на Go, с copyleft лицензией. Хороший пример крупного web-сервиса. Как он устроен внутри? Поговорили про абстрагирования от стораджа, разделение на слои приложения, выделения моделей в отдельный пакет, систему сборки документации, e2e тесты в этом проекте.

51. Tidy First? 12.05.2024

📘 Обзор книги “Tidy First?”. Говорим о том, зачем нужен рефакторинг, обсуждаем самые простые структурные изменения кода.

50. Traefik 3, cmp.Or в Go 1.22 05.05.2024

🍫 Что нового в Traefik 3? История о том, как добавили cmp.Or в Go 1.22. Зачем нужна эта функция и где ее использовать? Что такое comparable интерфейс?

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-комьюнити.