podcast
details
.com
Print
Share
Look for any podcast host, guest or anyone
Search
Showing episodes and shows of
Artem Ostretsov
Shows
Backend Podcast
79. Side Effects
🎇 Что такое сайд эффект? Какая парадигма программирования ввела этот термин? Откуда взялся термин "сайд эффект"? Как понять где в коде сайд эффекты? Действительно ли сайд эффект - это побочное дествие (дословный перевод) или желательное поведение? Hosted on Acast. See acast.com/privacy for more information.
2024-11-24
41 min
Backend Podcast
78. Rate Limit & Token Bucket
🗑 Оцениваем упущенные выгоды от использования старой версии PostgreSQL. Новый файловый менджер yazi. Как работают рейт лимиты и token bucket алгоритм? Hosted on Acast. See acast.com/privacy for more information.
2024-11-17
36 min
Backend Podcast
77. Interruptions in Programmers' Work
☎️ Какой эффект оказывают прерывания - когда нас отвлекают - на эффективность разработчиков, и можно ли их уменьшить? Recovery time после прерываний? Можно ли слушать музыку при написании кода? Hosted on Acast. See acast.com/privacy for more information.
2024-11-09
26 min
Backend Podcast
76. Multi-tenant queue in PostgreSQL
🤼♀️ Как сделать multi-tenant очередь в PostgreSQL и обеспечить справедливое распределение очередности выполнения задач? Зачем нужны странные вопросы на собеседованиях при устройстве в компанию и что на них отвечать? Hosted on Acast. See acast.com/privacy for more information.
2024-11-03
35 min
Backend Podcast
75. LRO API Design Pattern
🕗 Долго выполняющиеся операции. О проблемах, когда клиент долго ждет ответа. Когда применять дизайн паттерн LRO? Должен ли код ошибки быть читаемым? Hosted on Acast. See acast.com/privacy for more information.
2024-10-27
34 min
Backend Podcast
74. gofpdf, PostgreSQL HOT & fillfactor
Скрытые возможности gofpdf для генерации PDF. Какой формат для печатаемых документов предпочесть: PNG, ZPL, PDF? Когда PostgreSQL годится в качестве key-value хранилища и как использовать HOT и fillfactor для максимизации производительности часто обновляемых данных? Hosted on Acast. See acast.com/privacy for more information.
2024-10-20
27 min
Backend Podcast
73. Cognitive Psychology and Programming
🧠 Когнитивная перегрузка, научные эксперименты по восприятию задач над шахматистами и программистами, перенос в долговременную память. Что такое дальний и ближний перенос знаний и помогает ли знание алгоритмов в написание приложений? Развивает ли интеллект умение пользоваться алгоритмами? Hosted on Acast. See acast.com/privacy for more information.
2024-10-13
34 min
Backend Podcast
72. PostgreSQL 17, Go for scripts, Complex Forms
🐘 Что нового в PostgreSQL? Хорошая статья по введению в Bubble Tea для создания TUI приложений. Скрипты на Go. Огромные web-формы: стоит ли переносить логику на фронтенд? Hosted on Acast. See acast.com/privacy for more information.
2024-10-06
34 min
Backend Podcast
71. API PATCH
🩹 Пограничная разница уровней изоляции Repeatable Read и Serializable. Частичное получение и обновление данных через API, метод PATCH. Hosted on Acast. See acast.com/privacy for more information.
2024-09-29
41 min
Backend Podcast
70. Elvish, Temporal
🧝 Что такое шелл нового поколения на примере Elvish? Как решаются проблемы надежного выполненеия workflow в микросервисной архитектуре? Что понравилось и не понравилось в Temporal? Hosted on Acast. See acast.com/privacy for more information.
2024-09-22
44 min
Backend Podcast
69. Webhooks and Callbacks
Hosted on Acast. See acast.com/privacy for more information.
2024-09-15
49 min
Backend Podcast
68. auto_explain, ClickHouse, import cycle in Go
🔄 Ошибка циклической инициализации в Go и особенности дизайна этого ЯП, инкрементная компиляция. Модуль auto_explain в PostgreSQL. Когда использовать ClickHouse? Hosted on Acast. See acast.com/privacy for more information.
2024-09-08
20 min
Backend Podcast
67. Mono vs Multi Repos: Navigating CI Pipelines
📚 Разница между моно и мульти репозиторием. Стоит ли вам использовать моно-репозиторий? Как триггерить отдельный пайплайн для подпроектов в случае моно/мультирепозитория? Ускорение сборки Docker образа. Синхронная разработка backend и frontend проекта. Hosted on Acast. See acast.com/privacy for more information.
2024-08-31
31 min
Backend Podcast
66. Go 1.23 iterators, to OSS or not?
💍 Итераторы в Go 1.23.0. Делать ли коммерческий проект с открытым исходным кодом или закрытым? Социальный инжениринг из Северной Кореи. Какие для себя риски видят компании-потребители OSS? Hosted on Acast. See acast.com/privacy for more information.
2024-08-25
46 min
Backend Podcast
65. The thorny path to breaking free from ReactJS
🧗♀️ Почему мы выбрали ReactJS для фронтенда и потом отказались от него? Когда стоит взять на борт ReactJS и когда генерировать старый добрый HTML на сервере? Вобщем, обсуждаем наш тернистый путь отказа от ReactJS. Hosted on Acast. See acast.com/privacy for more information.
2024-08-19
33 min
Backend Podcast
64. TIOBE index, ORM in prod, StackOverflow survey
🌴 Обновленный индекс TIOBE по языкам программирования: Go на 9 месте и теперь в TOP-10. Кртитический обзор преимуществ использования ORM. Примечательные цифры опроса 2024 года от StackOverflow. Hosted on Acast. See acast.com/privacy for more information.
2024-08-11
34 min
Backend Podcast
63. Request deduplication
‼️ Дизайн-паттерн для предотвращения дублирования запросов. Почему запросы иногда дублируются? Что делать, если данные в кеше устарели или кеш-сервер недоступен? Нужен ли уникальный request_id или достаточно использовать хеш тела запроса? Hosted on Acast. See acast.com/privacy for more information.
2024-08-04
40 min
Backend Podcast
62. AWS certs, Monzo bank on AWS
☁️ Мнение о AWS сертификатах для поиска работы в США. Case study: Monzo банк (UK) целиком работающий на инфраструктуре AWS. Hosted on Acast. See acast.com/privacy for more information.
2024-07-28
19 min
Backend Podcast
61. sshd, basebackup, enum, rclone
💥 Критическая уязвимость sshd. Особеннось работы pg_basebackup. Использование ENUM в PostgreSQL. Почему отказались от rclone в проде? Hosted on Acast. See acast.com/privacy for more information.
2024-07-21
25 min
Backend Podcast
60. Riverqueue
⛲️ Проблема двух хранилищ: СУБД и очередь. riverqueue - пример решения, в котором задачи очереди хранятся в трназакционной СУБД. Также, pspg и использование только SDK для тестов в Go. Hosted on Acast. See acast.com/privacy for more information.
2024-07-14
33 min
Backend Podcast
59. OAuth 2.0
🗝 Говорим про открытый стандарт авторизации OAuth 2.0 и ключевые моменты в понимании этого стандарта, а также про неочевидное использование этого фреймворка авторизации. Hosted on Acast. See acast.com/privacy for more information.
2024-07-07
31 min
Backend Podcast
58. Serverless arc & microservices
🤹♀️ Закат хайпа serverless архитектуры. Почему в свежих публикациях так часто предвещают конец развития технологии (спойлер: с технологией все в порядке)? Переход от микросервисной архитектуры к монолиту в Amazon Prime Video. Hosted on Acast. See acast.com/privacy for more information.
2024-06-30
23 min
Backend Podcast
57. "Modern Software Engineering" book
📘 Обзор книги "Modern Software Engineering": итеративная и инкрементальная разработка, agile современности и agile-манист от создателей, стоит ли всегда применять TDD, важные метрики разработчика: стабильность и производительность. Hosted on Acast. See acast.com/privacy for more information.
2024-06-23
45 min
Backend Podcast
56. rclone снаружи и изнутри
👭 Как используют rclone для однонаправленной и двунаправленной синхронизации? Правило "3-2-1" для резервного копирования. Также поговорили про внутренности rclone: интересная реализация интерактивной сборки конфигов, встроенный ncdu, базовые пакеты fs и vfs. Hosted on Acast. See acast.com/privacy for more information.
2024-06-16
37 min
Backend Podcast
55. PGO: inlining & branching
🏃♀️ Основы PGO (Profile Guided Optimization): инлайнинг и бранчинг. Hosted on Acast. See acast.com/privacy for more information.
2024-06-09
21 min
Backend Podcast
54. Сервис резервации билетов
👨🚀 Разбор модельного интервью: разработка сервиса резервации билетов. Самый популярный проект на Go - frp. Hosted on Acast. See acast.com/privacy for more information.
2024-06-02
45 min
Backend Podcast
53. Survival Guide
📘 Отзыв на книгу “Engineers Survival Guide”. Как выжить программисту в большой корпорации. Hosted on Acast. See acast.com/privacy for more information.
2024-05-26
36 min
Backend Podcast
52. Mattermost
💬 Mattermost - аналог Slack, написан на Go, с copyleft лицензией. Хороший пример крупного web-сервиса. Как он устроен внутри? Поговорили про абстрагирования от стораджа, разделение на слои приложения, выделения моделей в отдельный пакет, систему сборки документации, e2e тесты в этом проекте. Hosted on Acast. See acast.com/privacy for more information.
2024-05-19
47 min
Backend Podcast
51. Tidy First?
📘 Обзор книги “Tidy First?”. Говорим о том, зачем нужен рефакторинг, обсуждаем самые простые структурные изменения кода. Hosted on Acast. See acast.com/privacy for more information.
2024-05-12
42 min
Backend Podcast
50. Traefik 3, cmp.Or в Go 1.22
🍫 Что нового в Traefik 3? История о том, как добавили cmp.Or в Go 1.22. Зачем нужна эта функция и где ее использовать? Что такое comparable интерфейс? Hosted on Acast. See acast.com/privacy for more information.
2024-05-05
37 min
Backend Podcast
49. nextgres и debezium
⚖️ В этом выпуске рассказываю про nextgres - PostgreSQL бэкенд для MySQL приложений. И про debezium для аудита изменений СУБД. Hosted on Acast. See acast.com/privacy for more information.
2024-04-28
27 min
Backend Podcast
48. Redis больше не FOSS
🌶 Почему Redis теперь - это проприетарный продукт? Что такое SSPL лицензия и чем она плоха для разрабочиков? Что использовать вместо Redis? Hosted on Acast. See acast.com/privacy for more information.
2024-04-21
24 min
Backend Podcast
47. UX: Don't Make Me Think
📘 Отзыв на книгу по UX. Важен ли UX? Как создать удобный сайт? Почему простота и интуиция — ключи к успешному дизайну веб-сайта. Hosted on Acast. See acast.com/privacy for more information.
2024-04-13
52 min
Backend Podcast
46. Экстремальный бекап, новый GoLand, UUIDv7
🍿 Инкрементные бэкапы при помощи pg_probackup, когда штатных средств PostgreSQL не хватает. Что нового в GoLand 2024.1? Зачем предложен черновик стандарта новых UUID и чем хорош UUIDv7? Hosted on Acast. See acast.com/privacy for more information.
2024-04-08
34 min
Backend Podcast
45. GSA: алгоритм Гейла-Шепли
🐌 Как Gale-Shapley алгоритм помогает найти идеальную пару и работу мечты. И как жадность улучшает систему. Также здесь поговорим о том, почему не всегда получается сделать всех счастливыми. Hosted on Acast. See acast.com/privacy for more information.
2024-03-31
36 min
Backend Podcast
44. Go tracer, 1BRC
🪢 Что нового в runtime/trace? Что дает партицирование и стриминг данных трейсера? Как ускорить чтение и обработку файла на 1 миллиард строк? Hosted on Acast. See acast.com/privacy for more information.
2024-03-24
34 min
Backend Podcast
43. No silver bullet
🥇 Обсудили статью Брукса 1986 года "No silver bullet" о возможности решения проблемы сложности в программных продуктах. Коротко про инцендент и успешный PITR в PostgreSQL, а также про команду MERGE. Hosted on Acast. See acast.com/privacy for more information.
2024-03-17
51 min
Backend Podcast
42. Go 1.22.1, PostgreSQL в облаке, пакет slices
⛵️ Исправления безопасности в Go 1.22.1. Сравнение производительности и стоимости PostgreSQL в разных облаках. Бережливое отношение к памяти в Go и пакет slices. Hosted on Acast. See acast.com/privacy for more information.
2024-03-10
17 min
Backend Podcast
41. Ноль или один: споры о индексации
🪲 Почему индексация массивов начинается с 0 в большинстве ЯП? Статья Дейкстры. Почему в Go отказались от отрицательной индексации? Hosted on Acast. See acast.com/privacy for more information.
2024-03-03
34 min
Backend Podcast
40. MVCC, nocodb, уольнения в IT
🤹♀️ MVCC - механизм конкурентного доступа к данным в PostgreSQL. Zero-code бэкенд с помощью nocodb. Массовые увольнения в IT-отрасли в США. Hosted on Acast. See acast.com/privacy for more information.
2024-02-25
41 min
Backend Podcast
39. Книги: Мониторинг PostgreSQL; The Essence of SQL
Поговорили про пару стоящих книг:📘 Мониторинг PostgreSQL, Алексей Лесовский;📙 The Essence of SQL, Дэвид Розенштейн.Одна из них совсем свежая, другая же вышла больше 20 лет назад. Hosted on Acast. See acast.com/privacy for more information.
2024-02-18
39 min
Backend Podcast
38. Go 1.22
🚀 Go 1.22 и новое версионирование пакетов в SDK, как использовать PGO и его улучшенная производительность, улучшенный мультиплексор в net/http пакете, щепотка синтаксического сахара и другие изменения.📣 Страница эпизода: https://bknd.pro/podcast/episodes/2024/38.html Hosted on Acast. See acast.com/privacy for more information.
2024-02-11
35 min
Backend Podcast
37. Буферный кеш; DRY-принцип
🧹 Буферный кеш в PostgreSQL. Что это и в чем отличия буферного кеша от буфера и от кеша?😐 Насколько DRY-принцип - это принцип? Обсудили его недостатки и проблемы поиска нужной абстракции. Hosted on Acast. See acast.com/privacy for more information.
2024-02-04
39 min
Backend Podcast
36. Бекэнд для бизнес-аналитики
🩻 MVP для бекэнда в бизнес-аналитике и его важнейшие компоненты.📣 Страница эпизода: https://bknd.pro/podcast/episodes/2024/36.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.com Hosted on Acast. See acast.com/privacy for more information.
2024-01-28
38 min
Backend Podcast
35. Таймауты и ретраи
🐌 Таймауты и ретраи разного типа. Какие бывают стратегии повторной отправки, зачем нужен джиттер и что такое спираль смерти?📣 Страница эпизода: https://bknd.pro/podcast/episodes/2024/35.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.com Hosted on Acast. See acast.com/privacy for more information.
2024-01-21
1h 05
Backend Podcast
34. Выстрел в ногу с PostgreSQL
🔫 Что такое work_mem и как определить его значение? Стоит ли переносить всю бизнес-логику в хранимые процедуры? Как быстро уведомить о завершившейся транзакции, NOTIFY или Go-рутина? CTE или подзапросы и что изменилось в PostgreSQL 12? Сегодня говорим о PostgreSQL, индексах на FK и вдохновляем себя и вас на использование EXPLAIN ANALYZE. Hosted on Acast. See acast.com/privacy for more information.
2024-01-14
40 min
Backend Podcast
33. Unicode
🉐 Ориентация букв, графемные кластеры, перевенутые символы, руны и код-поинты таблицы символов, глифы, монгольский язык и египетские иероглифы, диакритики, валидация пользовательского ввода с диакритиками и приведение строк к ASCIICue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2024-01-07
53 min
Backend Podcast
32. Итоги, ускорение LIKE/ILIKE, deadcode, курс на Brilliant
🎅 Коротко об итогах года. Как ускорить LIKE/ILIKE с поиском по подстроке в PostgreSQL? Находим мертвый код с помощью deadcode. Всех с наступающим/наступившим Новым Годом! ☃️🎄🌵🎉Title:Christmas RushArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Kyzen Music Hosted on Acast. See acast.com/privacy for more information.
2023-12-31
42 min
Backend Podcast
31. Основы Go
🗿 Что такое выражение (expression) и инструкция (statement)? Что такое control flow? Чем декларация в Go отличается от C? Два типа алиасов тайп алиасов.Cue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-12-24
50 min
Backend Podcast
30. Результаты опроса Go разработчиков, CGO-пакеты
🍰 Результаты отчета Go Developer Survey 2023 H2. Насколько микросервисная архитектура популярна в комьюнити Go-разработчиков? Какие СУБД, облака, IDE, форматы обмена данных самые популярные в комьюнити? Как комьюнити использует AI в разработке?🔧 go-sqlite (https://github.com/zombiezen/go-sqlite) для работы с SQLite3 без CGO. Чем CGO пакеты хуже pure Go? Бенчмарк C FFI оверхедов и низкий перфоманс Go.Cue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-12-17
38 min
Backend Podcast
29. Опыт использования API от OpenAI
👾 Почему мы решили использовать OpenAI в нашем проекте? Как мы его используем и какие поулчили результаты? Что дает API ассистент? Готов ли ChatGPT для использования в продакшне?Cue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-12-10
55 min
Backend Podcast
28. Обработка ошибок в Go
☔️ Самая частая ошибка при работе с ошибками в Go. Обработка ошибок в Go: wrapping и добавление контекста. Достаточно ли Go SDK для работы с ошибками и что есть за пределами SDK?Cue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-12-03
48 min
Backend Podcast
27. Open, Close в Go
💾 Функции Open, Close в Go, финализаторы и деструкторы Go рантайма.🔧 nilaway - новый линтер от UberCue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-11-26
41 min
Backend Podcast
26. Полиморфизм в SQL, инцидент с WAL
🌜 Что делать, если часто рвется SSH-соединение? Опыт использования lazydocker. Сколько можно выжать RPS из web-сервера с SQLite базой? Какие есть варианты дизайна БД для достижения полиморфизма в SQL (polymorphic association)?🔥 Индциндент: закончилось место на сервере БДCue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-11-19
56 min
Backend Podcast
25. Слайсы в Go
🔪 Почему слайсы в Go - это сложная концепция? Типовые ошибки при использовании слайсов. Как они устроены?🗞 Группа Charm получила USD 6_000_000 от фонда Gradient🗞 Krater: опыт перехода с Rust на GoCue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-11-12
45 min
Backend Podcast
24. SSH-based приложения, сложности микросервисной архитектуры, рынок труда
🧟 что такое ssh-based приложения? есть ли в вашей компании X+ разработчиков для решений на базе микросервисной архитектуры? почему микросервисная архитектура - это сложно? перспективы back-end разработки и у кого больше з/платы?Cue SheetTitle:8 Bit WinArtist:HeatleyBrosWriter:Brett Heatley, ASCAPPublisher:Heatley Music Publishing, ASCAPLabel:Heatley Music Publishing Hosted on Acast. See acast.com/privacy for more information.
2023-11-05
47 min
Backend Podcast
23. SQL антипаттерны
🍄 Книга "SQL антипаттерны (https://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic-Programmers/dp/1934356557)". Реляционные БД без FK чеков. Проблемы смешивания метаданных и данных. EAV как надежный способ добавить страданий. Три способа хранения деревьев в реляционной БД (включая тот, о котором вы скорее всего не знали). Hosted on Acast. See acast.com/privacy for more information.
2023-10-29
50 min
Backend Podcast
22. Новый рауер в Go 1.22
🛵 Что будет в новом раутинге в Go1.22? Как новый раутинг устроен под капотом и насколько медленнее он будет работать по сравнении с текущим? Теперь для раутинга в HTTP-сервере достаточно Go SDK? Hosted on Acast. See acast.com/privacy for more information.
2023-10-24
39 min
Backend Podcast
21. Монотонное, системное и атомное время
⏱ Что такое монотонные часы? Скачущая секунда в POSIX и инциндент в CloudFlare из-за особенностей замеров временных интервалов в Go. Астрономические, атомные и монотонные часы. Hosted on Acast. See acast.com/privacy for more information.
2023-10-15
44 min
Backend Podcast
20. Логгирование
🐾 Можно ли в логгированием решить задачи трейсинга и мониторинга? Как логгировать запрос-ответ web-сервиса? Подебатировали про уровни логгирования (severity levels). Где хранить логи, PostgreSQL, ElasticSearch, ClickHouse? Неправильные ошибки в Go и при чем тут логи? Hosted on Acast. See acast.com/privacy for more information.
2023-10-07
1h 07
Backend Podcast
19. ChatGPT и Copilot
🍕 Как мы используем Copilot и ChatGPT на ежедневной основе? Недостатки обоих продуктов, а также про чувство вины при использовании ChatGPT в работе, про правительство Исландии, идеи стартапов, "Black Mirror" и т.д. Hosted on Acast. See acast.com/privacy for more information.
2023-10-01
1h 01
Backend Podcast
18. testing-фреймворк в Go
🧩 То что вы скорее всего не знали о testing пакете в Go. Бенчмарки, фаззи-тесты, параллельное тестирование, fstest, iotest и т.д. Hosted on Acast. See acast.com/privacy for more information.
2023-09-23
48 min
Backend Podcast
17. Конкаренси, параллелизм, асинхронщина
Concurrency, parallelism и asyncronous программирование. Почему эти термины часто путают, как все это работает в Go, JavaScript и Python? При чем тут очереди и event loop? Hosted on Acast. See acast.com/privacy for more information.
2023-09-17
53 min
Backend Podcast
16. Брокеры сообщений и очереди
💬 Когда переходить от batch processing к брокеру сообщений? Каковы этапы повышения сложности приложения? Опыт неудачного использования RabbitMQ. Hosted on Acast. See acast.com/privacy for more information.
2023-09-09
1h 02
Backend Podcast
15. Golang или Python?
Сегодня мы говорим о сравнении двух языков: Go и Python. Мы поделимся своим опытом перехода на Go. Почему Боря мигрировал с Python на Go, а я прекратил писать новый код на PHP? Не сожалеем ли мы о сделанном выборе? Может быть стоило выбрать какой-то другой язык, например, Rust?В 2017 и 2018 годах я активно искал альтернативы PHP и столкнулся с выбором следующего языка. Я пробовал и тогда еще популярный язык Scala, пробовал Rust, готовился к экзамену по Java (у меня есть коммерческий опыт разработки на ней). Но в итоге остановился на Go. Если вы стоите перед похожим выбором, то надеюсь этот подкаст вам в этом поможет. Hosted on Acast. See acast.com/privacy for more information.
2023-09-03
50 min
Backend Podcast
14. pgx
Сегодня мы говорим о драйвере базы данных pgx. Почему мы не используем pq в наших проектах на Go? Когда стоит использовать database/sql из стандартной библиотеки, а когда лучше работать напрямую с драйвером и почему мы не используем database/sql? Поговорили про функционал pgx позволяющий использовать LISTEN/NOTIFY, т.е. межпроцессное взаимодействие (IPC) на базе PostgreSQL. Коснулись работы с LOB и темы хранения файлов в БД. Поговорили про новую систему логгирования в pgx5 с использованием механизма трейсинга и про пул соединений. Hosted on Acast. See acast.com/privacy for more information.
2023-08-26
59 min
Backend Podcast
13. Project layout
🗺 В этом выпуске мы говорим о лейауте Go-проекта, т.е. организации файловой структуры проекта. Есть ли стандартный лейаут? Какие общие правила можно применить для организации кода? Резместить весь код в одном main.go файле - это ок? Какие идеи для лейаута можно почерпнуть из Go SDK? Стоит ли уделять большое внимание этому вопросу?Также Боря рассказал в общих чертах о своем "неправильном" лейауте и почему он сделал такой выбор. Hosted on Acast. See acast.com/privacy for more information.
2023-08-19
1h 01
Backend Podcast
12. Валидация.
🔬 Валидация, верификация, RFC7807 и Марк Нотингем, анмаршалер JSON в Go и его связь с точностью валидации и как сообщать пользователю об ошибках.️ Hosted on Acast. See acast.com/privacy for more information.
2023-08-12
58 min
Backend Podcast
11. gonew, multi-threaded PostgreSQL.
В Go появится стандартный лейаут? PostgreSQL станет single process, multi-threaded? Что это решит и станет ли СУБД быстрее?📣 Страница эпизода: https://bknd.pro/podcast/episodes/2023/11.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.com Hosted on Acast. See acast.com/privacy for more information.
2023-08-05
25 min
Backend Podcast
10. Рекомендации начинающим разработчикам.
🔨 "Если у меня получилось, то и у вас получится" (Ларри Хон, очень эффективный плотник)Во что в первую очередь вкладывать свое драгоценное время в начале карьеры? Надо ли всю жизнь учиться? Можно ли без знаний английского быть эффективным разработчиком? Как определиться со стеком? Hosted on Acast. See acast.com/privacy for more information.
2023-07-29
33 min
Backend Podcast
9. Пакет context в Go SDK.
🔮 Казалось бы, с чего это пакет context заслужил отдельного подкаста?Как применяется контекст в Go? Как решали задачи отмены Go-рутин до появления этого пакета в Go? Как мы, разработчики, должны реагировать на предложение функции передать ей контекст? Как на самом деле обрабатывается контекст и зачем все это нужно?🥁Наша статья о контекстах в Go с примерами: https://bknd.pro/articles/2023-go-context-ru.html📣 Страница эпизода: https://bknd.pro/podcast/episodes/2023/9.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.comМы на других платформах:- Spotify (https://open.spotify.com/show/6G9K0DrOH2wsEqDKbed01e?si=oQXKuI4tQKqgJj894-2p_A)- YouTube (https://www.youtube.com/@ostrbor/videos)- Google Podcasts (https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5hY2FzdC5jb20vcHVibGljL3Nob3dzLzY0NzI3YzA3ZTY4OTk3MDAxMmZiMWMyMw)- Amazon Music (https://music.amazon.com/podcasts/d797927c-7c90-4d4b-a845-3b61dc25060c/backend-podcast)- Podchaser (https://www.podchaser.com/podcasts/backend-podcast-5356704)- Jiosaavn (https://www.jiosaavn.com/shows/backend-podcast/1/gcf017sumlQ_)RSS (https://feeds.acast.com/public/shows/64727c07e689970012fb1c23) Hosted on Acast. See acast.com/privacy for more information
2023-07-22
55 min
Backend Podcast
8. Не WebSocket'ом единым.
☄️ Бесконечные респонсы, фул-дуплекс, тройное лейтенси однонаправленных и двунаправленных коммуникацийКак получать события с сервера максимально быстро? Что можно использовать кроме WebSocket протокола? Темная лошадка SSE - это идеальное решение? HTTP2 упразднит WebSocket'ы?📣 Страница эпизода: https://bknd.pro/podcast/episodes/2023/8.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.com Hosted on Acast. See acast.com/privacy for more information.
2023-07-15
45 min
Backend Podcast
7. Это REST?
Есть ли у RESTful архитектурного стиля стандарт? Что если использовать только POST HTTP-метод или один URI для всех методов в своем API? Покопались в дисертации (https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) Роя Филдинга, отца REST. Обсудили дебатируемые практики и являются ли "нетрадиционные" решения тоже REST? Hosted on Acast. See acast.com/privacy for more information.
2023-07-08
54 min
Backend Podcast
6. Зависимости в кодовой базе.
🦕 Как ощутить свободу и избавиться от зависимостей?Статья Раса Кокса легла в основу этого выпуска. Почему gorilla toolkit был заархивирован? История исчезновения npm-пакета left-pad в 11 строк кода. Монорепозиторий Google размером 86Тб+. Повторять код плохо или нет, если ты пишешь на Go? Инцидент с event-stream пакетом. Hosted on Acast. See acast.com/privacy for more information.
2023-07-01
58 min
Backend Podcast
5. Go 1.21.0.
🔥В августе выйдет Go 1.21.0. Доступна rc-версия. Официальный release note (https://tip.golang.org/doc/go1.21).В подкасте:— новые пакеты с дженерик-функциями в SDK: slices, maps;— новое версионирование версий Go;— новый пакет log/slog для структурного логгирования;— оптимизированный билд на основе профилирования PGO (profile-guide optimization);— LoopvarExperiment;— новые build-ins функции min, max и clear.🌧 Разбор полетов. Компромисс при проектировании БД: нормализация-денормализация на примере из практики.📣 Страница эпизода: https://bknd.pro/podcast/episodes/2023/5.htmlВопросы, предложения можно писать на OstretsovAA+podcast@gmail.com Hosted on Acast. See acast.com/privacy for more information.
2023-06-24
38 min
Backend Podcast
4. Немного о безопасности: XSS, CSRF, CORS.
В этом выпуске мы немного поговорили о безопасности бэкэнд-приложений, CORS-механизм и связанные с ним политики безопасности браузеров, чуть обсудили XSS и CSRF атаки.Главная страница подкаста: https://bknd.pro/podcast/Вопросы/предложения можно слать на OstretsovAA+podcast@gmail.comТакже вы можете подписаться на нас на других платформах.Телеграм: https://t.me/bkndproSpotify: https://open.spotify.com/show/6G9K0DrOH2wsEqDKbed01e?si=oQXKuI4tQKqgJj894-2p_AYouTube: https://www.youtube.com/@ostrbor/videosGoogle Podcasts: https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5hY2FzdC5jb20vcHVibGljL3Nob3dzLzY0NzI3YzA3ZTY4OTk3MDAxMmZiMWMyMwAmazon Music: https://music.amazon.com/podcasts/d797927c-7c90-4d4b-a845-3b61dc25060c/backend-podcast Hosted on Acast. See acast.com/privacy for more information.
2023-06-17
49 min
Backend Podcast
3. To ORM or not to ORM?
Стоит ли использовать ORM в своих проектах? Почему мы отказались от ORM? Hosted on Acast. See acast.com/privacy for more information.
2023-06-10
54 min
Backend Podcast
2. regular expressions, systemd
Hosted on Acast. See acast.com/privacy for more information.
2023-06-03
41 min
Backend Podcast
1. pg_basebackup, gzip vs zstd, DB indexes, Golang survey
Tiny Love by Roa https://soundcloud.com/roa_music1031Creative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: https://bit.ly/3KfPTBzMusic promoted by Audio Library https://youtu.be/hxka3Blk0nk Hosted on Acast. See acast.com/privacy for more information.
2023-05-27
42 min
Daily Dev
ep021 / gitlab runners, Don't touch my code
- свой ранер (runner) на gitlab и какие проблемы при этом возникли (Docker in Docker, несовместимость конфига `.gitlab-ci.yml`); - ушли с shared ранера потому что: * нет кеша слоев Docker'а; * мало ресурсов; * иногда нужно ждать когда выделят ранер). - немного про файловую систему Docker'a; - тестирование с использованием `docker-compose`; - статья ["Don't Touch My Code"][1] о качестве кода в зависимости от ownership'а. [1]: https://www.microsoft.com/en-us/research/publication/dont-touch-my-code-examining-the-effects-of-ownership-on-software-quality/
2020-10-24
00 min
Daily Dev
ep020 / Go, логи, Upwork
- когда использовать `done` канал в Go; - немного про го-рутины и их равноправие; - пара предложений по работе на Upwork; - хранение логов в time series БД, rsyslog, CloudWatch logs и вообще поиск альтератив ElasticSearch + Graylog;
2020-09-25
36 min
Daily Dev
ep019 / код-ревью, буферизация, тесты в конкурентной среде
- [эффект Даннинга — Крюгера][1]; - немного про код-ревью; - возможные ошибки в concurrency коде; - буферизация; - всегда используйте defer; - тестирование в конкурентной среде (race флаг). [1]: https://ru.wikipedia.org/wiki/%D0%AD%D1%84%D1%84%D0%B5%D0%BA%D1%82_%D0%94%D0%B0%D0%BD%D0%BD%D0%B8%D0%BD%D0%B3%D0%B0_%E2%80%94_%D0%9A%D1%80%D1%8E%D0%B3%D0%B5%D1%80%D0%B0
2020-07-31
28 min
Daily Dev
ep018 / Go race condition, TypeScript, Python
- что такое race condition на примере; - пример приложения, в котором мы ушли от go-рутины за счет инфраструктурного решения на базе kubernetes; - kubernetes SDK для создания своих типов (`kind`); - удобство двух мониторов при разработке frontend web-приложений; - первые впечатления от TypeScript'а; - [react-testing-library][1]; - мысли о том, что стоит попробовать Python (Django) для следующего проекта. [1]: https://github.com/testing-library/react-testing-library
2020-07-02
39 min
Daily Dev
ep017 / Матан для продолжающих
Большинство программистов не используют широко математический аппарат в ежедневной практике. Еще раз поговорили об этом после того как я закончил чтение первой главый [A Programmer's Introduction to Mathematics][1]. Концептуально коснулись проблемы доказательства **существования** и **уникальности** в математическом анализе. Компьютерная эра могла начаться на 50-70 лет раньше. Этого не произошло из-за того, что для существующих научных открытий не смогли найти приложение в создании вычислительных машин. Бинарный оператор `xor` и его применение. Боря порекомендовал также неплохой [YouTube-канал Eddie Woo][2] для тех, кто хочет вспомнить базовые концепции в математике. [1]: https://pimbook.org/ [2]: https://www.youtube.com/user/misterwootube
2020-06-15
37 min
Daily Dev
ep016 / SpaceX Demo-2 миссия
**Концовка эпизода к сожалению не записалась из-за проблем со связью.** Поговорили о: 1) недавнем запуске Dragon компанией SpaceX: миссия Demo-2; 2) [World's fastest internet speed from a single optical chip][1]; 3) игра по крупному в крупных корпорациях; 4) структура с единственным полем в `errors` package в Golang. [1]: https://www.sciencedaily.com/releases/2020/05/200522095504.htm
2020-05-29
27 min
Daily Dev
ep015 / cloud computing
Три модели ведения IT-бизнеса: * создание своего одного продукта; * саппорт существующего одного продукта; * решение текущих бизнес-задач. Удвоение рынка облачных вычеслений в ближайшие 2-3 года. В рамках этой темы упомянули Game-as-a-service: PlayStation Now (Sony), Stadia (Google), xCloud (Microsoft), GameFly (ElectronicArts). Для подобных сервисов нужны кластера. Рассматриваю возможный свич в углубление знаний кластерных технологий, например, Kubernetes. Коснулись тем языка программирования Go: * пустых структур для создания set'а через map `map[string]struct{}`; * `io` пакета; * поговорили о маленьком пакете [go-gelf][1]; * и [fsnotify][2]. [1]: https://github.com/Graylog2/go-gelf [2]: https://github.com/fsnotify/fsnotify
2020-05-22
47 min
Daily Dev
ep014 / embedding интерфейсов в Go
embedding интерфейсов в Go - возможность встроить один тип в другой. Самый частый пример в Go - это mutex'ы. Zero value интерфейса - это `nil`. Организация кода в Go-приложении в части интеграции со сторонними сервисами. Впечатления о книге ["A Programmer's Introduction to Mathematics"][1]. Математика, необходимая для Computer Science для тех, кто подзабыл про неё. [1]: https://pimbook.org/
2020-05-15
36 min
Daily Dev
ep013 / MongoDB, BSON, overlay fs
Пару недель назад в сайд-проекте решил попробовать MongoDB. Несколько поделился первыми ощущениями от MongoDB. Коснулись [доклада][1] Айка Саргсяна (Юла) "Крупный проект на одной NoSQL". Обсудили общую тему базы данных для стартапа на начальной стадии. Коснулись хранения данных в MongoDB, [спецификацию BSON][2], join'ы, мигарции. Упомянули отличную книгу [Designing Data-Intensive Applications][3]. ## Overlay fs Неплохая свежая [статья][4] объясняющая как работают docker images на примере overlay fs. Немного про организацию наших проектов: gitlab, registry, CI, k8s. [1]: https://www.youtube.com/watch?v=ZLOFOxsDJIY [2]: http://bsonspec.org/spec.html [3]: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321 [4]: https://dev.to/napicella/how-are-docker-images-built-a-look-into-the-linux-overlay-file-systems-and-the-oci-specification-175n
2020-05-08
42 min
Daily Dev
ep012 / конфигурирование Go-приложения
Поговорили о конфигурировании Go-приложения. Касались следующих тем: - [12-factor app][1], а конкретно [3ий раздел, посвященный конфигам][2]; - глобальный контекст - хорошо или плохо; когда глобальный контекст плох; - популярные/удобные проекты для конфигурирования: - https://github.com/spf13/viper; - https://github.com/plaid/go-envvar; - простое решение по конфигурированию для небольших проектов - функция, заполняющая структуру со значениями по умолчанию из переменных окружения; - [плагин][3] для GoLand для использования `.env`-файла при запуске билда/тестов; - тестирование http-хендлеров; - table-тестирование в интеграционных тестах; - пирамида тестов; Также я поделился первым знакомством с couchbase документной БД: - важная разница community & enterprise версий; - язык запросов N1QL - спинофф ANSI SQL; - [сравнение][4] Couchbase и MongoDB [1]: https://12factor.net/ [2]: https://12factor.net/config [3]: https://plugins.jetbrains.com/plugin/7861-envfile [4]: https://db-engines.com/en/system/Couchbase%3BMongoDB
2020-04-30
35 min
Daily Dev
ep011
Проект loon Обратил внимание на ballon'ы на сайте https://www.flightradar24.com/. Это проект [loon][1] воздушные шары, обеспечивающие интернетом наземных клиентов. Если коротко, то это летающая базовая станция. Дженерики в Golang Первое и важное: [дженерикам в Go быть][2]! В течении первых 24 часов после публикации Go возник вопрос о наличии дженериков. До сих пор это один из top вопросов. Летом 2019 года был опубликован [дизайн-документ дженериков][3] для Go. Определение дженериков: > Generic programming enables the representation of functions and data structures in a generic form, with types factored out. Уже сейчас можно [поиграть с дженериками в Golang][5] с помощью [wasm-go-playground][4]. Уже сейчас можно писать универсальный код для разных типов с помощью: - интерфейсов; - кодогенерации; - приведения типов (`interface{}`). Немного про Дональда Кнута [1]: https://loon.com/ [2]: https://go-review.googlesource.com/c/go/+/187317 [3]: https://go.googlesource.com/proposal/+/4a54a00950b56dd0096482d0edae46969d7432a6/design/go2draft-contracts.md [4]: https://github.com/ccbrown/wasm-go-playground [5]: https://ccbrown.github.io/wasm-go-playground/experimental/generics/#A4Qwxg1iDmCmAEBbEBLAdgKA2A9mgLgE7j7wDOR6chAFACoCU8A3hgJB3wDKla0NTCoSoYAvlnwBPYAh7gINKTPichVWISYBtALp0sAMwCuaMPBplu+efQZMACrFgKmnVm0Kx8RwmnJaAG1g0CwYAWgBGHTFDEzMLeAAqOUhbBxxgARZ2RMsAXnNchi0ALiCQosjo8QxjU3NLZOtUxgcjMgALGgA3EACjBEZstlz4ApBgGTQAExpcgBp4Xv7YBhjauIarG1arYT4stT5hz1ISgoAiC/YDHEJ4AH1F7vhz+GI+BEt3NhQDd688AAhJcLsM2B5AQBqS6La4Q8QQ07wGFLAB0PH2/DWbERpx8flO6yUCAAspIAPIAIwAVrAwKQhEYGcMAHIgRBfXjQdZ1eI4WnwcnUukMpiYqiHbknLwE+ACmlo
2020-04-24
35 min
Daily Dev
ep010
Не проследили за балансом микрофонов, поэтому Боря в этом выпуске звучал тише, чем обычно. Приносим извенения за неудобства. Поговорили про логгирование в web-сервисах. - пакет `log` стандартной библиотеки; - написание своих кастомных логеров; - упомянули наше решение [gluent-bit][1], которое мы используем для трансляции логов в Graylog; - [logrus][2] в ~20 раз медленнее [zap][3]; - немного упомянули json-экстрактор Graylog; - уровни логирования: DEBUG, INFO, WARN, ERROR, FATAL; - особенности [zap][3]: - поддержка уровней логирования; - sampling для дедупликации потока логов; - не использует рефлексию и стандартный `json` пакет: работает через `append`; - `SugaredLogger` и `Logger`; - нет ротации логов. - ротация логов через [lumberjack][4] - что имеет смысл логировать, а что выносить в мониторинг; - `Reference-Id` для идентификации request-response и связанных операций; - отказ от логирования запросов, не изменяющих состояние системы; - унификация логов. [1]: https://github.com/ostretsov/gluent-bit [2]: https://github.com/sirupsen/logrus [3]: https://github.com/uber-go/zap [4]: https://godoc.org/gopkg.in/natefinch/lumberjack.v2
2020-04-17
42 min
Daily Dev
ep009
В подкасте подняли вопрос о сообщениях об ошибках в API. RFC7807 "Problem details" Этот документ предлагает унифицированное решение по форматированию (схеме) ответа проблемы/ошибки для API-сервисов. Несмотря на то, что документ достаточно свежий (весна 2016) мы едва ли обнаружили для себя удобное решение, которое одновременно будет удобно и для клиента API. RFC предлагает дополнительный Content-Type: application/problem+json. Частичное применение некоторых идей мы нашли в API DHL v4 Обсудили применимость использования Content-Language для последующей локализации. В большинстве наших проектов мы используем английский. Обсудили предложение RFC по использованию в качестве кодов ошибок URI и насколько это удобно использовать клиенту. Рассказали схему ошибки, которую мы используем в своих проектах.
2020-04-09
56 min
Daily Dev
ep008
тестирование unexported методов в Go через создание exported алиаса; создание *_test пакета для решения проблемы циклических импортов в тестах; unicode пакет; тестирование через публичные интерфейсы; преждевременная оптимизация; преждевременная абстракция: функции, классы, интерфейсы, новые протоколы; правило трех; читаемость против преждевременной абстракции; соблюдение уровней абстрации; правило бойскаута;
2020-04-03
42 min
Daily Dev
ep007
чуть-чуть о Google Cloud Spanner - реляционная геораспределенная БД от Google коснулись темы документные базы против реляционных consistency в базах данных дорогие облачные БД от Google научные публикации на google research / google scholar удобные облачные сервисы, которые мы используем регулярно: AWS S3, SES, Google Places API поддерживать самому кластер k8s или нет проекты, в которых "поставили точку" трудности, с которыми мы столкнулись, когда впервые развернули своей k8s кластер история одной проблемы в k8s на hetzner, суть которой мы так и не выяснили возможно стоит подписаться на changelog k8s https://github.com/urfave/cli для создания CLI-приложений на Go http://docopt.org/ ACID вобще и ACID в MongoDB
2020-03-27
42 min
Daily Dev
ep006
Удаленная работа boltdb Встраиваемая key-value база данных. Чем-то напоминает SQLite за исключением того, что это просто key-value. Всего <3K LOC. Не поддерживается более, но стабильна: новых фич автор добавлять не планирует. Отлично подходит для интенсивных чтений. Использует lock'и. транзакции на чтение и на запись; автоинкременты; бакеты могут быть вложенными; итерации по ключам бакета с использованием курсора возможно в любых направлениях; ключи отсортированы "байт-к-байту" за счет чего можно делать prefix-сканы и range-сканы (например по RFC3339-дате). Объектно-ориентированный язык программирования Pharo В Pharo всего 6 ключевых слов.
2020-03-19
44 min
Daily Dev
ep005
Поговорили о: ActiveRecord vs Repository паттерне; pgbouncer; проекты типа аггрегатор и интегратор.
2020-03-13
46 min
Daily Dev
ep004
Подкасть чуть более чем полностью о Go Зависимости в хендлерах Обсудили два способа инжектирования зависимостей в хендлерах: использование глобальных переменных; явная передача зависимостей через арументы фунции-хендлера; использование структуры-контейнера. Много говорили о базе данных в роли зависимости. Вынесение request и response структур в хендлер func Handler(db *storage.DB) gin.HandlerFunc { type request struct { // } type response struct { // } return func(ctx *gin.Context) { // } } Go поощряет написание "скучного" кода Оптимистическое программирование Опубликовано: 05.03.2020 Теги: Go, сервис-контейнер, зависимости, python, оптимистическое программирование
2020-03-05
54 min
Daily Dev
ep003
excelize, упомянутый в прошлом эпизоде удалось за прошедшую неделю применить. В деле показал себя отлично. Не часто заказчик требует обмен данных в XLSX-формате через API. Это был тот редкий случай. Алгоритмы Проходил на coursera курс по алгоритмам от ВШЭ. Среди языков, на которых можно делать submission нет Go, но для мня это неплохой повод попрактиковаться в Python или Rust. Последний мы не используем в проектах, а вот проекты на Python у нас есть. Так вот на каждый язык свои лимиты по рантайму: Язык программирования Лимит времени выполенения, сек C, C++, Rust 1 Java, C# 1.5 Haskell 2 Scala 3 Ruby, JavaScript, Python 5 Несколько неожиданно, что Scala дали такой лимит. Концепция стресс-тестирования Идея в том, чтобы написать две имплементации и сравнивать выходные значение при одинаковых входных. Чаще применяется для тестирования алгоритмов когда есть медленное, но простое решение и быстрое, но, возможно, с ошибками в реализации. В тестах мы чаще сами придумываем входные данные для тестируемого метода. При стресс-тестировании входные данные генерируются произвольным образом. Стресс-тесты не отменяют необходимости в корнер-кейсах, когда мы тестируем пограничные состояния: отрицательные, одинаковые значение, неверные типы, нулевые значения и т.д. Рейтинг языков программирования от IEEE Графики предварены несколько сомнительной цитатой: Engineers love Python, JavaScript, and Java. Employers, on the other hand, shine their light on Go. Пожалуй действительно любят из этой тройки Python. JavaScript как раз едва ли любят, поэтому и перетягивает на себя популярность TypeScript, добавивший строгости. А Go - это хороший шаг в сторону упрощения кода и он оппонирует Java, C++, C#, Scala. Go в рейтинге IEEE №1. pkg.go.dev вместо godoc.org На главной популярные и рекомендуемые репозитории. В каждом пакете можно посмотреть зависимости и кто использует этот пакет. Другое Обсудили также пару пакетов из x/sync: https://godoc.org/golang.org/x/sync/singleflight https://godoc.org/golang.org/x/sync/errgroup Коротко обсудили алгоритм зайца и черепахи для поиска петли в связанном списке. Вдохновился на некоторое углубление
2020-02-27
47 min
Daily Dev
ep002
tamago Позволяет запускать Go-приложение прямо на процессоре, без операционной системы. Концепция unikernel. Пока поддерживается только их же (f-secure) SoC (Systm-on-Chip) MkII (~150USD). В планах добавить поддержку Raspberry PI Zero (~25USD). Кстати будет упомянуть книгу Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. Основы изложены лучше, чем вам их дадут в университете. excelize Просто упомяну библиотеку для чтения и записи XLSX-файлов в Go: Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX files. Supports reading and writing XLSX file generated by Microsoft Excel™ 2007 and later. Supports saving a file without losing original charts of XLSX. This library needs Go version 1.10 or later. Go vs Python Статья о использовании Python для небольших скриптов. Полностью поддерживаю автора. Среди прочего автор упомянул сложность идентификации версии Go-программы: имеешь дело с бинарным файлом. В Go можно использовать ldflags: $ go build -ldflags="-X 'main.Version=v1.0.0'" Отличная вводная статья на DigitalOcean про использование go build для модификации значений переменных пакета. Также к недостаткам Go автор отнес отсутсвие REPL, но он есть. Применение NLTK для опредления HC/HTC Обсуд
2020-02-20
40 min
Daily Dev
ep001
Первый пилотный подкаст. Борис и я записали тестовый эпизод и коснулись zen Golang, поговорили немного о Rust, глянули Diesel ORM и плохо настроили звук.
2020-02-14
40 min