Burmistrov - It и около – Telegram
Burmistrov - It и около
843 subscribers
525 photos
57 videos
6 files
269 links
Про IT, спорт, достижение целей и обучение. Истории из жизни, мысли и анонсы.

Автор: https://news.1rj.ru/str/CrazyElephant
Бусти: https://boosty.to/crazyelephant
Download Telegram
Ой, а что я сегодня узнал!
Так что молодежь, я с вами!
🤣5😁2🤯1
А вчера писал для канала Диагноз аналитик, делаю репост еще и сюда.
3👍1
Forwarded from Диагноз: Аналитик (Vladimir Burmistrov)
Что писать в спецификации при проектировании REST-API?

Всем привет!
Хотелось написать 10 постов про REST, но решил, что лучшее - враг хорошего. Поэтому пишу про:
- что должно быть в спецификации
- чек - листы проверки
- шаблоны проектирования
- проблемы REST, о которых молчат
- причины срочно учить другие интеграции

💬Если захочется что-то узнать подробнее- пиши в комментариях

К делу!

При проектировании API нужно учесть многое, ниже предлагаю ознакомится с моими 9-ю пунктами, которые телеграм не может засунуть в одно сообщение, так что они будут выходить в течении дня по кусочкам.

1️⃣Ресурс и конечные точки
При проектировании конечных точек(end points) ресурса используйте имена существительные во множественном числе, использовать глаголы не рекомендуется. Для разграничения действий с ресурсами на уровне HTTP-запроса были придуманы следующие варианты:
GET - получение ресурса
POST - создание ресурса
PUT/PATCH - обновление ресурса
DELETE удаление - ресурса

Они соответствуют CRUD (Create, Read, Update, Delete)

Примеры:
- GET /books для получения списка книг, а не GET /get-books или GET /book
- GET /books{id} для получения конкретной книги
- POST /books - для добавления новой книги
- PUT /books/{id} - для модификации полных данных книги с заданным идентификатором (id)
- PATCH /books/{id} обновляет частичные изменения в книге
- DELETE /books/{id} удалениt книги по id
2️⃣Формат отправки и получения данных
JSON и тока❗️
3⃣Используйте коды состояний
1хх – Информационный код
2хх – успешный ответ
3хх – перенаправление
4хх – ошибка на стороне клиента
5хх – ошибка сервера
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3👍1🔥1
Forwarded from Диагноз: Аналитик (Vladimir Burmistrov)
4⃣Стандартизируйте ответы
Сделайте так, чтобы каждый метод возвращал стандартные ошибки и стандартные ответы, если GET /books{id} возвращает
{
bookId: 1,
name: "Я, Робот"
}

То GET /books возвращает
  {
bookId: 1,
name: " Я, Робот "
},
{
bookId: 2,
name: "Академия"
}
POST в свою очередь после создания объекта вернет
{
"bookId": 3,
"name": "Вторая Академия"
}

Не используйте универсальные сообщения, например, «Книга успешно создана», это понятно из кода состояния HTTP.
Пример:
{
"code": "book/not_found",
"message": "Книга с ID 6 не найдена"
}

5⃣Параметры
Headers – обычно включает авторизацию и техническую информацию
Path параметры – Передаются в пути запроса, идут перед знаком «?» в описании обозначают фигурными скобками GET /books/{id}
Query параметры – передаются после знака «?» с указанием имени и значением, несколько параметров соединяются знаком «&» GET /books?author=Азимов&typePublication=audio
Body – Обычно включает JSON со всеми атрибутами необходимыми для запроса

Не забываем для всех параметров и атрибутов указывать:
тип
длину
обязательность
кодировку
маску
пример
Маппинг данных для фронта и бэка, если это применимо в вашем случае.
6⃣Используйте разбиение на страницы, фильтрацию и сортировку при выборе коллекций записей
После проектирования end points, возвращающего массив (или список) элементов(объектов), сразу задумайтесь о необходимости разбиения на страницы(пагинацию).
Практика показывает, что со временем данные в БД растут, поэтому важно на уровне проектирования предусмотреть возврат конечного числа объектов. Пагинация позволит вам повысить скорость загрузки данных и снизить требования пропускной способности канала. ну и в целом, пользователям удобнее работать с 10-ю записями на экране.
Подумайте о пользователях и спроектируйте фильтры, а также правила сортировки полей, для которых она нужна.
При проектировании API эти свойства разбиения на страницы, фильтрации и сортировки определяются как параметры запроса в URL-адресе. Например, если вы хотим получить информацию о первых 10 книгах, принадлежащих к категории «роман», то наша конечная точка будет выглядеть вот так:
GET /books?limit=10&category=romance
7⃣PATCH и PUT
Соберите фронтов и беков, спросите, как будете делать на проекте и через 3 часа зафиксируйте договоренность, если так быстро команда не договорится, сводите их в пятницу в бар, а в понедельник задайте вопрос ещё раз.
8⃣Кэширование
Чтобы повысить производительность нашего API, полезно следить за данными, которые редко меняются и к которым часто обращаются. Для таких данных мы можем рассмотреть возможность использования кэширования.
Использование кэшированных данных будет полезным для пользователей для загрузки конфигураций и каталогов информации, которые не предназначены для постоянного изменения в течение долгого времени. При использовании кэширования не забудьте включить Cache-Control в заголовки. Это поможет пользователям эффективно использовать систему кэширования.
9⃣Используйте даты в формате UTC
Частая ошибка начать использовать локальное время и столкнуться с гигантскими проблемами при выходе в другой часовой пояс, сразу используйте ISO 8601 и не наступайте на эти грабли.

Кстати! Сегодня на митапе в 18:30 Аня Мозер расскажет еще больше про REST API приходи

С вами был @CrazyElephant
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👌2
Как выйти из тупика и начать расти: 5 ментальных ловушек, которые мешают это сделать

Бывает ли у вас ощущение, что несмотря на все усилия, вы не получаете тех результатов, на которые рассчитываете? Что последние несколько лет в жизни ничего не меняется или становится только хуже. Кажется, что вы зашли в тупик – развития нет, роста нет, перспективы не радуют. Если это про вас, то причина, скорее всего, в одной из ловушек мышления, которые мешают развитию.


Ключевые тезисы
- Автор обсуждает ловушки, мешающие людям достигать своих целей
- Ловушка №1: отсутствие четкой стратегии и плана действий
- Ловушка №2: фокусирование на процессе, а не на результате
- Ловушка №3: отсутствие понимания, как выстраивать процессы для достижения результатов
- Ловушка №4: страх неудачи при попытке сделать что-то новое и сложное
- Ловушка №5: страх перед негативными переживаниями в случае неудачи
- Автор предлагает метод проб и попыток для достижения результатов
- Страх неудачи может мешать экспериментировать и пробовать новое
- Подмена цели на понимание процесса, который приведет к нужному результату, может помочь преодолеть проблемы


Время на прочтение: 10-15 минут

Читать
👍7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Завтра на дэйлик не нужно, не забудьте выключить будильник
👍4😁2🤣1
Офис прекрасное место, можно поесть торт, узнать рост коллег.
Узнаешь, что Сергей который никогда не включает камеру на аватарку поставил фотку двадцати летней давности.

Ну и конечно общение за кофе, быстрое решение вопросов.

Но удаленькая имеет так много плюсов, что пару раз в месяц в офис это максимум)
5🤔1😎1
У меня есть крутой микрофон, но я только что провел лекцию на встроенный в ноут.
Говорят звук так себе.😕
😁3🤔2🍌2
Ураааа!! Весна!!!
😁5🦄3💩1🙈1
Получилось применить gpt в работе.
Многие задачи нельзя поручить gpt из-за коммерческой тайны, персональных данных итп

Но иногда получается найти что-то такое и сократить свою работу на 5 минут)

Используете gpt в работе? А какой?
👌2👍1🔥1😁1
🫡43❤‍🔥3
Меня зовут Владимир, я работаю в крупной финтех компании.
Сегодня мы рисовали монолизу.
😁2👍1👏1
Хочешь узнать человека посмотри его воспоминания в ВК
👍5🤔1🤣1
👎1🤔1😭1
1. Сохраняйте спокойствие
2. Не занимайтесь думскроллингом
3. Всем здоровья
4. Не паникуйте

Важные номера телефонов:

«Горячая линия» Министерства здравоохранения Московской области
+7(498)602-03-01, +7 (498) 602-03-03

Поступление больных и пострадавших в больницы Москвы за сутки:
+7 (495) 621-43-31

Поступление больных и пострадавших в больницы Москвы за предыдущие дни
+7 (495) 621-78-87

Поиск пострадавшего по больницам Москвы
+7 (495) 624-31-52

Бюро регистрации несчастных случаев Московского региона
+7 (495) 688-22-52

Единый телефон доверия МЧС России
+7 (495) 400-99-99, +7 (495) 983-79-01

«Горячая линия» центра экстренной психологической помощи МЧС России
+7 (495) 989-50-50 (круглосуточно)

Линия психологической помощи Российского Красного Креста
+7 (800) 250-18-59
👍6💔1🤝1
Обновил iPhone фонарик больше не работает, кажется пора переходить на Андройд… а еще вспомнились времена iPhone 3G половина приложений в AppStore это были разные вариации фонариков))
😐2🥴1
Раньше была такая шутка, вынуть кому-нибудь шарик из мышки, как весело было…
🤣4😭2
Вчера вышел за пределы мира удаленщика и открыл для себя целый мир изменений.

Город прекрасный.
Рутуб, вк, дзен активно рекламируют.
В кафе много людей.
Увидел впервые некоторых коллег)

Удаленка создает удобный и уютный мир, но ограничивает нас, надо находить силы и вырываться из созданного идеального удобного мира, вокруг так много всего интересного.

Ну и весна))

А кафе дом культур, мне не очень понравилось, вроде все нормально, но возвращаться не хочется)
👍5🔥3🤝1
Знаете еще, вышел из дома не в детский сад и сразу вот такие постеры в голове))
3
У Яндекса новый «народный» дизайн

Наверняка сервис стал лучше
😁6🤔1🤯1