У цьому випуску обговорюємо розробку власного проєкту на Go: від створення атмосфери стартапу без бюджету до практичної реалізації авторизації через сесії. Поговорили про генерацію зображень за допомогою ChatGPT, натхнення серіалом «Кремнієва долина», особливості роботи із сесіями, архітектурні рішення та помилки, які помічаєш уже після реалізації. Чесна розмова про компроміси в розробці та те, чому іноді «працює» важливіше за «ідеально».00:00 Офіс стартапу без грошей, згенерований ChatGPT
09:19 Покоління Wi-Fi, нові роутери та швидкість мережі
13:30 Тестуємо 5G та порівнюємо його з домашнім інтернетом
18:08 Тарифи Lifecell, мобільний інтернет і дзвінки
24:40 Авторизація та автентифікація — у чому різниця
26:54 Вхід без пароля через email або SMS
34:45 Чи можна увійти в Google без пароля
42:07 Наскільки зручна безпарольна автентифікація
44:22 Що таке OTP і якими бувають одноразові коди
47:09 Authenticator проти SMS: який варіант безпечніший
50:25 TOTP, часові пояси та проблеми під час подорожей
54:26 Таємний проєкт на Go та дедлайн на наступний випуск
01:00:20 Навіщо створювати багато невеликих pet-проєктів
01:04:00 Один невеликий застосунок щотижня
01:06:01 Повторне використання авторизації та інших компонентів
01:07:00 Як підключати власні пакети через Go Modules і GitHub
01:11:00 Тижневий дедлайн, MVP та завершені маленькі проєкти
01:14:25 Чому одну фічу краще робити повністю одному розробнику
01:16:20 Fullstack, розподіл ролей і навчання всередині команди
01:20:20 Junior проти senior: швидкість, досвід та якість рішень
01:22:30 Чому зайві абстракції шкодять проєкту
01:25:00 Професійне зростання та стагнація розробників
01:27:34 Окремі сервіси, мікросервіси та проєкт на Go
01:30:20 Виносимо автентифікацію в окремий сервіс
01:34:02 SDK для сервісу автентифікації та робота з JWT
01:37:30 Access token, refresh token і серверний logout
01:40:06 Як реалізувати blacklist для JWT
01:48:40 Навіщо JWT, якщо все одно використовується Redis
01:50:20 JWT payload і передавання даних між сервісами
01:55:00 Як синхронізувати користувачів між різними сервісами
02:03:25 JWT проти звичайних випадкових токенів
02:08:00 Blacklist проти зберігання всіх активних сесій
02:12:02 Кілобайти проти мегабайтів: чи важливий обсяг пам’яті
02:18:03 Як вибирати JWT або серверні сесії для нового проєкту
02:21:20 Прості вебзастосунки проти складних систем на кшталт Google
02:24:20 Повертаємося до вимог безпарольної автентифікації
02:29:05 Чи є однозначний переможець у суперечці про токени
02:36:17 Готові бібліотеки та фреймворки для автентифікації
02:41:05 Cookies, middleware та зберігання сесій
02:44:12 Як працює OTP-вхід у поточному проєкті
02:46:20 Термін життя cookie та зберігання session ID
02:48:17 Помилка архітектури: активна сесія лише на одному пристрої
02:49:39 Завершення випуску
This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit bbbshow.substack.com