Амади и проекты
2.35K subscribers
453 photos
24 videos
4 files
172 links
Меня зовут Амади. 3 года профессионально в IT. Старший разработчик в VK. Мусульманин. Чеченец.

Моя школа - @amadi_school

Рассказываю про свои проекты.

Связь - @amady
amadiazdaev.ru
Download Telegram
Зашел на Linkedin и все по-прежнему:

- бизнес жалуется на жадных сотрудников
- сотрудники жалуются на жадный бизнес
- щедрые компании ищут разработчиков
- скромные разработчики ищут работу

Ощущение, что это одни и те же люди в разные периоды времени. Забавная "соцсеть"
😁14👍3🤔3
Вы знаете, что такое Docker?
Anonymous Poll
49%
Да
30%
Что-то слышал
22%
Впервые слышу
👍2🔥1
Частые вопросы с технических собеседований

https://easyoffer.ru/
🔥11👍4
Планирование. Продуктивность.

Два привлекательных слова в последние годы. И многие пытались выстроить систему планирования, ведения записей, задач. Notion, Obsidian, Bullet Journal, Zettelkasten.

Сегодня разговаривали с братьями об этой теме, и я решил продублировать сюда свое сообщение:

Я посмотрел кучу видео про ведение записей, задач итд, и выявил для себя систему - не создавать систему. Если я стану регулярно и часто вести записи, тогда я чуть-чуть начну создавать систему - создам папки. Если этого не будет хватать, добавлю что-то еще.

Rule of thumb (правило, выраженное в коротком предложении), короче - "don't force it" (пер. Не заставляй себя). Иначе все надоест, и ты перестанешь вести заметки вовсе, либо начнешь гуглить другие системы.

Я помню, однажды жестко организовал ноушн, а потом понял, что пора заполнять его и выполнять прописанные задачи. Оказалось, что я очень не хотел этого делать.

Для меня налаживание системы оказалось красочной прокрастинацией


Так что, мой совет - просто пользоваться стандартным приложением заметок. Если нужно записывать задачи - то скачать простое приложение (в комментариях приведу пример). А к более сложным системам вы уже придете сами, если в этом будет необходимость.
🔥14👍4
Какие привычки вы внедряете или уже внедрили в свою жизнь? Давайте поделимся идеями, необязательно связанными с программированием.
🔥7👍1
Совет разработчикам, которые недавно нашли первую работу и теперь не против заняться дополнительными проектами.

Не беритесь за все подряд. Даже за деньги. Возьмите максимум один проект. Вас не хватит на большее, я уже прошел через это.
👍21🤔2🔥1
Какие нон-фикшн книги вы полностью прочитали?
🤔3👍2
Forwarded from Ahmadum's notes📕 (Ahmad Umaev)
📕Грокнул тему JWT (JSON Web Token)

Тема из категории "такие вещи знать надо, ты че!"☹️.

JWT состоит из 3 частей, разделенных точками:


1️⃣ head (заголовок) — сконвертированный в base64 JSON, содержащий тип токена и алгоритм подписи.
{
"alg": "HS256",
"typ": "JWT"
}


2️⃣ payload (полезные данные) — сконвертированный в base64 JSON, содержащий в себе данные, позволяющие однозначно идентифицировать пользователя, определить время жизни токена и т.д.
{
"sub": "ahmadum01",
"iat": 1516239022
}


3️⃣ signature (подпись) — вычисляется с применением алгоритма подписи, указанного в заголовке, к строке f"{head}.{body}" с секретным ключом🤫.

Выглядит эта штука примерно так:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhaG1hZHVtJ3Mgbm90ZXMifQ.4exaja18wwbmRt-u_v_cZO3sKgzJFNPJqpGVhk7HwQk


Поиграться с генерацией JWT можно тут.

А еще, по приколу, написал свой генератор JWT.

Важно понимать, что данные, передаваемые в payload, не зашифрованы и любая Ева способна их прочесть(достаточно конвертнуть base64 снова в JSON), поэтому передавать в них приватные данные нельзя🤐. Суть токена в том, что он подписан, и его нельзя подделать. То есть, не получится, перехватив чужой токен, подменить данные в payload и ходить по сервисам, как ни в чем не бывало😏.

А теперь о крутости этой штуки😎:
🚩Аутентификация, основанная на JWT, позволяет получать токен с одного сервиса и ходить с ним на любой другой сервис без надобности хранить где-то токены, достаточно раскидать секретные ключи по всем сервисам.
🚩Можно генерить различные типы JWT для одного и того же user-а, жонглируя🤹 payload-ом, например для того, чтобы ограничивать доступ к определенным ресурсам с определенного JWT.
🚩Можно создавать 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
👍12🔥1
Есть у меня странный бзик - люблю блокноты. Покупать - тоже люблю, но особо не пишу в них, хоть и убеждаю себя, что буду использовать для работы. Кому-нибудь знакомо это?
👍13🔥5😁3
Залил исходники одного из своих ботов (@chetoru_bot) на гитхаб. Написан на Go. Может кому-то интересно, как выглядят простенькие телеграм-боты не на питоне.

https://github.com/azdaev/tg-chechen-dictionary
🔥13👍5🤔1
Столкнулся на работе с тем, о чем говорили ещё до меня.

Стоит задача. Есть два решения:
- В лоб. Займет не много времени. Выполняет цель.
- Чуть сложнее. Займет больше времени. Решение более оптимально и позволит в будущем проще выполнять такого же рода задачи.

Какое решение попросят у разработчика? Пишите комментарии, интересно будет почитать
🤔2👍1🔥1
Я сильно советую больше внимания уделять командной строке. Иногда оказывается, что для вашего удобства уже существет bash-команда.

Например, jq для pretty-вывода json текста в консоль (вертикальный слэш берет вывод первой команды и использует его как аргумент для второй команды):
curl localhost:8080/info | jq


Или очень важная команда grep - для фильтрации строк по содержанию подстроки, грубо говоря. Следующая команда выведет все строки из файла users.csv, в которых есть подстрока "Иван".
cat users.csv | grep Иван

Выведется "Иван Сергеев", "Сергей Иванов" итд.

history для получения истории введенных команд. Использую, когда надо вспомнить ту или иную команду. Например, посмотреть команды, которые я вводил для работы с докером:
history | grep docker

Так что советую не пренебрегать терминалом
🔥5👍2🤔1
У нас постоянная проблема на работе с планированием.

Сложно правильно оценить сроки на задачу. Чтобы максимально "угадать", надо эту задачу реализовать... Как правильно оценивать сроки? Ведь при выполнении утыкаешься в тестирование задачи, исправление задачи, ожидание апрува пулл-реквеста, деплоя. На каждом шаге что-то может пойти не так.

Как поступать?
👍7🔥1🤔1