Пустить на самотек как пишется

Найдено определений: 33 самотк толковый словарьм.1. движение жидкости или сыпучих веществ под действием силы собственной тяжести.отт. то, что получают благодаря
Найдено определений: 33

самотёксамотёк

толковый словарь

м.

1. Движение жидкости или сыпучих веществ под действием силы собственной тяжести.

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

2. перен.

Осуществление чего-либо без плана, без руководства, стихийно.

толковый словарь ушакова

САМОТЁК, самотёка, мн. нет, муж.

1. Движение воды без нагнетательных устройств, силой собственной тяжести (спец.).

2. То, что течет само собой (обл.). Мед-самотек (не топленый, сам вытекший из сотов).

3. перен. Ход какого-нибудь дела, работы, движение чего-нибудь без плана, без руководства, совершающееся само собой, стихийно (неол.). В порядке самотека. Большевизм принципиальный, непримиримый враг самотека. «Теория «самотека» в социалистическом строительстве есть теория антимарксистская.» Сталин (речь на конференции аграрников-марксистов 27 декабря 1929 г.).

толковый словарь ожегова

САМОТЁК, -а, муж.

1. Течение жидкости или сыпучих тел, совершающееся силой собственной тяжести, по уклону.

2. перен. Стихийный ход дела, работы без плана, без организационного руководства. Пустить дело на с. Не полагаться на с.

| прил. самотёчный, -ая, -ое (к 1 знач.; спец.). С. водовод. Самотёчные оросительные каналы. Самотёчное орошение.

академический словарь

-а, м.

1. Движение жидкости или сыпучих веществ силой собственной тяжести.

2. Ход какого-л. дела, работы без плана, без руководства, стихийное осуществление чего-л.

Пустить дело на самотек.

Чрезвычайно важным является процесс образования актива. Если этот процесс предоставить самотеку, а с активом не работать, никогда не образуется настоящий рабочий актив. Макаренко, Методика организации воспитательного процесса.

поговорки

Пускать/ пустить на самотёк. Разг. Неодобр. Давать делу совершаться стихийно, без плана, оставлять что-л. без организационного руководства. Мокиенко 2003, 100.

слитно. раздельно. через дефис

орфографический словарь

словарь ударений

формы слов

самотёк, самотёки, самотёка, самотёков, самотёку, самотёкам, самотёком, самотёками, самотёке, самотёках

морфемно-орфографический словарь

грамматический словарь

сканворды

— Запуск дела в свободное плавание.

— Стихийный ход дела без руководства.

— Работа без плана.

полезные сервисы

самотек

энциклопедический словарь

САМОТЁК -а; м.

1. Движение жидкости или сыпучих веществ силой собственной тяжести по уклону.

2. Стихийное осуществление, течение чего-л. Пустить дело на с.

3. Проф. О рукописях, поступающих в издательство без заказа. Стихи, роман из самотёка.

Самотёком, нареч. Дела идут самотёком. Самотёчный, -ая, -ое. (1 зн.).

толковый словарь

Самотек, а, м.

Ход какого-н. дела, работы без плана, без руководства, стихийное осуществление чего-л.

• Большевизм — принципиальный непримиримый враг самотека. Теоия самотека в социалистическом строительстве есть теория антимарксистская (Сталин). Купина, 27. Чрезвычайно важным является вопрос образования актива. Если этот вопрос предоставить самотеку, а с активом не работать, никогда не образуется настоящий рабочий актив (Макаренко). МАС, т. 4, 23. Слова, связанные с критикой отрицательных явлений в общественно-политической жизни: обезличка, кампанейщина, самотек. Ильенко, Максимова, 272.

синонимы

сущ., кол-во синонимов: 2

полезные сервисы

самотёка

синонимы

сущ., кол-во синонимов: 1

сканворды

— Одно из названий Неглинной реки в центре Москвы.

полезные сервисы

самотека

синонимы

сущ., кол-во синонимов: 3

полезные сервисы

самотекин

словарь русских фамилий

САМОТЕКИН САМОТЕЧКИН САМОТОКОВ

Самотеки, самотечки — живущие как попало, по течению жизни (Э)

полезные сервисы

самотёкомсамотёком

толковый словарь

нареч. качеств.-обстоят. разг.

1. Без плана, без руководства; стихийно.

2. Употребляется как несогласованное определение.

толковый словарь ушакова

САМОТЁКОМ, нареч.

1. Без нагнетательных устройств, силой собственной тяжести (о движении жидкостей; спец.). Вода идет самотёком.

2. перен. Без предварительной организации, само собой, стихийно. (неол.). Работа идет самотёком.

толковый словарь ожегова

САМОТЁКОМ, нареч.

1. О движении жидкости или сыпучих тел; силой собственной тяжести, по уклону. Вода идёт с.

2. перен. Стихийно, неорганизованно. Работа не должна идти с.

академический словарь

нареч.

1. Силой собственной тяжести (о движении жидкостей и сыпучих веществ).

Руда не сыплется самотеком в вагонетки. Люки сделаны так плохо, что она не может сама сыпаться. М. Павлов, Воспоминания металлурга.

2. Само собой, стихийно, неорганизованно.

На стройку понаехало самотеком много разного народа. Эренбург, День второй.

— Что ж ты не руководишь собранием? — тихо сказал ему Андрей. — У тебя все самотеком идет. Николаева, Жатва.

слитно. раздельно. через дефис

самотёком (стихийно), перен.

орфографический словарь

словарь ударений

морфемно-орфографический словарь

грамматический словарь

полезные сервисы

самотекомсамотеком

формы слов

синонимы

нареч, кол-во синонимов: 8

полезные сервисы

Разбор частей речи

Далее давайте разберем морфологические признаки каждой из частей речи русского языка на примерах. Согласно лингвистике русского языка, выделяют три группы из 10 частей речи, по общим признакам:

1. Самостоятельные части речи:

  • существительные (см. морфологические нормы сущ. );
  • глаголы:
    • причастия;
    • деепричастия;
  • прилагательные;
  • числительные;
  • местоимения;
  • наречия;

2. Служебные части речи:

  • предлоги;
  • союзы;
  • частицы;

3. Междометия.

Ни в одну из классификаций (по морфологической системе) русского языка не попадают:

  • слова да и нет, в случае, если они выступают в роли самостоятельного предложения.
  • вводные слова: итак, кстати, итого, в качестве отдельного предложения, а так же ряд других слов.

Морфологический разбор существительного

План морфологического разбора существительного

Пример:

«Малыш пьет молоко.»

Малыш (отвечает на вопрос кто?) – имя существительное;

  • начальная форма – малыш;
  • постоянные морфологические признаки: одушевленное, нарицательное, конкретное, мужского рода, I -го склонения;
  • непостоянные морфологические признаки: именительный падеж, единственное число;
  • при синтаксическом разборе предложения выполняет роль подлежащего.

Морфологический разбор слова «молоко» (отвечает на вопрос кого? Что?).

  • начальная форма – молоко;
  • постоянная морфологическая характеристика слова: среднего рода, неодушевленное, вещественное, нарицательное, II -е склонение;
  • изменяемые признаки морфологические: винительный падеж, единственное число;
  • в предложении прямое дополнение.

Приводим ещё один образец, как сделать морфологический разбор существительного, на основе литературного источника:

«Две дамы подбежали к Лужину и помогли ему встать. Он ладонью стал сбивать пыль с пальто. (пример из: «Защита Лужина», Владимир Набоков).»

Дамы (кто?) — имя существительное;

  • начальная форма — дама;
  • постоянные морфологические признаки: нарицательное, одушевленное, конкретное, женского рода, I склонения;
  • непостоянная морфологическая характеристика существительного: единственное число, родительный падеж;
  • синтаксическая роль: часть подлежащего.

Лужину (кому?) — имя существительное;

  • начальная форма — Лужин;
  • верная морфологическая характеристика слова: имя собственное, одушевленное, конкретное, мужского рода, смешанного склонения;
  • непостоянные морфологические признаки существительного: единственное число, дательного падежа;
  • синтаксическая роль: дополнение.

Ладонью (чем?) — имя существительное;

  • начальная форма — ладонь;
  • постоянные морфологические признаки: женского рода, неодушевлённое, нарицательное, конкретное, I склонения;
  • непостоянные морфо. признаки: единственного числа, творительного падежа;
  • синтаксическая роль в контексте: дополнение.

Пыль (что?) — имя существительное;

  • начальная форма — пыль;
  • основные морфологические признаки: нарицательное, вещественное, женского рода, единственного числа, одушевленное не охарактеризовано, III склонения (существительное с нулевым окончанием);
  • непостоянная морфологическая характеристика слова: винительный падеж;
  • синтаксическая роль: дополнение.

(с) Пальто (С чего?) — существительное;

  • начальная форма — пальто;
  • постоянная правильная морфологическая характеристика слова: неодушевленное, нарицательное, конкретное, среднего рода, несклоняемое;
  • морфологические признаки непостоянные: число по контексту невозможно определить, родительного падежа;
  • синтаксическая роль как члена предложения: дополнение.

Морфологический разбор прилагательного

Имя прилагательное — это знаменательная часть речи. Отвечает на вопросы Какой? Какое? Какая? Какие? и характеризует признаки или качества предмета. Таблица морфологических признаков имени прилагательного:

  • начальная форма в именительном падеже, единственного числа, мужского рода;
  • постоянные морфологические признаки прилагательных:
    • разряд, согласно значению:
      • — качественное (теплый, молчаливый);
      • — относительное (вчерашний, читальный);
      • — притяжательное (заячий, мамин);
    • степень сравнения (для качественных, у которых этот признак постоянный);
    • полная / краткая форма (для качественных, у которых этот признак постоянный);
  • непостоянные морфологические признаки прилагательного:
    • качественные прилагательные изменяются по степени сравнения (в сравнительных степенях простая форма, в превосходных — сложная): красивый-красивее-самый красивый;
    • полная или краткая форма (только качественные прилагательные);
    • признак рода (только в единственном числе);
    • число (согласуется с существительным);
    • падеж (согласуется с существительным);
  • синтаксическая роль в предложении: имя прилагательное бывает определением или частью составного именного сказуемого.

План морфологического разбора прилагательного

Пример предложения:

Полная луна взошла над городом.

Полная (какая?) – имя прилагательное;

  • начальная форма – полный;
  • постоянные морфологические признаки имени прилагательного: качественное, полная форма;
  • непостоянная морфологическая характеристика: в положительной (нулевой) степени сравнения, женский род (согласуется с существительным), именительный падеж;
  • по синтаксическому анализу — второстепенный член предложения, выполняет роль определения.

Вот еще целый литературный отрывок и морфологический разбор имени прилагательного, на примерах:

Девушка была прекрасна: стройная, тоненькая, глаза голубые, как два изумительных сапфира, так и заглядывали к вам в душу.

Прекрасна (какова?) — имя прилагательное;

  • начальная форма — прекрасен (в данном значении);
  • постоянные морфологические нормы: качественное, краткое;
  • непостоянные признаки: положительная степень сравнения, единственного числа, женского рода;
  • синтаксическая роль: часть сказуемого.

Стройная (какая?) — имя прилагательное;

  • начальная форма — стройный;
  • постоянные морфологические признаки: качественное, полное;
  • непостоянная морфологическая характеристика слова: полное, положительная степень сравнения, единственное число, женский род, именительный падеж;
  • синтаксическая роль в предложении: часть сказуемого.

Тоненькая (какая?) — имя прилагательное;

  • начальная форма — тоненький;
  • морфологические постоянные признаки: качественное, полное;
  • непостоянная морфологическая характеристика прилагательного: положительная степень сравнения, единственное число, женского рода, именительного падежа;
  • синтаксическая роль: часть сказуемого.

Голубые (какие?) — имя прилагательное;

  • начальная форма — голубой;
  • таблица постоянных морфологических признаков имени прилагательного: качественное;
  • непостоянные морфологические характеристики: полное, положительная степень сравнения, множественное число, именительного падежа;
  • синтаксическая роль: определение.

Изумительных (каких?) — имя прилагательное;

  • начальная форма — изумительный;
  • постоянные признаки по морфологии: относительное, выразительное;
  • непостоянные морфологические признаки: множественное число, родительного падежа;
  • синтаксическая роль в предложении: часть обстоятельства.

Морфологические признаки глагола

Согласно морфологии русского языка, глагол — это самостоятельная часть речи. Он может обозначать действие (гулять), свойство (хромать), отношение (равняться), состояние (радоваться), признак (белеться, красоваться) предмета. Глаголы отвечают на вопрос что делать? что сделать? что делает? что делал? или что будет делать? Разным группам глагольных словоформ присущи неоднородные морфологические характеристики и грамматические признаки.

Морфологические формы глаголов:

  • начальная форма глагола — инфинитив. Ее так же называют неопределенная или неизменяемая форма глагола. Непостоянные морфологические признаки отсутствуют;
  • спрягаемые (личные и безличные) формы;
  • неспрягаемые формы: причастные и деепричастные.

Морфологический разбор глагола

  • начальная форма — инфинитив;
  • постоянные морфологические признаки глагола:
    • переходность:
      • переходный (употребляется с существительными винительного падежа без предлога);
      • непереходный (не употребляется с существительным в винительном падеже без предлога);
    • возвратность:
      • возвратные (есть -ся, -сь);
      • невозвратные (нет -ся, -сь);
    • вид:
      • несовершенный (что делать?);
      • совершенный (что сделать?);
    • спряжение:
      • I спряжение (дела-ешь, дела-ет, дела-ем, дела-ете, дела-ют/ут);
      • II спряжение (сто-ишь, сто-ит, сто-им, сто-ите, сто-ят/ат);
      • разноспрягаемые глаголы (хотеть, бежать);
  • непостоянные морфологические признаки глагола:
    • наклонение:
      • изъявительное: что делал? что сделал? что делает? что сделает?;
      • условное: что делал бы? что сделал бы?;
      • повелительное: делай!;
    • время (в изъявительном наклонении: прошедшее/настоящее/будущее);
    • лицо (в настоящем/будущем времени, изъявительного и повелительного наклонения: 1 лицо: я/мы, 2 лицо: ты/вы, 3 лицо: он/они);
    • род (в прошедшем времени, единственного числа, изъявительного и условного наклонения);
    • число;
  • синтаксическая роль в предложении. Инфинитив может быть любым членом предложения:
    • сказуемым: Быть сегодня празднику;
    • подлежащим :Учиться всегда пригодится;
    • дополнением: Все гости просили ее станцевать;
    • определением: У него возникло непреодолимое желание поесть;
    • обстоятельством: Я вышел пройтись.

Морфологический разбор глагола пример

Чтобы понять схему, проведем письменный разбор морфологии глагола на примере предложения:

Вороне как-то Бог послал кусочек сыру… (басня, И. Крылов)

Послал (что сделал?) — часть речи глагол;

  • начальная форма — послать;
  • постоянные морфологические признаки: совершенный вид, переходный, 1-е спряжение;
  • непостоянная морфологическая характеристика глагола: изъявительное наклонение, прошедшего времени, мужского рода, единственного числа;
  • синтаксическая роль в предложении: сказуемое.

Следующий онлайн образец морфологического разбора глагола в предложении:

Какая тишина, прислушайтесь.

Прислушайтесь (что сделайте?) — глагол;

  • начальная форма — прислушаться;
  • морфологические постоянные признаки: совершенный вид, непереходный, возвратный, 1-го спряжения;
  • непостоянная морфологическая характеристика слова: повелительное наклонение, множественное число, 2-е лицо;
  • синтаксическая роль в предложении: сказуемое.

План морфологического разбора глагола онлайн бесплатно, на основе примера из целого абзаца:

— Его нужно предостеречь.

— Не надо, пусть знает в другой раз, как нарушать правила.

— Что за правила?

— Подождите, потом скажу. Вошел! («Золотой телёнок», И. Ильф)

Предостеречь (что сделать?) — глагол;

  • начальная форма — предостеречь;
  • морфологические признаки глагола постоянные: совершенный вид, переходный, невозвратный, 1-го спряжения;
  • непостоянная морфология части речи: инфинитив;
  • синтаксическая функция в предложении: составная часть сказуемого.

Пусть знает (что делает?) — часть речи глагол;

  • начальная форма — знать;
  • постоянные морфологические признаки: несовершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянная морфология глагола: повелительное наклонение, единственного числа, 3-е лицо;
  • синтаксическая роль в предложении: сказуемое.

Нарушать (что делать?) — слово глагол;

  • начальная форма — нарушать;
  • постоянные морфологические признаки: несовершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянные признаки глагола: инфинитив (начальная форма);
  • синтаксическая роль в контексте: часть сказуемого.

Подождите (что сделайте?) — часть речи глагол;

  • начальная форма — подождать;
  • постоянные морфологические признаки: совершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянная морфологическая характеристика глагола: повелительное наклонение, множественного числа, 2-го лица;
  • синтаксическая роль в предложении: сказуемое.

Вошел (что сделал?) — глагол;

  • начальная форма — войти;
  • постоянные морфологические признаки: совершенный вид, невозвратный, непереходный, 1-го спряжения;
  • непостоянная морфологическая характеристика глагола: прошедшее время, изъявительное наклонение, единственного числа, мужского рода;
  • синтаксическая роль в предложении: сказуемое.

Почти все разработчики так или иначе постоянно работают с api по http, клиентские разработчики работают с api backend своего сайта или приложения, а бэкендеры «дергают» бэкенды других сервисов, как внутренних, так и внешних. И мне кажется, одна из самых главных вещей в хорошем API это формат передачи ошибок. Ведь если это сделано плохо/неудобно, то разработчик, использующий это API, скорее всего не обработает ошибки, а клиенты будут пользоваться молчаливо ломающимся продуктом.

За 7 лет я как поддерживал множество legacy API, так и разрабатывал c нуля. И я поработал, наверное, с большинством стратегий по возвращению ошибок, но каждая из них создавала дискомфорт в той или иной мере. В последнее время я нащупал оптимальный вариант, о котором и хочу рассказать, но с начала расскажу о двух наиболее популярных вариантах.

№1: HTTP статусы

Если почитать апологетов REST, то для кодов ошибок надо использовать HTTP статусы, а текст ошибки отдавать в теле или в специальном заголовке. Например:

Success:

HTTP 200 GET /v1/user/1
Body: { name: 'Вася' }

Error:

HTTP 404 GET /v1/user/1
Body: 'Не найден пользователь'

Если у вас примитивная бизнес-логика или API из 5 url, то в принципе это нормальный подход. Однако как-только бизнес-логика станет сложнее, то начнется ряд проблем.

Http статусы предназначались для описания ошибок при передаче данных, а про логику вашего приложения никто не думал. Статусов явно не хватает для описания всего разнообразия ошибок в вашем проекте, да они и не были для этого предназначены. И тут начинается натягивание «совы на глобус»: все начинают спорить, какой статус ошибки дать в том или ином случае. Пример: Есть API для task manager. Какой статус надо вернуть в случае, если пользователь хочет взять задачу, а ее уже взял в работу другой пользователь? Ссылка на http статусы. И таких проблемных примеров можно придумать много.

REST скорее концепция, чем формат общения из чего следует неоднозначность использования статусов. Разработчики используют статусы как им заблагорассудится. Например, некоторые API при отсутствии сущности возвращают 404 и текст ошибки, а некоторые 200 и пустое тело.

Бэкенд разработчику в проекте непросто выбрать статус для ошибки, а клиентскому разработчику неочевидно какой статус предназначен для того или иного типа ошибок бизнес-логики. По-хорошему в проекте придется держать enum для того, чтобы описать какие ошибки относятся к тому или иному статусу.

Когда бизнес-логика приложения усложняется, начинают делать как-то так:

HTTP 400 PUT /v1/task/1 { status: 'doing' }
Body: { error_code: '12', error_message: 'Задача уже взята другим исполнителем' } 

Из-за ограниченности http статусов разработчики начинают вводить “свои” коды ошибок для каждого статуса и передавать их в теле ответа. Другими словами, пользователю API приходится писать нечто подобное:

if (status === 200) {
  // Success
} else if (status === 500) {
  // some code
} else if (status === 400) {
  if (body.error_code === 1) {
    // some code
  } else if (body.error_code === 2) {
    // some code
  } else {
    // some code
  }
} else if (status === 404) {
  // some code
} else {
  // some code
}

Из-за этого ветвление клиентского кода начинает стремительно расти: множество http статусов и множество кодов в самом сообщении. Для каждого ошибочного http статуса необходимо проверить наличие кодов ошибок в теле сообщения. От комбинаторного взрыва начинает конкретно пухнуть башка! А значит обработку ошибок скорее всего сведут к сообщению типа “Произошла ошибка” или к молчаливому некорректному поведению.

Многие системы мониторинга сервисов привязываются к http статусам, но это не помогает в мониторинге, если статусы используются для описания ошибок бизнес логики. Например, у нас резкий всплеск ошибок 429 на графике.  Это началась DDOS атака, или кто-то из разработчиков выбрал неудачный статус?

Итог:  Начать с таким подходом легко и просто и для простого API это вполне подойдет. Но если логика стала сложнее, то использование статусов для описания того, что не укладывается в заданные рамки протокола http приводит к неоднозначности использования и последующим костылям для работы с ошибками. Или что еще хуже к формализму, что ведет к неприятному пользовательскому опыту.

№2: На все 200

Есть другой подход, даже более старый, чем REST, а именно: на все ошибки связанные с бизнес-логикой возвращать 200, а уже в теле ответа есть информация об ошибке. Например:

Вариант 1:

Success:
HTTP 200 GET /v1/user/1
Body: { ok: true, data: { name: 'Вася' } }

Error:
HTTP 200 GET /v1/user/1
Body: { ok: false, error: { code: 1, msg: 'Не найден пользователь' } }

Вариант 2:

Success:
HTTP 200 GET /v1/user/1
Body: { data: { name: 'Вася' }, error: null }

Error:
HTTP 200 GET /v1/user/1
Body: { data: null, error: { code: 1, msg: 'Не найден пользователь' } }

На самом деле формат зависит от вас или от выбранной библиотеки для реализации коммуникации, например JSON-API.

Звучит здорово, мы теперь отвязались от http статусов и можем спокойно ввести свои коды ошибок. У нас больше нет проблемы “впихнуть невпихуемое”. Выбор нового типа ошибки не вызывает споров, а сводится просто к введению нового числового номера (например, последовательно) или строковой константы. Например:

module.exports = {
  NOT_FOUND: 1,
  VALIDATION: 2,
 // ….
}

module.exports = {
  NOT_FOUND: ‘NOT_AUTHORIZED’,
  VALIDATION: ‘VALIDATION’,
 // ….
}

Клиентские разработчики просто основываясь на кодах ошибок могут создать классы/типы ошибок и притом не бояться, что сервер вернет один и тот же код для разных типов ошибок (из-за бедности http статусов).

Обработка ошибок становится менее ветвящейся, множество http статусов превратились в два: 200 и все остальные (ошибки транспорта).

if (status === 200) {
  if (body.error) {
    var error = body.error;
    if (error.code === 1) {
      // some code
    } else if (error.code === 2) {
      // some code
    } else {
      // some code
    }
  } else {
    // Success
  }
} else {
  // transport erros
}

В некоторых случаях, если есть библиотека десериализации данных, она может взять часть работы на себя. Писать SDK вокруг такого подхода проще нежели вокруг той или иной имплементации REST, ведь реализация зависит от того, как это видел автор. Кроме того, теперь никто не вызовет случайное срабатывание alert в мониторинге из-за того, что выбрал неудачный код ошибки.

Но неудобства тоже есть:

  • Избыточность полей при передаче данных, т.е. нужно всегда передавать 2 поля: для данных и для ошибки. Это усложняет чтение логов и написание документации.

  • При использовании средств отладки (Chrome DevTools) или других подобных инструментов вы не сможете быстро найти ошибочные запросы бизнес логики, придется обязательно заглянуть в тело ответа (ведь всегда 200)

  • Мониторинг теперь точно будет срабатывать только на ошибки транспорта, а не бизнес-логики, но для мониторинга логики надо будет дописывать парсинг тела сообщения.

В некоторых случаях данный подход вырождается в RPC, то есть по сути вообще отказываются от использования url и шлют все на один url методом POST, а в теле сообщения передают все параметры. Мне кажется это не правильным, ведь url это прекрасный именованный namespace, зачем от этого отказываться, не понятно?! Кроме того, RPC создает проблемы:

  • нельзя кэшировать по http GET запросы, так как замешали чтение и запись в один метод POST

  • нельзя делать повторы для неудавшихся GET запросов (на backend) на реверс-прокси (например, nginx) по указанной выше причине

  • имеются проблемы с документированием – swagger и  ApiDoc не подходят, а удобных аналогов я не нашел

Итог: Для сложной бизнес-логики с большим количеством типов ошибок такой подход лучше, чем расплывчатый REST, не зря в проектах c “разухабистой” бизнес-логикой  часто именно такой подход и используют.

№3: Смешанный

Возьмем лучшее от двух миров. Мы выберем один http статус, например, 400 или 422 для всех ошибок бизнес-логики, а в теле ответа будем указывать код ошибки или строковую константу. Например:

Success:

HTTP 200 /v1/user/1
Body: { name: 'Вася' }

Error:

HTTP 400 /v1/user/1
Body: { error: { code: 1, msg: 'Не найден пользователь' } }

Коды:

  • 200 – успех

  • 400 – ошибка бизнес логики

  • остальное ошибки в транспорте

Тело ответа для удачного запроса у нас имеет произвольную структуру, а вот для ошибки есть четкая  схема. Мы избавляемся от избыточности данных (поле ошибки/данных) благодаря использованию http статуса в сравнении со вторым вариантом. Клиентский код упрощается в плане обработки ошибки (в сравнении с первым вариантом). Также мы снижаем его вложенность за счет использования отдельного http статуса для ошибок бизнес логики (в сравнении со вторым вариантом).

if (status === 200) {
  // Success
} else if (status === 400) {
  if (body.error.code === 1) {
    // some code
  } else if (body.error.code === 2) {
    // some code
  } else {
    // some code
  }
} else {
  // transport erros
}

Мы можем расширять объект ошибки для детализации проблемы, если хотим. С мониторингом все как во втором варианте, дописывать парсинг придется, но и риска “стрельбы” некорректными alert нету. Для документирования можем спокойно использовать Swagger и ApiDoc. При этом сохраняется удобство использования инструментов разработчика, таких как Chrome DevTools, Postman, Talend API.

Итог:  Использую данный подход уже в нескольких проектах, где множество типов ошибок и все крайне довольны, как клиентские разработчики, так и бэкендеры. Внедрение новой ошибки не вызывает споров, проблем и противоречий. Данный подход объединяет преимущества первого и второго варианта, при этом код более читабельный и структурированный.

Самое главное какой бы формат ошибок вы бы не выбрали лучше обговорить его заранее и следовать ему. Если эту вещь пустить на “самотек”, то очень скоро обработка ошибок в проекте станет невыносимо сложной для всех.

P.S. Иногда ошибки любят передавать массивом

{ error: [{ code: 1, msg: 'Не найден пользователь' }] }

Но это актуально в основном в двух случаях:

  • Когда наш API выступает в роли сервиса без фронтенда (нет сайта/приложения). Например, сервис платежей.

  • Когда в API есть url для загрузки какого-нибудь длинного отчета в котором может быть ошибка в каждой строке/колонке. И тогда для пользователя удобнее, чтобы ошибки в приложении сразу показывались все, а не по одной.

В противном случае нет особого смысла закладываться сразу на массив ошибок, потому что базовая валидация данных должна происходить на клиенте, зато код упрощается как на сервере, так и на клиенте. А user-experience хакеров, лезущих напрямую  в наше API,  не должен нас волновать?HTTP

Нужно срочно переходить на отечественное программное обеспечение, а то враг не дремлет, Билл Гейтс точит зубы на Россию и вскоре закроет нам все «форточки». Примерно такими откровениями порадовал нас на днях «гарант», впрочем, не установив никаких временных ориентиров. Видимо, ему таки доходчиво объяснили, что в нынешних реалиях это попросту невозможно.

Предыдущий раунд истерики по поводу «цифрового импортозамещения» случился в апреле сего года. Тогда Минцифра раструбила, что уже с 2022 года на все продаваемые в РФ устройства обяжут устанавливать отечественное ПО. И даже сказало какое — почту Mail.ru и прочие подобные программульки. Для того, чтобы враг не проник в наши секреты.

Тогда же глава РСПП Александр Шохин заявил, что на российском рынке НЕТ аналогов иностранного программного обеспечения. И оценил, что затраты компаний по переходу на российский софт превысят 1 трлн. руб. Минимум…

Что-то как-то не складывается. Давайте разберёмся, что у нас в стране есть, а чего нет. По-простому, на пальцах, без «птичьего» языка кнопкодавов-программеров.

Допустим, у нас есть авто. Машина ездит, колёса крутятся, мотор работает, а кондей кондит. И мы начинаем её немножко «колхозить» — в меру собственных сил и способностей. Этих самых сил и способностей мало, да и все материалы — импортные. Налепим в салоне всяких «фенечек», зачем-то соорудим своими руками (из импортных радиодеталей) зарядку для телефона вместо покупной, иконку присобачим на торпедо, и т. д. Во! Получилось очень даже скрепно и православно.

А на деле у нас всё та же иномарка, которая в любой момент может превратится в недвижимость, стоит перекрыть поставки в страну расходников и прочих запчастей. Иконка в салоне не спасёт, святой дух не способен сделать шаровую опору новой или очистить масляный фильтр. Трагедия, однако.

Именно про это и говорил Александр Шохин — человек, все всякого сомнения, очень умный и эрудированный. Его воззрения далеко не всем нравятся, но главу РСПП данный факт, судя по всему, не особо смущает. Кто-то же должен говорить правду. И его оценки стоимости перехода на российское ПО, как говорят специалисты, ещё сильно занижены. Видимо, чтобы власти совсем уж не испугались.

Ибо у нас нет НИЧЕГО. Автомобили, то есть в данном случае операционные системы, у нас все импортные. И что-то городить на их основе бесполезно. Это просто смешно.

«То, что чиновники говорят про защиту данных — полная (непечатное слово). Вот представьте: сидит шпиён, перед ним лежит открытый шифроблокнот, и он строчит на бумажке донесение. Алекс — Юстасу. А за его спиной стоит контрразведчик, он смотрит и в бумажку, и в шифроблокнот, да ещё и ржёт в голос. Вот примерно такая у нас ситуация. Всё ПО, которое мы используем для программирования, импортное, там есть „закладки“, но даже это — не главное. Нет базы — своих операционных систем. И на этом фоне всё остальное просто полная чушь», — объясняет программист одной российской компании.

Таким образом, никакой такой «защиты данных» не получится, это в принципе нереально. Какую «фенечку» не налепи на Android, Windows или MacOS, системы будут исправно поставлять информацию своим владельцам.

Для справки: компания Google (ОС Android их творение) — детище ЦРУ и АНБ, Microsoft и Apple тоже более чем тесно сотрудничают с американскими спецслужбами, всё иные крупные разработчики ПО также имеют у себя отделы, где сидят те самые «особисты». И они не только занимаются сбором и анализом информации, но и выдают задания. Сделать то или иное, дабы взять под контроль ту или иную сферу деятельности потребителей софта. Никакой «теории заговора», просто проза жизни.

Россияньские чиновники всего этого либо не понимают, либо пытаются засунуть голову в песок. Но песка уже нет, полы бетонные — не спрятаться. Впрочем, третий вариант — предательство и вредительство — тоже нельзя исключить.

По словам Путина, доступ к иностранным программам может быть закрыт для российских госкомпаний и они должны быть к этому готовы. Тут президент совершенно прав. Впрочем, данный факт далеко не новость, «СП» именно об этом недавно писала. И не только для госкомпаний — вообще для всех.

То, что глава государства признал проблему, конечно, хорошо. Но тут же встаёт вопрос: а что он и его команда делали последние 20 лет? Можно подумать, что вчера всё было хорошо, и вот только сегодня вдруг оказалось, что мы с голым задом. Причём по всем параметрам. В любой момент в ЦРУ или иной структуре могут щёлкнуть мышкой и всё — как говорят в Рунете, всему придёт «пушной зверек».

И ладно Рунет — да, он перестанет существовать как таковой. Сперва деинсталлируют все те программы, которые управляют хозяйством «Газпрома», электростанций, банков, нефтянки и т. д. А депутатам Госдумы придётся заново учиться писать, так как их планшеты и ноутбуки превратятся в мёртвые куски пластмассы.

Глобальной катастрофы не произойдёт — газ и электричество продолжат поступать в дома людей, хотя перебои возможны. Но наш народ умный, талантливый, специалисты найдут как обойти сдохшую электронику. Условно говоря, подключат напрямую. Простые люди так и вовсе вытащат из загашников диски с «пиратскими» программами и оживят свои компьютеры.

Вот связи не будет, это — проблема. Мобильной точно, да и с проводной возникнут проблемы. Надёжные советские АТС давно поменяли на импортную «цифру», а её тоже «отключат». В совокупности, страна будет отброшена где-то на уровень 60-х годов ХХ века, хорошо, что хоть стоящие на дежурстве советские ракеты управляются простой, но надёжной электроникой Made in USSR.

Есть ли в РФ свои собственное разработки ПО? Можно сказать, что и нет вовсе. Все те корявые поделки, что выдаются за очередные «прорывы», помимо всего прочего, созданы на базе импортных программ. Точнее, на основе так называемого «Открытого программного обеспечения» (Open-source software). Да, наверное, оно открытое. Но им ведает расположенный в Бостоне Free Software Foundation, некоммерческая организация, и всё такое. Дальнейшие объяснения нужны?

Пару лет назад прошла информация, что на базе этого «открытого ПО» российские разработчики создали отечественную операционную систему. Однако быстро выяснилось, что «Эльбрус» не является ОС для простых пользователей, а некая «внутрикорпоративная» разработка.

Наша компания ПО не занимается, но пришлось заняться и программированием — не от хорошей жизни. В подробности вдаваться не буду, их не все поймут, но ставить «Эльбрус-3» и «Эльбурс-4″ рядовым пользователям не стоит», — объяснял тогда начальник отдела проектов по развитию бизнеса АО «МЦСТ» Максим Горшенин.

Однако даже в том случае, если бы ОС и сделали, толк от неё был бы нулевым. ЦРУ-шные «особисты» из Free Software Foundation в любой момент смогут «выключить» и её.

За последние два десятилетия «вставания с колен» в плане создания действительно отечественного ПО не сделано НИЧЕГО. Огромные бюджетные деньги просто «пилили», и не более того. Всё то, что с такой помпой представляли — вроде «дырявого» портала Госуслуги» — сделано на импортных программах.

Стоит, конечно, отметить, что проблема сильно запущена. Выпуск отечественных персональных ЭВМ «Агат» прекратился в 1993 году, примерно тогда же канули в Лету все советские наработки в плане программирования. А они являлись очень передовыми — математическая наука в нашей стране всегда была на высоте.

Но до середины 90-х работы велись, существовали как отечественные ОС, так и системы управления базами данных (СУБД). Для экономики и прочих дел учёта — первейшая штука.

«Вставание с колен» никак не помогло отечественному программированию, денег на него не дали. Власти сосредоточились на защите прав интеллектуальной собственности Билла Гейтса и иже с ним, а на интересы наших компаний банально «положили». Программисты по большей части разбежались по заграницам, все наработки времён СССР были утеряны.

Сейчас, по большому счёту, нужно начинать с нуля. Или почти с нуля. Более того, отдельно от ЭВМ писать программы невозможно, значит, нужно и отечественное «железо». Но денег на всё это типа уже нет — всё прогадили на всякие олимпиады, мундиали (извините за слово) и прочие «нацпроекты». Или тупо украли.

Деньги, конечно, найти можно, например, взяв за «фаберже» тех, кто их выводит из страны — с начала года уже более $60 млрд. утекло за границу. А дальше? Дальше туго.

Нужно опять-таки с нуля создавать электронную промышленность, своего оборудования у нас нет, а купить его непросто. Хотя можно. Но ведь крысюки-чиновники вместо покупок заводов всё украдут и скажут, что так и было. Пример известного деятеля по прозвищу Мебельный налицо. Жив-здоров, на новой должности, процветает. Хотя в КНР такого без разговоров бы поставили к стенке.

Без стенки в «эрэфии» точно не получится. Между тем Мебельного простил именно Путин. И как тогда строить «импортозамещение»? Какой-то замкнутый круг получается.

Нужны крупные госкомпании (тут, увы, без вариантов) по разработке ПО. Но опять встаёт «кадровый вопрос» — кто их возглавит? Дело даже не только в воровстве, уж больно подмочена репутация у чиновников. Программисты народ вольный и обидчивый, сотрудничать с хамами и «барчуками» не станут. Проверено.

«Я больше не пойду работать в госкомпанию, ни за какие деньги. Был опыт когда-то. Платили так себе, но зато от дома добираться удобно, и было прилично свободного времени на подработки. Но в какой-то момент к нам начальником посадили сынка одного известного чиновника. И этот хамский щенок решил показать, что он тут босс. Я тут же уволился, другие тоже недолго продержались. Это было лет 10 назад, но, как говорится, осадочек остался», — рассказывает программист Александр.

Власти стоило бы показать серьёзность своих намерений. Тем более, что ситуация в стране и в мире тревожная, попахивает войной и народными волнениями. Нужно принимать решения. По китайскому сценарию. А там, глядишь, и народ подтянется. Да и деньги есть даже сейчас, достаточно обнулить бюджеты на так называемую «культуру» — содержание клоунов, шутов и скоморохов — и пустить эти деньги в дело. Появится и наши ЭВМ, и своя ОС, и прочее ПО. И на стройках будет кому заменить гастарбайтеров.

В советские времена кадрам отдавали должное внимание. Человек, прежде чем занять руководящий пост в той или иной отрасли, должен был пройти все ступени на этой службе или в госоргане. И в этом отношении экс-министр торговли и экс-глава Потребсоюза Киргизской ССР Токтогул Чилебаев не является исключением.

После окончания Самаркандского института советской кооперативной торговли он работал по специальности в системе Потребсоюза, затем в аппарате Управления делами Совета Министров. Был зампредседателя правления Союза потребительских обществ. С этой должности в 1975 году был утвержден заведующим отделом торговли, плановых и финансовых органов ЦК. Позже он занял должность министра торговли Киргизской ССР. Через четыре года — председатель правления республиканского Потребсоюза.

Учитывая этот опыт в экономике и области сельского хозяйства, бывший глава Минторга и Потребсоюза Киргизской ССР убежден, что сегодняшнюю, как он выразился, вакханалию с ценами в республике остановить можно.

— Потребкооперация занималась торговлей, заготовкой и общественным питанием. Всю сельскохозяйственную продукцию от колхозов, совхозов, населения закупала именно потребительская кооперация. Часть из всего этого уходила на экспорт, но прежде всего нужное количество оставляли для нужд населения республики, — рассказывает Чилебаев. — Сейчас почему в стране, извините за выражение, такой хаос с ценами? Раньше составлялся баланс ресурсов в республике. Вот, например, подсчитывали, сколько необходимо картофеля республике. Оставляли себе нужное количество, а остальное отправляли по договору в другие республики. Также это касалось и остальных товаров народного потребления, для которых баланс составлялся Министерством торговли и Госпланом. То есть система была так выстроена, что население обеспечивалось всем необходимым. Сейчас этого баланса в стране нет. Каждый волен делать то, что хочет, вот поэтому и хаос такой.

В настоящий момент сегодняшний экспорт сельскохозяйственной продукции не отвечает интересам нашей страны. Те же Акаев, Бакиев и потом Атамбаев много раз заявляли о том, что необходимо увеличивать экспорт экологически чистой продукции. Но в итоге наше население остается ни с чем. Этот порядок вещей необходимо менять. К примеру, в мире очень ценится наш грецкий орех, и мы его поставляем кому можно, но только не самим себе. Это же крайне несправедливо.

Второй пример: мясная и молочная продукция. Везде хвастаемся качеством этой продукции, и самое отборное масло и молоко поставляем Казахстану. А сами пьем молоко чуть ли не из порошка. То есть наши люди потребляют крайне некачественную продукцию по сравнению с той, что уходит на экспорт.

Поэтому я предлагаю вновь вернуться к балансу ресурсов, исходя из внутренних потребностей. Должен быть неприкосновенный запас для республики, а потом уже оставшуюся часть можно экспортировать. В этой связи немаловажно, чтобы государство контролировало весь процесс производства вплоть до продажи конечному потребителю. Да, это сложный процесс, но надо же когда-то начинать. Вопрос Кумтора долгие годы не решался, но сегодня же начали…

Но, согласитесь, при СССР государству было проще контролировать процесс производства, так как все было государственное.

— Да, сегодня частники производят сельхозпродукцию, но регулировать весь этот процесс государство обязано. Так как это вопрос продовольственной безопасности, и, как показала пандемия, его нельзя пускать на самотек. Роль государства — прежде всего обеспечение населения своей страны продовольствием.

Должно ли государство вмешиваться в ценовую политику?

— Государство обязано в разумных пределах вмешиваться в ценовую политику. Пример тому уголь. Если бы государство не занялось сегодня вопросом его реализации, сейчас частники продавали бы его по 8 тысяч. Разве это нормально? И это при том, что себестоимость производства угля около 2 тысяч сомов.

Пример неконтролируемых цен мы видим повсюду. Недавно зашёл на рынок и увидел, что квашеную капусту продают по 150 сомов, хотя сама капуста стоит 20 сомов за килограмм. Корейские салаты продают по 100 сомов за стакан, а килограмм моркови стоит 40 сомов. Такое ощущение, что они покупают их по 1000 сомов. Для чего нам тогда вообще нужен Антимонопольный комитет и куда он смотрит? Судя по его работе, эту службу давно пора ликвидировать за бесполезностью.

Президенту в такое экстренное время необходимо создать штаб, чтобы иметь возможность контролировать ценовую политику. Простой пример: все знают про мясную мафию, впрочем, как и про водочную, табачную, молочную, текстильную, овощную и так далее. Так вот, представители всех этих ОПГ, по-другому никак не назовешь, живут далеко не бедно за счёт простого населения. Президент должен дать поручение провести тщательное расследование по всем этим ОПГ, посадить тех, кто наиболее злостно паразитирует на людях, и результат не заставит себя долго ждать.

Всю ценовую политику в стране определяют бывшие и настоящие высокопоставленные чиновники, ставшие олигархами. Помните во время прошлогодней волны эпидемии некоторые из них держали на складах лекарства, чтобы поднять на них цену. А наши граждане в это время умирали. Разве это люди? И они же сегодня рвутся к своим прежним кормушкам во власти.

Да, мы не можем сильно влиять на цены ГСМ и газа, так как этому есть мировые причины, но мы можем разобраться, почему выросли цены на те продукты, которые сами производим, так сказать, отследить всю цепочку.

Есть ли способ снизить цены на продукты питания?

— Давно уже назрела необходимость возродить потребительскую кооперацию, и при этом она обязательно должна быть некоммерческой. То есть это будут товарищества в регионах, члены которого должны сообща решать, сколько и что именно нужно произвести с последующей реализацией.

В свое время я управлял общественным объединением «Кооператор», в котором мы все работали на общественных началах. Так вот, мы несколько лет проталкивали идею воссоздания потребительской кооперации в стране. В 2014 году написали законопроект, экземпляры которого раздали всем депутатам, многие из которых поддержали нас. Но в итоге тогдашний спикер ЖК Асылбек Жээнбеков не включил этот вопрос в повестку дня заседаний ЖК.

Мы опоздали с созданием потребкооперации лет на 20-25. Поэтому промедление будет только усугублять проблему продовольственной безопасности.

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

Нашу идею поддерживали многие видные специалисты сельского хозяйства. Неоднократно выходили статьи на эту тему, но, видимо, кому-то это не выгодно.

Что нам даст потребкооперация?

— Фермеры напрямую будут заключать договора с потребсоюзами на поставку того или иного вида продукта. Сами же потребсоюзы будут брать государственные заказы. Все это даст стимул фермерам выращивать более качественную продукцию. Если во время СССР государство ставило цены, то теперь они будут договорные, но в разумных пределах.

  • Пусти меня заюшка хоть на дворик к себе что за сказка
  • Пустынная местность как пишется
  • Пумпоны или помпоны как правильно пишется
  • Пунцовый лист как пишется
  • Пунта кана как пишется