pomazkov.js | Frontend & more @pomazkovjs Channel on Telegram

pomazkov.js | Frontend & more

@pomazkovjs


Полезные материалы по фронтенду, жизнь и работа синьор номада 🧑🏻‍💻

YouTube: https://youtube.com/@pomazkovjs

pomazkov.js | Frontend & more (Russian)

Добро пожаловать в канал pomazkov.js | Frontend & more, где вы найдете полезные материалы по фронтенду, жизни и работе синьор номада. Этот канал создан для всех, кто интересуется программированием, веб-разработкой и хочет быть в курсе последних трендов в мире IT. Pomazkov.js предлагает уникальные видеоматериалы, статьи и советы по улучшению навыков в сфере фронтенда. Наш канал - это не просто информация, это сообщество профессионалов, готовых поддержать и помочь вам в вашем профессиональном росте. Присоединяйтесь к нам, чтобы получить доступ к эксклюзивному контенту и общаться с единомышленниками. Наслаждайтесь общением, делитесь своим опытом и узнавайте что-то новое каждый день! Готовы к обновлениям и улучшениям? Присоединяйтесь к нам на YouTube: https://youtube.com/@pomazkovjs

pomazkov.js | Frontend & more

20 Nov, 07:24


Нужен ли Redux в Вашем React-приложении? 🖼️

Не помню, рассказывал ли вам, но у меня есть англоязычная статья на эту тему. Писал ещё в апреле 23 года, и родилась она из личной нужды: мне надо было решить, какой инструмент для стейт-менеджмента подходит в конкретном проекте. Ответ я для себя нашел, а в процессе получился логичный алгоритм, который захотелось описать подробнее и зафиксировать.

В статье рассматривается выбор стратегии управления стейтом исходя из
⋅ размера приложения
⋅ структуры данных
⋅ необходимости делиться данными между далекими друг от друга компонентами

Качайте английский и повторяйте Redux!
А если хочется по-русски, авто-перевод страницы вам в помощь (за качество такого перевода, правда, не ручаюсь)

Почитать тут: 🔗 Hashnode

P.S. Подписываться на Хэшноде не призываю, вряд ли в ближайшее время буду там что-то писать

pomazkov.js | Frontend & more

05 Oct, 04:56


Сергей Брин (основатель Google) на НТВ, 2008 год

Что-то ностальгия в глаз попала…
И хорошо, всё-таки, что web3 у нас в 2024 не про это. Надеюсь, и не будет

pomazkov.js | Frontend & more

02 Oct, 12:14


Файл с Github Actions workflow для видео:

pomazkov.js | Frontend & more

02 Oct, 12:12


Как автоматизировать деплой тг-бота 🤖
aka "чтоб пушить код в ветку, а бот на сервере сам подтягивал обновления и перезапускался"

Короткий ответ: берешь бота + сервер + Github Actions – и готово!
Подробный ответ – смотри в новом видео:
😉: https://youtu.be/JkTUqom-KvU
😄: https://vk.com/video-227261333_456239026

Посмотрев ролик, вы вспомните, как деплоить бота на сервер, а также:
– Научитесь подключаться к удаленному серверу по SSH из локальной командной строки
– Узнаете, как создавать SSH-ключи
– Откроете для себя Github Actions (GA)
– Поймёте, из чего состоит Workflow в GA и как писать его самому.
Готового бота для тренировки предоставлю 🤝

Всего 30 минут, а столько пользы!

И ещё:
Текстовая версия ролика тут
А развернуть IT-инфраструктуру для веб-проектов любой сложности можно тут

Приятного просмотра!

pomazkov.js | Frontend & more

30 Sep, 14:58


Это я и сценарии видосов на ютуб 😏

pomazkov.js | Frontend & more

09 Aug, 11:44


Тема блокировки/замедления ютуба уже где только не обсасывается, поэтому дам краткий апдейт о своих планах без мЕга аНаЛитиКи:

1️⃣ Я продолжу снимать и выкладывать контент на ютуб, как бы он ни работал. Кто-то продолжит смотреть из-за рубежа, кто-то с vpn, так что видео найдут своего зрителя
2️⃣ Возможно, в качестве плана Б выгружу ролики на локальные площадки рф. Подумываю о вк или дзене, к рутубу пока душа как-то не лежит (но кто знает, возможно, придется и переобуться в воздухе)). Честно сказать, я сам на них не сижу и специфики не знаю, поэтому и решения пока нет
3️⃣ Если звёзды сойдутся и я-таки проведу стрим, который сто лет назад еще анонсировал (🙏), то постараюсь стримить одновременно на твич и на ютуб, чтобы максимальное количество людей смогли прийти и пообщаться в лайве – всё-таки это главный кайф стримов

Всем быстрого ютуба и доступа к бесконечным знаниям!

pomazkov.js | Frontend & more

04 Aug, 06:38


На днях под видосом про библиотеку Grammy js получил вот такой вопрос. Он подкинул мне идею написать развернутый ответ и напомнить вам, в чем разница между авторизацией и аутентификацией.

Во-первых, давайте разберемся с терминами:
Аутентификация – это подтверждение личности пользователя, отвечаем на вопрос «кто ты?»
Авторизация – это проверка прав доступа пользователя к определенным ресурсам или функциям, «что тебе разрешено делать?»

Во-вторых, респект комментатору – в вопросе термин использован абсолютно верно: никакой аутентификации нам делать не надо, её за нас делает телеграм (человек вводит свой номер телефона, код из смс, и телеграм понимает, кто он). На сайтах это реализуется с помощью логина/пароля и дополнительных барьеров типа двухфакторной аутентификации (код в смс, на почту, Google Authenticator).
В результате аутентификации тг знает, кто использует приложение. Благодаря этому, наш бот вместе с сообщением от пользователя получает объект с информацией о юзере – его телеграм id, ник, имя.
Авторизация же в боте, действительно, лежит на нашей стороне. Она всегда происходит после аутентификации, так как чтобы выдать права доступа, нам нужно знать, кто перед нами. Обычно данные о пользователе мы храним в базе данных в виде объекта, и если у нас несколько уровней доступа, то мы добавляем в объект поле role и присваиваем ему значение в зависимости от условий. Если роли всего две (админ / юзер), то можно обойтись флагом isAdmin с булевым значением.
Например, мы делаем бота для оплаты подписки и отправки контента (аналог бусти). По команде /start сохраняем нового пользователя в БД, создавая ему поле subscriptionLevel: free. Как только он производит оплату и мы получаем по API ответ об успешной оплате, меняем free на paid, а если оплачена супер-подписка – на pro. Ну а когда пользователь отправляет команду /content, мы идем в БД, проверяем его уровень доступа и исходя из него отправляем контент.

Краткий итог: для авторизации в тг-боте нам надо где-то хранить информацию об уровнях доступа пользователей, а также предусмотреть условия изменения этих уровней.
Если задача у вас простая на уровне «дать себе доступ админа, а остальным базовый», то можно вообще обойтись без всяких БД: узнаёте свой тг id и в коде проверяете
if (userId === мой_тг_айди) {….}
else { sendResponse("У Вас нет доступа к этим функциям") }


А ответ конкретно на вопрос такой: если мы заранее знаем круг пользователей и никаких критичных данных не отдаем (не паримся за безопасность, в общем), то можно на серваке в папке с ботом создать файлик с константой-массивом с айди всех пользователей, и в коде проверять, включен ли айди юзера в этот список. Если да – даём доступ. Если хочется более безопасно, или юзеров много, или логика получения/удаления прав доступа нужна, то см ответ выше 👆🏻

❗️ВАЖНО:
Оба процесса всегда происходят на бэкенде, это важно, так как происходит получение доступа к чувствительной информации (логин/пароль пользователя, его уровень доступа)

А вы когда-нибудь писали сами логику аутентификации или авторизации?

pomazkov.js | Frontend & more

23 Jun, 11:46


Держите мем. Хорошего воскресенья 👋🏼

pomazkov.js | Frontend & more

19 Jun, 11:45


Ребят, поступило вот такое предложение, и нужна ваша помощь. Декоративных уток одобряем?

pomazkov.js | Frontend & more

14 Jun, 14:17


На Бусти вышел новый видео-разбор задачи с реального собеседования ⚫️

В прошлый раз разбирали задачу на тему LinkedList, а в этот раз вас ждет… кое-что другое.
Как обычно, помимо видео там же есть и файлы с задачей и решением, а также мои советы между делом по тому, как вообще вести себя на этой стрессовой штуке под названием «лайв-кодинг»

База, в общем

Приятного просмотра!

https://boosty.to/pomazkovjs/posts/07b2b5c6-4f1e-4feb-a32e-5122ba913def

pomazkov.js | Frontend & more

06 Jun, 16:48


Смотри, TS – это не принципиально новый язык, это надстройка для типизации JS. И «знать TS» в моем понимании = уметь самому придумать систему типов с наследованием и реализовать её (с дженериками, декораторами, тайпгардами). Сюда же знание разных правил ts и умение настроить tsconfig, например.

А чтобы работать с TS на уровне джуна, где тебе ничего проектировать не надо, тебе хватит за глаза гугла и понимания, что такое
interface User {
id: number;
name: string;
email: string;
isAdmin: boolean;
}


Скомбинировав эти два вопроса, я теперь по-настоящему осознал твой вопрос: вполне возможно, что в джуновских вакансиях имеется в виду вот такое знание, как я в конце описал. А не глубокое, о котором подумал ранее, когда сказал «странно спрашивать TS у джунов»

Думаю, теперь разобрались))

pomazkov.js | Frontend & more

06 Jun, 16:48


Помоему на мой вопрос ответил в сторис) спасибо 😇 Теперь у меня небольшой диссонанс: ты в другом дискасе мне ответил, что спрашивать TS с джунов странно. Так а как тогда их с него не спрашивать, если на нем пишут везде)

pomazkov.js | Frontend & more

06 Jun, 16:48


Дополнение к сегодняшней истории, назовем его «Почему Джуну не нужно "знать" Typescript, если его используют во всех компаниях?»

pomazkov.js | Frontend & more

04 Jun, 09:17


ChatGPT прилег 💀
Последние месяцы активно пользуюсь им для работы, планирования, брейншторминга и тд. И вот это «падение» сейчас заставило задуматься, как же плавно он вошел в мою жизнь и незаметно заставил мощно так подсесть!
Подсесть на почти бесплатного помощника, работающего без сна и выходных, который тебе и данные для теста нагенерит, и идею поможет развить, и текст на фактические ошибки проверит, и баги вместе с тобой поищет, и имейл напишет красивый…. В общем, вы поняли

Страшно от того, насколько беспомощным можно стать с увеличением возможностей ИИ 🤖
Не хочется терять навыки жить без него, но и отказываться от прогресса глупо, согласитесь. В интересное время живем, короче)