TGViewer
Channel Public Channel
Амади и проекты

Амади и проекты

@amadi_dev

Меня зовут Амади. 3 года профессионально в IT. Старший разработчик в VK. Мусульманин. Чеченец.

Моя школа - @amadi_school

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

Связь - @amady
amadiazdaev.ru
Subscribers
2.35K
Photos
453
Videos
24
Links
172

Showing posts older than #43 · Back to latest

Older Posts 15 shown
Post #42 939
Не делайте такие коммиты)

Лучше добить код до какой-то логической точки и коммитнуть изменения, чем через неделю вспоминать, на чем остановился
  • 😁 9
  • 🔥 2
  • 🤔 1
Post #41 953
Есть некоторые ребята, они убеждены, что будут работать в айти, но всё чего-то ждут. Будто это само произойдет. Мол, тем временем можно в игры поиграть в компьютере, а обучение вызывает «перегорание».

Часть из вас, возможно, обеспечивается кем-то, и у вас слишком комфортные условия. Но потом будет тяжело совмещать вынужденную работу в другой сфере с обучением в айти.

Поэтому решил поругать вас. Может кому-то глаза открою. Надо сидеть и стараться через «не хочу». А то есть знакомые, которые годами сидят около айти, пока другие уже занимают мидл-позиции
  • 👍 27
  • 🔥 9
  • 🤔 2
Post #40 959
У нас постоянная проблема на работе с планированием.

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

Как поступать?
  • 👍 7
  • 🔥 1
  • 🤔 1
Post #39 1.08K
Post #38 1.01K
Я сильно советую больше внимания уделять командной строке. Иногда оказывается, что для вашего удобства уже существет bash-команда.

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


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

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

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

Так что советую не пренебрегать терминалом
  • 🔥 5
  • 👍 2
  • 🤔 1
Post #36 810
Столкнулся на работе с тем, о чем говорили ещё до меня.

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

Какое решение попросят у разработчика? Пишите комментарии, интересно будет почитать
  • 🤔 2
  • 👍 1
  • 🔥 1
Post #34 853
Залил исходники одного из своих ботов (@chetoru_bot) на гитхаб. Написан на Go. Может кому-то интересно, как выглядят простенькие телеграм-боты не на питоне.

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
Post #28 766
Есть у меня странный бзик - люблю блокноты. Покупать - тоже люблю, но особо не пишу в них, хоть и убеждаю себя, что буду использовать для работы. Кому-нибудь знакомо это?
  • 👍 13
  • 🔥 5
  • 😁 3
Post #27 1.04K
GoLand_ReferenceCard.pdf129.5 KB
Чем раньше вы освоите горячие клавиши в вашей IDE, тем скорее вы сможете этим хвастаться приятнее будет в ней работать

Прикрепил сочетания клавиш для JetBrains Goland
  • 👍 12
  • 🔥 1
Post #26 1.15K

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
  • 🔥 7
  • 👍 3
Post #25 923
Какие нон-фикшн книги вы полностью прочитали?
  • 🤔 3
  • 👍 2
Post #24 991
Совет разработчикам, которые недавно нашли первую работу и теперь не против заняться дополнительными проектами.

Не беритесь за все подряд. Даже за деньги. Возьмите максимум один проект. Вас не хватит на большее, я уже прошел через это.
  • 👍 21
  • 🤔 2
  • 🔥 1
Post #23 1.12K
Какие привычки вы внедряете или уже внедрили в свою жизнь? Давайте поделимся идеями, необязательно связанными с программированием.
  • 🔥 7
  • 👍 1
Post #22 1.32K
Амади и проекты Планирование. Продуктивность. Два привлекательных слова в последние годы. И многие пытались выстроить систему планирования, ведения записей, задач. Notion, Obsidian, Bullet Journal, Zettelkasten. Сегодня разговаривали с братьями об этой теме, и я решил продублировать…
А главный совет насчет менеджеров тасок - выполнять задачи, которые вы записываете!
  • 👍 13
  • 🔥 3
Post #21 1.27K
Планирование. Продуктивность.

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

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

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

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

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

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


Так что, мой совет - просто пользоваться стандартным приложением заметок. Если нужно записывать задачи - то скачать простое приложение (в комментариях приведу пример). А к более сложным системам вы уже придете сами, если в этом будет необходимость.
  • 🔥 14
  • 👍 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →