Амади и проекты
Планирование. Продуктивность. Два привлекательных слова в последние годы. И многие пытались выстроить систему планирования, ведения записей, задач. Notion, Obsidian, Bullet Journal, Zettelkasten. Сегодня разговаривали с братьями об этой теме, и я решил продублировать…
А главный совет насчет менеджеров тасок - выполнять задачи, которые вы записываете!
👍13🔥3
Какие привычки вы внедряете или уже внедрили в свою жизнь? Давайте поделимся идеями, необязательно связанными с программированием.
🔥7👍1
Совет разработчикам, которые недавно нашли первую работу и теперь не против заняться дополнительными проектами.
Не беритесь за все подряд. Даже за деньги. Возьмите максимум один проект. Вас не хватит на большее, я уже прошел через это.
Не беритесь за все подряд. Даже за деньги. Возьмите максимум один проект. Вас не хватит на большее, я уже прошел через это.
👍21🤔2🔥1
Forwarded from Ahmadum's notes📕 (Ahmad Umaev)
📕Грокнул тему JWT (JSON Web Token)
Тема из категории "такие вещи знать надо, ты че!"☹️ .
JWT состоит из 3 частей, разделенных точками:
1️⃣ head (заголовок) — сконвертированный в base64 JSON, содержащий тип токена и алгоритм подписи.
2️⃣ payload (полезные данные) — сконвертированный в base64 JSON, содержащий в себе данные, позволяющие однозначно идентифицировать пользователя, определить время жизни токена и т.д.
3️⃣ signature (подпись) — вычисляется с применением алгоритма подписи, указанного в заголовке, к строке 🤫 .
Выглядит эта штука примерно так:
Поиграться с генерацией JWT можно тут.
А еще, по приколу, написал свой генератор JWT.
Важно понимать, что данные, передаваемые в payload, не зашифрованы и любая Ева способна их прочесть(достаточно конвертнуть base64 снова в JSON), поэтому передавать в них приватные данные нельзя🤐 . Суть токена в том, что он подписан, и его нельзя подделать. То есть, не получится, перехватив чужой токен, подменить данные в payload и ходить по сервисам, как ни в чем не бывало😏 .
А теперь о крутости этой штуки😎 :
🚩Аутентификация, основанная на JWT, позволяет получать токен с одного сервиса и ходить с ним на любой другой сервис без надобности хранить где-то токены, достаточно раскидать секретные ключи по всем сервисам.
🚩Можно генерить различные типы JWT для одного и того же user-а, жонглируя🤹 payload-ом, например для того, чтобы ограничивать доступ к определенным ресурсам с определенного JWT.
🚩Можно создавать JWT с суперкоротким временем жизни, чтобы мстить фронтендерам👍 .
Ahmadum's notes
Тема из категории "такие вещи знать надо, ты че!"
JWT состоит из 3 частей, разделенных точками:
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "ahmadum01",
"iat": 1516239022
}f"{head}.{body}" с секретным ключомВыглядит эта штука примерно так:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhaG1hZHVtJ3Mgbm90ZXMifQ.4exaja18wwbmRt-u_v_cZO3sKgzJFNPJqpGVhk7HwQk
Поиграться с генерацией JWT можно тут.
А еще, по приколу, написал свой генератор JWT.
Важно понимать, что данные, передаваемые в payload, не зашифрованы и любая Ева способна их прочесть(достаточно конвертнуть base64 снова в JSON), поэтому передавать в них приватные данные нельзя
А теперь о крутости этой штуки
🚩Аутентификация, основанная на JWT, позволяет получать токен с одного сервиса и ходить с ним на любой другой сервис без надобности хранить где-то токены, достаточно раскидать секретные ключи по всем сервисам.
🚩Можно генерить различные типы JWT для одного и того же user-а, жонглируя
🚩Можно создавать JWT с суперкоротким временем жизни, чтобы мстить фронтендерам
Ahmadum's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3
GoLand_ReferenceCard.pdf
129.5 KB
Чем раньше вы освоите горячие клавиши в вашей IDE, тем скорее вы сможете этим хвастаться приятнее будет в ней работать
Прикрепил сочетания клавиш для JetBrains Goland
Прикрепил сочетания клавиш для JetBrains Goland
👍12🔥1
Есть у меня странный бзик - люблю блокноты. Покупать - тоже люблю, но особо не пишу в них, хоть и убеждаю себя, что буду использовать для работы. Кому-нибудь знакомо это?
👍13🔥5😁3
Залил исходники одного из своих ботов (@chetoru_bot) на гитхаб. Написан на Go. Может кому-то интересно, как выглядят простенькие телеграм-боты не на питоне.
https://github.com/azdaev/tg-chechen-dictionary
https://github.com/azdaev/tg-chechen-dictionary
GitHub
GitHub - azdaev/tg-chechen-dictionary: Telegram bot written in Go. Russian-Chechen dictionary with statistics collection
Telegram bot written in Go. Russian-Chechen dictionary with statistics collection - azdaev/tg-chechen-dictionary
🔥13👍5🤔1
Столкнулся на работе с тем, о чем говорили ещё до меня.
Стоит задача. Есть два решения:
- В лоб. Займет не много времени. Выполняет цель.
- Чуть сложнее. Займет больше времени. Решение более оптимально и позволит в будущем проще выполнять такого же рода задачи.
Какое решение попросят у разработчика? Пишите комментарии, интересно будет почитать
Стоит задача. Есть два решения:
- В лоб. Займет не много времени. Выполняет цель.
- Чуть сложнее. Займет больше времени. Решение более оптимально и позволит в будущем проще выполнять такого же рода задачи.
Какое решение попросят у разработчика? Пишите комментарии, интересно будет почитать
🤔2👍1🔥1
Я сильно советую больше внимания уделять командной строке. Иногда оказывается, что для вашего удобства уже существет bash-команда.
Например,
Или очень важная команда
Выведется "Иван Сергеев", "Сергей Иванов" итд.
history для получения истории введенных команд. Использую, когда надо вспомнить ту или иную команду. Например, посмотреть команды, которые я вводил для работы с докером:
Так что советую не пренебрегать терминалом
Например,
jq для pretty-вывода json текста в консоль (вертикальный слэш берет вывод первой команды и использует его как аргумент для второй команды):curl localhost:8080/info | jqИли очень важная команда
grep - для фильтрации строк по содержанию подстроки, грубо говоря. Следующая команда выведет все строки из файла users.csv, в которых есть подстрока "Иван".cat users.csv | grep ИванВыведется "Иван Сергеев", "Сергей Иванов" итд.
history для получения истории введенных команд. Использую, когда надо вспомнить ту или иную команду. Например, посмотреть команды, которые я вводил для работы с докером:
history | grep docker
Так что советую не пренебрегать терминалом
🔥5👍2🤔1
Что лучше?
Anonymous Poll
45%
Работать на себя
26%
Работать в компании
6%
Работать в стартапе
22%
Не могу сравнить
У нас постоянная проблема на работе с планированием.
Сложно правильно оценить сроки на задачу. Чтобы максимально "угадать", надо эту задачу реализовать... Как правильно оценивать сроки? Ведь при выполнении утыкаешься в тестирование задачи, исправление задачи, ожидание апрува пулл-реквеста, деплоя. На каждом шаге что-то может пойти не так.
Как поступать?
Сложно правильно оценить сроки на задачу. Чтобы максимально "угадать", надо эту задачу реализовать... Как правильно оценивать сроки? Ведь при выполнении утыкаешься в тестирование задачи, исправление задачи, ожидание апрува пулл-реквеста, деплоя. На каждом шаге что-то может пойти не так.
Как поступать?
👍7🔥1🤔1
Есть некоторые ребята, они убеждены, что будут работать в айти, но всё чего-то ждут. Будто это само произойдет. Мол, тем временем можно в игры поиграть в компьютере, а обучение вызывает «перегорание».
Часть из вас, возможно, обеспечивается кем-то, и у вас слишком комфортные условия. Но потом будет тяжело совмещать вынужденную работу в другой сфере с обучением в айти.
Поэтому решил поругать вас. Может кому-то глаза открою. Надо сидеть и стараться через «не хочу». А то есть знакомые, которые годами сидят около айти, пока другие уже занимают мидл-позиции
Часть из вас, возможно, обеспечивается кем-то, и у вас слишком комфортные условия. Но потом будет тяжело совмещать вынужденную работу в другой сфере с обучением в айти.
Поэтому решил поругать вас. Может кому-то глаза открою. Надо сидеть и стараться через «не хочу». А то есть знакомые, которые годами сидят около айти, пока другие уже занимают мидл-позиции
👍27🔥9🤔2
Уже несколько месяцев пользуюсь терминалом Warp. Встроенный ИИ помогает составить нужную команду. Работает быстро, бесплатно, без впн. Пока есть незначительные баги, но в целом - мощь
🔥13👍4🤔1