WEBVTT

1
00:03:18.680 --> 00:03:23.070
Михаил Непряхин: И всем. Привет так видно Смешно опишитесь Пожалуйста

2
00:03:32.520 --> 00:03:34.290
Михаил Непряхин: так оно спасибо

3
00:03:56.380 --> 00:04:02.970
Михаил Непряхин: а так мана значит сегодня им сегодня У нас Лекция

4
00:04:04.060 --> 00:04:14.550
Михаил Непряхин: уже более как Сейчас будут лекции более практически живым смотреть конкретные решения, примеры, как писать приложение

5
00:04:14.810 --> 00:04:25.460
Михаил Непряхин: вот в прошлый Раз, больше теоретически говорили, про архитектуру вот сегодня уже на конкретном примере значит вот здесь вот в

6
00:04:26.060 --> 00:04:33.090
Михаил Непряхин: лекции. Пятнадцать У нас Сейчас пятнадцатый рецепт вот уже такое полноценное предложение

7
00:04:33.270 --> 00:04:40.319
Михаил Непряхин: значит домен у нас профайл то есть это какой то сервис профилей

8
00:04:40.860 --> 00:04:49.300
Михаил Непряхин: это не модульный Ну такой это не монолит это подразумевается что это микросервис и

9
00:04:49.500 --> 00:04:53.360
Михаил Непряхин: микросервис в котором только один домен но вот собственно профайл

10
00:04:53.860 --> 00:05:00.940
Михаил Непряхин: и видно значит вот поле с кейсом какие ну люди даже вот по контролерам какие У нас Есть ручки

11
00:05:01.970 --> 00:05:12.030
Михаил Непряхин: У нас четыре ручки значит это создать профиль удалить профиль получить, профиль и обновить профиль это и

12
00:05:12.140 --> 00:05:18.800
Михаил Непряхин: потом добавим еще ручку получить, все профили с Магинацией но

13
00:05:19.370 --> 00:05:27.849
Михаил Непряхин: Она получает слишком сложно и сильно все усложняет пока Что вот на простом круге будем разбирать как вообще приложение строится.

14
00:05:29.800 --> 00:05:45.849
Михаил Непряхин: А значит Предлагается обучаться Именно По вот этому шаблону но когда вы Поймете принципы

15
00:05:45.960 --> 00:05:52.009
Михаил Непряхин: и ну как-то уже будете понимать зачем Мы вообще делим Код на части

16
00:05:52.210 --> 00:06:01.689
Михаил Непряхин: То можете постепенно отказываться От каких-то Вещей Которые вам не нравятся например могут вам не нравиться для того что они

17
00:06:02.450 --> 00:06:03.580
Михаил Непряхин: ну как бы

18
00:06:03.700 --> 00:06:11.679
Михаил Непряхин: вот например, нагет профайл, у нас вот в дто всего лишь одно поле а я все равно использую для того метео для того чтобы получить. Профиль

19
00:06:12.060 --> 00:06:30.760
Михаил Непряхин: я Все равно использую и просто и

20
00:06:31.140 --> 00:06:36.729
Михаил Непряхин: но одно, в реальной жизни если. Вы Понятие где-то нужно для того Или Не нужно От этого вы делаете Или Не делайте

21
00:06:38.030 --> 00:06:45.019
Михаил Непряхин: То же самое например, с интерфейсами вот здесь вот аа

22
00:06:45.300 --> 00:07:03.759
Михаил Непряхин: диай он как бы такой более Классически правильный он через интерфейсы значит сервис у нас на текущем этапе он там постепенно вот меня усложняется То есть Мы Там кафку добавим ну вот пока вот как бы минимальный набор У нас с рэдисом который

23
00:07:04.240 --> 00:07:13.530
Михаил Непряхин: по-моему даже Не задействован по-моему нигде Не используется да то есть он тут просто может просто есть вот а вообще Сейчас используется только; позгресс

24
00:07:14.500 --> 00:07:18.389
Михаил Непряхин: а у нас тут уже сервис с реальной базой

25
00:07:19.490 --> 00:07:23.790
Михаил Непряхин: и у нас есть вот четыре метода, для работы с

26
00:07:24.540 --> 00:07:34.820
Михаил Непряхин: андомина, нашем то есть у нас вот наклеит профайл две ручки ну а остальные тут вот один к одному как и ручки репя на

27
00:07:35.680 --> 00:07:44.410
Михаил Непряхин: нагет апте делит вот и соответственно от этого интерфейса в теории можно избавиться и напрямую работать в базе данных

28
00:07:45.820 --> 00:07:56.730
Михаил Непряхин: да и и Еще можно избавиться от конструктора, на сущности

29
00:07:56.840 --> 00:07:59.860
Михаил Непряхин: значит тут, смотрите у меня здесь вот в папке домен

30
00:08:00.450 --> 00:08:04.659
Михаил Непряхин: а файл профайл и основное дто

31
00:08:04.970 --> 00:08:12.370
Михаил Непряхин: это вот оно ой не твой основной основной инстинкт основная основная модель

32
00:08:12.780 --> 00:08:27.310
Михаил Непряхин: вот называется профайл тут сойди с полями ну классические поля на создание обновления удаления ну вообще как бы Сейчас по сути Требования всех современных баз данных чтобы эти три поля были

33
00:08:28.270 --> 00:08:45.820
Михаил Непряхин: а делить этот если у вас данные Нельзя удалять потому что зависит от домены часто данные нельзя удалять Ну Там по закону и либо наоборот Иногда по закону надо удалять короче по дефолту Мы данные не удаляем а просто помечаем

34
00:08:45.820 --> 00:08:54.580
Михаил Непряхин: софт делит такой так называемый мы помещаем Что поле. Было удалено а на самом деле оно Осталось но если пользователь запросит то мы можем по-настоящему удалить

35
00:08:54.600 --> 00:09:04.110
Михаил Непряхин: По закон тут поля а ведь имя Причем, оно типизировано сразу вот отдельным типом

36
00:09:04.530 --> 00:09:09.690
Михаил Непряхин: Можно, конечно видеть вот этот вариант Можно, его так с Теньгами Держать

37
00:09:09.900 --> 00:09:17.059
Михаил Непряхин: а можно типизировать дополнительно я вам показываю пример степизации для того чтобы вы просто понимали что так можно

38
00:09:17.270 --> 00:09:31.199
Михаил Непряхин: вот ааа будьте вы это использовать в реальной жизни Или Нет ну Там потом решите потому. Что, когда, вы типизировать начинаете поля То м ну, Иногда в коде начинают. Встречаться проведения этих типов

39
00:09:31.300 --> 00:09:37.389
Михаил Непряхин: потому. Что стринга это Не То же самое чтонейм и Их иногда приходится конвертировать

40
00:09:38.880 --> 00:09:45.160
Михаил Непряхин: то же самое с возрастом Ведь у нас возраст план винтовый но мы его используем как отдельный отдельный Тип

41
00:09:45.530 --> 00:09:51.340
Михаил Непряхин: Тайп Меймстринг, это типа волейболишек, да на типу Волей обыск Подытошку

42
00:09:51.650 --> 00:09:55.590
Михаил Непряхин: вот и ээ статус У нас и нам

43
00:09:56.430 --> 00:10:00.030
Михаил Непряхин: опять Же Только Ради, того чтобы

44
00:10:00.630 --> 00:10:06.710
Михаил Непряхин: ну показать. Как с Ним работать что с ним вообще можете Столкнуться вот на статус

45
00:10:07.720 --> 00:10:14.710
Михаил Непряхин: смотрите какой интересный статус значит Так то Он Винтовый то есть Он Тоже. Отдельно типизирован ну. Халява или обжиг

46
00:10:15.060 --> 00:10:17.650
Михаил Непряхин: и используется йота

47
00:10:18.610 --> 00:10:32.229
Михаил Непряхин: и грубо говоря вот здесь У нас изначальный статус он один Раз, указывается а дальше он потом просто плюс один делается ну вот и ешка подсказывает что тут, будет один два три-четыре вот а нон принято на левом делать

48
00:10:33.190 --> 00:10:48.960
Михаил Непряхин: и здесь конструктор который принимает стрингу проверяет какой статус несет нас типа янам может быть в этих четырех статусах ну либо о нон если ничего не. Совпало не возвращает уже этот статус

49
00:10:49.670 --> 00:10:51.820
Михаил Непряхин: и также мы статус

50
00:10:52.050 --> 00:11:05.590
Михаил Непряхин: под из такого митя у нас интовый дефолтно можем превратить в стенгу нужно вот так вот ввернуть в треннгу, и Таким образом с ним Работать Это, артефакты. От. Линтера

51
00:11:05.700 --> 00:11:11.140
Михаил Непряхин: линтер Пока Там слишком загружат Голову. Просто я не Стану очищать эти Теги

52
00:11:11.360 --> 00:11:20.020
Михаил Непряхин: но линтер ближ к концу Мы посмотрим на стройки и Там основныелинтеры ну их Там около. Около. Сотни линдеров

53
00:11:20.080 --> 00:11:25.319
Михаил Непряхин: вот у нас есть такой агрегатор. Линтеров вовселенд и вот Там

54
00:11:25.350 --> 00:11:40.669
Михаил Непряхин: Мы можем с помощью файла конфига очень гибко управлять, какие мылинтры в каких случаях Хотим, включить отключить а это просто исключение когда Мы Не, Хотим, какое-то глобальное правило менять а вот точно Хотим, отключить конкретный Линтер

55
00:11:40.670 --> 00:11:45.650
Михаил Непряхин: этот эта Команда что мы не хотим, линтить этот кусок кода

56
00:11:45.650 --> 00:11:48.480
Михаил Непряхин: а это какой винтер мы хотим, исключить

57
00:11:50.160 --> 00:11:54.859
Михаил Непряхин: а вот ну флаг какой то тут, варифает

58
00:11:55.290 --> 00:12:00.240
Михаил Непряхин: и Встроенная структура у нас здесь То, есть у нас тут,

59
00:12:00.670 --> 00:12:15.660
Михаил Непряхин: вернее у нас композиция То, есть если у нас вот Так То, это мэмэйдинг встраивание вот у нас тут композиция у нас в структуре Есть Еще другая структура вот она с эмейлом и с телефоном,

60
00:12:16.240 --> 00:12:28.950
Михаил Непряхин: Зачем так ну просто чтобы завести лишнюю таблицу в базе данных чтобы побольше было таблиц чтобы показать пример то, есть это синтетический пример как вы должны понимать это просто Демонстрация,

61
00:12:29.290 --> 00:12:32.500
Михаил Непряхин: как Еще У нас большая проблема что Нет реальных приложений

62
00:12:33.100 --> 00:12:41.510
Михаил Непряхин: а на чем То учиться надо вот Поэтому это такое близкое к Реальному Написанному. Приложению Ммм

63
00:12:41.990 --> 00:12:50.190
Михаил Непряхин: значит здесь У нас вы можете Увидеть джейсо Монтеги ну в общем-то У нас Мы с режиссером работаем если. Без этих Стратегов

64
00:12:50.410 --> 00:13:02.619
Михаил Непряхин: То у нас просто поля в Рисоне будут вот так называться если Мы не Хотим? Чтобы они назывались. Как поля в структуре Мы можем кастоно указать как они как они будут называться.

65
00:13:03.070 --> 00:13:08.930
Михаил Непряхин: Если у нас прочерк то это поле. Не участвует в джейсоне вопрос врисований Не будет

66
00:13:09.870 --> 00:13:16.219
Михаил Непряхин: дальше У нас есть еще дополнительные Стратеги От авлитатора

67
00:13:20.810 --> 00:13:28.690
Михаил Непряхин: простите У нас вообще в гошке много разных валидаторов вот один из вариантов это выледеет авалидатор в десять.

68
00:13:28.810 --> 00:13:30.429
Михаил Непряхин: То есть уже десятая версия

69
00:13:31.320 --> 00:13:39.080
Михаил Непряхин: и вот можно с помощью Интегов указать что поле обязательное, что его минимальное значение три

70
00:13:39.240 --> 00:13:48.619
Михаил Непряхин: ну Это, речь идет. О Количестве если Это, Стринг, имен то Это, речь О Количестве букв то есть от трех букв до шестидесяти четырех букв

71
00:13:48.920 --> 00:13:57.230
Михаил Непряхин: и про возраст тут он минимальный восемнадцать максимально Сто двадцать то же поле обязательное Ну а если Не Указаны остальные поля соответственно не обязательное

72
00:13:57.450 --> 00:14:12.699
Михаил Непряхин: и Мы его здесь вылидаться что это имейл. А на Телефон если сто шестьдесят четыре. Это стандарт если Там википедии посмотрите ну короче суть в том что это Плюс с плюсом Начинается и Там в зависимости от Страны код Страны Но У нас Плюс семь в России

73
00:14:13.170 --> 00:14:16.240
Михаил Непряхин: свой собственный а

74
00:14:16.590 --> 00:14:25.289
Михаил Непряхин: вот значит это просто Штука для валидатора он тут, стоит и имеет один Раз, Создается и потом Переиспользуется Поэтому так вот ну он вообще и

75
00:14:25.420 --> 00:14:29.640
Михаил Непряхин: довольно популярный но так выглядит странно

76
00:14:30.070 --> 00:14:33.600
Михаил Непряхин: вот оно часто используется можно встретить

77
00:14:34.740 --> 00:14:39.439
Михаил Непряхин: чаще всего в проектах горных вы будете иметь. Дело только вот

78
00:14:40.060 --> 00:14:47.810
Михаил Непряхин: структурами то Есть только с моделями Но и как вариант Еще можно работать,

79
00:14:47.960 --> 00:15:02.799
Михаил Непряхин: и даже вот без этих вот типов то есть классическая модель это вот просто здесь Стринги инты и все и больше ничего Нет то есть создается она путем просто Создания, структуры и заполнения ну и дальше перекидываться Там между слоями

80
00:15:03.160 --> 00:15:09.240
Михаил Непряхин: если Мы хотим, м работать чуть более Поъективному

81
00:15:09.880 --> 00:15:15.809
Михаил Непряхин: То можно создавать эти структуры через конструктор и конструктор будут получать поляну

82
00:15:16.430 --> 00:15:26.979
Михаил Непряхин: и ну вот собственно делать за нас То чтобы мы сделали это руками но мы же тут могли бы ошибиться а здесь мы можем конструкторы это все прописать

83
00:15:26.980 --> 00:15:36.769
Михаил Непряхин: написать тесты на это дело то есть как бы чуть более строже получается и мы точно не Забудем влидацию то есть видите Здесь сразу в конструкторе Происходит Валидация

84
00:15:38.290 --> 00:15:45.460
Михаил Непряхин: ну чаще конечно вы будете встречать когда она делается отдельно. То есть этого есть у профайла у меня метод влидей

85
00:15:46.410 --> 00:15:54.490
Михаил Непряхин: и чаще всего как это выглядит руками просто создается структура заполняется поля а потом дергается метод влидей

86
00:15:54.850 --> 00:16:01.449
Михаил Непряхин: вот но через конструктор это, чуть более надежнее но опять. Же это,

87
00:16:03.290 --> 00:16:19.500
Михаил Непряхин: скорее Не правило то есть как правило все-таки конструктора, Не бывает но люди более продвинутые. Которые приходят с других Языков, каких-то хороших. То они любят Создавать объекты через конструктора

88
00:16:19.990 --> 00:16:23.810
Михаил Непряхин: единственное это такой компромиссный вариант.

89
00:16:24.410 --> 00:16:32.410
Михаил Непряхин: Что У нас Поля все Видите Они публичные и вот так По-настоящему Подиуму

90
00:16:32.640 --> 00:16:38.479
Михаил Непряхин: Полеты должны Быть приватные и доступ к Этим полям должен Быть Через гетто и сеттеры

91
00:16:39.050 --> 00:16:47.710
Михаил Непряхин: Но дело в том что как Бы типичное гожное апии оно

92
00:16:48.220 --> 00:16:54.739
Михаил Непряхин: очень простое как правило То Есть Мы Не делаем черт Суперсложного у нас логика Не какая-то развесистая

93
00:16:54.900 --> 00:17:01.210
Михаил Непряхин: плюс Мы используем объекты как бы

94
00:17:01.660 --> 00:17:10.310
Михаил Непряхин: в баундет, контексте то есть в ограниченном контексте и Поэтому как правило совсем совсем Подичному делать

95
00:17:11.050 --> 00:17:17.460
Михаил Непряхин: и ну как будет не имеет, смысла оно усложняет код

96
00:17:17.790 --> 00:17:31.530
Михаил Непряхин: оно будет Выглядеть! Немножко странно для читающего потому что ну когда вы делаете приватные методы это и тестировать становится сложнее ну в общем там Появляется множество различных сложностей

97
00:17:32.020 --> 00:17:32.740
Михаил Непряхин: а

98
00:17:33.080 --> 00:17:46.530
Михаил Непряхин: Но если вы привыкли до этого работать в таком, стиле то вы можете в Принципе попробовать и посмотреть как оно будет заходить ну я рекомендовал Бы все-таки Делать эти поля публичные

99
00:17:46.770 --> 00:17:52.790
Михаил Непряхин: То есть вообще как бы этот метод вот этот способ организации кода называться это анимичные модели

100
00:17:53.050 --> 00:18:11.490
Михаил Непряхин: вот а вот Если бы у нас все поля были приватные и вот мы тут же используем конструкторы то у нас получается более богатая модель, наверняка ведь такой термин богатая модель вот здесь подход нечто средний между Нимичной и богатой

101
00:18:11.640 --> 00:18:19.950
Михаил Непряхин: и плюс еще если Мы понимаем что конструктор нам больше мешает чем приносит пользы То Мы даже от конструктора, отказываемся

102
00:18:20.140 --> 00:18:21.810
Михаил Непряхин: вот и

103
00:18:22.070 --> 00:18:30.309
Михаил Непряхин: ну короче вот тут, как-то вотвалидируются они но Таким образом оно просто само Там подтягивает вот эти влидой Тэги и Там Не в Инвалидацию,

104
00:18:30.590 --> 00:18:35.620
Михаил Непряхин: и здесь уменьши Метод проверяющий, Не удален ли профиль

105
00:18:36.610 --> 00:18:45.559
Михаил Непряхин: просто проверяется поделей итет если делиттеет Не пустой значит Профиль Удален Не Мы его Не Показываем ну Например? Там в Методе гет

106
00:18:47.330 --> 00:18:53.280
Михаил Непряхин: вот здесь же в доменной модели У нас есть ошибки

107
00:19:00.630 --> 00:19:12.310
Михаил Непряхин: ошибки принято Делать просто переменными глобальными и есть вариант опять же более м если Мы Хотим,

108
00:19:14.490 --> 00:19:25.370
Михаил Непряхин: такой поиграть в более серьезный энтерпрайз, еще можно перед ошибками добавить номер ошибки если, там Придумать какую-то свою систему

109
00:19:26.460 --> 00:19:37.810
Михаил Непряхин: ну вот этих вот наименований этих ошибок и Везде добавить коды ошибок к а это

110
00:19:38.520 --> 00:19:56.239
Михаил Непряхин: как вы тоже можете считать Что У вас есть. Такая опция То есть. Если вы очень часто общаетесь с Пользователями и Они Вас задал бы тем что Они могут нормально ошибку Скинуть Или Еще чего-нибудь то Циферки в ошибках Они Всегда Помогают ну найти, то место где эта ошибка произошла

111
00:19:57.160 --> 00:20:06.220
Михаил Непряхин: вот но дефолт на это не принято дефолтно принято просто как то Там на английском Языке Писать Что за ошибка и ее показать.

112
00:20:07.820 --> 00:20:11.180
Михаил Непряхин: А и значит можете здесь

113
00:20:21.560 --> 00:20:24.569
Михаил Непряхин: да Извините а и

114
00:20:24.800 --> 00:20:34.579
Михаил Непряхин: здесь значит рядом с файлом с Моделями вы можете Увидеть файлик который называется также с нижним, подчеркиванием Тест

115
00:20:35.260 --> 00:20:41.180
Михаил Непряхин: значит так принято писать юни тесты в гоу Все и

116
00:20:41.470 --> 00:20:46.940
Михаил Непряхин: лучше всего если вы назовете Пакет Тоже. С Нижним подчеркиванием, тест

117
00:20:47.690 --> 00:20:52.120
Михаил Непряхин: для того чтобы тестировать Только Публичный Эльпий

118
00:20:52.340 --> 00:21:01.719
Михаил Непряхин: это полезно потому что приватный или пиа Нет смысла тестировать ну вот он здесь в Принципе есть публичный, то есть только вот это Мы не увидим

119
00:21:02.050 --> 00:21:10.690
Михаил Непряхин: вот и ну короче говоря такой лайфхак если, вы назовете Дайм вот этот пакет как-то по-другому

120
00:21:11.280 --> 00:21:16.229
Михаил Непряхин: как угодно По другому то Есть если, будут отличаться От

121
00:21:16.560 --> 00:21:21.730
Михаил Непряхин: в Других файлах как он назван тогушка даже не скомпелируется

122
00:21:22.000 --> 00:21:30.779
Михаил Непряхин: ну вот единственное исключение для тестов можно через нижнее Подчеркивание назвать так пакет тестов

123
00:21:31.010 --> 00:21:38.270
Михаил Непряхин: и оно нормально будет работать, просто как Будто, бы мы находимся в другом пакете

124
00:21:38.690 --> 00:21:47.510
Михаил Непряхин: и Таким образом Будем смотреть на Наш пакет как бы извне вот здесь

125
00:21:47.800 --> 00:21:54.100
Михаил Непряхин: юни тесты юни тесты когда Дойдем Там до теста потом посмотрим ну

126
00:21:54.390 --> 00:22:12.770
Михаил Непряхин: короче Они начинаются с теста здесь сигнатура, Всегда, типичная вот этот. Пакет эстинг, т вот А дальше идут тесты у нас есть пакет тестифай шикарный хороший для тестирования и потом когда протесты будем говорить и про юни тесты и интеллекционные мытачуют посмотрим

127
00:22:14.160 --> 00:22:21.180
Михаил Непряхин: также в доминиении Есть У меня тут вторая таблица Она с пропертями с какими-то свойствами ааа

128
00:22:21.710 --> 00:22:26.190
Михаил Непряхин: здесь что тут Про Файлайди Теги

129
00:22:26.950 --> 00:22:36.539
Михаил Непряхин: с майей Стегов короче просто какие-то надуманные надуманные какие-то вещи чтобы создать Еще одну таблицу в базе данных

130
00:22:37.000 --> 00:22:45.650
Михаил Непряхин: и тоже видите У нее свой конструктор вот этот данный принимает дает уже сбил, жену готовую готовую модель

131
00:22:47.020 --> 00:22:49.070
Михаил Непряхин: Так ну статус и Мы Посмотрели

132
00:22:49.280 --> 00:23:00.659
Михаил Непряхин: подождите как бы когда вы знакомитесь, с приложением вы все равно Всегда, Начинаете замена то есть что у нас за домен как бы по моделям домена ну более менее уже понятно Что с Ним Можно делать

133
00:23:01.850 --> 00:23:11.079
Михаил Непряхин: Так посмотрим как выглядит база данных Которыми он полностью дело складывает Так Баз, данных Подрублено

134
00:23:12.930 --> 00:23:14.949
Михаил Непряхин: Так Вот У нас получается Здесь

135
00:23:15.150 --> 00:23:24.799
Михаил Непряхин: аа три таблицы вот основные профили находятся Здесь свойства вот эти какие то надуманные свойства дополнительные для профиля

136
00:23:24.990 --> 00:23:30.730
Михаил Непряхин: и таблица с Миграциями ну промиляции тоже отдельно. Поговорим

137
00:23:31.130 --> 00:23:43.590
Михаил Непряхин: Раз, надо поднять доктор, компост чтобы подрубиться на базе чтобы это Сделать Здесь есть файлик доктор, Композ, куинн

138
00:23:46.910 --> 00:23:52.520
Михаил Непряхин: а доченьком позе ну вот у нас проброшен подлес закомментировано

139
00:23:53.500 --> 00:23:59.520
Михаил Непряхин: эп наше приложение то Есть если мы захотим запустить наше приложение внутри доктора композа

140
00:23:59.740 --> 00:24:06.510
Михаил Непряхин: то Мы это просто раскомментируем и у нас тут доктор композиев и доктор файли все там уже правильно прописано

141
00:24:06.880 --> 00:24:10.750
Михаил Непряхин: просто приложение запустится. Внутри доктор хамза но как мы уже делали до этого

142
00:24:11.380 --> 00:24:18.720
Михаил Непряхин: По дефолту мы наше приложение разрабатываем просто локальном Для науков? Костен

143
00:24:19.160 --> 00:24:21.629
Михаил Непряхин: о Зависимости запускаем в доктора композитора

144
00:24:22.050 --> 00:24:29.109
Михаил Непряхин: Какие у нас есть зависимости ну Вот нам, нужен полос ну тут указан на один пароль и каким. Портом он торчит наружу

145
00:24:29.360 --> 00:24:33.969
Михаил Непряхин: нам, нужен радис ну тоже соответственно какой это сдукер

146
00:24:35.150 --> 00:24:44.230
Михаил Непряхин: затокиркома бо от скачиваться с доктором хаба скачивается образ робби тоже каким, портом мог бы торчать наружу Юай

147
00:24:45.100 --> 00:24:53.789
Михаил Непряхин: м-м для погреб У нас Ева Есть Виды Е если У вас в скот То тоже Есть планы Там подрубиться, посмотреть базу,

148
00:24:53.940 --> 00:24:56.750
Михаил Непряхин: Ну короче говоря с Юаем для погреб Проблем, Нет

149
00:24:57.300 --> 00:25:02.140
Михаил Непряхин: для радиса Мьювай Какой То нужен Поэтому для разницы используется Юай

150
00:25:02.680 --> 00:25:14.320
Михаил Непряхин: и он какой-то Там просто элементарный вот решается на этот порт и просто чтобы можно было посмотреть в каком значении у нас какие перемены находятся,

151
00:25:15.250 --> 00:25:20.780
Михаил Непряхин: и здесь сразу, же Проброшено обрубили эти вещи

152
00:25:20.860 --> 00:25:25.750
Михаил Непряхин: темпо хранятся. От рейсы в прометелоси метрики

153
00:25:25.750 --> 00:25:43.590
Михаил Непряхин: и графаны все это связывают и ну в общем-то это юай для того чтобы смотреть эти метрики логи и трайсы вот я тут просто заранее их все проббросил чтобы они были ну если, вас сильно Тормозит с ними можно просто закомментировать оставить только на редис и пользы

154
00:25:43.860 --> 00:25:47.060
Михаил Непряхин: друзьям тут как бы стараюсь показывать ну вот сразу.

155
00:25:47.270 --> 00:25:51.910
Михаил Непряхин: Как выглядит боевое приложение Поэтому тут весь джентльменский набор сразу. Же идет

156
00:25:54.700 --> 00:26:00.860
Михаил Непряхин: так зачем ставить режиссантек на острах Домина, если она использует если Использовать то лапат

157
00:26:01.080 --> 00:26:04.700
Михаил Непряхин: ну смотрите Ммм Ну как бы вопрос хороший

158
00:26:05.430 --> 00:26:16.349
Михаил Непряхин: Вообще как бы есть две школы значит первая школа, говорит что никаких, Стратегов в доменных моделях

159
00:26:18.150 --> 00:26:34.620
Михаил Непряхин: а почему так говорится, ну для того чтобы как бы Не замусоривать типа Это ж какой-то мусор гитарты факты ну от ногу так Построен Да То есть как бы в гоу удобно работать. С моделями когда они у них есть тяги

160
00:26:35.250 --> 00:26:38.789
Михаил Непряхин: и когда я работаю для того

161
00:26:38.860 --> 00:26:53.020
Михаил Непряхин: я и Везде мбежу к себе, просто этот профайл а у Него уже все стратеги есть то есть если, бы у меня здесь арктиков не было то тогда бы пришлось создать

162
00:26:53.020 --> 00:27:03.039
Михаил Непряхин: гто упрям вот здесь внутри ну То Есть просто, Повторить вот это все То Есть мне пришлось бы создать для того объект ну Там вот что то типа

163
00:27:04.300 --> 00:27:18.200
Михаил Непряхин: что-то типа того и вот здесь уже были бы прописаны все эти Стратеги и мне пришлось бы делать Мапинг, из датышной Модели в Доменную и обратно короче Это дополнительный код

164
00:27:18.810 --> 00:27:25.490
Михаил Непряхин: и если Мы начинаем отвечать на вопрос зачем ту

165
00:27:25.760 --> 00:27:29.579
Михаил Непряхин: он ну там доводы не такие серьезные

166
00:27:30.050 --> 00:27:46.349
Михаил Непряхин: а как доводы в противовес а в противовес доводы так сильно удобнее когда у вас и

167
00:27:46.620 --> 00:27:52.730
Михаил Непряхин: вот ну если Вы прям Я под приверженец Что все Раз, для того

168
00:27:52.900 --> 00:28:01.880
Михаил Непряхин: Ну просто. Вы будете писать Больше кода Но если Вы понимаете зачем это нужно ну Он тогда Окей если. Вы не Можете. На этот вопрос ответить зачем ну то

169
00:28:02.000 --> 00:28:07.210
Михаил Непряхин: Делайте Так Проще лучше, а и

170
00:28:08.340 --> 00:28:13.399
Михаил Непряхин: Вот значит чтобы поднять доктор, компост есть вот в мейк файле команда

171
00:28:13.980 --> 00:28:23.759
Михаил Непряхин: ну здесь сразу же тоже вот какие-то такие из жизни Команды которые могут потребоваться ну? Вот то что касательно доброй композы поднятия вот они об даун

172
00:28:24.570 --> 00:28:27.230
Михаил Непряхин: ну? И запуск тестов

173
00:28:27.460 --> 00:28:38.100
Михаил Непряхин: видите вот здесь добавлен фоуни тест ну? Потому что есть папка тест если бы этого не было то ошибка получалось бы не получалось запустить тест

174
00:28:38.220 --> 00:28:45.000
Михаил Непряхин: они с покрытием сразу Выводят на какой кавр: команда запуска интеграционных тестов

175
00:28:45.280 --> 00:28:51.480
Михаил Непряхин: Установка программки для Накатывания миграции используется Не играет

176
00:28:51.750 --> 00:28:58.080
Михаил Непряхин: у нас вообще Две популярные программки до эмиграции От эмиграции и Гуз Новыми играют все-таки популярнее

177
00:28:58.400 --> 00:29:06.040
Михаил Непряхин: и вспомогательные Команды для создания миграции Накатывания миграции Вверх, Откатывания миграции Вниз

178
00:29:06.930 --> 00:29:25.510
Михаил Непряхин: и Команды генерации Так как в гоу довольно часто Используются какие-то генераторы. То можно этой командой запускать все генерации. Чтобы отдельно. Их Там Не прогонять таммолки разные создавать клиенты Там Серверы генерировать вот можно это Делать Этой командой

179
00:29:26.090 --> 00:29:36.090
Михаил Непряхин: и команда для Установки мокри а мокарь это библиотека для генерации моков просто дойдем потом посмотрим все

180
00:29:36.390 --> 00:29:47.140
Михаил Непряхин: вот нас Сейчас интересует ап надо поднять на доктор компост вот Заходим папку занятиями делаем мейкап

181
00:29:48.450 --> 00:29:55.090
Михаил Непряхин: и Запускается доктора компост у меня уже выкачены были все зависимости

182
00:29:57.550 --> 00:30:00.190
Михаил Непряхин: ну вот Поэтому он просто просто запускает

183
00:30:01.400 --> 00:30:12.929
Михаил Непряхин: и я оставляю я его не запускаю в режиме демона, то есть у меня тут Нет Д он просто Запускается и работает потом я нажимаю контракт он все закрывает

184
00:30:13.950 --> 00:30:24.740
Михаил Непряхин: и значит что тут Интересного есть ну. Во-первых понятно что Поздравля Давайте на Позднем посмотрим Поздравляю вот Сейчас проверим

185
00:30:25.320 --> 00:30:29.780
Михаил Непряхин: обновилась а

186
00:30:30.160 --> 00:30:41.140
Михаил Непряхин: чтобы подрубить подгорю просто Делать вот выбираете здесь По грю и указываете там около, хост порт, юзер Паспорт, и дэйт бэйс

187
00:30:41.410 --> 00:30:55.700
Михаил Непряхин: все из все из драком постфайла вот они тогда просто все указываете и оно работает так начнет первая таблица

188
00:30:56.600 --> 00:31:01.309
Михаил Непряхин: ну вот эта доменная модель которую мы только что смотрели вот она просто здесь

189
00:31:02.760 --> 00:31:09.000
Михаил Непряхин: эта таблица тоже заполнена одним значением вторая таблица со свойствами

190
00:31:09.240 --> 00:31:12.449
Михаил Непряхин: вот она Тоже тут заполнена какие то вымышленные свойства

191
00:31:13.230 --> 00:31:23.939
Михаил Непряхин: и таблица с миграциями это Просто Номер эмиграции и что все ок, найти, поведение штана чистая все нормально

192
00:31:25.650 --> 00:31:29.180
Михаил Непряхин: а дальше что у нас Еще есть рэдис

193
00:31:29.430 --> 00:31:34.140
Михаил Непряхин: ну вот можно посмотреть на радио сиари вот он поднялся на порту Восемьдесят, Восемьдесят, один

194
00:31:39.610 --> 00:31:47.780
Михаил Непряхин: окку хост Восемьдесят, Восемьдесят, один ключе когда Мы Там с рейсом будем, работать вот можем здесь увидим ключики Которые Мы добавили

195
00:31:47.940 --> 00:31:49.990
Михаил Непряхин: в Принципе Очень Простой ай

196
00:31:50.730 --> 00:32:00.559
Михаил Непряхин: М-м ничего Лишнего. Темпа У него, Нет ю а Я потому Что и У прометелса Есть юай у темпа юали митрофана

197
00:32:00.740 --> 00:32:03.580
Михаил Непряхин: прометелса юай

198
00:32:04.840 --> 00:32:15.110
Михаил Непряхин: не знаю единственный или нет Разглядел да есть вот он вот я здесь Можно посмотреть в метрике а но опять же это про метролся дойдем

199
00:32:15.280 --> 00:32:22.149
Михаил Непряхин: диметрик и уфаны вот Триста три тысячи первый порт почему-то трактичным оказался занят

200
00:32:22.310 --> 00:32:25.789
Михаил Непряхин: какой-то фигню я так и не понял что это такое но уж не стал разбираться

201
00:32:26.340 --> 00:32:34.659
Михаил Непряхин: вот и здесь можно будет смотреть метрики боги тоже все бом смотреть оно уже там наполовину Все настроено

202
00:32:35.150 --> 00:32:45.160
Михаил Непряхин: вот Поэтому Всякие настройки оперобили те вот находятся вот здесь Папка в зломбилити и здесь отпрометусы настройки

203
00:32:45.420 --> 00:32:47.980
Михаил Непряхин: от темпа настройки ну? Это просто

204
00:32:48.480 --> 00:32:58.480
Михаил Непряхин: у меня тут уже один Раз я Там вспомню Что чадаю пишу и потом забываю Что тут значит и чтобы разобраться опять только счетом репети

205
00:32:58.860 --> 00:33:04.279
Михаил Непряхин: графа она тут, даже борт, настраивается и вот тут все настройки даже барда

206
00:33:05.270 --> 00:33:15.530
Михаил Непряхин: а дата соусы да что графана спрометрилась он работает из темпа в общем это потом Дойдем до обзеро билеты и очень подробно об этом всем Поговорим

207
00:33:16.060 --> 00:33:23.160
Михаил Непряхин: пока пока касаться не буду да так дальше

208
00:33:23.990 --> 00:33:26.420
Михаил Непряхин: Что тут Еще на верхнем Уровне есть

209
00:33:27.610 --> 00:33:33.729
Михаил Непряхин: а ну понятно дело Гомо от файл как без него с гусамами всеми

210
00:33:34.300 --> 00:33:42.070
Михаил Непряхин: довольно много зависимостей как видите ну вот такой типовой Проект, примерно столько зависимости имеет ааа

211
00:33:42.610 --> 00:33:49.089
Михаил Непряхин: доктор файл такой же который вы Увидели до этого я вам уже его Показывал более-менее боевой

212
00:33:49.290 --> 00:34:05.669
Михаил Непряхин: ну здесь еще добавляются безопасниками какими-нибудь какие-нибудь вещи типа чтобы Мы работали Не от рута а от пользователя ну и вот пожалуй из Такого Серьезного все что тут, Меняется ну как бы с этим можно работать

213
00:34:07.340 --> 00:34:15.090
Михаил Непряхин: мокари это для генераций Моков. Файм настроек тоже тут

214
00:34:15.630 --> 00:34:21.619
Михаил Непряхин: невозможно это запомнить просто один Раз настраиваться потом если что-то надо изменить и помочь Сейчас в репетиции

215
00:34:22.159 --> 00:34:27.609
Михаил Непряхин: Ноги ты гнор тут в общем-то тоже ничего необычного.

216
00:34:28.050 --> 00:34:32.919
Михаил Непряхин: Дальше Павел у нв значит файл нв

217
00:34:33.090 --> 00:34:38.460
Михаил Непряхин: Это Переменное окружение Которое использует наше приложение когда запускается

218
00:34:40.040 --> 00:34:56.070
Михаил Непряхин: Ну Вот минимально нам нужно как, у нас называется приложение его версия По сим веру от блогера то Есть Вот у Меня тут Я Всегда делаю себе настройку прийти консоль Для того чтобы видеть логи

219
00:34:56.790 --> 00:35:00.379
Михаил Непряхин: Сейчас покажу как вот Если, я запускаю Сейчас запустим приложение

220
00:35:01.340 --> 00:35:10.880
Михаил Непряхин: мне Сейчас прийти консоль включено в логи вот такие человеческие красивые чтобы Удобно было нужно Нажать сразу в Строчку перейти ну и в общежитии, они раскрашены

221
00:35:12.030 --> 00:35:21.070
Михаил Непряхин: а но на проде-то это Не, нужно на пороге. Нужны жизнь свои налоги Поэтому здесь просто на пороге. Отключается

222
00:35:21.320 --> 00:35:23.120
Михаил Непряхин: вот ты Еще супер запустим

223
00:35:24.000 --> 00:35:41.300
Михаил Непряхин: ой ты видите вводят жизнь со налоги вот и многие люди страдают вот так вот зачем-то смотрят на логи вот но Это неудобно Поэтому для разработки я Всегда, Делаю этот важок чтобы Можно Было нормально По-человечески Слогами работать

224
00:35:42.130 --> 00:35:50.419
Михаил Непряхин: вот а Ну, это уровень Логирования У Меня, самый низкий Дебаг, и Там По возрастанию инфо

225
00:35:50.540 --> 00:36:05.460
Михаил Непряхин: и Ворнинг, ирар и фатал фотоу сразу закрывают Приложение это настройки Для таисов Ммм

226
00:36:05.780 --> 00:36:08.749
Михаил Непряхин: ну опять же поговорим когда правдера Перейти вам говорить

227
00:36:09.150 --> 00:36:18.530
Михаил Непряхин: это настройки для пазгри взятые из доктора. Композа и настройки рейса тоже взяты из Только композа да

228
00:36:19.040 --> 00:36:21.280
Михаил Непряхин: так как здесь у вас могут быть

229
00:36:21.510 --> 00:36:35.099
Михаил Непряхин: пароли реальные ну как то что, реальное ну обычно используют окружение либо локальное ну вот как здесь мы Сейчас. Запустили либо вы можете подключиться

230
00:36:35.270 --> 00:36:46.620
Михаил Непряхин: под впном к вашим деф средам либо, где в контур губернетиса ой не убирайтесь а ну там Нас база интересует возможно где в

231
00:36:46.950 --> 00:36:54.130
Михаил Непряхин: базе погреб подключиться, либо, можно кьюатовской базе подключиться, ну там

232
00:36:54.720 --> 00:37:02.149
Михаил Непряхин: в стыджовой базе левиафской встречу ад это вот типа среда, между делом и продом

233
00:37:02.710 --> 00:37:17.190
Михаил Непряхин: и здесь у вас будут реальные логины по роли к этим средам то Есть вы допустим не запускаете? Локальное приложение но подключаетесь к кафке тестовой и к позлее тестовой

234
00:37:17.420 --> 00:37:24.770
Михаил Непряхин: кризис вы можете соответственно подключиться и у вас вы занимаетесь разработкой а данные меняются

235
00:37:25.240 --> 00:37:36.049
Михаил Непряхин: в тестовой позгреве Или в тесторикавке Или в тестом рэдисе и вы таким образом как бы не тратите время на депой вы локальностью разрабатываете

236
00:37:36.690 --> 00:37:40.039
Михаил Непряхин: и смотрите как У вас Там на Реальных базах все работает

237
00:37:41.300 --> 00:37:50.350
Михаил Непряхин: ну Или допустим сперва вы на вокальные все проверили потом здесь, пароли поменяли на юартовские Там настырьовые Поэтому удобно

238
00:37:50.630 --> 00:37:57.880
Михаил Непряхин: во Первых Раз, здесь могут быть пароли принято файл. И нв делать вгитый гно

239
00:37:58.330 --> 00:38:08.949
Михаил Непряхин: я его вам тут специально оставию чтобы Проще было это все дело запускать Но в жизни он игнорируется ну как, бы я так и сделал я добавил, просто я Не удалил, этот файл Поэтому он здесь остался

240
00:38:09.240 --> 00:38:12.780
Михаил Непряхин: вот а принято просто делать копья этого файла

241
00:38:12.960 --> 00:38:19.700
Михаил Непряхин: удалять пароли если они тут реальные есть ну там типа как-нибудь продолжить

242
00:38:21.070 --> 00:38:31.380
Михаил Непряхин: как-нибудь вот так У делать, или просто пустым наставлять и когда будете запускать приложение оно вам не даст допуститься оно вам скажет что У вас не указан этот пароль и Поэтому вы это не забудете

243
00:38:31.650 --> 00:39:01.070
Михаил Непряхин: и просто делать копию и есть конфликт для стоит джан вот вы его там создаете а ив китгнор добавляете

244
00:39:01.230 --> 00:39:07.300
Михаил Непряхин: и у вас соответственно он не уезжает никуда у вас здесь Всегда, актуальный. Пароль и все Что надо

245
00:39:07.980 --> 00:39:13.900
Михаил Непряхин: а вот чтобы у вас тоже был

246
00:39:14.020 --> 00:39:18.249
Михаил Непряхин: ну припозиторе он где Вы Там экземппом называете

247
00:39:18.390 --> 00:39:36.450
Михаил Непряхин: вот и его Уже в гитаре не добавляете его уже добавляете соответственно на этот Мгид ну. Только здесь по роли надо Будет убрать чтобы они туда. Не Попали здесь еще бывают часто сертификаты откавки Поэтому тут, такие длинные бывают перемены прямо

248
00:39:36.450 --> 00:39:40.560
Михаил Непряхин: с реальными сертификатами кавказскими ну и соответственно Тоже. Не, надо Вги добавлять

249
00:39:40.670 --> 00:39:58.530
Михаил Непряхин: вот и в принципе, вот с Этими Файлами я Иногда довольно удобно работать на и

250
00:39:58.870 --> 00:40:01.790
Михаил Непряхин: да даже гиту бывает Можно подключиться Только через вулкан

251
00:40:02.060 --> 00:40:05.080
Михаил Непряхин: рабочий вариант который вам выдадут на работе.

252
00:40:06.370 --> 00:40:15.069
Михаил Непряхин: Ну и значит Про конфигурацию да значит как конфигурировать наше приложение но ценности вариантов в конфигурации же много

253
00:40:15.370 --> 00:40:21.639
Михаил Непряхин: то есть у нас есть какие то переменные и мы Их просто должны как то Внутрь бросить

254
00:40:22.070 --> 00:40:30.389
Михаил Непряхин: значит самый. Правильный самый. Лучший способ Делать это Через переменное окружение ну вот собственно как здесь, все показывают в лучшую практику

255
00:40:31.330 --> 00:40:37.960
Михаил Непряхин: а те перемены которые имеют какой-то понятный дефолт Мы

256
00:40:38.460 --> 00:40:43.990
Михаил Непряхин: Раз, посмотрим как это дело делать мы прямо Там в коде их и указываем

257
00:40:44.280 --> 00:40:53.360
Михаил Непряхин: а суда выносим в конфигурацию то что обязательно надо указать или то что важно или то что мы хотим, посвятить

258
00:40:54.230 --> 00:41:03.930
Михаил Непряхин: эээ как именно будет конфигурироваться ваше приложение вот это у всех по Разному, то есть либо там это

259
00:41:04.290 --> 00:41:10.500
Михаил Непряхин: в гитла Пайпайне ся там будете Прописывать либо это

260
00:41:11.000 --> 00:41:21.069
Михаил Непряхин: Иногда в доктор Файлах что-то Делают, Иногда вот так как вы Видите Делают, через дот января файл в общем

261
00:41:21.600 --> 00:41:29.260
Михаил Непряхин: это бывает По-разному но суть в том что лучше если это Сделано Все равно через Переменное окружение Не Важно каким, способом

262
00:41:30.150 --> 00:41:36.360
Михаил Непряхин: а как Делать не очень Хорошо через ямглы через томулы

263
00:41:36.850 --> 00:41:46.969
Михаил Непряхин: а через джинсы он через джинсы он форматы вот Это Делать не очень. Удобно ну Джисон конечно вообще не встречается но вот я Мол и то Мол встречаются

264
00:41:47.230 --> 00:41:56.429
Михаил Непряхин: особенно, ямал любят а и конфигурации яблоко бывают Очень большие Очень длинные плюс есть иерархия

265
00:41:56.860 --> 00:42:02.529
Михаил Непряхин: когда у нас приложение подключается то у куба

266
00:42:02.920 --> 00:42:11.449
Михаил Непряхин: а куб Же будет запускать приложение да в губернетис и у Него Тоже есть переменное окружение он их может перезаписать то есть я тут Указал одну

267
00:42:11.620 --> 00:42:16.020
Михаил Непряхин: Но важнее та которая будет в кубе Поэтому она Перезапишется

268
00:42:16.550 --> 00:42:23.290
Михаил Непряхин: а плюс У нас Еще Есть Внутри приложения Тоже перемена и она Тоже имеет, какое-то значение дефолтное

269
00:42:24.170 --> 00:42:40.370
Михаил Непряхин: Но соответственно иерархия такая что которая внутри приложения. У нее наименьший приоритет которая вот здесь Мы Там своим образом каким-то настраиваем типа через файл тут января следующий приоритет и самый высокий приоритет у куба

270
00:42:40.590 --> 00:42:46.499
Михаил Непряхин: вот какой куп какую переменную куб там себя прописал такая имеет приоритет

271
00:42:46.850 --> 00:43:05.550
Михаил Непряхин: если вы еще к этому всему добавляете яму конфигурацию то вы ну большой шанс запутаться Сложнее все это искать понимать как это чего работает Поэтому желательно всю конфигурацию писать из одного места потому что как бы вариантов это еще можно из разных мест все конфигурировать

272
00:43:05.700 --> 00:43:15.410
Михаил Непряхин: вот и не использовать яму то есть яму это ну плохая Практика это и

273
00:43:15.890 --> 00:43:27.640
Михаил Непряхин: где Находится конфик который уже Вот приложение Он Находится Вот здесь файли конфигура в пакете конфигура конфига

274
00:43:29.180 --> 00:43:38.430
Михаил Непряхин: ааа значит я делаю его на верхнем уровне исключительно для того чтобы тот кто залез в сервис быстро, его нашел

275
00:43:38.930 --> 00:43:45.519
Михаил Непряхин: и его могут искать Много кто ваш, коллега а Де вопс

276
00:43:46.080 --> 00:43:52.850
Михаил Непряхин: Так хорошо кто угодно кто-то из эксплуатации кто кто кто тушит пожары когда вас Нет на месте Или ночью

277
00:43:52.970 --> 00:44:03.280
Михаил Непряхин: и важно чтобы человек Быстро нашел этот файл конфига и посмотрел какие Там переменные окружения в дефолте установлены

278
00:44:04.450 --> 00:44:05.140
Михаил Непряхин: ну и

279
00:44:06.060 --> 00:44:15.040
Михаил Непряхин: и соответственно на верхнем уровне где нибудь тоже будет как То конфигурироваться ну не обязательно через Год Января через Пайплайн

280
00:44:15.160 --> 00:44:22.249
Михаил Непряхин: файл тоже там будет Список этих Значений вот примерно то же самое только на его Месте

281
00:44:24.060 --> 00:44:31.919
Михаил Непряхин: а Так михаил в этом Проекте Используется чьи или сценарные Цифры чьи ну. Как бы смотрите Серверта используется стандартный

282
00:44:32.080 --> 00:44:37.440
Михаил Непряхин: Но Роуд используется чи Поэтому тут на Ваш, вопрос роутор чей Да

283
00:44:37.750 --> 00:44:43.029
Михаил Непряхин: Да я рекомендую вам Использовать чироутер Потому Что

284
00:44:43.960 --> 00:44:45.570
Михаил Непряхин: мы Сейчас. Поговорим еще Про это

285
00:44:48.560 --> 00:44:55.159
Михаил Непряхин: так вот значит основной конфликт вот он живет в этом месте структура называется. Конфликт

286
00:44:55.920 --> 00:45:04.279
Михаил Непряхин: и это вспомогательная структурка потому что нельзя отнести конкретно к какому-то пакету вот Поэтому она тут отдельно сделана

287
00:45:04.550 --> 00:45:14.090
Михаил Непряхин: здесь у нас как вите тоже есть стратеги но они уже используются другой библиотекой они уже не, адресованы ведь нквд конфликт это такая библиотека

288
00:45:14.330 --> 00:45:21.290
Михаил Непряхин: и вот она которая с Помощью этого тега

289
00:45:21.470 --> 00:45:29.010
Михаил Непряхин: стратега берет переменное окружение из Этой перемены и помещает собственно с поля

290
00:45:29.140 --> 00:45:39.900
Михаил Непряхин: флаг реку означает. Что, перемены обязательны для заполнения если мы вот здесь забудем а указать эту переменную,

291
00:45:40.600 --> 00:45:44.659
Михаил Непряхин: и запустим приложение то мы получим

292
00:45:49.610 --> 00:45:58.840
Михаил Непряхин: видимо надо чтобы вообще ее нет да то мы получим от этой библиотеки

293
00:45:59.780 --> 00:46:08.410
Михаил Непряхин: аа довольно хорошая довольно хорошая ошибка что Вот такой то ключ пропущен назначение ну и Вот как бы я запуститься не могу

294
00:46:09.930 --> 00:46:19.210
Михаил Непряхин: есть другая хорошая библиотека Ммм которая мне очень Раньше. Нравилась клин январь

295
00:46:23.150 --> 00:46:29.169
Михаил Непряхин: действительно Классная Библиотека Она как То написана изящнее поудобнее и пользоваться чем вот Этой

296
00:46:29.330 --> 00:46:40.759
Михаил Непряхин: но к сожалению она не пишет вот этого человеческого нормального Названия то Есть здесь Эги похожие вот на переменную ну короче

297
00:46:40.960 --> 00:46:42.819
Михаил Непряхин: плюс минус функционал тот же самый,

298
00:46:43.330 --> 00:46:54.699
Михаил Непряхин: вот но к сожалению Дурацкая. Ошибка то есть Рута библиотека Не пишет какое поле пропущена и это просто ужасно то есть если вы Получаете, Ошибку

299
00:46:54.700 --> 00:47:06.869
Михаил Непряхин: У вас в Ошибке Она пишет Что Конкретное поле какое-то Незаполненное а мне Не надо полю мне какая перемена и окружение-то Не указано вот а эта библиотека позволяет это сделать вот Поэтому мне

300
00:47:07.290 --> 00:47:08.900
Михаил Непряхин: нравится эта библиотека больше

301
00:47:11.450 --> 00:47:21.050
Михаил Непряхин: и третий фрожок есть у нее то есть вот это знак кое какая перемена окружения это что она Обязательно ну если его Нет значит не Обязательно

302
00:47:21.260 --> 00:47:31.199
Михаил Непряхин: а третий важный это дефолтное значение вот например, У позгри выглядит конфликт так здесь Нет Фортного значения Мы еще чего-нибудь Найдем хотя Это про сервер

303
00:47:31.630 --> 00:47:37.609
Михаил Непряхин: вот значит вот конфиг Этотп, Сервера дефолтное значение порта восемьдесят восемьдесят

304
00:47:38.110 --> 00:47:53.739
Михаил Непряхин: и соответственно Разума дефолт уже указано не надо его Определять вот здесь файли но если Мы хотим? Таки поменять его на другом парте запустить то мы просто ее добавляем и говорим что Ну, там

305
00:47:54.050 --> 00:48:00.689
Михаил Непряхин: восемьдесят один восемьдесят один порт и она переопределится то есть дефолтное значение перетрется

306
00:48:01.700 --> 00:48:09.709
Михаил Непряхин: вот и благодаря вот этим вот дефолтным значениям мы экономим много на конфликтах начнут

307
00:48:11.540 --> 00:48:22.250
Михаил Непряхин: вряд ли мы часто будем, менять порт приложения зачем его конфигурировать как-то отдельно он Дефолт Ему задаем Мы все и живем с этим если что Да Мы Можем переопределить но этот дефолт нас устраивает

308
00:48:23.270 --> 00:48:28.199
Михаил Непряхин: а дальше значит угожно в

309
00:48:28.770 --> 00:48:36.080
Михаил Непряхин: укошника общика Это беда с организацией кода у типичного гошника беда с организацией кода Конфигов

310
00:48:36.330 --> 00:48:45.019
Михаил Непряхин: Почему то Конфиги Делают. Отдельно от пакета, к Которому конфликт относится это прямо, вот типичная проблема.

311
00:48:45.680 --> 00:48:51.209
Михаил Непряхин: Посмотреть Лучшая практика это помещать файлы конфигурации

312
00:48:51.490 --> 00:48:53.549
Михаил Непряхин: в пакете к которому они относятся

313
00:48:53.850 --> 00:49:02.890
Михаил Непряхин: логично суперлогично но вот это прям беда то есть у нас есть пакет с настройкой хтп, сервера

314
00:49:03.140 --> 00:49:10.719
Михаил Непряхин: он Живет в пкк вот это такое серо и файл, конфига тоже живет

315
00:49:10.870 --> 00:49:14.979
Михаил Непряхин: в этом же пакете хотят про сервера то есть вот настраиваться? Хотя и По сервер

316
00:49:15.180 --> 00:49:26.150
Михаил Непряхин: вот файм конфига от него то. Же самое с спасгрой. Значит вот у нас есть конструктор Для создания Соединение

317
00:49:26.440 --> 00:49:41.449
Михаил Непряхин: видите как бы Находится в пг потому Что Соединение с сгрой Мы создаем Часто а этот Кот никогда Не меняется чтобы Не копировать его Мы просто сделали небольшой пакетик где все необходимо поместили

318
00:49:41.800 --> 00:49:54.720
Михаил Непряхин: и конфиг для создание соединения он Находится здесь же рядышком живет и пакет принимает этот конфликт Это во-первых

319
00:49:54.870 --> 00:50:05.459
Михаил Непряхин: конструктор вернее принимает этот конфликт во-первых это избавляет чтобы здесь очень Много пробрасывать разных значений у нас мы Всегда, конфликт пробрасываем и все просто

320
00:50:05.460 --> 00:50:24.750
Михаил Непряхин: витя, даже вот у меня вот вот это такой сервер казалось бы тут, общая одна строчка в конфеде но смотрите я все равно пробрасываю конфликт здесь есть та же самая история как с дто ну просто чтобы не думать, чтобы не думать, так проще. Ну и мало ли я добавлю сюда потом какие-нибудь Э еще

321
00:50:24.750 --> 00:50:36.700
Михаил Непряхин: какие-нибудь тайм-ауты и Мне Не, надо Будет здесь ничего Сигнатуры менять нигде Не, надо Будет ничего менять вот я просто взял и добавил. Если, это как бы просто удобно

322
00:50:38.330 --> 00:50:51.950
Михаил Непряхин: и так далее свой конфликт у блогера он живет файли блогера витя здесь тоже Дефолт и есть духовный уровень ира вот Политика консультант выключена

323
00:50:54.070 --> 00:50:58.960
Михаил Непряхин: а тезиса тоже настройки и от хтп клиентов

324
00:51:03.830 --> 00:51:14.160
Михаил Непряхин: вот и здесь небольшой конструктор для Него значит я вот Этой строчкой

325
00:51:14.330 --> 00:51:21.389
Михаил Непряхин: сперва загружаю то что у Меня файля дот янва

326
00:51:22.170 --> 00:51:26.720
Михаил Непряхин: и потом я уже проверяю переменное окружение

327
00:51:27.340 --> 00:51:41.630
Михаил Непряхин: и если Там переменные окружения совпадают с теми которые были То они Перезатираются То есть они будут измененными. Строчками Это еще другая библиотека голдуд инвэ она вот просто портит ей инфаймы и превращает их в переменное окружение

328
00:51:42.420 --> 00:51:56.840
Михаил Непряхин: как бы уже внутреннее а так гриба голодеет янга воротажа

329
00:51:59.080 --> 00:52:08.790
Михаил Непряхин: про Сортировку импортов Давайте сразу. Поговорим значит значит есть У нас такое явление как сортировка Импорта это и во-первых

330
00:52:09.110 --> 00:52:14.340
Михаил Непряхин: можно об этом особо Не Париться а им ты просто Там, доверять пакет чаще всего

331
00:52:14.610 --> 00:52:21.510
Михаил Непряхин: ну если конфликту придется руками Разруливать но чаще всего вы просто Автоматически и оно само забавляется

332
00:52:22.140 --> 00:52:37.940
Михаил Непряхин: и принято вверху помешать из стандартной библиотеки Пакеты потом помещать этот фронт пожди Так называемый фред парни ферд пади

333
00:52:38.450 --> 00:52:41.040
Михаил Непряхин: короче вывод

334
00:52:47.570 --> 00:52:55.050
Михаил Непряхин: е потом Идут Пакеты которые уже принадлежат нашему приложению Там, и

335
00:52:56.010 --> 00:53:03.119
Михаил Непряхин: Можно настроить китаяшки начинают настраиваться. Виды е ну вот Конкретно в голландии

336
00:53:03.260 --> 00:53:07.340
Михаил Непряхин: аа вот обнимается Импорт. Его здесь можно натыкать

337
00:53:07.640 --> 00:53:23.019
Михаил Непряхин: как оно будет Выглядеть. То есть есть разные стили. Можно вот в таком силе с сатаном в таком разное вот натыкать в разный конфликт мне больше нравится так и принято по жизни тоже обычно так

338
00:53:23.690 --> 00:53:39.300
Михаил Непряхин: это и Что бы оно Еще Автоматически сортировалось есть и

339
00:53:40.720 --> 00:53:53.980
Михаил Непряхин: вот ну даже если, там бардак если, там темлить до вас не докапываться то вообще пофигу на самом деле а Раньше чего-то там все Парились по этому поводу Сейчас по-моему уже отпустил и всех ну. Не отсортированно ничего страшного

340
00:53:57.580 --> 00:54:01.480
Михаил Непряхин: а если не использовать город январь только и на конфликт как загрузить перемены

341
00:54:02.900 --> 00:54:07.200
Михаил Непряхин: а тогда вам придется их указать в

342
00:54:08.310 --> 00:54:12.720
Михаил Непряхин: ну либо есть куча Способов да

343
00:54:13.780 --> 00:54:20.369
Михаил Непряхин: аа вдруг рафаэль их можно указать вот здесь и как бы они пробятся в приложении

344
00:54:21.120 --> 00:54:31.429
Михаил Непряхин: аа их Можно указать в гитлабе. И они на этапе сборки добавятся, и Можно указать в кубернетисе

345
00:54:32.660 --> 00:54:36.880
Михаил Непряхин: и а как они в губернаторы попадают тоже тысячу способов

346
00:54:37.020 --> 00:54:57.869
Михаил Непряхин: ну чаще всего либо из файла Гитлаба либо из хельсин Позитория и Нет Одинаковых Конфигов и

347
00:54:58.910 --> 00:55:08.720
Михаил Непряхин: вот Но какой-то способ он все равно Предложит, как Это сделать То Есть, ну я вам предлагаю прямо на Тупую в Простую вот прям берите из точка ен Вафайла

348
00:55:08.720 --> 00:55:30.360
Михаил Непряхин: и и ну и какие Области. Дня секреты у вас строятся, локальным Боту проблемы будут

349
00:55:30.880 --> 00:55:40.100
Михаил Непряхин: в проектах чаще используется стандартный лентор. Реформатор. Или какие свои правила и библиотеки подтягивают и стандартный линдер Там

350
00:55:40.470 --> 00:55:46.450
Михаил Непряхин: все выключено Там почти нет лидеров айлик с линтерами

351
00:55:46.840 --> 00:55:52.370
Михаил Непряхин: я вам потом дам ну там он такой увесистый большой большой линтер а форматор

352
00:55:53.050 --> 00:56:02.200
Михаил Непряхин: можно ли использовать либо стандартной голыхнутые либо. Более продвинутый гоуфунд гуфунд Это

353
00:56:02.910 --> 00:56:07.470
Михаил Непряхин: короче Голая Фмте на максималках. Я Еще Использую с экстра флагом

354
00:56:07.680 --> 00:56:18.030
Михаил Непряхин: ну вот Настройки такие чтобы оно работало а устанавливается оно заходится Гоуфунд

355
00:56:19.820 --> 00:56:30.339
Михаил Непряхин: это круче От. Чувака который в угле разработал и вот Он написал более строгие Голые хмты

356
00:56:32.120 --> 00:56:38.099
Михаил Непряхин: вот Он Так устанавливается, говен стал. И соответственно он оказывается, У вас в папке Голубин

357
00:56:40.100 --> 00:56:47.049
Михаил Непряхин: здесь вот есть примеры Что он делает более строже третий случай он фиксит

358
00:56:48.290 --> 00:56:58.700
Михаил Непряхин: лишние Стволочки и вот видите умирает ну, прочу много чего делать я его использую вместо гоффм т е вот у меня, тут, включен конечно голос фмт

359
00:56:58.940 --> 00:57:02.599
Михаил Непряхин: но его можно вот выключить и вот Будет просто этот был фунт

360
00:57:06.590 --> 00:57:18.640
Михаил Непряхин: какой аналог тоже должен быть в Этом то есть при каждом сохранении файлы оно автоматически накатывается, ну типа вот стандартный формат Например вот Он где Строчку Не Удалит Я контр вас, нажимаю

361
00:57:18.910 --> 00:57:25.960
Михаил Непряхин: Ведь он удаляет Если У меня он не включен включен стандартный Сейчас Проверим

362
00:57:26.390 --> 00:57:30.070
Михаил Непряхин: митя не Удаляется строчка вот Поэтому стандартный

363
00:57:30.540 --> 00:57:39.240
Михаил Непряхин: мне не очень нравится А вот этот более строгий вот он соответственно где это умирает автоматический

364
00:57:41.100 --> 00:57:45.269
Михаил Непряхин: а если есть не трофейсы которые импровизируются в разных монолях.

365
00:57:45.380 --> 00:57:49.960
Михаил Непряхин: Их ставить в папку типакома или написать Заново там где используется

366
00:57:50.970 --> 00:57:59.189
Михаил Непряхин: Не То что, Заново просто где используются интерфейсы пишутся там где используется ну папку Коман лучше Не Называть

367
00:57:59.470 --> 00:58:09.220
Михаил Непряхин: как бы короче можете Сразу, забыть про название Коман утиилс липс покэ хелперс круче

368
00:58:09.510 --> 00:58:18.510
Михаил Непряхин: думайте лучше над Названиями как как Назвать Пакет Куда его поместить Пусть. Лучше это будет пакет всего лишь с одной Функцией

369
00:58:18.690 --> 00:58:24.199
Михаил Непряхин: но название пакета, будет Правильное хорошее красивое чем это будет какой-то Коман или хелтер.

370
00:58:24.280 --> 00:58:25.030
Илиас Эззахид: Да.

371
00:58:25.030 --> 00:58:25.850
Михаил Непряхин: Да.

372
00:58:26.850 --> 00:58:36.779
Илиас Эззахид: И У нас интерфет который Используется в разных пакетов разных Модуля

373
00:58:37.000 --> 00:58:52.200
Илиас Эззахид: эээ его Писать в отдельную Папку Не Видел. Не в названии коман а Или прямо, Писаться прежде чем его использовать Там где он используется я Не помню Там кто-то Вырастет, Книгу

374
00:58:52.270 --> 00:59:02.340
Илиас Эззахид: сто наших какой-то был такой вопрос где там есть хуже чем? Интерприз там где он его не указывал.

375
00:59:02.340 --> 00:59:10.340
Михаил Непряхин: Ну да? Интерфейс короче Ну давайте Дойдем При этом Рассуждать Не совсем в тему, Принцессы короче Ну

376
00:59:10.530 --> 00:59:20.780
Михаил Непряхин: первый ответ. Используется пишется интерфейс наги используется Но если он используется в многих. Местах то тогда создавайте пакет

377
00:59:21.020 --> 00:59:38.259
Михаил Непряхин: и его используете, везде Ну, то Кома она Не называйте называйте как-то по-человечески ну Вот Это же Не трофейс Не комана так ведь, он же чего-то конкретного интерфейс ну Вот назовите пакет и

378
00:59:38.260 --> 00:59:44.540
Михаил Непряхин: у нас название пакета является, частью имени я не говорю нью клиент рэдис да

379
00:59:45.190 --> 00:59:49.660
Михаил Непряхин: ведь, я так не пишу почему потому что есть уже редис в названии пакет вот здесь

380
00:59:49.810 --> 00:59:57.780
Михаил Непряхин: Поэтому относитесь к названию, пакета как к части имени и называете ником она назвать осмысленно

381
00:59:58.270 --> 01:00:11.360
Михаил Непряхин: так они не конфликтуются если стандартные продукты форматора стоять Они идут по очереди срабатывают Поэтому Не конфликтуют Поэтому как, бы я Не парюсь в итоге-то все равно вот этот работает но на производительность, может немножко кажется но у меня тут очень мощная машина

382
01:00:11.590 --> 01:00:22.550
Михаил Непряхин: у меня тут Э тридцать два я едра с гиперторейдингом Поэтому тут ничего Не Тормозит естественно Но если вас начинают тормозить то отключить Но вообще Не конфликтует

383
01:00:24.010 --> 01:00:30.730
Михаил Непряхин: и так хорошо с конфигом конфедерации Закончили

384
01:00:30.860 --> 01:00:36.480
Михаил Непряхин: да Давайте отдохнем Давайте Отдыхнем пару Минуточек и дальше дальше продолжим

385
01:03:40.950 --> 01:03:46.459
Михаил Непряхин: так дальше дальше надо начали. Немножко, прессовать

386
01:03:56.680 --> 01:04:09.279
Михаил Непряхин: а так ну смотрите значит у нас приложение состоит вот если, по кодовой базе смотреть да то есть у нас есть часть и не цивилизационная

387
01:04:11.750 --> 01:04:19.230
Михаил Непряхин: инициативу и Там какая То часть Это пакель По Кг

388
01:04:20.380 --> 01:04:24.380
Михаил Непряхин: По Кг У нас что-то что Можно Переиспользовать

389
01:04:24.760 --> 01:04:29.349
Михаил Непряхин: нам да создание Коннекшенов в кафке

390
01:04:29.510 --> 01:04:37.889
Михаил Непряхин: к погресу кризису Ну, и вообще какие-то любы Которые Мы Переиспользуем Вот и Часть. Э

391
01:04:38.050 --> 01:04:43.540
Михаил Непряхин: с логикой сама логика То Есть Там! Это а хендлеры

392
01:04:44.070 --> 01:04:56.410
Михаил Непряхин: с обработкой логиков с обработкой логики то. Есть Которые ждут какое-то событие ну там сервер Мы Ждем запрос и там по цепочке Идем да там ну хендер он же контролер

393
01:04:58.620 --> 01:05:01.790
Михаил Непряхин: а контролер У контроля развивает виз кейс

394
01:05:02.230 --> 01:05:08.790
Михаил Непряхин: ну юс кейс там уже работает с доменом и с адаптами

395
01:05:11.580 --> 01:05:17.990
Михаил Непряхин: вот значит ну чтобы вот это вот всю эту историю архитектуру собрать из этих всех слоев,

396
01:05:18.500 --> 01:05:33.680
Михаил Непряхин: а нам нужна Инициатива и вот Мы вначале приложения ну понятно Что конфликт Мы как-то получаем То есть Нам хоть как. Нужен конфликт Поэтому Мы про Это Посмотрели То есть конфликт Мы как-то получаем в нашем случае из файла точка н

397
01:05:34.790 --> 01:05:41.340
Михаил Непряхин: а дальше Мы собираем то есть создаем вот если нам нужен рэдис Мы создаем коннекшн градису

398
01:05:43.000 --> 01:05:46.550
Михаил Непряхин: а если, нам нужен поиск Раз Мы создаем коннекшн повоз в лесу,

399
01:05:47.620 --> 01:05:58.410
Михаил Непряхин: а ну и дальше смотрят какие еще зависимости о зискейсе ну вот у нас Это все зависимости только Ради бога дальше создаем Наш юзкейс структуру в котором. Все будет крутиться

400
01:05:58.830 --> 01:06:01.679
Михаил Непряхин: и дальше мы запускаем хтп сервер

401
01:06:05.150 --> 01:06:09.759
Михаил Непряхин: и собственно говоря все он уже работает до тех пор пока Мы не выключим

402
01:06:10.700 --> 01:06:15.530
Михаил Непряхин: не получим Команду, на выключение и дальше это все грозит дауном Свернем

403
01:06:16.070 --> 01:06:23.370
Михаил Непряхин: вот Сейчас посмотрим вот на Эту часть на Собирание. Этих этих всех архитектурных слоев

404
01:06:31.300 --> 01:06:40.770
Михаил Непряхин: так ну. Пряможение начинается в семьди да семь ди апп это вот наше приложение У Меня есть Еще одно, приложение ну это просто

405
01:06:40.890 --> 01:06:48.580
Михаил Непряхин: сидер для Засеивание базы данных ну с какими То Фейковыми, данными чтобы с ними было Интересно, работать

406
01:06:49.240 --> 01:06:53.129
Михаил Непряхин: вот Поэтому у нас запускается приложение здесь из мэйном

407
01:06:54.120 --> 01:06:55.639
Михаил Непряхин: что у нас здесь Мы видим

408
01:06:55.860 --> 01:07:04.290
Михаил Непряхин: во Первых у нас здесь есть интересный Импорт на библиотеку отбера автомакс прокс

409
01:07:05.180 --> 01:07:08.250
Михаил Непряхин: дело в том что у нас

410
01:07:08.650 --> 01:07:23.629
Михаил Непряхин: есть ну до версии один двадцать Пять эта проблема, актуальна версия один двадцать пять по фиксиле Ну вот пока что там текущая версия все сидят либо на один двадцать три либо Один двадцать четыре мне Здесь тоже Один двадцать четыре Вот то есть эта проблема как бы еще актуальна

411
01:07:23.810 --> 01:07:30.870
Михаил Непряхин: короче говоря когда Мы без Этой Опции запускаем наше приложение

412
01:07:31.000 --> 01:07:35.250
Михаил Непряхин: то. Вот сколько Есть в системе ядер процессора

413
01:07:35.520 --> 01:07:42.969
Михаил Непряхин: аа со стольким го макс проксом он запускается ну в моем случае у меня тридцать два с гиперддингом,

414
01:07:43.080 --> 01:07:45.900
Михаил Непряхин: вот у меня гомакспрокс тридцать два

415
01:07:47.570 --> 01:07:52.770
Михаил Непряхин: ну в моем, случае вот эта надпись это от Этой библиотеки

416
01:07:53.830 --> 01:07:58.309
Михаил Непряхин: и оно так является тридцать два но если бы я в кубе запускал

417
01:07:58.450 --> 01:08:06.920
Михаил Непряхин: то в кубе бы смотрелась эта библиотека смотрит не на то сколько Физически есть, ядров процессора

418
01:08:07.070 --> 01:08:14.890
Михаил Непряхин: а на значение дипломента какие У нас ремиты

419
01:08:16.410 --> 01:08:29.629
Михаил Непряхин: и если Там указано полпроцессора или Один, процессор то эта библиотека поставит голмакспрокс вот в это значение и это правильно то есть здесь будет ничего не один

420
01:08:30.229 --> 01:08:43.290
Михаил Непряхин: потому Что когда у нас в губернасе ресурсов мало ну ты по одно, эндро, а здесь будет тридцать два или девяносто шесть вообще тут сколько угодно же Может быть да сто двадцать восемь ядер сколько Там до сервера

421
01:08:43.460 --> 01:08:48.960
Михаил Непряхин: то получится ситуация, когда у вас каждое ядро. Будет работать

422
01:08:49.120 --> 01:08:53.040
Михаил Непряхин: микро время и у вас приложение будут жестко трогать

423
01:08:53.250 --> 01:09:05.549
Михаил Непряхин: и чтобы этого не происходило вот придумали вот это вот в умере вот эту штуку которая будет смотреть на реальные ресурсы в кубернетизиса и гомакспрокс составляет правильно

424
01:09:08.140 --> 01:09:19.680
Михаил Непряхин: почему с Нижним подчеркиванием потому что если вы видите такую Историю что библиотека нижняя подчеркиваю значит что библиотека Этот Импорт. Он Не Используется в коде то есть его Реально Нет

425
01:09:19.890 --> 01:09:27.470
Михаил Непряхин: но как черт побери Он включается если вы, видите такую Историю то знаете что Там под капотом есть блок и Нид

426
01:09:28.359 --> 01:09:33.899
Михаил Непряхин: если Помните Там на первом где то занятие Или на втором Мы про это говорили,

427
01:09:34.710 --> 01:09:42.480
Михаил Непряхин: значит Что есть У нас такая функция и Нет она срабатывает до функции. Мэйн

428
01:09:42.960 --> 01:09:51.639
Михаил Непряхин: и Там Своя мойка если У нас много линитов То они Там в какой-то иерархии срабатывают ну короче говоря Вот Мы лок когда Вот этот Вот видим Вот этот Вот

429
01:09:52.479 --> 01:09:56.410
Михаил Непряхин: А это Вот он отсюда, происходит этот лок

430
01:09:57.010 --> 01:10:01.509
Михаил Непряхин: из этого Нет блока и он соответственно Там внутри, ставит

431
01:10:01.880 --> 01:10:12.449
Михаил Непряхин: он минимальный. Гол, макс прокс один может поставить цену То есть, меньше одного он Тут не ставится А так в остальном вот он Смотрит на Тут на квоту и Ну Тут эта магия

432
01:10:14.470 --> 01:10:19.700
Михаил Непряхин: А вот так А

433
01:10:20.120 --> 01:10:31.910
Михаил Непряхин: дальше значит обычно функции мейн Мы Делаем только инициаторы. Эээ блогера метрик У пантелейметра его что-то такое в центре Там

434
01:10:32.190 --> 01:10:36.920
Михаил Непряхин: а Функцию Запускаем из другого пакета

435
01:10:38.720 --> 01:10:46.079
Михаил Непряхин: зачем это нужно для того чтобы сделать тесты потому что такой подход. Благодаря какому подходу он позволяет

436
01:10:46.490 --> 01:10:48.620
Михаил Непряхин: а сделать интеграционные тесты

437
01:10:48.910 --> 01:11:00.770
Михаил Непряхин: потому Что если У нас главная функция вот У нас опран в ней Запускается наше приложение если оно Находится в другом пакете. Но главное чтобы не в мэрии

438
01:11:01.590 --> 01:11:07.409
Михаил Непряхин: то мы Сможем его запустить можем сделать Импорт, и запустить из Любого места

439
01:11:07.830 --> 01:11:16.089
Михаил Непряхин: а Функция мейн она не импортируемая то есть Мы и не можем достучаться в этот пакет из другого места

440
01:11:16.750 --> 01:11:25.240
Михаил Непряхин: и Поэтому в пакете мэйн не приняли и не принято ничего хранить кроме вот минимальной Там какого То минимальной интеллигенции ну о чем Мы здесь занимаемся

441
01:11:25.360 --> 01:11:32.100
Михаил Непряхин: Мы конфиг партиям ну Видели да Мы тут партиями из файла и нв а потом из перминых окружения

442
01:11:33.120 --> 01:11:42.150
Михаил Непряхин: Конфеты получили если не Получилось то Мы делаем фатальный лог

443
01:11:42.920 --> 01:11:50.200
Михаил Непряхин: то есть прекращаем приглашение прямо здесь Сейчас фатау он внутри имеет ос Э, кситван

444
01:11:50.330 --> 01:11:54.880
Михаил Непряхин: и значит что Вот в этом месте приложение просто обрубается и заканчивает Работу

445
01:11:55.320 --> 01:11:59.690
Михаил Непряхин: Поэтому если вы хотите, Там что-то как-то изящно Завершить. То фатал не делайте

446
01:11:59.860 --> 01:12:05.290
Михаил Непряхин: но здесь не имеет смысла Продолжать приложение если Мы не смогли спросить конфликт Поэтому фатал

447
01:12:06.750 --> 01:12:11.299
Михаил Непряхин: а дальше Инициативу Блогер уже с Этим конфигом с паршиным

448
01:12:11.570 --> 01:12:19.100
Михаил Непряхин: Создаем какой-то Контекст базовый про Контекст Пере дойдем Потом поговорим Инициативу и

449
01:12:19.420 --> 01:12:26.010
Михаил Непряхин: о антидемократии правоохранительные органы Тоже потом Идем Поговорим ну? В антилеметре это стек для работы

450
01:12:26.120 --> 01:12:28.530
Михаил Непряхин: с метриками и логами и трейсами

451
01:12:28.810 --> 01:12:36.500
Михаил Непряхин: Есть такая библиотека Проект Опенсорная цель которого объединить это все вместе

452
01:12:38.050 --> 01:12:49.840
Михаил Непряхин: и в дефере мы клоузем закрываем этот выполн телеметры потому что у него там собираются метрики, логи и Трейсы и

453
01:12:51.520 --> 01:13:02.499
Михаил Непряхин: если хотите. Что-то Делать быстро. Делайте это в Бочах соответственно округ телеметры накапливает этот Бач с Этими данными и Периодически сбрасывает

454
01:13:03.040 --> 01:13:11.939
Михаил Непряхин: и он может просто Не успеть сбросить если. Не будет Корректного завершения. Поэтому важно Завершить его Корректно с дифером

455
01:13:13.150 --> 01:13:20.640
Михаил Непряхин: вот Поэтому здесь Есть метод закрытия и дальше запускается само наше приложение

456
01:13:21.740 --> 01:13:24.869
Михаил Непряхин: значит оно Находится в пакете эп,

457
01:13:26.100 --> 01:13:28.570
Михаил Непряхин: которая уже Вот Находится здесь вентерна

458
01:13:29.070 --> 01:13:33.069
Михаил Непряхин: мы ведь это закроем Вот и теперь Уже говорим про интерну

459
01:13:33.380 --> 01:13:37.029
Михаил Непряхин: а разве Не Черно ли вот У нас есть свои

460
01:13:37.220 --> 01:13:48.520
Михаил Непряхин: архитектурные Которые призваны Разграничить, ответственность Кода Которые призванные По и

461
01:13:49.300 --> 01:13:56.499
Михаил Непряхин: каким-то признаком разделить и разложить код по разным папкам ну по каким признакам мы в прошлый Раз, говорили

462
01:13:56.830 --> 01:14:09.429
Михаил Непряхин: значит эээ начиная это все и вот как бы есть архитектурные свои вот Они Здесь контролеры юскейз и скей используют дто и домены и адаптаторы вот а эп

463
01:14:10.220 --> 01:14:21.390
Михаил Непряхин: а просто для того чтобы ну папка и сверху была и и одной функции запуска

464
01:14:21.600 --> 01:14:30.120
Михаил Непряхин: и Инициатива то есть вот эта вся штука она находится вот здесь вот всего лишь в одном файле леп

465
01:14:30.820 --> 01:14:40.679
Михаил Непряхин: и так исторически сложилось я вот так делаю если Вдруг на верхнем уровне у меня много Доменов

466
01:14:40.990 --> 01:14:55.689
Михаил Непряхин: то здесь соответственно появляется еще логика по и

467
01:14:56.750 --> 01:15:08.720
Михаил Непряхин: вот аа здесь у меня домен один Поэтому сборка июс кейс Один, то есть у меня один из есть на все приложение соответственно мне просто надо собрать один этот одну эту структуру из кейса

468
01:15:08.960 --> 01:15:17.190
Михаил Непряхин: а уже методы этого плюс кейса они и будут служить конкретными ручками конкретными кейсами

469
01:15:17.900 --> 01:15:25.210
Михаил Непряхин: значит ну что Мы здесь делаем ну вот не пробрасываем конфик файл соответственно Мы его

470
01:15:25.470 --> 01:15:37.990
Михаил Непряхин: а уже там получили сверху и инициативу съемка некшн на базе данных а когда его получили здесь

471
01:15:39.190 --> 01:15:41.510
Михаил Непряхин: позже про это поговорим почему так

472
01:15:42.370 --> 01:16:01.189
Михаил Непряхин: для того чтобы сделать универсальные функции чтобы все мои функции они работали и в транзакции и без транзакции ну то есть мы креативно если я в транзакции, их вызываю Они работают транзакции, вот как бы здесь есть и

473
01:16:01.550 --> 01:16:05.820
Михаил Непряхин: вот и дальше рэй дисконнекшн Мы делаем

474
01:16:06.560 --> 01:16:16.799
Михаил Непряхин: А и ну все то есть в нью-йорке, У нас всего лишь Две зависимости это позгрессы Ради снова соответственно мои хинджекти то есть вот как бы и здесь происходит депардье инженекшн руками

475
01:16:18.290 --> 01:16:25.490
Михаил Непряхин: а потому что Внутри а действительно интерфейсы принимаются в дискейсе вот они описаны

476
01:16:25.860 --> 01:16:35.670
Михаил Непряхин: вот но на вход. Функция принимает конкретные реализации но тут они превращаются в интерфейс и уже используются как интерфейс на трагедии кейса

477
01:16:36.840 --> 01:16:44.630
Михаил Непряхин: вот дальше оно в метре я здесь создаю метрики для Хтп сервера

478
01:16:45.170 --> 01:16:57.449
Михаил Непряхин: и запускаю ну вот Сперва Инициативу на У Меня Там Чароутер так делаю вот создаю этот Роутер

479
01:16:57.860 --> 01:17:00.110
Михаил Непряхин: как, и Конкретно

480
01:17:00.830 --> 01:17:10.840
Михаил Непряхин: ну можно было все внутри роутера воде изнутри сделать Но я сюда добавил. Вещи которые есть в любом приложении

481
01:17:10.990 --> 01:17:24.489
Михаил Непряхин: это само. Создание структуры роутера мидвуара с восстановлением но был как-то вопрос что а что если в запросе Мы паникуем чтобы все приложение не упало

482
01:17:24.590 --> 01:17:29.029
Михаил Непряхин: вот здесь используется медовара которая будет ловить эти паники

483
01:17:29.550 --> 01:17:46.490
Михаил Непряхин: и две Ручки лифереди это Ради насливной пробы для губернетиса они тут у меня суперпростые. Просто отдают статусный контент Это Двести четвертый статус выгружен. Просто заголовок что все ок Это как статусок Но только без Иглов

484
01:17:47.580 --> 01:17:54.510
Михаил Непряхин: Нет и и отдельно Я указываю

485
01:17:54.660 --> 01:18:05.859
Михаил Непряхин: данные для апи по каким, ручкам У нее будут торчать Апе и как бы вот сама настройка роутера она происходит здесь а это уже вызывается, стандартный Хтп сервер

486
01:18:06.100 --> 01:18:11.650
Михаил Непряхин: а с переданным внутрь а роутером который Я настроил

487
01:18:12.990 --> 01:18:21.390
Михаил Непряхин: на этом моменте У нас запускается Внутри гутина и обслуживают наши запросы

488
01:18:22.390 --> 01:18:35.629
Михаил Непряхин: и вот как бы здесь уже начиная с этого момента у нас поднят Дтп сервер и он ждет когда Анопорт Восемьдесят Восемьдесят продлил запросы пишем что приложение поднялось

489
01:18:36.000 --> 01:18:40.509
Михаил Непряхин: и и Дальше нам нужно как то получить сигнал

490
01:18:40.850 --> 01:18:47.779
Михаил Непряхин: а либо контрвце когда Мы сами запускаем ну Или Там стоп нажимаем Он здесь тоже конкурс и отправляют с его

491
01:18:48.630 --> 01:18:55.309
Михаил Непряхин: это интерокт ну Он Там под капотом сигинт это одно и То Же ну что же за синдрог делать можете

492
01:18:55.870 --> 01:18:59.050
Михаил Непряхин: а так делать какч вы так и так увидите

493
01:18:59.600 --> 01:19:06.630
Михаил Непряхин: вот и этот сигнал это от куба куб посылают что пора закрываться

494
01:19:06.770 --> 01:19:14.950
Михаил Непряхин: и дальше мы блокируемся в этом месте то есть над этим мы здесь создаем канал а чтобы слушать сигналы здесь мы заблокировались

495
01:19:15.240 --> 01:19:16.610
Михаил Непряхин: и все и мы работаем

496
01:19:16.720 --> 01:19:30.429
Михаил Непряхин: то есть вот здесь мы блокируемся до тех Пор пока приложения не будет постром сигнал что мы закрываемся если он Помнят Что Мы Закрываемся Пишем Что получили сигнал закрываем хотя При Серверх, в первую очередь для того чтобы не получать новые Запросы

497
01:19:31.070 --> 01:19:38.269
Михаил Непряхин: после этого закрываем рэдис позволю себе, закрываем последнюю очередь ну просто, чтобы она Там успела все отправить

498
01:19:38.970 --> 01:19:45.800
Михаил Непряхин: компьютерного базового Всегда, самое важное и пишем лок что, Мы остановились Окей

499
01:19:47.700 --> 01:20:03.030
Михаил Непряхин: а вот значит если, Будет добавляться кафка сюда добавится Еще Инициатива Кафки коннекшена и если, Будет консенсумер То он тоже вот еще сюда добавится Мы еще еще одну гурцу поднимем которую будут кончимер принимать

500
01:20:03.890 --> 01:20:17.049
Михаил Непряхин: а но в целом как будто но почему нет какого-то френворка потому Что вот это руками написать по количеству. Кода столько. Же Сколько Требуют френборки

501
01:20:17.400 --> 01:20:25.230
Михаил Непряхин: значит какой вопрос Мы решаем да Мы Хотим? Решить вопрос вот с Этой инъекцией зависимостями то есть

502
01:20:25.450 --> 01:20:33.139
Михаил Непряхин: есть у нас какая то структура мы тут ви кейс ее называем да которая в которую мы

503
01:20:34.040 --> 01:20:38.390
Михаил Непряхин: заталкиваем зависимостью у нас две зависимости от традиции от возраста

504
01:20:38.960 --> 01:20:47.670
Михаил Непряхин: мы их делаем трофейцами ну типа По чистой Архитектуре как бы как как положено вожди Пензен-сейнджер

505
01:20:48.720 --> 01:20:54.720
Михаил Непряхин: вот эту вот видишь как бы есть библиотеки Которые ну типа автоматизируют

506
01:20:56.510 --> 01:21:00.389
Михаил Непряхин: какие это библиотеки ну во-первых это от умер.

507
01:21:01.910 --> 01:21:09.409
Михаил Непряхин: Дик что ли называется да умер дик а на рефлекшине

508
01:21:11.770 --> 01:21:18.909
Михаил Непряхин: есть тут, пример как она выглядит но это не таки вот когда я вижу библиотеку в Которой даже Нет экземпляров вот здесь в людьми

509
01:21:19.090 --> 01:21:21.509
Михаил Непряхин: То Я такую Библиотеку, сразу не хочу использовать

510
01:21:21.730 --> 01:21:30.279
Михаил Непряхин: а когда Я не вижу папки экземпал то Тоже, сразу Руки опускаются Ну Допустим Фарма экземп уяснит. Ну спасибо есть

511
01:21:31.390 --> 01:21:32.789
Михаил Непряхин: семь лет назад

512
01:21:36.240 --> 01:21:47.369
Михаил Непряхин: короче говоря оно вот Там с помощью провайда здесь все в функциональном стиле инвока вот этого там

513
01:21:50.520 --> 01:21:55.530
Михаил Непряхин: короче оно вот тут есть сайт,

514
01:21:55.760 --> 01:22:00.119
Михаил Непряхин: есть даже доклады но они конечно вообще там в докладе

515
01:22:00.370 --> 01:22:18.249
Михаил Непряхин: доклад типа на час просто как работает с Этой библиотекой плюс когда вы залазите все равно Никогда ничего Не понятно, короче встречал. Я проект написанный вот на таком диая ну вон ужасно Выглядел никто Ни фига ничего Не понимал переписали просто вот на такой классический простыдяй

516
01:22:18.610 --> 01:22:25.520
Михаил Непряхин: ну и есть. Еще одна альтернатива которую тут тоже Пытались сделать но Код генерации От Гугла,

517
01:22:25.980 --> 01:22:40.030
Михаил Непряхин: о Гого Гоу Диай как Же называется-то Голэнд Диай луговый

518
01:22:45.050 --> 01:22:52.469
Михаил Непряхин: тоже короче в проекте одном дьяволе делали потом поняли Что фигня все выпили

519
01:22:52.850 --> 01:23:05.350
Михаил Непряхин: короче Там по количеству, кода получается ну вот Мы тоже вот позанимаемся нечто такой же историей подобной но только в своем синтаксисе, со Своими особенностями,

520
01:23:05.770 --> 01:23:09.030
Михаил Непряхин: и Это дает профит

521
01:23:09.290 --> 01:23:23.300
Михаил Непряхин: только тогда когда у нас Вот Мы Вот в рамках одного приложения Работаем с десятками репозиторов с десятками какими То зависимостями, с десятками каких, То Сервисов Которые руками писать

522
01:23:23.470 --> 01:23:36.440
Михаил Непряхин: и вот Мы Категорически отказываемся не можем Делаются небольшие, изменения и вот если у нас такая компания как гугл То, это как бы ну наверное Там имеет Оправдание,

523
01:23:36.570 --> 01:23:51.670
Михаил Непряхин: Но Так Вот к Слову сказать когда Вот эти Вот Вещи делаются на код гения То они Ужасно читаются потому Что Кот Ген красивым изящным быть не может если Человек не писал как бы вот этот самый под лучше читаться чем когда

524
01:23:51.810 --> 01:23:54.580
Михаил Непряхин: это сделано на коде генерации

525
01:23:55.270 --> 01:24:07.259
Михаил Непряхин: и эээ если про другие Языки, говорить то Френворки, Всеобъемлющие такие Как джанго питония Или Там Спринг, джаве они Рождаются в двух рук этого

526
01:24:07.440 --> 01:24:10.970
Михаил Непряхин: что есть вот это вот

527
01:24:11.280 --> 01:24:20.280
Михаил Непряхин: понимание У всех что депендиненсийн Джексон. То есть когда мы Не из глобального склопа получаем

528
01:24:20.770 --> 01:24:31.669
Михаил Непряхин: какие-то зависимости а когда они в конструкторы приходят то есть вот когда мы в конструкторы получаем в зависимости возраста называется Депенсин Джексон что это хорошо и правильно

529
01:24:31.850 --> 01:24:41.710
Михаил Непряхин: вот Но в гоу эти все подходы Не прижились и в Голову, Мы этот Везде пишем руками вот

530
01:24:43.670 --> 01:25:02.180
Михаил Непряхин: м понятно, ли здесь до Сих. Пор То Что я Рассказывал Не появилось ли У вас тут какие-то вопросы? Товарищи фронтендеры и

531
01:25:02.590 --> 01:25:06.780
Михаил Непряхин: фикс да я тут-то вот а

532
01:25:06.780 --> 01:25:24.179
Михаил Непряхин: я ошибся уберфик ну он короче говоря Это эволюционировал, вот этот вот который убердик он эволюционировал, вот этот фикс Там подходы похоже используются примерно есть вы здесь Да Блин все равно Нет Примера Да них вообще конечно паразиты

533
01:25:24.670 --> 01:25:37.130
Михаил Непряхин: а и при папке к замкам Нет ну Что Же, За люди Экзам пол три года. Назад короче говоря это те же Яйца вид в профиль короче Та же самая хрень

534
01:25:38.010 --> 01:25:44.270
Михаил Непряхин: ну Ошибся Я Не Дико а фикс просто Мы убира Две библии и таня другая они используют Один и тот Же подход

535
01:25:45.870 --> 01:25:56.689
Михаил Непряхин: Так Так Так Так а Что произойдет если, Мы сигналы не создадим просто приложение Завершить работу

536
01:25:57.840 --> 01:26:05.859
Михаил Непряхин: аа некорректно закроются коннекшины то есть Мы же подняли запрос к базе данных так подняли

537
01:26:06.080 --> 01:26:25.209
Михаил Непряхин: если Мы резко Возьмем и умрем То Мы этот коннекшн Не Закроем он конечно сам закроется но Там же есть тайм-аут а Какой Там тайм-аут может быть минута может быть пять минут может быть десять минут Мы упорсты Бом этот. Коннекшн а он будет висеть а его никто Не будет использовать использовать

538
01:26:25.600 --> 01:26:36.930
Михаил Непряхин: и с кафкой то же самое с кризисом уж Не так актуально то есть Чтобы эти коннекшины ни подвисали важно их закрывать

539
01:26:37.120 --> 01:26:44.920
Михаил Непряхин: тут ну и просто когда вы правильно закрываете вы ведь текущую обработку запроса

540
01:26:45.060 --> 01:26:48.729
Михаил Непряхин: дожидайтесь то есть вот пришел запрос от человека

541
01:26:49.090 --> 01:27:00.589
Михаил Непряхин: у Него он еще в процессе он работает у нас большой может быть рпц у нас там много запросов приходит если. Вы возьмете и Обрубите приложение То Человек получит Пятисотку

542
01:27:05.670 --> 01:27:11.140
Михаил Непряхин: а Поэтому Мы же хотим, просто Сперва перестать получать новые запросы.

543
01:27:11.410 --> 01:27:16.530
Михаил Непряхин: Текущая все корея к Нам работать Завершить ответить ее и тогда Завершить работу

544
01:27:18.610 --> 01:27:24.389
Михаил Непряхин: так как меняется организация особенно, ран когда у нас ехать отпять в рпц но и того же Из кейс

545
01:27:25.140 --> 01:27:30.789
Михаил Непряхин: Да ничего ничего Не меняется То же самое То мы-то посмотрим Мы сюда же Добавим Крписью

546
01:27:30.990 --> 01:27:37.849
Михаил Непряхин: на следующей, операции Или Там Через следующую операцию сюда же добавим сюрприз посмотрим Как это будет увлечь но ран тот же самый

547
01:27:37.980 --> 01:27:43.869
Михаил Непряхин: мы просто в рамках, одного сервиса у нас будут Два сервера и их этот пейджерписи никаких Проблем

548
01:27:44.590 --> 01:27:55.380
Михаил Непряхин: Так а если требуется несколько соединений с базой данных Например, повышается нагрузка ну во-первых у нас Всегда несколько соединений с базой данных Мы не Один, коннекшн Понимаем

549
01:27:55.550 --> 01:28:01.250
Михаил Непряхин: Мы Понимаем пул Коннекшенов вот здесь вот поднимается

550
01:28:01.450 --> 01:28:06.759
Михаил Непряхин: а ведь и называется Библиотека певикс пул поднимается пул коннекшенов

551
01:28:07.350 --> 01:28:12.069
Михаил Непряхин: сколько я Там штук в восемь может быть больше Там есть какие дефолтные настройки

552
01:28:13.040 --> 01:28:15.080
Михаил Непряхин: наверное так Быстро. Их Тут, не Найду,

553
01:28:20.430 --> 01:28:24.280
Михаил Непряхин: М нет ну тому

554
01:28:27.860 --> 01:28:33.090
Михаил Непряхин: четыре дефолт макс конс четыре вот там поднимается четыре коннексона,

555
01:28:33.160 --> 01:28:49.229
Михаил Непряхин: ну их Поверьте мне хватит своих из головы Хватает Там многие, думают два четыре коннекшина господи Мы тут на Голову. Мы тут используем пул. Нам никакой погбаунстер ничего не надо у нас вообще-то Все из коробки Поэтому Это Все нормально работает вот четыре коннекшена поднимается и Мы их Пели Используем

556
01:28:50.800 --> 01:28:58.770
Михаил Непряхин: Так Например, повышается Нагрузка на приложение и хочется открыть дополнительное соединение или это уже лучше делать на уровне скелинга контейнеров

557
01:28:59.700 --> 01:29:09.700
Михаил Непряхин: ну вообще да лучше это делать на уровне скелинга Контейнеров но если надо просто ресурсов докидываете просовите как Бы

558
01:29:10.790 --> 01:29:13.240
Михаил Непряхин: вот у нас и так в пуле

559
01:29:13.340 --> 01:29:16.230
Михаил Непряхин: в четыре коннекшена как увидели дефолт Поднимается

560
01:29:16.550 --> 01:29:22.019
Михаил Непряхин: чтобы хорошо их утилизировать и четыре коннекшина у нас должно быть голмакспрокс четыре

561
01:29:22.220 --> 01:29:27.189
Михаил Непряхин: то есть у нас должно быть четыре потока выделено чтобы это все переваривать Хорошенько

562
01:29:27.460 --> 01:29:32.960
Михаил Непряхин: если их Нет Четырех То хоть вы Там заоткрываетесь эти количества

563
01:29:33.780 --> 01:29:37.419
Михаил Непряхин: на этих соединений У вас перформансы Не будут

564
01:29:37.590 --> 01:29:53.770
Михаил Непряхин: Поэтому проще Делать поднимать Еще контейнеры либо. Накидывать ресурсы и

565
01:29:54.840 --> 01:30:02.930
Михаил Непряхин: так а почему почему же из кризиса Инжектем не репозитории а интерфейс и непапоинтер

566
01:30:03.900 --> 01:30:08.929
Михаил Непряхин: а не ну мы как Раз таки мы

567
01:30:09.130 --> 01:30:13.280
Михаил Непряхин: смотрите вот здесь вот пг пул

568
01:30:14.940 --> 01:30:24.209
Михаил Непряхин: ну он тут чуть-чуть другая архитектура чтобы из странтациями работать ну вот вот в связи с клиентом да вот смотрите здесь клиент вот он указатель

569
01:30:24.520 --> 01:30:37.369
Михаил Непряхин: и Мы вот здесь вот прокидываем указатель то есть у нас там редис клиент по указателю

570
01:30:37.870 --> 01:30:44.770
Михаил Непряхин: но здесь сигнатуре, у нас энтрофейс ну потому что там снаружи к нам кидают

571
01:30:44.900 --> 01:30:57.829
Михаил Непряхин: по указателю структуру коннекшн он пеншу по указателю вот как по другому то он же в одном интернете вот а здесь мы его повышаем в интерфейс и дальше во всем. Юскейсе, Мы работаем только Вот с Этими методами

572
01:30:57.970 --> 01:31:04.489
Михаил Непряхин: Ну в Случае родиться вот Этими методами вот а в Случае позори ты Там тоже полном интерфей есть разглянем

573
01:31:04.930 --> 01:31:17.549
Михаил Непряхин: вот у меня тут нею тоже нетрофизию вот тоже звездочка ой интерфизика указатель тоже указать ро звездочка подлец то есть сюда приходит указатель но сигнатурия

574
01:31:17.590 --> 01:31:34.289
Михаил Непряхин: зачем мне Здесь указатель мне важно чтобы он удовлетворял вот этим вот интерфейсом а он удовлетворяет и все и оно все собирается оно превращается и уже на уровне из кейса ведь у меня импортов Нет общаюсь я ни им порчу ни редис ни позгрыз

575
01:31:35.370 --> 01:31:40.899
Михаил Непряхин: э у меня от них не только не трофейсы и я дальше в приложении работаю только с интерфейсами

576
01:31:41.000 --> 01:31:42.470
Михаил Непряхин: вот это вот есть

577
01:31:42.790 --> 01:32:00.969
Михаил Непряхин: депен дэнси инжекшн оно уже депенэнси инвершен оно же инъекция зависимостей оно же вот как бы реализует вот этот Паттерн чистой архитектуры и Так далее, То есть вот Это вот этот вот краеугольный камень

578
01:32:01.340 --> 01:32:09.530
Михаил Непряхин: а пирамидион короче вот который в центре стоит на чем держится, вся архитектура

579
01:32:09.750 --> 01:32:15.990
Михаил Непряхин: что Мы получили все зависимости какие нужно и извне нам больше ничего не надо

580
01:32:16.180 --> 01:32:19.280
Михаил Непряхин: и мы их получили в виде Абстракций

581
01:32:19.400 --> 01:32:25.590
Михаил Непряхин: ну так я тут называю интерфейса для удобства то тут, Еще модно Репозиториями Называть вот Это Я не Люблю и

582
01:32:25.750 --> 01:32:31.250
Михаил Непряхин: а и Репозитория Это конечно соответственно

583
01:32:31.840 --> 01:32:37.930
Михаил Непряхин: по вот Я вот Так вот Не Люблю Называть Потому Что Я хочу вот туда посмотреть и Понять ага Поигры сага рэдис

584
01:32:38.150 --> 01:32:48.370
Михаил Непряхин: вот и Новая вот Поэтому и

585
01:32:48.510 --> 01:33:01.090
Михаил Непряхин: вот я ее я от интерфейс это не нереальный объект это вот этот трофейс так

586
01:33:05.130 --> 01:33:12.189
Михаил Непряхин: мне как фанту нормально я уже много попрактиковался с вашей архитектурой а после практики все понятно и снова захожу

587
01:33:12.450 --> 01:33:29.190
Михаил Непряхин: а с диай дело имевший мангуляры ну вот отлично но вот кто с Диагнозом дела Не имел вот Тем может Быть сложновато Но Важно Не знать как Это называется Важно вот на Уровне пользовались смотрите У Меня супер

588
01:33:29.400 --> 01:33:38.469
Михаил Непряхин: классные примеры вот прямо вот вот учиться она вот супер вот просто вот если, вы здесь разберетесь а вы здесь нуп,

589
01:33:38.870 --> 01:33:48.850
Михаил Непряхин: не сможете не разобраться вот просто один Раз, пройдите всю цепочку разберитесь и вы поймете а когда вы поймете

590
01:33:49.060 --> 01:33:52.540
Михаил Непряхин: вам вот эта вот компоновка

591
01:33:52.660 --> 01:34:10.229
Михаил Непряхин: оно вам может не нравиться, да вот вам может не нравиться, название может не нравится вам может не нравиться, что оно вот разбито вот так вот что видеть его допустим все в сиюзкейсы вот они все здесь все дто то него здесь

592
01:34:10.230 --> 01:34:20.719
Михаил Непряхин: все контролеры они вот здесь вот вот у Меня получается что клеит профайл логика Она Разорванная да то Есть вот я здесь

593
01:34:20.720 --> 01:34:26.790
Михаил Непряхин: Начинаю клевет профайл потом я Прыгаю Э сюда

594
01:34:26.840 --> 01:34:33.390
Михаил Непряхин: здесь У меня улыбка креть профайла чтобы вот эти вот детошки вот я Прыгаю сюда посмотреть их

595
01:34:33.840 --> 01:34:39.940
Михаил Непряхин: и в доминие я Прыгаю вот еще сюда чтобы это все связать то есть видя как бы я вынужден прыгать

596
01:34:40.430 --> 01:34:41.770
Михаил Непряхин: но и

597
01:34:42.290 --> 01:34:51.339
Михаил Непряхин: это хороший пример для обучения потому что очень много сервисов написанные вот по Этим принципам чтобы вы когда в них попадали вы разобрались

598
01:34:51.600 --> 01:34:53.300
Михаил Непряхин: а во-вторых и

599
01:34:53.550 --> 01:35:09.859
Михаил Непряхин: а вы потом когда это поймете вы можете все в одном, пакете это написать ну вы вот можете взять пакет написать вот это Там и

600
01:35:10.400 --> 01:35:26.469
Михаил Непряхин: а типа вертикаль Слайсинг, сделать Или даже неважно как называется Важно что вот оно типа Пуфичем Лежит, то Есть вот Можно взять фичина резать по разным пакетам а Можно взять Фитчи положить, каждый в свой пакет

601
01:35:26.620 --> 01:35:29.250
Михаил Непряхин: но Почему Мы начинаем с этого

602
01:35:29.500 --> 01:35:36.899
Михаил Непряхин: потому что если вы начнете фичи складывать все в один пакет вы быстро, потеряетесь и у вас все смешается

603
01:35:36.950 --> 01:35:54.129
Михаил Непряхин: Поэтому на начальном Этапе лучше научиться эээ железобетонно разделять эти Вещи прям пакетами Ну как бы вот все уже физическое разделение да а уже потом когда поймете ну, там уже что-нибудь подумаете придумаете и это

604
01:35:54.530 --> 01:36:00.129
Михаил Непряхин: свои. Какие-то правила изобретете но по крайней мере, здесь правила Они простые понятные и Они

605
01:36:00.170 --> 01:36:14.599
Михаил Непряхин: ну? Короче вот любые джуны когда им объясняешь Эти, правила и даешь пример Они уже фигни не Пишут они уже Пишут такой Кот который потом с Ним Можно что-то сделать Можно чего-то Порывачить, чего-то там перекомпоновать

606
01:36:14.600 --> 01:36:22.599
Михаил Непряхин: вот а если им говорить ааа сказать эти принципы и сказать ну вот пишите все в одном пакете

607
01:36:22.690 --> 01:36:29.490
Михаил Непряхин: только разделите хотя бы на файлы то есть вот на файлы разделите чтобы отдельный контроль был отдельно для того чтобы отдельно из кейс был

608
01:36:29.590 --> 01:36:37.969
Михаил Непряхин: ни фига не пишут фигню потому. Что Там когда нету Физической границы между пакетами ну все как бы Там, Те как бы

609
01:36:38.530 --> 01:36:49.170
Михаил Непряхин: и и плохо получается вот Поэтому Мы учимся на таком, примере

610
01:36:51.890 --> 01:37:04.330
Михаил Непряхин: так а если, много Из кейсов То всем быдеки дать через, полли сню а да ну грубо говоря вы

611
01:37:04.800 --> 01:37:10.339
Михаил Непряхин: вот У вас много чего Там много из кейсов да вот допустим у вас много доменов много из кейсов

612
01:37:10.930 --> 01:37:12.970
Михаил Непряхин: ну вот вы создали один Раз, коннекшн

613
01:37:13.480 --> 01:37:17.519
Михаил Непряхин: и ну там пробросили его везде

614
01:37:18.880 --> 01:37:24.229
Михаил Непряхин: здесь у Меня не очень хороший пример с Игры потому что я вам сразу показываюсь транзакциями да чтобы и

615
01:37:24.460 --> 01:37:32.590
Михаил Непряхин: на транзакте объяснять но то есть я как бы немножечко тут такой патроны использую Не прямолинейный

616
01:37:32.790 --> 01:37:39.289
Михаил Непряхин: мммм Не то Что магический Но ведь и Не прямой Так вот если, бы его не было вот я просто, сюда бы передал

617
01:37:39.790 --> 01:37:54.810
Михаил Непряхин: а вот этот паспортрю а если, б было много много есть кейсов ну вот еще один бурю из кейс вот я тоже бы сюда его передал то есть, каннекшн я создал один раз выигрыш у Меня в приложении один Коннокс на базе данных ну, как видели там четыре штуки

618
01:37:55.060 --> 01:38:00.860
Михаил Непряхин: и я эти коннекшины просто использую разных изкейсов и соокей

619
01:38:00.960 --> 01:38:03.800
Михаил Непряхин: база данжа одна вот я книга ночусь

620
01:38:05.300 --> 01:38:09.490
Михаил Непряхин: а то что я там к разным таблицам буду иметь доступную все нормально

621
01:38:17.120 --> 01:38:24.199
Михаил Непряхин: ну хорошо да ответ дам да так часто пишут свой динамичный депрессий Джексон. Рождественский

622
01:38:24.400 --> 01:38:27.759
Михаил Непряхин: можете там попреки вас что, нибудь подписать но так мне Делают. Обычно

623
01:38:29.470 --> 01:38:39.450
Михаил Непряхин: когда вы начинаете динамично писать на гоу то получается пайтон Поэтому как бы со строгой типизации

624
01:38:40.130 --> 01:38:42.930
Михаил Непряхин: Эээ туда этот подход он

625
01:38:43.710 --> 01:38:49.060
Михаил Непряхин: проще проще с этим работать как бороться с не У понятых энтрофейцев в идеале Исследовать Последней

626
01:38:49.800 --> 01:39:04.129
Михаил Непряхин: Чего Разве Не трофей да Не собирается ничего У вас просто ничего Не соберут вы сразу упадете вы быстро вы быстро очень быстро обнаружите что вы не пробросили какую-то структуру такой проблемы вообще нет

627
01:39:04.740 --> 01:39:12.460
Михаил Непряхин: а я фронтейнеры у окна на Самом деле с Похожими Концепциями сталкивался Работал также на вранье тут просто надо за То прорубить немного на другой реализации

628
01:39:27.310 --> 01:39:40.300
Михаил Непряхин: Так я долго назад по-вашему Не Замучивал Штурман но Тогда У вас сборы позиторы Еще если, я Не ошибаюсь ну да я-то даже позициям же Называл ну Видите короче времени. Не стоит на месте и

629
01:39:40.320 --> 01:39:53.279
Михаил Непряхин: и это уже версия десятая пятнадцатая Конечно тут уже отполированно отшлифовано все максимально уже проверено в Бою много Раз, хочу за это рабочий вариант

630
01:39:53.950 --> 01:40:00.140
Михаил Непряхин: так Есть Хорошие, ресурсы для изучения возраста вроде. И знания немного вроде кашу горе

631
01:40:00.450 --> 01:40:08.640
Михаил Непряхин: ну да смотрите значит Ну во-первых поздравить надо просто Скривиться Если вы искали знаете То в Принципе уже из-под Горой все

632
01:40:08.870 --> 01:40:17.650
Михаил Непряхин: Проще потому что Там Позволяю От классического скреже недалеко ушла. Вот ну и Есть Несколько Ресурсов ну там типа

633
01:40:17.770 --> 01:40:26.360
Михаил Непряхин: Эль Тренажер как, называется на Степике Есть Так мне нравится

634
01:40:26.640 --> 01:40:30.459
Михаил Непряхин: я вот недавно к собесу М готовился

635
01:40:30.750 --> 01:40:44.949
Михаил Непряхин: Блин Нет Нет Ну вот есть такой короче тут, че То бесплатно потом За Деньги тут, типа собеса собранные за задачки но мне не очень нравится а есть ну, картины на еду так что он не гуглится

636
01:40:46.070 --> 01:40:48.160
Михаил Непряхин: там как Раз, пропагандирующего

637
01:40:52.070 --> 01:40:53.930
Михаил Непряхин: блин Дач это Как ты

638
01:40:57.140 --> 01:41:08.900
Михаил Непряхин: вот по-моему тогда Нет анна карча Найду Скину Есть тренажеры найди Удобное изучение Так и

639
01:41:14.320 --> 01:41:23.289
Михаил Непряхин: ну Окей ты очень много у тренажеров очень много а так на Ютубе все что отпоздали с профильшину Это

640
01:41:23.740 --> 01:41:41.749
Михаил Непряхин: я не такой как коммерческий Проект, у них прополитарный свой возраст Но у них очень много материалов про обычный процесс Поэтому внутреннее устройство подлиса лучше, всего у них и еще у влада тайна Недавно тоже высшего Про устройство базданных меджу Понравилось

641
01:41:42.340 --> 01:41:44.030
Михаил Непряхин: У Него Там Есть бесплатный урок

642
01:41:44.240 --> 01:41:47.839
Михаил Непряхин: и Я думаю Что Там Платное тоже У Него неплохо

643
01:41:48.560 --> 01:41:58.420
Михаил Непряхин: короче я смотрю и вообще все что Есть Вот Если, я чего-то пытаюсь в чем-то разобраться я просто Вот подряд все смотрю смотрю смотрю-смотрю читаю до тех Пор Пока

644
01:41:58.530 --> 01:42:06.510
Михаил Непряхин: понимаю Что ну Все недостаточно вот но Там минимально для работы достаточно просто. Тренер Хоть пройти

645
01:42:10.250 --> 01:42:21.670
Михаил Непряхин: Так ну вот короче когда мы создали вот эту нашу архитектуру У нас соответственно Ммм готов

646
01:42:22.520 --> 01:42:26.550
Михаил Непряхин: эюз кейс который мы пробросили, в роутер

647
01:42:27.290 --> 01:42:34.730
Михаил Непряхин: и да он соответственно ждет запроса и обрабатывает их вызывает методы из кейса и все работает

648
01:42:35.260 --> 01:42:42.250
Михаил Непряхин: значит поговорим немножко. Про роу тогда я уже сказал что я использую чи Роутер а почему От пятой версии

649
01:42:42.840 --> 01:42:54.700
Михаил Непряхин: почему чи значит во Первых самое главное преимущество чьи что Он вот вот Там вот минимальное вот чего не хватает в стандартном сервере стандартный сервер неплох

650
01:42:54.810 --> 01:43:01.849
Михаил Непряхин: ну стена к Народу тормятся, но там вот Чуть Чуть вот не Очень удобно а вот как Раз, чьи вот эти вот проблемы решают

651
01:43:02.200 --> 01:43:08.239
Михаил Непряхин: сохраняя при Этом обратная совместимость со стандартным роутером

652
01:43:08.370 --> 01:43:25.959
Михаил Непряхин: и очень много мидов вар написано то есть когда вы работаете с чили у вас все мидлвары Что есть они к вам Всегда подходят вам не надо там думать, искать какую-то конкретную медувару потому Что Сигнатура. Сохраняется как у Стандартного роура у вас есть респонсрайтер и Рекест

653
01:43:26.770 --> 01:43:34.339
Михаил Непряхин: вот потому Что чин например, это Чью джин у Него тут аа свой Контекст он меняет эту синатуру

654
01:43:34.990 --> 01:43:36.969
Михаил Непряхин: и и

655
01:43:37.370 --> 01:43:46.850
Михаил Непряхин: он минимальное Количество зависимостей имеет То есть если вы посмотрите Там Чароутер то у него совсем мало зависимости как виде и так зависимостей много

656
01:43:47.230 --> 01:43:48.659
Михаил Непряхин: в Целом и

657
01:43:48.890 --> 01:44:05.230
Михаил Непряхин: аа Тенденция такая что. Ну, хочется снизить количество зависимостей чем меньше зависимости от тем лучше ну потому что чем больше зависимости тем больше вероятна Штатам какая нибудь эээ кунь бокдора какая нибудь это

658
01:44:05.460 --> 01:44:15.720
Михаил Непряхин: что нибудь где нибудь заложено и в серьезных компаниях Всегда есть ограничения на количество библиотек которые вы можете использовать есть библиотеки которые тоже использовать не можете

659
01:44:15.970 --> 01:44:21.000
Михаил Непряхин: вот ну Я думаю Джин в таких, компаниях ээ разрешен Чаще всего тем не менее

660
01:44:21.240 --> 01:44:26.030
Михаил Непряхин: вот а учи Например, Зависимостей ничего

661
01:44:26.190 --> 01:44:31.099
Михаил Непряхин: то есть чи Написан на стандартной Библиотеке у нее независимости по Этому кругу

662
01:44:31.480 --> 01:44:38.750
Михаил Непряхин: ну и плюс вот пакет пакет куча куча Готовых мидоввар вот это все медовар на разные случаи жизни

663
01:44:40.710 --> 01:44:48.900
Михаил Непряхин: а джинн это самый популярный робот на гол, и конечно

664
01:44:49.030 --> 01:44:56.090
Михаил Непряхин: часто встречаются в проектах восемьдесят четыре звезды да и

665
01:44:58.460 --> 01:45:14.259
Михаил Непряхин: конечно если уже в проекте он есть деваться Некуда приходится использовать ну видеть очень много контрибьюторов и написан не очень красиво не очень хорошо по большому счету он каких, то Проблем и не решает то есть

666
01:45:14.800 --> 01:45:16.119
Михаил Непряхин: я думаю что

667
01:45:17.070 --> 01:45:31.340
Михаил Непряхин: добавляет обертку свою заставляет разбираться в нем заставляет Изучать его а взамен ну по мне так ничего не дает то есть Поэтому

668
01:45:32.680 --> 01:45:38.380
Михаил Непряхин: джинсы по доброй воле по своей воле лучше не использовать есть еще эко

669
01:45:38.560 --> 01:45:42.970
Михаил Непряхин: или эча я не знаю как то сказать эконом

670
01:45:43.130 --> 01:45:53.109
Михаил Непряхин: вот тоже популярный тридцать три звездочек ну он такой скорее Мертвый все тоже встречается на недавно на проектах ну вот мне совсем он не нравится уж Ммм

671
01:45:53.880 --> 01:46:07.210
Михаил Непряхин: как бы они все похожи у них у всех Есть мимо вары У всех Есть какой-то какая-то возможность принять конкретный запрос и как-то его Отродить То Есть как бы там задача

672
01:46:09.710 --> 01:46:11.000
Михаил Непряхин: большая

673
01:46:13.400 --> 01:46:28.530
Михаил Непряхин: Э, Так Сейчас посмотрим вот короче вот и смотрим вот эту вот настройку самого роутера вот я эту Передю в него метрике Передаю из кейс потому что ручка когда будет вызвана она будет Вызывать Из кейс

674
01:46:30.040 --> 01:46:35.400
Михаил Непряхин: а ну Моя рекомендация как Организовывать роутинг

675
01:46:36.400 --> 01:46:42.769
Михаил Непряхин: Удобно ну как Бы Удобно когда Вы в одно, место, зашли и увидели все роты просто. Удобно

676
01:46:44.680 --> 01:46:58.159
Михаил Непряхин: Поэтому рекомендуется вот у меня, допустим тут первая версия сразу делаю то Есть я сразу по папкам вью вот вы один дьявол, для того чтобы потом добавить папку в Едва и просто легче это все менеджеры менеджеры

677
01:46:58.620 --> 01:47:22.079
Михаил Непряхин: здесь же у меня сразу проброшена Ручка для метрик это техническая, Ручка и можем. Перейти по окон хост

678
01:47:23.460 --> 01:47:30.959
Михаил Непряхин: Восемьдесят Восемьдесят метрикс вот и здесь будут в метрики а на

679
01:47:31.180 --> 01:47:43.140
Михаил Непряхин: никаких основных метрик нет это просто все встроенные дефолтные метрики которая изронта я могу вернуть Информацию и можно посмотреть По памяти По использованию памяти По стеку

680
01:47:43.860 --> 01:47:54.470
Михаил Непряхин: и оно сразу передается Графану идет, мне тут, Можно сразу можете зайти в микрофон и посмотреть Эммм

681
01:47:55.860 --> 01:47:58.569
Михаил Непряхин: а чего в черном где ничего не обновляется

682
01:47:59.120 --> 01:48:04.700
Михаил Непряхин: не успел еще попасть смешат под дождем честной возобновится вот так

683
01:48:05.860 --> 01:48:09.840
Михаил Непряхин: вот Поэтому вот эта ручка это для прометриуса для сбора метрик

684
01:48:10.150 --> 01:48:14.379
Михаил Непряхин: дальше идет роутинг уже конкретно по папе

685
01:48:14.560 --> 01:48:23.990
Михаил Непряхин: эээ ну так как у меня здесь приложение такое чтобы Вы если, что, могли запустить в губернаторся

686
01:48:24.120 --> 01:48:33.330
Михаил Непряхин: то я здесь для Ингресса сразу прописываю длинный этот робот отмечали вот ну части, здесь ведь чаще здесь бывает просто

687
01:48:33.620 --> 01:48:39.830
Михаил Непряхин: ну так вот так вот эй пья и все вот у меня здесь Еще какой-то профикс ну и

688
01:48:40.520 --> 01:48:43.669
Михаил Непряхин: дальше мидл вары относящиеся к Этому роу

689
01:48:44.230 --> 01:48:58.749
Михаил Непряхин: мидулвара с блогером чтобы все запросы. Блокировались мид увара с метриками чтобы автоматически запросы. Отправлять метроки и раисами чтобы автоматически террористы поднимались и

690
01:48:58.930 --> 01:49:05.310
Михаил Непряхин: создавались, дальше пачка тот касвый один здесь уже сам роутинг

691
01:49:05.460 --> 01:49:20.470
Михаил Непряхин: постовая ручка принимает ну, обрабатывает принимает запрос рот вот это уже это ньюс кейс ой контролер

692
01:49:20.890 --> 01:49:31.940
Михаил Непряхин: у которого здесь в один находится здесь у меня вызов конкретных контролеров и вот когда приходит запрос на ручку профайл по пост то мы попадаем вот в этот Контроль

693
01:49:32.030 --> 01:49:40.960
Михаил Непряхин: а если и попуту то лабдей если пакету ну уже не другая Сигнатура. Но Она такая же как Уделита То либо в гет либо вдлит

694
01:49:41.870 --> 01:49:44.280
Михаил Непряхин: Так чудом кстати Появились Нет

695
01:49:49.930 --> 01:49:59.210
Михаил Непряхин: так-то как Будто. Бы а Нет метро когда метрик Нет Есть же вот смотрите метрик Нет почему потому что. Я запустил

696
01:50:00.110 --> 01:50:02.860
Михаил Непряхин: Ммм приложение локальное

697
01:50:03.020 --> 01:50:16.770
Михаил Непряхин: а метрики они собираются только когда преображение запущено внутри композа ну ладно Потом, дойдем до метрик запустим вот так вот посмотрим зато троицы собираются

698
01:50:17.610 --> 01:50:19.200
Михаил Непряхин: так вот локально можно работать

699
01:50:20.920 --> 01:50:33.900
Михаил Непряхин: так вот допустим нам пришел запрос на клиент то есть первый у нас запрос чтобы создать Профиль вот мы сюда попали на ручку на эту вызывается

700
01:50:34.000 --> 01:50:40.540
Михаил Непряхин: вот клеет профайл контролер который обрабатывать запрос

701
01:50:41.090 --> 01:50:50.190
Михаил Непряхин: значит какая у него, ответственность у него, ответственность просто принять запрос в формате который удобен пользователю и

702
01:50:50.850 --> 01:51:02.469
Михаил Непряхин: вызвать из кейс и отдать запрос который удобен пользователю ну и соответственно вот мы видим что ну тут, контекст получаем создаем структуру в дт он

703
01:51:02.470 --> 01:51:14.040
Михаил Непряхин: в которой мы запрос получим для того и здесь вот ее наполняем то есть из боди запроса о боди у нас он врезан

704
01:51:14.260 --> 01:51:23.189
Михаил Непряхин: мы этот же сон парсим и вот сюда в эту структуру помещаем то есть у нас вот запросы будут Выглядеть! Таким образом,

705
01:51:23.400 --> 01:51:26.420
Михаил Непряхин: дальше эту игрушку передаем в ньюс кейс

706
01:51:26.820 --> 01:51:33.019
Михаил Непряхин: Ну Виски сядут А позже посмотрим если все хорошо

707
01:51:33.260 --> 01:51:43.340
Михаил Непряхин: Рэнд Рим Джисон говорим. Что статус сок если Ошибка Рэндрим тоже Врисон но

708
01:51:43.940 --> 01:51:47.030
Михаил Непряхин: с помощью вот метода. С ошибкой

709
01:51:47.180 --> 01:51:59.140
Михаил Непряхин: и говорим Что Ну Помечаем Что Это четырехсотка статус метро Крест и какой то комментарий значит счастую Дернем пуцмана

710
01:51:59.290 --> 01:52:26.030
Михаил Непряхин: значит для того Чтобы с Эти, мапии покрутить вот У Меня здесь есть папии Хтп и и работает

711
01:52:26.420 --> 01:52:35.800
Михаил Непряхин: вот и в откроет профайл но между же загружена и если мы тернем вот мы получаем двести ок

712
01:52:36.460 --> 01:52:40.780
Михаил Непряхин: и айди ю Иде созданного заказа

713
01:52:41.140 --> 01:52:45.669
Михаил Непряхин: потому что вот здесь У нас есть кейс У нас аутпут

714
01:52:46.160 --> 01:52:51.049
Михаил Непряхин: мы отдаем Детошку сьюзен кэлвин созданного заказа

715
01:52:51.870 --> 01:52:58.530
Михаил Непряхин: есть ли У нас какая то проблема некорректно допустим номер телефона Мы эээ без плюсов отправили

716
01:52:58.850 --> 01:53:01.770
Михаил Непряхин: он влидацию не пройдет, но четырехсотка

717
01:53:01.900 --> 01:53:07.850
Михаил Непряхин: и пишет да Что по валидации е сто шестьдесят четыре вот влиться не пошла

718
01:53:09.570 --> 01:53:22.500
Михаил Непряхин: а Так ну вот мы Окей мы или создали можем теперь его в гете вызвать то есть здесь в гетто пробрасываете вот получаем вот То что, Мы не создали

719
01:53:23.330 --> 01:53:26.619
Михаил Непряхин: да но в базе, у нас поместились этому. Из база взяли

720
01:53:27.480 --> 01:53:38.019
Михаил Непряхин: вот ну и то же самое если Мы тут какую-нибудь ошибку сделаем под несуществующей ее иди то Мы получаем четырехсотку Треквест фейлят и юрий инвалид

721
01:53:39.210 --> 01:53:47.200
Михаил Непряхин: а вот и вот Этой вот логикой логикой То есть в каком формате вот а ответ.

722
01:53:47.320 --> 01:53:55.139
Михаил Непряхин: В каком формате бывают запрос У нас в формате такой запрос какие ошибки Мы Будем, видеть

723
01:53:55.270 --> 01:53:59.599
Михаил Непряхин: и в каких статусах будут ответы газета отвечает контроль

724
01:54:00.030 --> 01:54:02.379
Михаил Непряхин: и все больше он ни за что не отвечает

725
01:54:02.650 --> 01:54:09.620
Михаил Непряхин: и как видите Тем не менее какая то логика есть то есть видите все равно на один экран логики есть

726
01:54:10.470 --> 01:54:23.300
Михаил Непряхин: обреет обновление оно все однотипно но все одинаково мы принимаем запрос из дресона, его превращаем в структуру вызываем лиз кейс отдаем в том формате которым удобно пользоваться

727
01:54:24.060 --> 01:54:33.219
Михаил Непряхин: но тем не менее это логика которой. Она выделяется на фоне всего остального и она

728
01:54:33.690 --> 01:54:40.309
Михаил Непряхин: вот вычленяется таким образом, и помещается в контроле вот таким образом, получается контролер

729
01:54:42.190 --> 01:54:48.510
Михаил Непряхин: вот ну а контролер вызывает весь кейс ну тут дальше про с кейсы уже можно говорить

730
01:54:48.710 --> 01:54:51.590
Михаил Непряхин: и Еще когда будете дергать

731
01:54:52.480 --> 01:55:11.260
Михаил Непряхин: ну тут уж дальше на следующих, органах будем говорить послезавтра значит Но когда будете запускать Еще Интересно Можете посмотреть ну во Первых и ольге смотрите да чего у нас в рогах то сидите воги тоже красивая раскрашенная двухсотка Мы Там дернули Какой метод Там четырехсотка Что случилось

732
01:55:11.670 --> 01:55:20.949
Михаил Непряхин: и у меня здесь уже проброшены везде трейсеры просто заходите в графану вот сюда в экспор

733
01:55:21.470 --> 01:55:33.530
Михаил Непряхин: Темпа но тут уже вот видите выбрано и вот две Круглые, Скобочки вот Так вот запускаете и видите трассировку этих Наших запросов Которые Мы Только что делали

734
01:55:33.860 --> 01:55:41.600
Михаил Непряхин: короче говоря здесь удобно посмотреть Так Сейчас как-то да

735
01:55:45.870 --> 01:55:46.670
Михаил Непряхин: осмеле

736
01:55:52.570 --> 01:55:59.939
Михаил Непряхин: шазном телефон так что, тут, Делал Давайте вот на разные запросы открой

737
01:56:03.250 --> 01:56:10.249
Михаил Непряхин: короче здесь для Фонтендеров кстати довольно понятно что, это Аналог

738
01:56:10.350 --> 01:56:15.209
Михаил Непряхин: консоли в браузере когда мы можем

739
01:56:15.450 --> 01:56:18.910
Михаил Непряхин: ну изначально руками мы конечно должны настроить все свои.

740
01:56:19.850 --> 01:56:50.109
Михаил Непряхин: А потом мы можем сделать вот такую трассировку ну это называется трейс и и

741
01:56:51.940 --> 01:57:00.190
Михаил Непряхин: Нет микро секунды восемьсот девять метров секунды он ответил и это и есть по Сути все время нашего выполнения

742
01:57:00.430 --> 01:57:08.190
Михаил Непряхин: ну Зелененькая ведь как все Успешно а вот ошибка была над ошибкой Это я Дергнул четырехсотка видите

743
01:57:08.330 --> 01:57:13.069
Михаил Непряхин: Мы дошли только до дюс кейса в Нью-йорке

744
01:57:14.950 --> 01:57:18.149
Михаил Непряхин: Чуд Какие То Есть У меня Нет тут ничего Интересного Нет

745
01:57:18.760 --> 01:57:30.490
Михаил Непряхин: ну короче говоря Тут, Ошибка была валидацией Наверно Да шемлин нус Бэтриквест была Ммм

746
01:57:30.710 --> 01:57:34.250
Михаил Непряхин: нет у Меня Тут ошибка не указана какая им наша думаю

747
01:57:47.920 --> 01:57:50.729
Михаил Непряхин: так Что сам рожон естьдет Или нет

748
01:57:53.890 --> 01:58:05.580
Михаил Непряхин: Хэттеп роуд был такой вот конкретно какой Мы дергали Конди, Это просто отработай ивент здесь ничего интересного

749
01:58:06.120 --> 01:58:11.409
Михаил Непряхин: ну, да Ну, вот можно Еще прямо в Эту Ошибку Еще бы туда можно записать просто здесь не записана Ошибка конкретно

750
01:58:11.820 --> 01:58:15.120
Михаил Непряхин: ну вот этот удачный запрос был нагет

751
01:58:15.890 --> 01:58:20.990
Михаил Непряхин: водитель уже отмели секунду занял. Вот одну секунду занял доставал

752
01:58:21.290 --> 01:58:28.680
Михаил Непряхин: а из базы это уже видно что все время запроса это вот этот запрос и занимал да и здесь

753
01:58:29.390 --> 01:58:35.199
Михаил Непряхин: а здесь уже одессек ильи труда Создавал а вотценить вот этот запрос на кредит профайл.

754
01:58:35.790 --> 01:58:45.340
Михаил Непряхин: То Же вите интересно да что дергали мою ручку пост одиннадцать или секунд она отрабатывала и и

755
01:58:45.960 --> 01:58:53.500
Михаил Непряхин: а видно что у нас запрос происходит в транзакции и

756
01:58:55.350 --> 01:59:05.649
Михаил Непряхин: два Вызова по с Грибыла два адаптара с вызовом позгры на клеет Профайла и кричит Проперти и вот Там Один триста занял второй и Триста занял

757
01:59:05.830 --> 01:59:19.629
Михаил Непряхин: э микросекунд и вот Таким образом, когда у вас большая какая то сложная иерархия вызовов вы можете вот здесь тоже это увидеть то есть Этот, рейтингом, м заниматься полезно

758
01:59:19.720 --> 01:59:29.419
Михаил Непряхин: это Действительно ну там в дебатах Очень, сильно помогает о единственное здесь где здесь есть кейс называется в криете что он меня пропустил. Что ли

759
01:59:30.090 --> 01:59:41.029
Михаил Непряхин: точно я здесь пропустил вот смотрите я смотрю такое Что я юс киста чуть Не, вызывает У Раз транзакции идет так-то еще Освоить из кейса нужен

760
01:59:41.120 --> 01:59:53.389
Михаил Непряхин: потому что он здесь руками делается я просто забыл. Его добавить вот Сейчас давайте добавлю чтобы чтобы видеть что рискис вызывает вискис криет профайл ну вот и все и перезапустим приложение

761
01:59:54.640 --> 02:00:01.149
Михаил Непряхин: и Вызовем кредит профайл открыть профайл Вызовем

762
02:00:01.430 --> 02:00:05.890
Михаил Непряхин: и оно быстро, очень попадает на самом деле в базу шасмы

763
02:00:10.030 --> 02:00:11.220
Михаил Непряхин: шиф центр

764
02:00:15.220 --> 02:00:18.989
Михаил Непряхин: на освин нет еще Не попал вот попал

765
02:00:22.000 --> 02:00:28.470
Михаил Непряхин: вот видите, вот я добавил, Строчку вот и теперь, мы видим вот у нас вызвался контролер а

766
02:00:28.670 --> 02:00:33.320
Михаил Непряхин: с постовой ручкой дальше Мы вызвали из кейс

767
02:00:33.480 --> 02:00:37.480
Михаил Непряхин: влюс кейсе у нас произошла транзакция

768
02:00:37.710 --> 02:00:42.220
Михаил Непряхин: и в транзакции Мы сделали два запроса в базе данных вот

769
02:00:45.830 --> 02:00:54.369
Михаил Непряхин: короче У очень-очень Сильная штука вот эта с Темпа Ну там как запрос и писать как это все делать тоже потом Там Дойдем посмотрим

770
02:00:54.990 --> 02:01:07.670
Михаил Непряхин: просто как Вы знаете что оно Тут есть из Коробки и если Вы что-то Там сложное Тут будет экспромтировать то можете ну здесь тоже нормально так вот вот видите вот юскей с созданием профиля что здесь происходит

771
02:01:09.220 --> 02:01:19.679
Михаил Непряхин: ну его вызывают во Первых контролях да вот Мы только что смотрели контролер вот Мы в контрольноре запрос получили Гессон обработали вот из кейс вызвали

772
02:01:20.380 --> 02:01:27.079
Михаил Непряхин: вот он здесь создали конструкторе новый профиль там внутри эволюции сделали

773
02:01:27.540 --> 02:01:32.110
Михаил Непряхин: и насчет свойства создали вот эти какие-то мифические,

774
02:01:32.450 --> 02:01:41.250
Михаил Непряхин: и дальше в транзакции от меня, транзакции выполняются две операции значит это я Создаю Профиль и Создаю свойство

775
02:01:41.760 --> 02:01:45.150
Михаил Непряхин: и дальше Возвращаю в вто

776
02:01:46.140 --> 02:01:52.929
Михаил Непряхин: к стилю Такому Гошному Все равно Ведь надо Привыкнуть потому что ну по-хорошему ведь если, бы Не обработка ошибок

777
02:01:53.090 --> 02:02:05.790
Михаил Непряхин: то и

778
02:02:06.410 --> 02:02:13.920
Михаил Непряхин: спасибо дизайну нельзя немножечко дурацкий без Этой обработки ошибок то есть вот Не смогли они никак по-другому сделать кроме как вот так вот

779
02:02:14.120 --> 02:02:20.580
Михаил Непряхин: и приходится вот это вот глазами и и

780
02:02:21.350 --> 02:02:38.200
Михаил Непряхин: ну как бы, постепенно привыкаешь и перестаешь вот эта парсеть вот но поначалу какое то время уходит на то чтобы вычленять нужное а нужно здесь собственно оно вот что дергается позгресс интрофейс от пользоваться вот конкретно вот этот метод

781
02:02:38.680 --> 02:02:44.870
Михаил Непряхин: и здесь Тоже, вот конкретно этот метод то есть тут, можно перейти вот мы видите только с энтрофейсом отозли работу

782
02:02:45.810 --> 02:02:53.330
Михаил Непряхин: вот ну и все собственно говоря а дальше ну там дело, техники как там мандапторы пишутся тоже в следующий раз посмотрим

783
02:02:54.190 --> 02:02:57.590
Михаил Непряхин: и протесты тоже в следующий раз уже поговорим

784
02:02:59.020 --> 02:03:08.500
Михаил Непряхин: так ну все я думаю на сегодня хватит давайте вопросы, вопросы, ответим а мне агитируют вайбер Ну,

785
02:03:09.610 --> 02:03:14.329
Михаил Непряхин: по мне так чем, Лучше да здесь еще файбер

786
02:03:16.320 --> 02:03:21.329
Михаил Непряхин: это это из последнего хайберт по-моему самый Новый двадцать семь, тысяч звездочек

787
02:03:22.300 --> 02:03:41.420
Михаил Непряхин: особенно меня умиляет когда они на Бинчмарке вот это вот что-нибудь Там вот а У нас Там бинчмарк Файбер Мы Там всех рулем дай господи где тут чи ну где то, будет не очень высоко вотчи да типа вы таки смотрите на эти проценты о боже мой как бы насколько там файмер быстрее

788
02:03:41.540 --> 02:03:42.690
Михаил Непряхин: ну а

789
02:03:43.140 --> 02:03:54.889
Михаил Непряхин: понимаете чтобы роутер стал узким местом ведь это вот очень синтетические тесты вот самый у нас фаст Этой тупой еще тоже быстрый и файмер

790
02:03:55.150 --> 02:04:07.580
Михаил Непряхин: ну вот эхо нджин чии стандартный роутор идут вообще сравнивать или Нет короче говоря

791
02:04:08.510 --> 02:04:18.699
Михаил Непряхин: метод это какая то знаете знаете такая история типа какою язык программирования круче да вообще пофигу оса ну самым медленным будет база данных

792
02:04:19.490 --> 02:04:23.619
Михаил Непряхин: а и все и хоть что у вас там хоть какой у вас там будет, файбер не файбер

793
02:04:24.060 --> 02:04:29.370
Михаил Непряхин: как бы вы из разницы не почувствуете тормозить бонзы вот а

794
02:04:29.860 --> 02:04:38.710
Михаил Непряхин: плюс все Решается дополнительным. Инстанциям и Поэтому вот эти все проценты короче заперфомы Ради перформанса точно смысла Нет

795
02:04:40.410 --> 02:04:59.840
Михаил Непряхин: Ради чего Ради апии ну может быть если, вам нравится можете пользоваться. Файбером вот я тоже все это новомодное пробовал для себя остановилось иначе и если, на проекте уже чего-то есть ну? Тут вариантов Нет приходится это использовать То что уже завезли

796
02:05:00.960 --> 02:05:05.759
Михаил Непряхин: Говорят самое быстро и почитал экзамен по плечу и показался понятней

797
02:05:06.080 --> 02:05:14.060
Михаил Непряхин: Ну. Короче самое Быстро это Все фигня полная раз самый, быстрый раз самый, быстрый нравится писать Ужасно

798
02:05:14.700 --> 02:05:18.490
Михаил Непряхин: Поэтому просто поднимаете еще Один инстаграм на Гоу

799
02:05:18.600 --> 02:05:25.330
Михаил Непряхин: и все и вся эта быстрота нивелируется и там и там в итоге будет самый медленный возраст так что,

800
02:05:26.050 --> 02:05:26.990
Михаил Непряхин: неподс

801
02:05:27.580 --> 02:05:40.080
Михаил Непряхин: я возможно Прослушивал название Вы один это для какого-то версии Или просто пример это не пример смотрите у Меня тут ну понятно что, Весь сервис пример Но это продакшн рэди Кот

802
02:05:40.280 --> 02:05:43.240
Михаил Непряхин: и и это а

803
02:05:43.770 --> 02:05:53.410
Михаил Непряхин: очень удобно что вы можете потом в Два вот вы добавляете папку в Два здесь очень Там в три клика подключаете этот

804
02:05:53.690 --> 02:06:09.330
Михаил Непряхин: в два версию и у вас Одновременно и вы один версия работает и в два версии Работают потом постепенно вы вы один депрессия едите у вас остается только версия в Два короче это просто удобный способ, организации кода то есть вот этим Я Рекомендую вам пользоваться версионировать и пиар

805
02:06:13.650 --> 02:06:18.559
Михаил Непряхин: Так легко переписать Ошибки в Редей в Десять фальсифицировать например,

806
02:06:18.910 --> 02:06:29.090
Михаил Непряхин: Кубы линды Избы Десять Специфически влидал Здоровья в целом его показал потому, что он иногда встречается на проектах я чаще предпочитаю руками писать валидатора

807
02:06:30.350 --> 02:06:41.049
Михаил Непряхин: ну там есть заготовленные какие-то для емемов влидации регулярки где можно там выдрать откуда нибудь для телефонов всю страну я пишу руками

808
02:06:41.260 --> 02:06:43.840
Михаил Непряхин: мне в десять мне очень нравится

809
02:06:44.700 --> 02:06:52.060
Михаил Непряхин: потому, что в десять заставляет себя изучать вообще если библиотека вот вы начинаете пользоваться

810
02:06:52.320 --> 02:06:56.889
Михаил Непряхин: и она заставляет вас изучать Свое, содержимое

811
02:06:57.200 --> 02:07:06.939
Михаил Непряхин: и вы прям Постоянно вот шагливо шаг вправо были надо идти в документацию вот мне такое не, нравится, плохая библиотека на мой взгляд вот вы в десять именно такая

812
02:07:06.970 --> 02:07:18.580
Михаил Непряхин: то есть вы вот эти вот Теги без документации Не напишете ну Сейчас час же пяти, конечно Там вручаю да может вот Но Там возможностей очень очень много

813
02:07:18.750 --> 02:07:30.799
Михаил Непряхин: Но вот даже вот смотря На Это Ипя Это вообще Не очень По-ному, Но Так приходится Делать Потому что Там Так устроено вот Но с другой стороны

814
02:07:31.450 --> 02:07:48.899
Михаил Непряхин: если у вас прямо вот очень большие развесистые апии вот эти вот Структуры То. Вы десять выручает. Потому, Что Вы можете Очень лаконично вот Это, вот все описать и где То Это, удобно Поэтому вот Так вот в Арсенале Иметь, Вы десять. Неплохо

815
02:07:49.290 --> 02:07:56.009
Михаил Непряхин: Поэтому показал но это Не То что там вот обязательно только вы десять нет я руками все выледаться пишу

816
02:07:57.400 --> 02:08:00.369
Михаил Непряхин: Так как к Трейсингам при запуске тестов

817
02:08:00.570 --> 02:08:04.869
Михаил Непряхин: У, вас здесь кейс и Там трейсер Не, мешает Тестам ну а

818
02:08:04.970 --> 02:08:13.050
Михаил Непряхин: э смотрите значит в семь Ди вот Мы на раннем этапе, растенько Не царили вот в этом месте

819
02:08:13.330 --> 02:08:18.769
Михаил Непряхин: и у меня в трейсинге. Есть Копт Сайлент мод

820
02:08:19.080 --> 02:08:32.500
Михаил Непряхин: я тесты пишу ну вот если, надо что-то протестировать я обычно таким образом пишу значит какой-нибудь сайлент Мод делаю и инициативу нооп трейсер

821
02:08:32.690 --> 02:08:41.860
Михаил Непряхин: и если я Энд поинт Не передал у меня включается сайлент мод то же самое. И с блогером делаю

822
02:08:42.010 --> 02:08:55.640
Михаил Непряхин: ну, у блогера и так это очень легко. Видите рейтинг тут в целом Две строчки надо написать Что савиник могут включить Поэтому я тут отдельно сделал а у трейсинга в интеграционных тестах вот просто одна строчка

823
02:08:55.830 --> 02:09:04.489
Михаил Непряхин: вот у сани моту блогера вы так Включается просто озеролок на лоб делаете и все и у вас логи не выводятся

824
02:09:04.580 --> 02:09:17.709
Михаил Непряхин: а вот этот интеграционный Текст я вам показываю ну потом Дойдем до пенсионного тест тоже тут отдельно. Это искусство как Их писать как Их спускать Воты вот Поэтому тестам не мешает потому что, включен сарин вот и все работает да вопрос хороший

825
02:09:18.720 --> 02:09:26.680
Михаил Непряхин: так если У сервиса есть вып принтерфейс где хранить чтим Шаблоны папкавое в корне проекта

826
02:09:27.080 --> 02:09:32.219
Михаил Непряхин: здесь уже очень по Разному покажи пример

827
02:09:32.350 --> 02:09:49.900
Михаил Непряхин: Я Раз спецпроект уже пишу с своей мордой Я там на будь страпе просто делаю я не фонтейнер я где-то такую Быстро Могу усилить то есть там реакт я уже все это занимаю охтангуляр рекомендую с ректором ну целеком смотрел. И вью смотрел. Но Нет я не могу

828
02:09:49.900 --> 02:09:57.760
Михаил Непряхин: Это мир. Фронттента не для Меня я понял. Что я лучше буду писать на гастролях.

829
02:09:58.500 --> 02:10:08.930
Михаил Непряхин: И где именно? Хранить шаблоны вот Провод открытый и потом посмотрим порассуждаем про Это

830
02:10:09.480 --> 02:10:14.290
Михаил Непряхин: вот оно можно и вэб можно его охранить как бы торжок

831
02:10:15.150 --> 02:10:22.240
Михаил Непряхин: а как в чили включается Х дпс и где Хранение сертификаты м

832
02:10:23.090 --> 02:10:27.740
Михаил Непряхин: смотрите Но вопрос Тоже конечно хороший ну во Первых про сертификаты

833
02:10:30.210 --> 02:10:35.470
Михаил Непряхин: этотпс Нужен Только для Джерси Потому что Он Там брент По-другому Не работает

834
02:10:36.110 --> 02:10:55.700
Михаил Непряхин: и То Там Тоже. Отключается Это Кстати. Проживание сертификаты по сути вот такого произноса нужно только кафки и и

835
02:10:57.340 --> 02:11:23.870
Михаил Непряхин: ну публичная, а если вы говорите публичное приватное ну вообще для этого отдельные сервисы пишут По управлению и и

836
02:11:25.160 --> 02:11:28.270
Михаил Непряхин: а По моему Там уже Сейчас Можно

837
02:11:29.260 --> 02:11:32.219
Михаил Непряхин: Можно его включить ну да его Можно включить

838
02:11:32.380 --> 02:11:36.549
Михаил Непряхин: но Мы этим Никогда Не занимаемся

839
02:11:36.750 --> 02:11:41.080
Михаил Непряхин: потому что Наш сервис наружу Никогда Не торчит

840
02:11:42.940 --> 02:12:01.989
Михаил Непряхин: А Всегда Есть праксирующий там Ин джинкс какой-нибудь Анвой там хапкси короче тцедера что угодно но так чтобы Наш сервис торчал наружу ну как бы Нет так такого так никто Не делает вот Всегда есть какой-то барьер какой-то проксирующий сервис

841
02:12:02.170 --> 02:12:11.970
Михаил Непряхин: например ин. Джинкс Которые хорошо умеют ротировать сертификаты Которые хорошо умеют поддерживать эти все там

842
02:12:12.500 --> 02:12:24.340
Михаил Непряхин: Протоколы все Это У Него кашируется оптимально работает тайм

843
02:12:25.030 --> 02:12:31.410
Михаил Непряхин: гошной напишено написанной Наси у тындлинг себя Поставляют и с эстетической конфигурацией

844
02:12:31.540 --> 02:12:34.010
Михаил Непряхин: такой он Еще из Начала двухтысячных

845
02:12:34.150 --> 02:12:50.729
Михаил Непряхин: вот ну повсеместно используют бензинцы наше все вот и Поэтому вот он Это очень хорошо умеет делать а уже после инженкса, у нас Внутренняя Среда у нас Нет кого, защищаться Внутри Поэтому сертификаты Не нужны У нас все работает просто. По Обычному Х Дтп

846
02:12:50.900 --> 02:13:09.319
Михаил Непряхин: в протокол. Поэтому ну Там У чата Дрэппи может Конечно спросить там как Настроить х дтпс Но это даже Не счи Связано это Связано просто. С настройкой роутера ну То есть вот там обычно этот рой не с роа а сервера вот у нас есть сервер

847
02:13:09.450 --> 02:13:29.230
Михаил Непряхин: и вот там у нас есть Транспорт у сервера и

848
02:13:30.750 --> 02:13:46.910
Михаил Непряхин: плюс вам надо как. То Это все Будет ротировать а м Есть да, значит если вы этим интересуетесь то

849
02:13:47.690 --> 02:13:53.129
Михаил Непряхин: как. Там называется сервисы Которые те сертификаты обновляют

850
02:13:55.260 --> 02:14:02.830
Михаил Непряхин: забыл. На какой-то популярный сервис который обновляет сертификат Ну вот Которым всем пользуется бесплатный э

851
02:14:02.990 --> 02:14:13.020
Михаил Непряхин: У Него просто забиваете голланд и эйти типиэс

852
02:14:13.150 --> 02:14:19.700
Михаил Непряхин: хлец Плецинг, грипп да лец ингрид экземппо как нибудь вот Так вот

853
02:14:19.880 --> 02:14:28.550
Михаил Непряхин: и там просто есть готовые примеры как это дело. Настроить А

854
02:14:33.020 --> 02:14:40.079
Михаил Непряхин: Тут такой учет. Исхода Не, гуглтся Ну круче как То так гуглится вот и там короче просто конструктор

855
02:14:40.080 --> 02:14:53.720
Михаил Непряхин: вы просто берете и Копируете оттуда и даже. Не пытаетесь Там понять как Это работает То Есть Там такой сложный конфикт Но главное Что он Там Автоматически обновляется с помощью Лясин клипа

856
02:14:53.760 --> 02:15:01.930
Михаил Непряхин: но в целом я вам не рекомендую этим заниматься Гораздо Проще подрубиться либо, через месяц Это сделать

857
02:15:02.240 --> 02:15:09.030
Михаил Непряхин: Если Вы прямо для себя перед Проект, пишете либо, ну Сейчас конечно уже неактуально достал этот Ммм

858
02:15:09.160 --> 02:15:15.999
Михаил Непряхин: Сейчас все заблокированы сейпишники клауд флерата Раньше, самое простое было сделать с помощью клаудвера

859
02:15:16.310 --> 02:15:28.540
Михаил Непряхин: вот ну Можете попробовать в Какие то примеры следствием Клипта Так я фронт в отдельном проекте

860
02:15:30.310 --> 02:15:34.970
Михаил Непряхин: Так неспециализм да главное короче все Так задержались

861
02:15:35.570 --> 02:15:44.819
Михаил Непряхин: короче значит домашка такая Вы попробуйте У себя запускайте Ну вот вот как я сказал да запустите значит

862
02:15:45.110 --> 02:15:46.470
Михаил Непряхин: доктор компост

863
02:15:47.990 --> 02:15:56.570
Михаил Непряхин: а кстати у меня тут еще миграции были уже накачанные чтоб миграции накатить вот микроэтап еще делайте то есть как бы Две команды это

864
02:15:56.960 --> 02:16:08.759
Михаил Непряхин: э, Компост надо запустить и эмиграцию надо запустить вот и ну, вот посмотрите На вот вот здесь вот На панельку посмотрите На графану на эти трейсы

865
02:16:09.010 --> 02:16:09.680
Михаил Непряхин: по и

866
02:16:09.830 --> 02:16:18.600
Михаил Непряхин: эээ запустить этот посман и вот тоже, Там Эти, все запросы подергайте посмотрите как оно в базе данных будет создаваться.

867
02:16:18.900 --> 02:16:29.959
Михаил Непряхин: Вот и чтобы в следующий Раз, уже ну как бы более-менее ориентироваться. В проекте вот и дальше мы здесь будем говорить про тестирование про миграции

868
02:16:30.140 --> 02:16:35.879
Михаил Непряхин: и дальше про то как генерировать вот из этого апию и сервер и Клиент,

869
02:16:36.549 --> 02:16:46.830
Михаил Непряхин: вот ладно на сегодня все значит Один, здесь было интересно фонтанеры все все поняли сын давайте пока.

