Полезная ссылка http://www.restapitutorial.ru/httpstatuscodes.html
Разработка ПО по спецификации – это так же просто, как и хождение по воде. Просто заморозьте и одно, и другое.
Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?
Программист: ну представь, что ты писатель и поддерживаешь проект «Война и мир». У тебя ТЗ — написать главу, как Наташа Ростова гуляла под дождём по парку. Ты пишешь «шёл дождь», сохраняешь, вылетает сообщение об ошибке «Наташа Ростова умерла, продолжение невозможно». Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение «Поручик Ржевский умер». Выясняется, что он в следующей главе облокачивается о столб, которого уже нет…
Программист: ну представь, что ты писатель и поддерживаешь проект «Война и мир». У тебя ТЗ — написать главу, как Наташа Ростова гуляла под дождём по парку. Ты пишешь «шёл дождь», сохраняешь, вылетает сообщение об ошибке «Наташа Ростова умерла, продолжение невозможно». Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение «Поручик Ржевский умер». Выясняется, что он в следующей главе облокачивается о столб, которого уже нет…
Коллега раньше работал программистом в страховой компании. Один из проектов был - рассылка потенциальным клиентам предложений об "очень выгодной" медицинской страховке. Базы адресатов добывались разнообразными и не всегда легальными путями, и надо было эти базы как-то между собой сопоставить, чтобы не задалбывать людей десятком одинаковых писем, не писать на адрес, с которого человек давно уехал, и в то же время никого не пропустить. Ну и сопоставляли по множеству критериев: фамилия, имя, дата рождения, номера телефонов, номер социального страхования (редко в каких базах есть), даты обращений к врачам и прививок (а этого добра хватало, базы в основном медицинские) и так далее. Типа если 25 параметров из 40 совпадает, то это тот же самый человек, а если только 24, то скорее всего разные.
Однажды к нашему Джону приходит бизнес-аналитик и говорит: давай исключим фамилию из списка обязательных критериев и переведем в необязательные. А то в этих фамилиях куча разночтений. Посылаем предложения Михельсону, Михалзону и Майклсону, а это, оказывается, один и тот же человек. Ну, исключили, добавили взамен каких-то еще медицинских цифр. Потестировали, вроде все в порядке. Пустили в продакшн.
Через месяц к президенту компании являются два господина с корочками ФБР и начинают интересоваться происхождением баз адресатов. Тот мнется и рыбные места выдавать не хочет.
- В чем дело, - спрашивает, - неужели население жалуется на спам? Вроде спамим в рамках дозволенного.
- Нет, тут все в порядке, население у нас привычное. А вот скажите, вы посылали по такому-то адресу коммерческое предложение на имя такого-то?
- Было дело.
- И почему вы решили, что он живет по этому адресу?
- Ну... я в такие тонкости не вникаю. У наших программистов есть свои алгоритмы.
- Понятно, - говорит ФБРовец. - У меня к вам большая просьба. Засуньте эти алготитмы своим программистам как можно глубже и никогда-никогда не доставайте. Мы убили два года, чтобы внедрить в банду своего агента. Придумали мужику шикарную биографию. Нарисовали все документы. Внесли изменения во все базы в интернете, до которых смогли дотянуться - в бандах теперь тоже умеют гуглить. И только агент приступил к работе, как получает от вас предложение о страховке. На новый агентский адрес. На свою настоящую фамилию. Никогда еще Штирлиц не был так близко к провалу
Однажды к нашему Джону приходит бизнес-аналитик и говорит: давай исключим фамилию из списка обязательных критериев и переведем в необязательные. А то в этих фамилиях куча разночтений. Посылаем предложения Михельсону, Михалзону и Майклсону, а это, оказывается, один и тот же человек. Ну, исключили, добавили взамен каких-то еще медицинских цифр. Потестировали, вроде все в порядке. Пустили в продакшн.
Через месяц к президенту компании являются два господина с корочками ФБР и начинают интересоваться происхождением баз адресатов. Тот мнется и рыбные места выдавать не хочет.
- В чем дело, - спрашивает, - неужели население жалуется на спам? Вроде спамим в рамках дозволенного.
- Нет, тут все в порядке, население у нас привычное. А вот скажите, вы посылали по такому-то адресу коммерческое предложение на имя такого-то?
- Было дело.
- И почему вы решили, что он живет по этому адресу?
- Ну... я в такие тонкости не вникаю. У наших программистов есть свои алгоритмы.
- Понятно, - говорит ФБРовец. - У меня к вам большая просьба. Засуньте эти алготитмы своим программистам как можно глубже и никогда-никогда не доставайте. Мы убили два года, чтобы внедрить в банду своего агента. Придумали мужику шикарную биографию. Нарисовали все документы. Внесли изменения во все базы в интернете, до которых смогли дотянуться - в бандах теперь тоже умеют гуглить. И только агент приступил к работе, как получает от вас предложение о страховке. На новый агентский адрес. На свою настоящую фамилию. Никогда еще Штирлиц не был так близко к провалу
Проектирование_веб_API_2020_Арно_Лоре.pdf
6.7 MB
Хорошая книга: Доступно, понятно, на примерах.
Полезные ресурсы: (статья - хороший краткий справочник напоминалка по Rest API) https://habr.com/ru/company/SECL_GROUP/blog/204510/
Хабр
Как мы делали API для социальной сети (REST API для WEB)
Я в своей работе часто сталкиваюсь с разными новыми концепциями, идеологиями и проектами. В основном из-за того, что участвую в разработке разных больших проекто...
И как всегда о ТЗ...
Подрядчик (п) подводит заказчика (з) к глубокой яме. Где-то на дне виднется фонарь.
З: Это что?
П: Как что? Шахта. Глубина 50 м, диаметр 3м, все по чертежам.
З (берет ватман, переворачивает): Маяк, блин, маяк!!
Подрядчик (п) подводит заказчика (з) к глубокой яме. Где-то на дне виднется фонарь.
З: Это что?
П: Как что? Шахта. Глубина 50 м, диаметр 3м, все по чертежам.
З (берет ватман, переворачивает): Маяк, блин, маяк!!
— Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ?
— Представь что тебе надо разгрузить машину, сколько времени это займет?
— Пару часов.
— Это камаз.
— 8 часов.
— Камаз, груженый песком.
— 12 часов.
— У тебя нет лопаты и инструментов, только твои руки.
— 2 дня.
— На улице −40.
— 4 дня.
— Камаз вообще под водой.
— Так же нечестно, ты постоянно придумываешь новые условия! К чему ты мне вообще все это рассказываешь? Вы, разработчики, вечно всякую фигню рассказываете! Вместо этого могли бы просто оценить правильное время на разработку.
— Представь что тебе надо разгрузить машину, сколько времени это займет?
— Пару часов.
— Это камаз.
— 8 часов.
— Камаз, груженый песком.
— 12 часов.
— У тебя нет лопаты и инструментов, только твои руки.
— 2 дня.
— На улице −40.
— 4 дня.
— Камаз вообще под водой.
— Так же нечестно, ты постоянно придумываешь новые условия! К чему ты мне вообще все это рассказываешь? Вы, разработчики, вечно всякую фигню рассказываете! Вместо этого могли бы просто оценить правильное время на разработку.
Релиз аль денте — когда очень нужно на прод прямо сейчас, но до конца еще не доделали/не протестировали
Рассказали историю про товарища, который работает в епархии главным IT-специалистом. В трудовой у него написано "IT-дьякон". Шедевр.
Что делает вас уникальным среди других специалистов?
Привычка читать документацию
Привычка читать документацию