background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023"

input logo icon
Теги видео
|

Теги видео

fs
online
maven
http
server
servlet
api
jetty
27-04-2023
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:02:15
Всем привет
00:05:22
[музыка]
00:05:27
Добрый вечер
00:05:31
Привет Привет
00:05:47
Поздравляю
00:06:39
Привет всем
00:06:44
Здравствуйте
00:07:16
неслышно
00:07:23
Нет не слышу ничего
00:07:44
может Только я не слышу
00:08:17
Добрый вечер Добрый
00:08:21
вечер
00:08:24
вместе или одна что
00:08:26
микрофон работает
00:08:30
Добрый вечер
00:08:33
Окей да что-то нас
00:08:37
полтора раза меньше, чем было
00:08:43
пережили
00:08:47
на все прожила проект
00:08:53
а в жизни будет еще сложнее Но если
00:08:57
честно
00:09:00
у меня именно сложные
00:09:03
задачи были в институте после того
00:09:07
каждым днем ​​все проекты проще
00:09:11
проще
00:09:14
и менее интересны чем были до того
00:09:19
А
00:09:21
что интересное что денег приносят больше чем
00:09:27
было есть какая-то такая полная
00:09:32
полносюры какие-то то есть
00:09:35
проектное интересное денег больше
00:09:38
то есть я так думаю что мы имеем дело
00:09:44
сплошным фактом что
00:09:47
ни компании ни люди никто не понимает что
00:09:52
это вообще такое
00:09:56
и потому платят деньги
00:10:00
[музыка]
00:10:01
потому что понимают что без этого вообще
00:10:03
ничего не будет
00:10:05
но все равно как-то странное все уйдет
00:10:14
А вообще как это Project
00:10:19
нормально и были какие-то проблемы которые
00:10:27
с которыми нужно было решать
00:10:34
с которыми непонятно что было делать
00:10:38
у меня была проблема заморочка потому что сразу
00:10:42
не знал как тестировать контроллера и
00:10:45
особенно
00:10:47
импут как
00:10:50
подменят я там уже разобрал в принципе
00:10:53
а идея
00:10:59
класса Консоль была в том чтобы сесть Мэйн
00:11:04
выбирать из реалиста
00:11:08
Когда вы будете в этом случае у вас
00:11:11
нет вопросов
00:11:13
что вы тестируете
00:11:15
Ибо выходит какая-то история если вы
00:11:18
правильно сделали
00:11:20
класс отвечающий за
00:11:25
Консоль то вы делаете другим документацию
00:11:29
консоли
00:11:31
в которой nextline просто берет
00:11:37
следующая строка из реестра
00:11:42
Ну я это думаю просто все буду строчку
00:11:46
проснул и просто разделил их
00:11:48
переносом на порядок
00:11:51
но идея та самая То есть Это хорошо что вы это
00:11:56
понятно А что для того чтобы протестовать
00:12:03
[музыка]
00:12:04
контроллер вам нужно Консоль фактически
00:12:08
здесь дело не только в консоли вот дело
00:12:13
в
00:12:16
зависимости какие
00:12:18
используете то есть если
00:12:21
использовать по типу систему
00:12:23
принтелем есть какие любой статический
00:12:25
метод который у вас есть
00:12:28
это проблема И вы не можете это
00:12:30
протестовать никак
00:12:33
но если вы
00:12:35
[музыка]
00:12:36
должны идти дело с интерфейсом Вы можете
00:12:39
написать
00:12:42
другого реализацию вашего интерфейса
00:12:46
будет
00:12:50
какая будет другая которая будет складировать
00:12:53
например в реалист
00:12:56
брать пуд с другого реалиста И все такое
00:13:01
и сможете тогда протестовать
00:13:05
я это решил просто
00:13:08
сети
00:13:10
другой импут подменял этот контроллер
00:13:16
или короче что-то похожее
00:13:20
Новая Идея та же
00:13:26
то есть единственная идея – это
00:13:29
каким-то образом
00:13:36
с которой мы работаем и
00:13:41
после этого как вы подмените у вас будет
00:13:45
возможность что-то
00:13:46
тестировать окей
00:13:50
поехали дальше
00:13:55
мы сегодня делаем
00:13:59
сегодня
00:14:06
мы начинаем очень интересный модуль
00:14:12
который называется
00:14:17
[музыка]
00:14:22
и здесь Да что мы делаем мы делаем
00:14:27
надо бейсик У нас есть свой по
00:14:30
максимальном
00:14:32
Окей
00:14:33
тогда что мы делаем мы в класс Work
00:14:39
Java говорим
00:14:44
или не так
00:14:50
я не знаю что это такое я иначе сделаю
00:14:53
я сделаю новый
00:15:05
когда я делаю модилу я скажу что он
00:15:11
Где он файл Model он будет называть
00:15:17
класс
00:15:19
Work
00:15:20
это будет Java это будет maven
00:15:25
проект
00:15:27
и идея в том что
00:15:34
он сделал здесь
00:15:37
немного не то что я планировал
00:15:43
А если сделать его
00:15:51
[музыка]
00:16:02
location
00:16:11
тогда делаем Тогда я сделаю здесь пару класс
00:16:15
Work папку
00:16:21
и
00:16:25
здесь у меня будет что-то по типу
00:16:32
[музыка]
00:16:33
sr7
00:16:44
я ему скажу что класс Work это будет
00:16:52
ага
00:16:57
А если я ему скажу где
00:17:03
определить онлайн
00:17:06
[музыка]
00:17:14
[музыка]
00:17:27
Он решил
00:17:29
по-другому да
00:17:32
можно так как вы попробовали сначала файл
00:17:36
модуль и дописать location Pass а Окей
00:17:42
тогда [музыка]
00:17:45
говорим что это Java Web
00:17:48
и он будет находиться на
00:17:57
верх никогда этого фактически
00:18:02
наделаю я пишу каждый раз
00:18:12
делают чистый
00:18:15
что такое откуда
00:18:27
файл
00:18:34
находиться будет
00:18:37
упражнение
00:18:39
на автоматом переименовал когда вы
00:18:42
начали писать
00:18:44
поэтому он Тайлер
00:18:57
и находить это будет в класс Work
00:19:01
да да
00:19:03
надеюсь что все будет хорошо
00:19:15
[музыка]
00:19:20
Окей находится в
00:19:24
называется
00:19:47
победа
00:19:51
появился класс Work Super это то, что было
00:19:55
нужно
00:19:58
Да маленькая но победа
00:20:01
Так что мы едем дальше да
00:20:05
это будет
00:20:08
Project name название у него будет
00:20:17
Простите, пожалуйста, а там меня просит
00:20:20
архетип
00:20:23
Ничего
00:20:26
чем проще тем лучше эти все архитеилы
00:20:31
этих Да как-то все очень сложно не
00:20:34
пропускает без него не знаю у меня
00:20:37
пропустили
00:20:40
Окей у меня была единственная идея сделать
00:20:44
написать по максималу руками Это единственное что
00:20:47
мне было нужно
00:20:49
это у меня все это история единственное что я себе
00:20:52
сюда заберу я сюда заберу в районе
00:20:57
для того чтобы иметь возможность писать
00:21:00
какой-то тест
00:21:02
и теперь
00:21:08
я
00:21:10
его переименовываю
00:21:17
да
00:21:19
я надеюсь что это работает и
00:21:24
двигаемся дальше супер
00:21:27
да
00:21:31
это модуль будет
00:21:33
немного другой по предыдущей потому что в
00:21:38
предыдущем модуле должен изучаться Java
00:21:41
Сейчас мы фактически
00:21:43
будем изучать не Джаву
00:21:47
А будем изучать одну из
00:21:51
библиотек
00:21:53
а
00:21:55
о какой библиотеке идет речь идет речь о
00:21:58
библиотеку, которая обеспечивает возможность нам
00:22:01
писать веб-серверы
00:22:04
то есть когда мы открываем
00:22:10
да
00:22:14
когда мы идем
00:22:16
сюда и пишем
00:22:21
w
00:22:22
Google
00:22:24
что-то случается правильно
00:22:29
и
00:22:30
что мы будем писать сегодня
00:22:34
будем писать
00:22:37
наш сервер
00:22:39
который будет отвечать на следующие запросы
00:22:46
Окей и для того чтобы это
00:22:51
сделать
00:22:53
первое что нам нужно привлечь
00:22:57
А нам нужно
00:23:05
А нам нужно
00:23:18
для тех кто экспериментирует А сам я сейчас
00:23:22
закусываю этот код
00:23:25
А в каком будет эти два
00:23:32
сервер
00:23:40
[музыка]
00:23:49
что это
00:23:52
я
00:24:12
Да это история
00:24:15
какие можете вести себя Если вы хотите
00:24:22
Давайте начнем
00:24:26
простого сейчас меня с этой так сказали
00:24:29
Давайте мы напишем программу какая-то
00:24:33
делает
00:24:38
а после этого будем
00:24:43
разбираться например цвет
00:24:46
Окей А мы делаем
00:24:56
на котором портируются сервер будет
00:24:58
работать
00:25:00
конце концов мы говорим Server Start
00:25:06
а также нужно сделать
00:25:13
конечно Эта история может сломаться
00:25:18
То есть нам надо эту историю поставить а
00:25:22
разрешить
00:25:24
Station
00:25:26
и в принципе Эта история уже работает
00:25:32
а работать
00:25:37
А еще нам
00:25:40
имеем
00:25:47
и мы имеем очень хороший ответ
00:25:57
что мы сейчас Имеем сделать мы имеем
00:26:00
сделать так чтобы здесь что-то соответствовало и
00:26:05
Как только мы сделаем
00:26:07
А переходим к объяснениям и к тому чтобы
00:26:13
разобраться что здесь происходит
00:26:16
Окей А чтоб
00:26:23
это
00:26:24
эту историю у нас на сервере есть такая штука
00:26:29
которая называется Set
00:26:32
Under
00:26:34
но и она ждет хендлера
00:26:39
А этот хендлер это как всегда интерфейс и
00:26:44
на интересующий
00:26:49
одна с йогой
00:26:51
[музыка]
00:27:00
а оказалось
00:27:02
[музыка]
00:27:16
[музыка]
00:27:17
Но для того чтобы он что-то
00:27:23
А ему нужно
00:27:27
сказать что он это
00:27:29
эмблер есть хендлер
00:27:41
какие будет что-то
00:27:45
окей болдер
00:27:51
какой мы будем иметь в корень
00:27:56
а в сервлет холдера нам нужно положить
00:28:10
на тот сервет
00:28:12
мне нужен
00:28:18
все забыл
00:28:23
после
00:28:25
и мне интересно метод дуэт
00:28:29
и я здесь Что делаю Я
00:28:32
говорю драй
00:28:35
Resort
00:28:42
RiDer и это будет
00:28:50
я говорю
00:28:52
[музыка]
00:28:56
it
00:29:00
[музыка]
00:29:03
а Надеюсь что эта история заработает и
00:29:07
будем сейчас разбираться что мы здесь
00:29:10
написали
00:29:16
окей
00:29:18
это у нас хорошо Все у нас работает
00:29:25
Давайте начнем с вопросов кому понятно
00:29:29
что мы вообще сделали
00:29:32
есть ли такие люди
00:29:38
а в нем вызвали тип сервис
00:29:41
может два меда использовать или пост и
00:29:44
обратились к методу Reader
00:29:53
Rider
00:29:56
будет ли отрабатывать на борту 880
00:30:04
давайте распиливать это на кусочки и
00:30:08
вообще
00:30:11
давайте нарисуем что мы
00:30:15
написали так где
00:30:19
где
00:30:30
находится
00:30:40
к этому моменту мы писали коды, которые мы
00:30:43
запускаем
00:30:44
имеющий точку входа
00:30:47
какой-то
00:30:50
делает что-то пишут что-то читает что-то пишет
00:30:55
что-то читает и прочее и потом говорит
00:30:58
Правильно
00:31:03
это было до сих пор
00:31:05
после сегодня
00:31:08
история полностью изменилась
00:31:12
то есть конечно Она изменилась у нас все
00:31:16
одно есть Мэйн
00:31:18
точка входит
00:31:21
но наш Mine пока ничего не делает
00:31:27
что делает Mine
00:31:30
если посмотреть
00:31:31
[музыка]
00:31:34
если
00:31:35
сложить эту историю бабина мне
00:31:39
не очень интересна Мне интересно
00:31:44
то что
00:31:50
а мой мэн пока упс
00:31:55
Он все же присутствует
00:31:58
но у него немного другая семантика
00:32:02
он делает instantserve
00:32:07
он его запускает
00:32:11
для того чтобы он что-то
00:32:17
мы делаем этот Set Hunter
00:32:21
а для того чтобы этот сетхендлер что-то делал
00:32:26
моем говорим как это хенлиты
00:32:31
и говорим На каком поте это будет
00:32:35
работать
00:32:37
и после этого мы пишем уже
00:32:42
имплементация
00:32:46
нашего сервера
00:32:51
что когда кто-то
00:32:55
выходит на htp
00:33:03
Local Host
00:33:07
880
00:33:10
тоже А он браузеры
00:33:31
принципы – это то, что мы написали
00:33:35
[музыка]
00:33:38
что здесь надо понять что
00:33:42
вот этот
00:33:47
движение какое
00:33:48
нас интересует
00:33:52
и вот наш код, который мы написали
00:33:57
он появился в браузере
00:34:04
Или это как-то понятно
00:34:14
кто-то меня слышит Это получается как
00:34:18
стандартный Player Play ну эта
00:34:20
инициализация
00:34:25
это минимальный минимальный бойлерплей
00:34:28
для того чтобы хендлеты
00:34:37
плюс выделяющийся поток методом старт да
00:34:44
немного по-другому для того чтобы это
00:34:48
работало
00:34:50
небольшой интро о мультипоточном
00:34:54
программирование
00:34:57
все выполнялось в одном потоке после
00:35:01
того как мы сделали Старт
00:35:05
у нас этот email
00:35:11
и мы в этот момент когда мы сделали Старт
00:35:16
мы сделали новый поток
00:35:21
не выполняется наш сервер
00:35:26
мы сделали для того чтобы это было исключительно
00:35:30
как
00:35:36
Java для ибо если мы не сделаем этот join
00:35:40
а поток Мэйн
00:35:42
закончится и закончится весь
00:35:45
аpplication есть фактически
00:35:49
этот join нужен для того чтобы это имущество
00:35:53
никогда не кончился он фактически
00:35:55
подключаем мы также к этому серверу и
00:35:59
этот сервер становится наименованным и он никогда
00:36:02
не заканчивается
00:36:06
быстрее чем основной
00:36:09
для того чтобы никогда не кончился
00:36:13
потому что Как только мне закончится
00:36:15
закон все приложение
00:36:20
просто говоришь что нужно
00:36:25
соединить главный трек с дочерью
00:36:40
но вы у вас это
00:36:44
никоим образом не касается
00:36:48
после этого
00:36:49
[музыка]
00:36:51
все что вы пишете Вы пишете кучу
00:36:54
серблетов
00:36:55
обезьяны их на кучу разных
00:37:00
углов
00:37:03
и пишете по-разному
00:37:06
имплементацию
00:37:09
и на этом А можно вопрос это будет в
00:37:12
рамках одного от этого потока да Если
00:37:14
допустим один Путин второй третий
00:37:16
четвертый пятый я не будет типа в одном
00:37:18
потоке И все происходит
00:37:20
несколько потоков таких нет
00:37:24
следующий запрос приходит стартует в
00:37:27
новом потоке
00:37:29
А как определить
00:37:32
или он там сам автоматически будет
00:37:34
определять какое обрабатывать
00:37:37
А это не ваша задача это задача сервера
00:37:40
обрабатывать
00:38:02
тяжелое серьезно туда вам не нужно ходить
00:38:06
даже Я не всегда понимаю Что там
00:38:09
творится и это мне никак не мешает писать
00:38:13
хороший код Вот вам проверять здесь нечего
00:38:15
не надо но автоматом
00:38:19
фактически
00:38:37
он как-то Сам разбрасывает как онагрузку
00:38:43
Когда когда он кончится
00:38:48
наш наш трек когда он упадет Как понять
00:38:52
когда упадет на сервер
00:38:56
он нападет он будет работать
00:39:03
можете найти достаточно посмотреть сколько
00:39:06
он сможет
00:39:08
выдержать это домашнее задание
00:39:13
так попросился и по ядрам он сам
00:39:16
разбрасывает
00:39:17
[музыка]
00:39:19
это все его история
00:39:22
У вас есть
00:39:25
одна называется АБ и одна называется
00:39:32
конечно можете тестировать чем-то другим но
00:39:36
Эти две
00:39:39
дают возможность ранить по реквестам.
00:39:43
одновременно
00:39:53
их нужно дополнительно устанавливать их нет
00:39:58
Vodafone и установлены
00:40:01
список
00:40:10
но
00:40:12
я использую Когда мне нужно
00:40:14
сделать какое-то
00:40:16
тестирование на количество
00:40:23
Окей А давайте распиливать давайте немного
00:40:27
вернемся вообще что такое http и чтобы
00:40:31
вообще творится
00:40:34
когда мы пишем что-то такие браузеры
00:40:41
Елена пишем наши сроки браузера
00:40:51
[музыка]
00:40:52
Google
00:40:55
практически
00:40:57
прежде всего имеет два
00:41:02
к DNS серверу
00:41:06
и нас сервер не отвечает
00:41:09
Google
00:41:13
фактически находится по какой-то
00:41:17
адрес например
00:41:23
8 8
00:41:25
3 5
00:41:28
А этот номер может быть каждый из этих каждых
00:41:33
цифр может быть в диапазоне от нуля до
00:41:38
2005 есть минимальный адрес это 1 1 1
00:41:44
максимальная это
00:41:47
254 254 254 254 а там есть куча
00:41:56
специализированных значений но идет в том
00:41:59
что каждое значение – это один байт
00:42:03
от нуля до 55 А если
00:42:08
[музыка]
00:42:09
это значение не
00:42:12
есть bython то это навалидный ip-адрес этот
00:42:18
ip-адрес
00:42:25
А еще он называется IP
00:42:29
видите еще есть
00:42:32
ip6 но мы этого взялись писать не
00:42:37
будем касаться
00:42:43
то есть первым образом идет перевести на
00:42:47
Диас потом мы
00:42:48
[музыка]
00:42:52
имеем адрес куда идти дальше
00:42:56
следующим пунктом сервер
00:42:59
а запрос на
00:43:02
8 8 3 5
00:43:06
1 но http
00:43:13
[музыка]
00:43:15
и после этого получает результат вот этот
00:43:19
момент
00:43:21
в принципе работает наш сервлет
00:43:29
когда мы говорим Local Host
00:43:35
или
00:43:36
127 0 0 1
00:43:40
это означает что она никуда не идет
00:43:43
остается на локальной машине мы когда
00:43:48
говорим этот колхоз мы выбираем
00:43:52
выбрасываем этот реквест
00:43:55
и сразу идем на нашу локальную машину
00:44:01
то есть когда мы написали
00:44:05
http
00:44:10
locost
00:44:15
agaet
00:44:25
на Local Host
00:44:30
и на порт
00:44:32
80
00:44:50
говорит нам
00:44:51
[музыка]
00:44:52
Алло
00:44:58
Мы получим этот результат в нашем
00:45:01
браузеры
00:45:04
понятно
00:45:06
так можно вопрос так часто
00:45:09
вопрос где мы берем эти таблицы ДМС
00:45:14
и какая это почка если нет в одном Куда
00:45:17
мы идем дальше
00:45:22
окей
00:45:24
первым образом должно смотрим ли это
00:45:39
второе
00:45:41
этапы мы проверяем файл и это кость
00:45:48
если в нем что-то написано мы игнорируем
00:45:52
request
00:45:59
gpc
00:46:02
а здесь может что-то быть прописано но
00:46:06
здесь у меня прописано что кабернеты с
00:46:09
докеры черного должны разовываться на 127
00:46:13
001 то есть если я напишу
00:46:17
а он будет говорить мне
00:46:21
001 если я сюда напишу
00:46:35
вот по типу
00:46:38
27.01
00:46:44
.2
00:46:50
Да это будет конечно тоже А работать И когда
00:46:54
я
00:46:57
пишу
00:47:01
бла-бла-бла
00:47:07
80 80
00:47:10
я
00:47:12
да
00:47:16
блабла 80-80 я прихожу
00:47:21
сюда понятно
00:47:26
Ну и после этого если пута
00:47:32
ничего не нашлось и мы делаем DNS
00:47:36
request как по серверам разбросано по
00:47:40
всему миру она синхронизируется это
00:47:42
наша история понимать как это
00:47:46
работает
00:47:48
Но
00:47:49
для того чтобы это работало эти серверы
00:47:54
каждый каждый из этих серверов держит большое
00:47:57
большой хашмак
00:48:00
и когда мы спрашиваем сервис сервер он
00:48:04
ищет в этом хлешмобе выдает на
00:48:06
ip-адрес
00:48:10
особенно
00:48:20
Linux или на матч подобных А она Windows
00:48:25
Я не знаю где он находится
00:48:30
но где-то есть
00:48:33
но где-то есть
00:48:36
потому что эта история как-то работает и работает
00:48:42
просто другую локация другое имя
00:48:50
на локальной машине мы Как клиенты Как
00:48:53
сервер да когда локальному посту от
00:48:56
обращаемся
00:48:58
относятся в данном случае клиенту
00:49:01
клиенту
00:49:08
А потому что
00:49:11
сервер браузер инициирует запрос
00:49:16
Когда мы браузера пишем Куда нам надо
00:49:21
браузер
00:49:23
отдаёт запрос операционной системе
00:49:25
операционная система ищет
00:49:29
то что мы попросили в таком порядке
00:49:33
браузера это ответственность
00:49:36
операционная система в конце концо
00:49:39
операционная система должна выдать
00:49:42
ip-адрес
00:49:47
браузер
00:49:49
Вот можно сказать Так что у нас есть
00:49:55
браузер
00:50:00
браузер радиаторной системы операционная
00:50:03
система идет а проверяет на 127 0 0 1
00:50:09
затем проверяют это
00:50:15
потом медиатор
00:50:18
[музыка]
00:50:26
возвращает IP адрес браузера
00:50:35
диалект запрос
00:50:52
давайте сторону называется
00:51:02
[музыка]
00:51:04
этот обмен А эта история
00:51:07
называется http
00:51:12
гипертекст трансфер протокол
00:51:16
[музыка]
00:51:19
Фактически это
00:51:20
текстовый протокол и Фактически это
00:51:24
реквестринство
00:51:27
текст, который идет на сервер его перца
00:51:31
разбирает и затем генерирует этот
00:51:40
добавилась информация как это работает
00:51:54
Алеша вообще как-то сегодня Тихо
00:51:59
брал Очень спасибо на молекулы просто все
00:52:03
прекрасно
00:52:04
Это к тому
00:52:08
Я не знаю я уже как объяснить
00:52:12
Ну на самом деле да есть это уже Я разобрал
00:52:16
его полностью
00:52:19
даже не знаю что здесь больше там еще
00:52:22
добавить tcp как только ты покрываешь ну
00:52:27
обертывает сам тысячи но это уже слишком в
00:52:31
меня будем сейчас опускаться к этим
00:52:33
семей или это будет на сегодня на
00:52:39
сегодня вы должны понимать что есть какие-то
00:52:41
реквест есть какие-то респонденсы и на этом
00:52:43
все
00:52:47
аудито здесь
00:52:48
типа как бы Класс к какой-то получается
00:52:51
что мы его ну типа мы принимаем вот это
00:52:54
вот respons и мы сравниваем ну мы
00:52:57
принимаем именно класс или ну как-то
00:53:00
трансформируется из тех
00:53:02
это
00:53:04
абстракция которая нам дается
00:53:07
библиотекой фактически имеет наш сервер
00:53:12
это коллекция
00:53:17
правильно
00:53:19
пункты
00:53:35
проверить А есть ты какое-то
00:53:40
рулетка который умеет
00:53:42
захендлить море квест правильно
00:53:48
вот это штука
00:53:50
Теперь я принимаю квест
00:53:53
р давайте чешутся
00:54:03
иметься на какой-то путь
00:54:07
в данном
00:54:08
случаемся на
00:54:11
Флэш
00:54:13
он может быть перемен
00:54:17
на
00:54:23
и так далее
00:54:25
Окей
00:54:26
и год
00:54:36
[музыка]
00:55:12
и в корень без параметра
00:55:19
сказать что
00:55:21
секунды закон за что нет должнывировать
00:55:31
это Функция response
00:55:35
ну по дизайну Java
00:55:38
это
00:55:41
класс рулет котором
00:55:44
дупоста и так далее
00:55:49
именно и мы в спонсор что то пишем
00:55:56
[музыка]
00:56:00
посмотрите
00:56:04
что мы делаем не усерлет
00:56:09
принимаем реквест через
00:56:38
синоним Connection да
00:56:42
нет
00:56:43
Connection The Connection отвечает сервер
00:56:49
весь здесь ничего не говорите о
00:56:52
Connection
00:56:55
ответственность сервера
00:56:58
ответственность рулета
00:57:01
квест
00:57:04
respons
00:57:09
ответственность сервера
00:57:13
на карту не сервера гендлера
00:57:18
должно делаем
00:57:21
на хелмере
00:57:23
время мы тогда распыляем и будет
00:57:28
а Окей давайте распыляем и одеждой
00:57:36
я сделаю
00:57:44
себя были текстильные
00:57:54
и будете в радость
00:57:57
моя
00:58:04
Можно вопросы по фото как вы
00:58:09
выбираете вставили
00:58:27
или Ctrl N и выбираете комендент и
00:58:31
выбирают
00:58:35
можно в слайд записать частенько
00:58:38
просматриваю слайды там быстрее найти эту
00:58:42
информацию чем ведьма
00:58:45
но и информацию
00:58:47
[музыка]
00:58:48
написать этот уголки
00:58:51
это будет быстрее, чем просматривать видеозано
00:58:55
в телеграмме
00:58:56
нет нет у слайдов уроки слайда написать
00:59:01
[музыка]
00:59:17
[музыка]
00:59:25
[музыка]
00:59:36
и считают
00:59:40
или Ctrl
00:59:49
Спасибо или альпинсет для Windows
00:59:53
здесь я вам не смогу помочь
00:59:57
все для Windows
01:00:00
Окей можно право клавишу мыши нажать там
01:00:06
будет generate И generative в списке
01:00:10
Найти
01:00:12
[музыка]
01:00:18
а Окей А меньше это очень сложно
01:00:24
она бы найти мышь Миша не всегда под
01:00:27
рукой
01:00:29
больше я 90% делаю все же на
01:00:32
клавиатуре
01:00:34
Окей То есть мы сделали сервлет
01:00:40
и теперь мы говорим
01:00:43
вместо этого кода
01:00:48
Мы забираем чтобы
01:00:57
все начинает и все становится более-менее
01:01:00
гораздо лучше гораздо чаще
01:01:05
и фактически сейчас можно очень легко
01:01:08
понять что если нам нужно купить
01:01:11
на разных путях
01:01:15
поэтому просто добавляем этих салфеток
01:01:23
Я ем что-то синтаксис этого
01:01:29
А мы можем просто написать
01:01:37
это тоже работает
01:01:41
и даже хуже
01:01:46
мы можем написать
01:01:49
или салфетка но
01:01:53
полностью
01:01:58
Я тоже работаю
01:02:01
но есть определенные ограничения
01:02:06
если вы здесь
01:02:09
сделайте какую-нибудь хайпу
01:02:13
о
01:02:16
и запустить эту историю
01:02:20
то вы
01:02:23
закончить с acception Нет такого класса
01:02:35
но я Затем расскажу почему мы Фактически это
01:02:40
никогда больше не используем прежде
01:02:44
все это не очень безопасно, потому что эта стримка
01:02:47
себе можно передать передать все что
01:02:49
угодно
01:02:51
это такое себе
01:02:59
точку зрения Валентина
01:03:02
но такие синтаксис все равно есть
01:03:05
мы рассмотрим только этот вариант и
01:03:08
рассмотрим этот вариант чем они
01:03:10
потому что они отличаются
01:03:13
очень-очень серьезно
01:03:19
здесь для того чтобы показать чем меня
01:03:23
отличается
01:03:28
я напишу
01:03:31
да сервлет
01:03:36
я делаю конструктор
01:03:42
но кроме того что супер я говорю
01:03:56
Я хочу показать
01:03:58
это очень важный момент когда я здесь там
01:04:03
стартовый сервер
01:04:06
конечно
01:04:08
конструктор будет
01:04:11
выполнен
01:04:14
определенный момент когда стартует мой сервер
01:04:16
правильно есть до момента
01:04:18
теперь старт у сервера
01:04:22
мы
01:04:24
сердец будет построен понятно
01:04:38
но
01:04:40
если я
01:04:42
буду использовать такой синтаксис
01:04:47
то
01:04:51
видим мы какой-то на экране
01:05:00
[музыка]
01:05:08
когда мы
01:05:10
сделаем request
01:05:18
тогда он
01:05:20
создастся понятно
01:05:22
[музыка]
01:05:27
да наверняка лучше меньше памяти занимает А
01:05:31
но есть нюанс
01:05:35
если мы сервлет будет нуждаться
01:05:38
параметров
01:05:41
я не смогу использовать такой
01:05:44
синтаксис правильно
01:05:51
если мой сервет будет нуждаться
01:05:56
какие-то параметры
01:06:01
К примеру
01:06:04
у меня будет
01:06:08
[музыка]
01:06:16
и он будет у меня
01:06:19
параметром
01:06:22
и
01:06:23
вместо этого я буду паковать Hello
01:06:26
nessage отсюда
01:06:36
А еще будет, если я напишу
01:06:40
напишу такой синтаксис Как вы думаете да
01:06:43
считаете
01:06:52
А какие будут seption
01:07:11
[музыка]
01:07:15
То есть нет конструктора без параметров
01:07:18
видите
01:07:21
Get Constructor Zero А есть он
01:07:26
ранит Constructor Zero то есть без
01:07:29
параметров
01:07:30
и говорит что нет такого конструктора
01:07:35
и потому
01:07:40
99%
01:07:45
должен будем использовать такой
01:07:46
синтаксис
01:07:50
но если сервлет не требует параметров
01:07:54
никаких для своей конфигурации то
01:07:57
абсолютно окей
01:08:00
иметь такой синтаксис
01:08:03
но сегодняшнем мире Я не вижу
01:08:07
вариантов использовать такой
01:08:09
синтаксис
01:08:11
потому что
01:08:15
нам нужно будет передать или SQL
01:08:18
Connection или какой-то параметр потому что сам
01:08:21
сервлет без параметров скорее всего
01:08:26
нет никакого смысла правильно
01:08:30
чем-то работает
01:08:34
и это что-то
01:08:36
должно быть передано ему
01:08:41
параметрах правильно
01:08:48
поняла
01:08:50
в данном случае но это будем быть может
01:08:54
поскольку Nation это может быть какой-то файл
01:08:56
и все такое
01:09:05
Окей Давайте сделаем перерыв
01:09:10
после перерыва будем двигаться дальше а
01:09:14
можно попросить
01:09:16
вопрос с тем что Ну не ранится у меня
01:09:19
проекты которые вы запули что это может
01:09:22
быть
01:09:25
[музыка]
01:09:38
[музыка]
01:09:48
запустить
01:09:52
по максималь
01:09:55
им
01:09:58
[музыка]
01:10:03
и упс
01:10:07
А теперь говорим Link
01:10:10
и Java letter этого снова
01:10:13
становится То есть мы говорим можем сказать
01:10:19
maven
01:10:24
мы можем взять этот файл и сказать ему
01:10:28
правой кнопкой
01:10:33
Project File можно взять
01:10:36
Java Web класс по максимел правая кнопка
01:10:43
и он прибавится
01:10:47
сюда
01:10:51
[музыка]
01:10:54
понятно Да
01:10:57
вот
01:11:05
Окей так делаем перерыв
01:11:16
торт
01:26:19
окей
01:26:21
двигаемся дальше
01:26:26
поэтому это важно
01:26:29
эти реквеста через
01:26:34
а потому что
01:26:37
100% интернета
01:26:41
где http-запросы
01:26:47
поэтому
01:26:49
читать Что такое протокол
01:26:56
Обязательно
01:27:02
следующий момент который мы будем
01:27:05
разбирать
01:27:07
как передавать какие-то параметры
01:27:11
к примеру
01:27:14
Я хочу сделать
01:27:17
калькулятор калькулятор
01:27:20
который будет находиться
01:27:25
который будет мапаться на флеш
01:27:28
мне нужно передать ему
01:27:40
синтаксис следующий
01:27:44
мы говорим знак вопроса говорим х = 5
01:27:52
и
01:27:56
крик = 7 5 центр значения
01:28:02
первое – это
01:28:04
[музыка]
01:28:05
делиметр выделяющий
01:28:09
все чтобы было до того
01:28:14
этот орел
01:28:16
от параметров
01:28:19
далее а это курсант
01:28:24
разделяет все параметры, если их больше
01:28:27
чем один далее каждый последующий каждый
01:28:31
параметр имеет имя
01:28:36
и каждый параметр имеет знак
01:28:42
равно
01:28:53
как разобрать
01:28:55
эту срока для того
01:28:59
чтобы сделать наш калькулятор
01:29:05
Окей А
01:29:08
то есть чтобы мы сейчас у меня есть
01:29:14
халосерблед я копирую делаю из него
01:29:22
И что я делаю дальше с этим салфетом я его
01:29:26
добавляю
01:29:30
к
01:29:35
колледжа
01:29:38
будет и он будет
01:29:46
он будет делать он будет
01:29:52
на моем реквесте
01:30:12
конечно он ничего не знает о том что это
01:30:18
потому что там может быть все что угодно
01:30:22
правильно
01:30:26
А сейчас на фокус проверять что там есть
01:30:31
чего там нет
01:30:33
но
01:30:34
мне нужно написать что х =
01:30:54
мне нужно написать
01:31:05
где
01:31:29
[музыка]
01:31:33
что-то такое
01:31:36
как вызвать этот сервер очень просто
01:31:50
эксперимент 5
01:31:53
И Y = 18
01:32:00
и
01:32:02
Воля
01:32:09
[музыка]
01:32:14
браузер
01:32:20
Вот так + 7 = 12 супер
01:32:24
именно научили это меня училась передавать
01:32:29
параметры
01:32:32
Это очень большой рак
01:32:37
а напоминаю 100% трафика в интернете это же
01:32:41
те трафик
01:32:43
и все это передается
01:32:47
через параметры
01:32:52
А как делать Не обязательно параметры
01:32:59
а ифами
01:33:07
А если вы напишете здесь
01:33:18
какое-то что-то такое что вам получить как
01:33:21
результат
01:33:28
правильно у меня получите acception
01:33:32
поэтому если параметр делать
01:33:36
общину Не обязательно это исключительно То как
01:33:41
вы здесь напишете в своем Коде
01:33:51
Но это уже чисто Java не имеет ни одного
01:33:57
отношение к салфету
01:34:01
есть API которое позволяет
01:34:06
забрать
01:34:09
милый
01:34:10
параметры правильно
01:34:14
и Имейте в виду любой параметр – это
01:34:16
Стремительно
01:34:20
То есть нет никаких гарантий, что вам будет
01:34:22
переконвертируемый в
01:34:25
туда куда нам нужно есть здесь нужно
01:34:29
очень много валидации
01:34:33
Окей А что я хочу сейчас сделать
01:34:38
Я хочу написать сервлет, который будет
01:34:45
вкладывать добавлять
01:34:49
произвольное количество чисел
01:34:57
как мы можем это сделать
01:35:02
возможно и какие варианты какие когда
01:35:05
параметры попадут в массы
01:35:08
или у мат скорее у мать если там есть ключ
01:35:14
Да
01:35:16
здесь у нас вообще есть
01:35:19
куча вариантов
01:35:22
А Первый вариант – это
01:35:25
сделать на этом реквесте
01:35:32
Get а параметры
01:35:38
и он дает нам очень интересный
01:35:50
И что здесь интересного
01:35:51
что он составит все что нам то что у нас есть
01:35:59
в этот мак
01:36:02
а фактически Давайте сделаем
01:36:05
[музыка]
01:36:08
сам сервер один
01:36:16
калькулятор разбираем берет сам берем
01:36:20
один один
01:36:22
а и я хочу иметь возможность
01:36:26
ранить один
01:36:31
А равна 3
01:36:35
B = 4
01:36:39
Это равно 5
01:36:44
я могу спросить для параметр
01:36:49
потом могу сказать что int
01:36:53
и равно нулю
01:36:57
дальше я могу проятерироваться
01:37:02
через пол параметры
01:37:08
и это
01:37:11
немного
01:37:18
[музыка]
01:37:26
и здесь дальше что я сделаю я напишу что
01:37:30
за =
01:37:41
[музыка]
01:37:44
но вопрос
01:37:46
почему там
01:37:49
Рэй и все же ему нужно сделать интерьер
01:37:55
Past
01:37:58
что-то такое
01:38:00
Здесь я ему
01:38:04
нашел какую-то историю
01:38:14
[музыка]
01:38:18
и здесь я напишу что
01:38:29
Я добавляю
01:38:36
[музыка]
01:38:49
да
01:38:52
да а сюда добавляю
01:38:57
и если
01:39:02
он не пустил
01:39:11
если он не пуст
01:39:14
тогда я тогда
01:39:17
еще добавлю
01:39:24
А где здесь я
01:39:27
пишу что
01:39:31
пантес равен
01:39:44
он сам это сделает
01:39:46
Окей А и здесь очень интересно, что мы можем
01:39:51
писать
01:39:53
Ага Ничего у нас не сработает потому что
01:40:07
нужно его
01:40:10
сюда
01:40:21
а первое мы имеем эту историю
01:40:29
[музыка]
01:40:34
И в зависимости сколько мы передадим здесь
01:40:36
как мы его
01:40:39
назовем
01:40:45
Она работает
01:40:47
конечно здесь нет ни одного но
01:40:53
это другая история
01:40:57
Первый вариант как мы можем собрать эти
01:41:00
параметры
01:41:02
но что здесь плохо что все параметры
01:41:04
называются у нас разными буквами
01:41:08
может это Неплохо но это
01:41:14
не самый лучший вариант
01:41:17
поэтому
01:41:19
Я хочу сделать инструмент и показать
01:41:22
другой вариант как мы можем это
01:41:26
сделать
01:41:35
сам два Я хотел бы написать а = 3 а = 4а
01:41:43
= 5
01:41:49
здесь будет вопрос А как я могу для одного
01:41:54
значение использовать много раз
01:42:02
написать А =
01:42:04
3,4,5
01:42:06
А ждите
01:42:11
А я могу написать в данном конкретном
01:42:14
случае
01:42:16
что все мои параметры – это
01:42:21
полтораметр
01:42:27
это будет АС и мы будем итироваться через
01:42:34
АЭС
01:42:39
и здесь у меня
01:42:47
будет А это будет а
01:42:52
где в том что мы
01:42:59
поскольку нам здесь возвращается массы
01:43:06
мы можем использовать такой
01:43:08
синтаксис
01:43:11
это очень часто используется
01:43:15
Когда нам нужно передать
01:43:17
[музыка]
01:43:20
типа параметров
01:43:22
1 типа который будет
01:43:26
работать
01:43:30
А = 3 а = 4а = 5 что такое
01:43:36
где мы написали что-то новое
01:43:42
а наименование стрелета
01:43:45
исправил когда-то
01:44:01
смотрим, что нам здесь написали
01:44:05
супер все работает
01:44:08
сколько бы сюда не прибавляли
01:44:14
Она работает так как нам нужно
01:44:18
и еще один момент
01:44:27
что мы можем написать
01:44:31
три
01:44:33
четыре
01:44:35
пять
01:44:37
я уверен что так можно но если вы
01:44:40
говорите это пожалуй можно
01:44:49
пожалуй нельзя
01:44:50
договора, который можно написать так
01:44:54
я говорил
01:44:56
Кто-то говорил почему-то Я уверен что да
01:44:58
можно было но нет
01:45:03
и возможно как-то по-другому можно эту
01:45:06
перситы
01:45:07
а конечно надо это по-другому полностью
01:45:10
по-другому вас
01:45:13
это будет третья версия
01:45:16
Я даже не знал что так можно и
01:45:18
оказалось что тактики нельзя
01:45:23
три и почему делаем поскольку
01:45:28
[музыка]
01:45:29
мы знаем что эти АЭС пришли сюда, но
01:45:35
они
01:45:36
пришли сюда Я ему говорю что это Сплит
01:45:44
это будет насыщенных
01:45:49
и теперь все будет у меня работать
01:45:53
[музыка]
01:45:55
держать сам три
01:46:00
и должно работать с этим
01:46:02
[музыка]
01:46:21
да да seption
01:46:25
[музыка]
01:46:48
Так мы имеем кучу разных вариантов
01:46:52
как передавать наши параметры как их
01:46:55
персики что с этим
01:46:58
делать
01:47:00
вопрос так мы можем сами берутся мы
01:47:05
просто взяты распастит Ну как нам конечно
01:47:11
Если у вас есть желание сейчас париться
01:47:17
то у нас есть такая история Извините я
01:47:20
напечатаю Консоль просто чтобы вы знали что
01:47:22
такое есть
01:47:25
здесь есть такая штука
01:47:27
которая называется covery Stream
01:47:33
видите
01:47:35
хверы String - Это будет просто Стремительная
01:47:39
после
01:47:42
этого Когда еще марка
01:47:48
которая пришла сюда видите
01:47:55
А кроме
01:47:58
скверовка еще интересного
01:48:05
Здесь вообще очень много всяких видов
01:48:10
аварии String параметр это мы знаем уже
01:48:14
протокол
01:48:17
Как вы думаете что будет протокол
01:48:23
ние
01:48:26
http
01:48:28
S
01:48:31
будет
01:48:35
http или
01:48:38
что нас еще здесь интересует
01:48:42
Кокер у нас будут потом
01:48:44
[музыка]
01:48:45
лидеры будут потом
01:48:47
есть метод
01:48:53
Дальше есть
01:48:58
тест
01:49:01
есть
01:49:04
Юрий
01:49:08
я это все покупал а склад для того чтобы за
01:49:13
один раз посмотреть все же что мы
01:49:16
можем достать
01:49:22
или достаточно
01:49:27
Body а во-первых
01:49:29
[музыка]
01:49:35
[музыка]
01:49:39
это эта история после Марка
01:49:47
протокол – это http или
01:49:54
метод в данном случае это
01:50:00
а Past translate я не помню что это
01:50:03
такое Это
01:50:06
то есть куда мы пришли
01:50:11
И еще что здесь интересного
01:50:46
[музыка]
01:50:50
а также есть
01:50:52
5 журнал
01:51:05
мы можем очень легко
01:51:09
посмотреть
01:51:19
что меня здесь больше всего интересует Меня
01:51:22
интересует здесь и
01:51:27
окей
01:51:31
а беритесь
01:51:32
тема разобрали
01:51:35
разобрали
01:51:39
А реквестирии это полный путь
01:51:57
а
01:51:58
старлет пас сам три но здесь надо
01:52:02
понять чем отличается квестов Рай
01:52:05
и там три например
01:52:09
Окей он решил что этот
01:52:22
показать что
01:52:26
если это будет что-то
01:52:30
больше чем
01:52:36
там три А ты сам три будет еще что-то
01:52:42
например вот такого плана
01:52:46
то
01:52:52
[музыка]
01:52:53
Фактор довольно Интересная история вышла когда
01:52:58
мы написали
01:53:04
а также штуку то она не сработала.
01:53:07
знает почему она не сработала
01:53:13
Анна
01:53:15
нашла такого
01:53:19
не нашло потому что это совсем меньше
01:53:22
сервлет правильно
01:53:25
и это не то сервет правильно
01:53:31
Поэтому нужно внимательно смотреть, что куда мы
01:53:35
Нам картаем И что Куда
01:53:43
100% информации есть на реквесте
01:53:47
нет ничего
01:53:49
чтобы вам нужно А его нет
01:53:53
ты тачменты все формы все файлы берете
01:53:57
не формах все плоды и куки всех
01:54:00
лидеры все находится на реквесте
01:54:07
У нас есть для фидерса
01:54:12
есть
01:54:29
и прочее как куча куча всего
01:54:33
как я сказал нет ничего Что вы может
01:54:37
понадобиться А его нет на реквесте
01:54:41
Да нам все подвергает
01:54:45
единственное что нам нужно нам нужно
01:54:47
спросить в нашем реквесте все что нам
01:54:51
нужно
01:54:52
понятно
01:54:55
то и я наконец
01:55:10
ты
01:55:13
расщем
01:55:17
был вопрос относительно бади если это
01:55:23
То есть это мы разбирали
01:55:26
[музыка]
01:55:29
поскольку есть И это дуэт определенных Если нам
01:55:34
нужно сделать какой-то
01:55:36
салфеток какой
01:55:39
пост
01:55:41
Что мы делаем
01:55:55
делаем мы
01:55:59
в райдем
01:56:01
метод пока и так далее
01:56:06
Окей А как добраться
01:56:13
бабе
01:56:16
у нас есть реквест
01:56:24
Input Stream
01:56:29
Apple Stream
01:56:35
Это обычный
01:56:39
на каком
01:56:41
мы можем
01:56:44
делать
01:56:45
читать нашим
01:56:50
видите
01:56:58
конечно, так никто не делает
01:57:06
есть iPad до этого
01:57:10
Но такая возможность есть
01:57:13
и что интересно
01:57:17
видеть это Стрим
01:57:20
У вас есть реквест
01:57:23
это не означает что Поскольку у вас есть
01:57:25
реквест вас уже есть стрим У вас есть баня в
01:57:30
вас есть только фидер
01:57:32
Body будет
01:57:34
[музыка]
01:57:37
загружена только в Кейсе если только
01:57:40
случае когда вы его пригласили если вы
01:57:42
его не пригласили его никто не будет
01:57:45
вычитывать
01:57:47
вы очень классно
01:57:50
ибо если вам пришла в кто-то реквест в
01:57:53
которому очень большие байды
01:57:55
А вам он не нужен
01:57:58
то вы его просто проигнорируете это очень
01:58:00
круто
01:58:10
Что мы делаем в посте
01:58:12
Мы также можем разобрать параметры
01:58:17
А что интересно, если будет форма
01:58:20
которую мы передали постом
01:58:23
к этой форме
01:58:27
а
01:58:30
такой же
01:58:38
то есть не нужно никаких других методов
01:58:43
и все такое
01:58:48
[музыка]
01:58:51
но
01:58:54
что еще у нас есть на реквесте
01:58:58
оно респонде
01:59:03
респонде является Get Rider и он нам дает
01:59:07
Райдер, который мы
01:59:11
с которыми что-то печатаем
01:59:15
и
01:59:17
в какой А какой мы эти концы имеем
01:59:21
закрыть правильно
01:59:27
а но
01:59:31
Если нам нужно
01:59:34
послать какую-нибудь
01:59:37
какой-то контент который на текстовый
01:59:40
какой-то банк например файл download или
01:59:48
картинку
01:59:52
для этого есть
02:00:05
и интересно то, что вал нужно мы можем
02:00:11
писать все что нам угодно
02:00:15
и затем в конце концов
02:00:23
просто это тоже закрыто
02:00:30
каждый раз мне задают вопрос А если
02:00:33
я открою GTA И открою GTA V Stream
02:00:38
А
02:00:39
ответ очень прост
02:00:43
можем мы одновременно Писать текст и
02:00:46
байнеров друг друга respons
02:00:54
Нет не можем
02:00:57
поэтому эта конструкция у нас сломается
02:01:00
можем или
02:01:03
писать баннеры
02:01:05
или да
02:01:09
или
02:01:15
если мы уже открыли
02:01:18
Мы не можем открыть Стрим
02:01:22
если мы открыли
02:01:25
то мы не можем открыть уже
02:01:41
грубо говоря
02:01:45
И все фактически Пока
02:01:48
у вас есть 100%
02:01:52
знаний
02:01:54
для того чтобы писать полноценное
02:02:00
application
02:02:04
понятно ли это
02:02:08
знание есть осталось практика
02:02:12
конечно я купил нюансов как грузить файлы
02:02:16
как
02:02:21
тамплейте как грузить темплейты place
02:02:25
holder
02:02:27
и так далее есть как работать с
02:02:31
авторизацией как работать с фильтрами и
02:02:36
такое другое есть вопросов куча
02:02:39
но все дальше
02:02:44
что мы будем изучать оно будет
02:02:47
базироваться на этом
02:02:50
еще один очень интересный момент
02:02:54
мы за импортировали
02:02:56
смотреть сервер видите
02:03:04
давайте посмотрим на нашу имплементацию
02:03:09
видите вы здесь где-то
02:03:14
а какое-то
02:03:18
что-то о джетти
02:03:25
Нет здесь ничего о джетте нет
02:03:29
все что мы используем в наших
02:03:31
салфетках
02:03:34
и исключительно интерфейс пакета
02:03:40
API
02:03:43
видите
02:03:50
и тогда вопрос А зачем нам джети сервер
02:03:58
который мы импортировали
02:04:01
если мы его не используем
02:04:06
но каким-то образом К нам пришел 42 который
02:04:11
меня импортировали
02:04:18
Ну он там где-то зависит от него
02:04:21
вызовах методах и То есть это библиотека
02:04:26
для библиотеки конечно
02:04:30
Когда имеем удачу
02:04:33
давайте сервлет
02:04:36
смотреть
02:04:46
но все-таки все-таки Зачем нам жить
02:04:49
если мы его не используем
02:04:57
возможно для сборки Он собирает этот файл
02:05:01
для выполнения
02:05:03
ну фактически Я немного вас
02:05:08
потому что email
02:05:11
в котором есть импорт это всего что касается
02:05:16
Jetta видите
02:05:21
и здесь есть сервер
02:05:26
пришел в зависимости
02:05:37
пришел в зависимости
02:05:44
бюджете должно работать по определенному
02:05:51
[музыка]
02:06:01
И что очень классно
02:06:04
вы можете ваше сервлеты ранить с
02:06:08
произвольным сервером
02:06:10
то ли там палач или охлаж или бюджеты
02:06:14
то все что угодно
02:06:25
и только
02:06:27
сервер и зависимость бюджетов и только
02:06:32
этот хендлер и этот холдер
02:06:40
вот ответственность Jetta
02:06:44
Мы даем наш код
02:06:48
вложим в Jetta holder смотреть
02:07:00
какие слова есть как
02:07:06
как работает это application на старте как
02:07:12
работает
02:07:15
он в момент когда пришел реквест
02:07:22
фактически
02:07:31
[музыка]
02:07:34
имеет запускаемый сервер
02:07:39
и этот сервер
02:07:59
дальше когда приходит реквест
02:08:04
наша квест передается на сервер
02:08:10
передает его
02:08:17
[музыка]
02:08:24
проверить все что у него есть
02:08:27
если он нашел
02:08:30
то он рана ответственная сервет
02:08:35
и за Квеста
02:08:38
в
02:08:42
если он не нашел
02:08:46
себе Он говорит 404
02:08:57
это очень-очень просто
02:09:04
А вот здесь сервер
02:09:07
сверху вниз и последовательно его может
02:09:10
произвольном порядке это делать Я просто
02:09:12
о том что авторизация как делается мы
02:09:14
можем сверху поставить авторизацию ниже
02:09:16
он не пропустит это все
02:09:19
а авторизация делается чуть-чуть
02:09:22
во-вторых авторизация делается через
02:09:24
куки и здесь вопрос не в том что он его не
02:09:27
пропустить мы простому чтобы должны быть
02:09:30
установит Google нет то вы ничего не
02:09:33
делаете
02:09:34
авторизация делается чуть по-другому
02:09:36
всеризация дела будет делаться через две
02:09:39
недели фрезация - это самое последнее
02:09:41
что мы будем делать
02:09:46
Бегут как на какой-то вот сам один
02:09:49
Слышь сам два типа
02:09:54
для него авторизация
02:10:01
потому что авторизация лето
02:10:06
А сначала надо найти путь на который
02:10:08
этот сервет
02:10:12
подходит
02:10:15
сервер потом вот между сервером и
02:10:18
хелером стоит какой-то типа клапана в
02:10:20
только в этом
02:10:22
случае начинает Бежать под хендером
02:10:25
есть такая штука нам это будем разбирать
02:10:28
через два недели На последнем На восьмом
02:10:30
занятие
02:10:33
это не так делается
02:10:35
А здесь оно работает систем по второму
02:10:40
первая что разбирается
02:10:45
это путь
02:10:49
на первом этапе разбирается
02:11:00
если Нам нужна авторизация
02:11:04
лагерь появляется фильтра
02:11:09
этот фильтр мы будем разбирать
02:11:11
восьмом занятии все я понял
02:11:19
вопрос
02:11:23
собираешь Он уже автоматически создает
02:11:27
эти папочки фильтр
02:11:34
иусловно говоря
02:11:37
фильтр тоже вешается на путь
02:11:41
и
02:11:42
еще раз От надельным занятия у нас есть
02:11:46
фильтра din фильтр 2 сколько это угодно
02:11:50
этих фильтрах концовка приходит
02:12:19
Можно вопрос по серверам да в целом
02:12:24
мы можем без некоторых совершенно обойтись чтобы
02:12:26
без него никак мы можем просто
02:12:28
заимпортировать javaks это делать И
02:12:31
запустить салфетки не через окопник
02:12:35
нет реализации javax имеет только
02:12:39
интерфейс на части jawacks – это
02:12:42
контракт частный
02:12:44
фактически набор интерфейсов наборы
02:12:47
snaption
02:12:59
значит что это не готово что-то А вот вам
02:13:04
инструкция и давайте делайте свои серверы
02:13:09
и концептуально чесаться получается это
02:13:13
только какая-то частица из этого
02:13:15
интерфейса действительно
02:13:21
и там еще куча других там есть такая куча что
02:13:25
ну
02:13:30
там Десятки десятки технологий в
02:13:34
интерпрайд утешения но
02:13:37
за последние 10 лет все так быстро
02:13:40
развивается что Java является Она почти
02:13:46
перестала
02:13:48
существовать если вы загуглите что-то о дала
02:13:54
я являюсь
02:13:56
то вы будете
02:13:58
[музыка]
02:14:05
очень-очень
02:14:08
[музыка]
02:14:12
что
02:14:13
когда вышла когда была Семка потому что была
02:14:19
Джава ее есть
02:14:23
восемь вышла в 17-м году и уже не была
02:14:28
государство ее Я думаю что Java и Java и есть
02:14:33
восемь получилось только потому что
02:14:35
людям было нужно
02:14:38
какое-то обновление и так далее фактически
02:14:41
Джава есть она уже
02:14:43
[музыка]
02:14:52
можно посмотреть
02:14:55
[музыка]
02:15:09
свои пришло на замену тогда выходит
02:15:18
который есть бесплатные которые доказали бы это
02:15:22
коммьюнити
02:15:25
раньше Джава гигиена
02:15:28
писалась компания сама
02:15:31
А сейчас компания Oracle
02:15:37
и
02:15:40
раньше
02:15:42
10 лет 20 тома 15
02:15:46
А когда не было отхода когда не было
02:15:50
такого количества бесплатного сорта
02:16:00
Это был такой Solution который давал
02:16:04
возможность писать
02:16:07
сложные
02:16:10
application из коробки
02:16:14
но сейчас есть куча
02:16:18
технологии
02:16:21
которые хемнется неоракла в которых это другими
02:16:25
компаниями
02:16:28
и другими
02:16:32
А на бесплатной основе
02:16:37
Конечно у них есть платные сервисы но
02:16:42
главная идея того, что все полностью
02:16:46
все могут контрибутить
02:16:50
и в таком случае развитие де Намного
02:16:53
гораздо быстрее
02:16:56
то есть нож
02:16:58
какая-то пчела нет смысла нет
02:17:05
за последние 10 лет
02:17:15
а просто вы должны знать когда вы видите
02:17:18
какой-то пакет
02:17:22
какой например
02:17:32
когда вы видите что-то из
02:17:40
пакеты jax
02:17:43
просто знаете что это
02:17:47
частица
02:17:53
видите
02:17:58
а
02:18:01
мы будем еще
02:18:03
видеть
02:18:05
работать с другими пакетами особенно там
02:18:09
будет частица из валидации здесь акцесс
02:18:14
но вообще
02:18:17
оно в чистом виде уже не
02:18:19
используется оно идет как dependence
02:18:23
и сейчас этот
02:18:27
LED и где
02:18:30
зависимость от
02:18:40
как-то
02:18:44
ок а
02:18:46
Давайте сделаем перерыв и после перерыва
02:18:50
будем двигаться дальше
02:18:52
На маленький вопрос Можно так
02:18:54
нам
02:18:56
идеи Community будет здесь достаточно или нет
02:19:00
а на этом модуле да
02:19:04
на следующем тоже так на последнем
02:19:07
модули которые будет где-то через три месяца после
02:19:11
этого После алгоритма
02:19:14
за пару месяцев Это уже будет недостаточно
02:19:19
ну фактически
02:19:22
можно писать
02:19:27
но
02:19:30
[музыка]
02:19:31
Ultimate все же
02:19:34
намного
02:19:39
интереснее когда мы пишем на
02:19:44
месяц можно взять
02:19:47
А можно на месяц можно будет найти
02:19:51
спросить [музыка]
02:19:53
лицензию
02:19:55
Я не знаю может они они дают
02:20:01
Мне дали на полгода
02:20:04
Я за это говорю, что у нас есть договоренность.
02:20:09
что мы
02:20:13
даем студентам на полгода лицензию
02:20:19
но
02:20:20
я например себе покупал лицензию на все
02:20:23
продукты
02:20:26
это не такая большая сумма
02:20:30
Ну мы к вам еще чуть-чуть не доросли ни я
02:20:34
серьезно там 250 баксов в год.
02:20:37
ну вообще не дорого
02:20:40
ну то есть если посчитать время, которое вы
02:20:44
экономите
02:20:46
минально взять калькулятор
02:20:50
и поделить Да это не только где полностью
02:20:55
все проекты
02:20:57
И не только идея весь пакет
02:21:02
250
02:21:03
/12 это 20 баксов в месяц
02:21:09
это
02:21:11
несколько чашек кофе
02:21:15
500 гривен
02:21:17
окей
02:21:18
600
02:21:22
где-то 800
02:21:25
ну тепла относительно 800 все же Окей но это
02:21:30
на какой-то космос это
02:21:33
стороной достижения денег
02:21:36
отдельно только идея 20 долларов в месяц
02:21:41
такое что хочу сказать что если вы
02:21:46
берете это на следующий делает скидка 20%
02:21:51
с третьего года скидка – 40%. есть
02:21:54
[музыка]
02:21:57
с
02:21:58
третьего года вы будете иметь
02:22:01
[музыка]
02:22:02
за 500 гривен в месяц полностью все
02:22:06
пакеты GB
02:22:09
эту пачку
02:22:11
каких там два десятка Нет ну это когда
02:22:15
работаешь с этим, конечно есть смысл
02:22:17
учишься Я думаю
02:22:22
Я немного поспорю с вами Почему Потому что
02:22:27
имея хороший инструмент для обучения
02:22:29
обучение будет идти гораздо быстрее
02:22:39
это возможно возможно просто кому-то это не
02:22:42
нужно
02:22:44
Ну я Если честно я пока не понимаю
02:22:48
может как я попробую там в месяц
02:22:51
бесплатно и я увидел что там Что ой ну
02:22:55
вы поняли
02:22:56
то да а так вот ну я не понимаю за что я
02:23:00
плачу потому что у меня еще нет значения
02:23:04
Когда будешь работать с тамплетами они
02:23:06
будут подсвечиваться это очень-очень
02:23:09
важно чтобы вы знали за что вы платите
02:23:12
потому что просто купить потому что О У меня
02:23:15
платная версия то не имеет никакого смысла
02:23:18
только когда это имеет смысл когда вы это
02:23:21
используете
02:23:23
А если вы это не используете вам этого
02:23:26
не нужно
02:23:29
фактически
02:23:33
Ultimate нужен только для спринга
02:23:36
если вы напишете на спринге то вам
02:23:39
Ultimate не требуется
02:23:42
Я вообще
02:23:44
начал покупать лицензию не по идее
02:23:49
я начал паковать покупать лицензию из
02:23:53
Титаник
02:23:56
- это их продукты, которые
02:23:59
дает такой же для работы со скалой
02:24:05
а
02:24:07
как это вы делаете
02:24:09
при работе государством
02:24:12
отличная штука но мне кажется плагин
02:24:17
датагрипп ТВ кода который стоит один доллар
02:24:21
а не 10 он дает почти все те же
02:24:24
возможности
02:24:27
снова я не буду спорить я начал
02:24:30
работать с датагриппом
02:24:33
2014 году
02:24:36
и
02:24:38
Я считаю что
02:24:42
А сколько я его использовал
02:24:46
он уже купился
02:24:49
много раз
02:24:55
использовал потом нашел этот плагин
02:24:58
реально ничем не отличается
02:25:01
в весь кодекс к веб-шторма но
02:25:07
веб-стором стоит кажется там 4 очка
02:25:10
долларов плюс плагин за доллар это все
02:25:13
ровно дешевле чем датагрита
02:25:18
анализ
02:25:20
[музыка]
02:25:32
это можно спорить до бесконечности знаете
02:25:35
Кто-то пишет код вымя Вот пишет код в
02:25:43
Ultimate
02:25:45
фактически меня из Ultimate ничего не
02:25:48
нужно мне найти нужен только
02:25:50
Spring когда Я преподаю а для того чтобы
02:25:54
работать
02:25:55
[музыка]
02:26:02
то есть Я фактически использовать дробь А
02:26:06
еще использую села
02:26:12
и немного
02:26:14
использовать
02:26:17
когда
02:26:19
рассказываю как работает Падин
02:26:24
и все то есть
02:26:28
фактически Я имею Ну я использую это чтобы
02:26:33
было а реально использовать грипп
02:26:39
и силаю когда под ним
02:26:49
очень качественная
02:26:55
которые очень качественно синтаксис красят
02:27:00
для stm32 и таких штук
02:27:10
Еще раз какой
02:27:12
Последнее что было
02:27:15
ESP
02:27:17
я с этим 32
02:27:21
ESP это как Arduino только с wi-fi
02:27:24
Bluetooth
02:27:30
на сложном
02:27:38
платы будет просто разбери
02:27:42
[музыка]
02:27:44
такой достаточно
02:27:48
больше разрекламированная штука
02:27:52
а Production делается на стме
02:27:56
Ну, кстати, я недавно хотел заказать
02:27:59
но их кажется уже не производят или как
02:28:03
может ошибаться кого
02:28:08
разбери
02:28:10
например на Розетке есть только там
02:28:17
комплект еще с учебником но если хочешь
02:28:21
то на 2 или 4 Гб купить на официальном
02:28:24
сайте-то у них нет
02:28:35
в розетке нет в наличии на сайте у
02:28:39
их нет не можем заказать Как это нет
02:28:42
нет
02:28:44
Ну, они посылают на другой сайт
02:28:47
А там нет налицо
02:28:53
не знаю не могу сказать у меня есть десяток
02:28:56
дома я периодически что-то я
02:29:00
когда-то
02:29:01
И я поздно спохватился
02:29:05
[музыка]
02:29:07
Я использую эти разбери для
02:29:10
промышленной автоматизации на заводах
02:29:12
раньше я ставил кластер с этих раз
02:29:15
упрекай
02:29:16
на промышленную оптимизацию в раз 485 что
02:29:20
10 лет назад 8 лет назад
02:29:24
не хило
02:29:27
у меня пока и некоторые были просто
02:29:30
игрушки простые поставить типа Денди Тому
02:29:34
не знаю что-то такое
02:29:37
нет я там реально рано в автоматизацию
02:29:41
завода на сотню моторов и сотню сенсоров
02:29:47
это целые линия автоматизация стоимостью там
02:29:51
до 10 млн
02:30:15
это их был риск Она сказала что нам
02:30:18
надо пофиксировать что-то побыстрому я по
02:30:20
быстрому что-то пофиксы оно друг друга
02:30:23
пофиксило другое сломало
02:30:27
ситуация так быстро качественно или дорогу
02:30:33
два пункта
02:30:38
[музыка]
02:30:41
а размеров Пай и Arduino они кстати
02:30:45
[музыка]
02:30:47
Arduino не очень стабильна, но она
02:30:50
нестабильна прежде всего не потому, что она
02:30:53
Arduino а потому что Ну не чтп нестабильное
02:30:57
а нестабильная самардуина потому что там не
02:31:01
очень правильно разведенная земля и
02:31:04
питание если
02:31:07
сделать качественным блок по
02:31:10
экранировать и сделать правильно разводку
02:31:12
плати то она достаточно стабильна и на ней
02:31:17
ракеты можно запустить ну то есть она
02:31:20
реально очень стабильная здесь уже надежная
02:31:24
а
02:31:26
проблема в том что схемотехника
02:31:31
Arduino она очень некачественная
02:31:34
вот этот мега которая используется 8 она
02:31:37
короче стабильная в плане того что там с
02:31:39
прерываниями проблема когда
02:31:40
программируешь систем намного круче По
02:31:43
этому ставим
02:31:45
вообще второго уровня оборудования
02:31:52
видно
02:31:55
stm32 этановой
02:31:59
уже спартами
02:32:04
А можно ссылку на это Бордо
02:32:08
поселок я уже не помню Где я покупал нет
02:32:13
Мне интересно, потому что у меня все
02:32:14
стоимость старая те которые я под них
02:32:17
еще программатор у меня под них есть А
02:32:20
здесь не нужен программатор
02:32:22
видите подвешенной
02:32:24
говорю меня интересно вот такое решение
02:32:31
хотя бы сбросят мне Я щас найду
02:32:36
потому что мне
02:32:40
Stem фактически я свои мелкие проекты рана
02:32:45
на
02:32:46
raspberry на книги потому что у меня
02:32:50
программа
02:32:51
своего нета У меня программатор остался
02:32:55
от тех проектов которые которых уже нет
02:32:58
и Короче программаторов у меня
02:33:00
пожимаем нету Вот поэтому настойка
02:33:05
чуть-чуть ушла там сейчас и круто крутой
02:33:08
программ на обеспечение там у нас сейчас
02:33:09
используются они там какой-то вы назвали
02:33:11
но сейчас используется купой идея этот
02:33:16
компания называется
02:33:35
несколько сразу идет этих программ
02:33:39
которые работают самим железом потом там
02:33:42
все подобный язык который там очень
02:33:44
простой чтобы разобраться можно вообще
02:33:46
сам микроконтроллер посмотреть внутри
02:33:49
зависимости и прямо на такой вот мне
02:33:53
схеме задавать частоты
02:33:57
этими с генераторами скварцевыми
02:34:00
резонаторами внешние подключать это все
02:34:03
задается прямо на мне схеме
02:34:04
понятно ну то есть там вообще классный
02:34:06
интерфейс такой
02:34:09
интуитивно понятный
02:34:12
а можно так как будешь сделать
02:34:20
[музыка]
02:34:30
короче серия нуклео их там много разное
02:34:33
количество нуклео
02:34:35
stm32 нуклео здесь задачу поставить
02:34:40
нуклео или нуклео
02:34:48
да Вот они вот это вот серия
02:34:50
насмешная
02:34:53
там есть до 5 до 10 000 цены разные
02:34:56
подразная задача можно использовать
02:35:04
я спешка на кардина
02:35:07
говорит
02:35:10
просто как угол дома
02:35:12
так кончился
02:35:16
нуклео
02:35:21
тоже такая картина на
02:35:25
есть такие нормальные
02:35:28
Я так понял что есть модели
02:35:33
там до 10,000 грн есть стоят
02:35:44
автоматизация
02:35:48
[музыка]
02:35:51
уже потому что
02:35:52
[музыка]
02:35:55
там язык Все подобный но раз можно
02:35:58
контролировать выстояние точно знаю
02:36:01
а наконец-то писать гораздо интересные
02:36:13
люди рассказывают как они
02:36:17
на системки
02:36:22
а наконец
02:36:24
насильно легче чем начистим все
02:36:30
потому что там есть и тепло
02:36:33
и
02:36:34
функциональное программирование
02:36:41
поэтому
02:36:45
Ok а возвращаемся к нашим
02:36:57
Да у меня писали калькулятор
02:37:02
который а
02:37:08
[музыка]
02:37:11
вкладывает
02:37:24
калькулятор составляет два числа
02:37:29
Окей
02:37:32
что я хочу сделать Я хочу сделать
02:37:35
который
02:37:39
будет
02:37:41
Я хочу чтобы вся моя история
02:37:45
куда-то записывалась
02:37:48
например флешмоб
02:37:52
и
02:37:55
сделал салфетка который показывает всю
02:37:58
историю которая у меня происходила
02:38:05
и так калькулятор мы
02:38:10
оставляем
02:38:12
калькулятор сервлет оставляем
02:38:16
и для того чтобы
02:38:20
сделать историю я добавляю
02:38:23
тесто рецепт
02:38:30
и я его добавляю
02:38:35
в
02:38:43
меня Понятно да
02:38:50
теперь возникают моменты
02:38:54
так сделать
02:38:57
того чтобы
02:38:59
[музыка]
02:39:00
калькулятор сервлет
02:39:04
сочинял историю а History доставал из
02:39:11
история
02:39:13
все операция
02:39:23
карта но
02:39:24
я сделаю по-другому
02:39:28
какой-то файл
02:39:31
не файл Я хочу сделать все Из-за
02:39:34
email пока Пока файлы ничего не
02:39:37
хочу писать потому что основная идея даже на
02:39:41
History основная идет указать как можно
02:39:45
модули которые используются в разных
02:39:47
сервлетах
02:39:49
создавать в разных городах и подавать в
02:39:54
исправлять
02:39:56
прежде всего Я хочу
02:39:59
задекларировать файл, который будет называть
02:40:02
История
02:40:04
это History будет интерфейс
02:40:09
и этот
02:40:10
History interface будет иметь
02:40:14
были
02:40:19
он будет
02:40:22
иметь что-то по типу
02:40:28
конечно этот атом нужно сделать
02:40:33
я не знаю что это такое что будет это Рекорд
02:40:38
но и он будет иметь
02:40:42
[музыка]
02:40:47
Collection
02:40:59
а я даже не хочу знать что есть в моем
02:41:04
майтеми даже не хочу знать как это
02:41:08
работает Я знаю что у меня будет пуд
02:41:11
И у меня будет готово или понятно
02:41:15
понятно то, что я хочу донести создание
02:41:18
этого интерфейса
02:41:25
только непонятно почему мы пишем здесь
02:41:28
Collection мы же будем возвращать какие-нибудь
02:41:30
Рей Можем ли мы переписать
02:41:38
я не буду использовать буду
02:41:40
использовать скорее всего 200 каких-то
02:41:42
Не знаю
02:41:44
А листья почему не можем написать
02:41:47
а можем написать но письмо
02:41:55
он
02:41:57
следует Collection меня фактически лес не
02:42:01
нужен Мне нужен даже мне
02:42:04
коллективно нужен Мне нужен
02:42:07
это будет что угодно что еще будет И надо было
02:42:13
а здесь есть смысл того, что когда мы декларируем
02:42:17
интерфейс
02:42:20
мы говорим как можно меньше мы
02:42:23
используем как можно меньше функционала
02:42:26
мне фактически письмо не нужно понимаете
02:42:30
Мне нужен милый и надо
02:42:36
а мы еще можем как вот как подняться выше
02:42:40
то есть письмо collections иterble
02:42:44
ничего нет потому что ее капли ничего нет
02:42:48
здесь есть только один метод оператора
02:42:53
выше или выше, чем нужно было, ничего нет
02:42:55
и нужно было Это первая абстракция когда мы
02:42:57
имеем больше одного элемента
02:43:04
да Понятно спасибо
02:43:07
А что мы Далее пишем дальше мы пишем очень
02:43:10
такой
02:43:11
простой простой код
02:43:14
прежде всего Я говорю что у меня будет мы
02:43:19
их
02:43:28
здесь будет пока
02:43:32
конечно на тот момент
02:43:39
А на комплементах у меня в другом модуле
02:43:42
он у меня бейсику
02:43:45
[музыка]
02:43:50
с
02:44:03
Но это мне дает возможность
02:44:07
держать
02:44:14
После этого я цехистеров
02:44:18
там есть калькулятор
02:44:22
и есть History конечно он этого не знает
02:44:26
но я ему помочь
02:44:37
конечно
02:44:39
а он должен быть конструкторы
02:44:45
а
02:44:47
конечно
02:44:52
будет тоже
02:45:04
ты
02:45:06
[музыка]
02:45:09
смотрите то все уже работает конечно она
02:45:12
не работает Потому что нет имплементации
02:45:14
но что интересно да То что
02:45:22
я могу уже писать код
02:45:25
базой участие на этих двух методах
02:45:33
калькуляторы
02:45:37
в тот момент когда я уже
02:45:40
сделал
02:45:42
мои две операции
02:45:46
а кстати я уже знаю что я буду
02:45:51
создавать что я буду хранить я буду
02:45:54
хранить X Y Z и буду гранить время т.е.
02:45:58
на айтамы у меня будет
02:46:08
А еще у меня будет Local
02:46:24
и еще у меня будет
02:46:26
окей давайте пока
02:46:30
единственное что я хочу я не хочу давать Local
02:46:34
Day Time я сделаю
02:46:40
A
02:46:46
делают а эти три параметра
02:46:52
напишу что это
02:47:00
был день
02:47:08
И это дает мне возможность прямо сейчас
02:47:13
написать
02:47:33
одна строка
02:47:36
и у нас полностью готова функционал
02:47:39
видите
02:47:41
за счет чего
02:47:43
мы использовали интерфейс на котором у нас
02:47:47
задекларированный метод, конечно, у нас нет
02:47:49
этой имплементации Но имеем пишем
02:47:51
потом когда у нас все соберется вместе
02:47:55
возможно это на рабочие варианты возможно
02:47:59
мне с этим надо что-то будет делать
02:48:03
Окей А еще мы делаем дальше мы идем
02:48:07
histories
02:48:09
поскольку цехистереселет а
02:48:11
[музыка]
02:48:13
то что я здесь делаю я делаю
02:48:17
respons
02:48:28
заворачиваются в край
02:48:37
и в этом трое
02:48:40
я иду Горохов
02:48:54
я
02:48:56
рейтера prindline
02:49:06
и все
02:49:10
единственное что я хочу сделать
02:49:13
я иду на
02:49:18
и хочу написать
02:49:20
эту страницу
02:49:27
но
02:49:29
вместо этого я
02:49:31
[музыка]
02:49:34
напишу что это
02:49:38
женщина
02:49:41
формат
02:49:43
второй класс
02:49:48
[музыка]
02:49:55
это будет
02:50:04
окей
02:50:07
[музыка]
02:50:09
этот класс
02:50:11
единственная задача этого класса
02:50:13
держать Майданы
02:50:21
единственная задача Калькулятора
02:50:25
писать в эту историю
02:50:29
единственная задача
02:50:34
читать
02:50:38
конечно, теперь мне надо написать
02:50:40
имплементацию
02:50:43
и я сейчас сделаю
02:50:46
пасеки строиться
02:50:56
какой будет инструментах
02:51:02
какой будет иметь
02:51:06
достаточно
02:51:09
реально имплементации
02:51:13
это будет [музыка]
02:51:18
ST
02:51:27
будет
02:51:36
Когда я буду делать здесь единственное что я буду
02:51:40
делать я буду
02:51:43
[музыка]
02:51:48
единственное Когда я буду делать этот и нужно было
02:51:52
назад
02:51:54
я
02:51:56
делаю
02:52:03
и здесь очень интересный момент помните
02:52:07
А когда Я возвращаю письмо я могу сломать
02:52:10
свой объект потому что я рана на нем Может
02:52:14
ранить на нем будет
02:52:16
а помните вы хотели написать
02:52:30
Ну хорошо а теперь если у меня есть письмо
02:52:34
в истории
02:52:37
Я должен назвать
02:52:41
правильно
02:52:45
Можно теперь когда у меня на History
02:52:50
возвращает
02:52:52
и сделал
02:52:57
Могу ли я что-нибудь сломать
02:53:02
Нет я ничего не могу сломать потому что у меня
02:53:04
единственное что есть Корич и терейтора более
02:53:08
ничего у меня нет
02:53:14
[музыка]
02:53:27
Видите как не создавая новый объект
02:53:32
я могу
02:53:36
[музыка]
02:53:38
передать
02:53:40
pointer на ход на мой YouTube
02:53:45
и быть 100% уверен, что с ним все
02:53:49
нормально
02:53:52
Я срезал весь функционал который мне не
02:53:54
нужен
02:53:57
и срезал его очень элегантным образом
02:54:01
это может быть любой ветер
02:54:04
это нужно осмыслить не нужно это нужно
02:54:08
осмыслить да
02:54:12
программирование это называется
02:54:19
powerpossible то есть используйте
02:54:22
интерфейс с наименьшими возможностями
02:54:26
вам реально нужны
02:54:29
А
02:54:30
вы когда начнете это делать ваш код будет
02:54:34
очень-очень чистый очень-очень кансайз и
02:54:39
очень очень
02:54:43
Видите ли я написал
02:54:46
каждому
02:54:48
каждой функции написал по одной строке
02:54:53
но фактически
02:54:57
я
02:55:00
реализовал эту историю
02:55:03
и у меня все уже работает
02:55:08
правильно
02:55:11
Я даже могу не запускать
02:55:13
Я 100% уверен, что оно работает
02:55:18
А почему я уверен
02:55:21
потому что я ничего не сломал Я только
02:55:23
задекларировал интерфейс
02:55:25
я его реализовал правильно
02:55:32
Конечно это не о сервере Конечно это о
02:55:37
Java
02:55:38
насколько я вообще не люблю эти темы
02:55:41
Когда мне нужно что-то рассказывать как
02:55:43
об этой библиотеке
02:55:46
поэтому я больше буду рассказывать как как
02:55:52
писать классные штуки
02:55:55
Да
02:55:56
мы раним калькулятор
02:56:06
[музыка]
02:56:09
плюс и первое же такое
02:56:15
5+7
02:56:17
51
02:56:20
2 и так далее
02:56:23
коллеги
02:56:25
а рано
02:56:31
и имею результат Конечно можно красивой
02:56:36
сформировать но
02:56:40
уже работает видите
02:56:49
это фактически как логир делают на бэкенди
02:56:51
да Ну да фактически
02:56:58
но здесь идея была немного в другом что я
02:57:02
хотел донести
02:57:05
донести что
02:57:10
прежде всего мне нужно какой-то
02:57:14
кусок памяти который будет
02:57:18
отвечать за эту историю я начал с
02:57:23
интерфейса Ибо меня не интересует как она
02:57:25
будет работать что меня интересует
02:57:30
будет иметь метод Pool иметь Get out
02:57:33
правильно
02:57:36
угол будет использоваться у меня в
02:57:38
калькуляторе
02:57:40
Я добавляю единый круг и страницу
02:57:46
А и еще я создал класс I can который
02:57:50
какая цель
02:57:53
просто капсулировать
02:57:55
этот набор данных
02:57:58
и иметь хороший
02:58:02
Конечно это ты стрим можно не
02:58:04
использовать Можно написать свой ту
02:58:06
страницу за красиво сделать таблицу
02:58:08
через TR И где
02:58:11
тому подобное
02:58:14
но сейчас
02:58:16
задача в другом была
02:58:19
далее в калькуляторе я пишу
02:58:25
в истории
02:58:28
я достаю
02:58:32
вещи
02:58:35
а дальше я делаю имплементацию Что интересно
02:58:42
смотреть здесь у меня интерфейс
02:58:48
и на и здесь у меня интерфейс
02:58:53
и у меня
02:58:57
интерфейсы что это означает что когда у меня
02:59:01
появится historing File или History
02:59:04
database или History на Марсе когда
02:59:09
сделает канал на Марс, то я смогу
02:59:13
переписать сделать одну реализацию
02:59:16
переписать одну-единственную строку у меня все
02:59:19
будет работать правильно
02:59:23
интерфейсов
02:59:30
и дальше я просто пишу реализацию
02:59:37
я сделал ссылки для того чтобы на копировать
02:59:42
чтобы он когда он будет расти мы это будем
02:59:45
мы это будем изучать на модуле алгоритма
02:59:51
и еще один очень-очень крутой паттерн который
02:59:56
использовал на интерфейс – это
03:00:00
use Power You can то есть если вы
03:00:05
использую здесь ссылки
03:00:10
или использую письмо
03:00:15
у меня будет возможность сломать все
03:00:24
время
03:00:27
просто потому что я не осторожно что-то здесь
03:00:32
начало использовать addr язык и такое
03:00:36
другое правильно но ведь сначала вообще
03:00:40
Collection хотели поставить
03:00:43
А я начал с коллекции как я не знаю
03:00:46
хотел поставить
03:00:51
не написать какой какой лес но пока
03:00:57
написал Collection
03:01:00
А я уже
03:01:05
пришел к выводу что
03:01:07
Collection мне не нужен как
03:01:10
Collection
03:01:13
[музыка]
03:01:14
но Collection он тоже
03:01:19
ничего не умеет ни есть
03:01:22
коллекциями мне не подходит
03:01:26
и нужно было
03:01:30
практически и нужно было решать 99%
03:01:35
ваших кейсов
03:01:37
особенно когда это ретортард есть ваша
03:01:42
имплементация может быть как можно как
03:01:44
угодно сложной
03:01:46
но Она возвращает
03:01:49
единственное что вам что вы должны знать
03:01:54
что у него есть форит
03:01:58
Это уже очень круто
03:02:03
вы не знаете это Collection или это вообще
03:02:06
на канале
03:02:10
теперь может быть какой-то файл это может быть
03:02:12
сок большой все что угодно
03:02:20
А мне сегодня все спасибо
03:02:24
Спасибо
03:02:37
Ну как Ну ты знаешь вы просто опустите код
03:02:42
Как вы сформировался просто чтобы
03:02:45
тянущуюся пожалуй дня два как это правильно
03:02:49
написать или это записали там за
03:02:51
полчаса а ну знаете почему
03:02:55
Вероятно как я уже написал несколько
03:03:00
сотен тысяч строк и потому
03:03:03
я знаете Я начинаю говорить Я еще не знаю
03:03:06
что я буду писать я начинаю писать
03:03:10
интерфейс
03:03:12
а начинает писать
03:03:14
какие-то Рекорд
03:03:18
и смотрите я начинаю с интерфейса и
03:03:22
начинаешь типов
03:03:25
имплементация Меня интересует меньше всего
03:03:28
когда у меня все вы видите что этот
03:03:32
historing я написал в последний Момент
03:03:34
полностью в последний момент
03:03:39
потому что возможно
03:03:43
и интерфейс
03:03:46
А это ложная была версия
03:03:50
возможна эта сигнатура
03:03:53
не отвечает потому что мне нужно возможно
03:03:57
какие-то эти типы не отвечают
03:04:02
но
03:04:04
сумма получилось что все хорошо
03:04:07
и
03:04:09
это выглядит неплохо Когда у меня все
03:04:13
собралось в кучу тогда я уже денежным
03:04:16
документацию
03:04:23
такие подход надо да приучить себя к
03:04:27
такого а и когда говорят
03:04:31
[музыка]
03:04:33
это немного
03:04:35
на мой взгляд
03:04:38
Неправильно Вот я не могу мы взгляд это
03:04:44
выглядит как дизайн
03:04:49
то есть я сначала описываю дизайн или
03:04:52
Контракт уровень Я сначала описываю дизайн
03:04:56
и контракт как я это вижу когда это
03:05:00
сложилось в картину
03:05:03
тогда я пишу имплементацию
03:05:07
конечно тесты - Это хорошо но
03:05:12
Начинаем мы все равно
03:05:14
смоделирование наших данных по этому рекорду
03:05:22
и из нашего интерфейса
03:05:26
когда есть этот рекорд и когда я этот интерфейс
03:05:30
уже можно написать какой-то тест
03:05:36
правильно
03:05:39
конечно и этот тест будет сломан
03:05:44
Как только мы имеем с вами тест
03:05:47
мы можем написать имплементацию
03:05:51
и вот уже больше
03:05:57
ближе к тому снова мое видение это на
03:06:02
тестеров девелопмент А это или Контракт
03:06:05
уровень или дизайн
03:06:12
об этом думал о том из Driving ну только что
03:06:16
это так правильно делать вроде бы пишут
03:06:19
умные люди Ну я же здесь
03:06:23
можно
03:06:26
они не могут донести что они имеют на
03:06:30
вниманию
03:06:33
потому что фактически
03:06:36
один момент пропущенный пропущенный момент
03:06:40
дизайна моих данных
03:06:44
ибо пока нет этого дизайна этого
03:06:47
дизайна этой строки №5
03:06:51
Я вообще ничего не могу написать
03:06:53
правильно
03:06:55
как только у меня появилась строка номер 5
03:06:58
то есть я смоделировал Майдан который я буду
03:07:01
сохранять
03:07:03
Я начинаю писать этот интерфейс
03:07:08
как только у меня есть интерфейс я могу
03:07:11
написать текст есть эти два момента они
03:07:14
содержат
03:07:19
то что я моделирую Данные и то что я моделирую
03:07:22
контракт и когда
03:07:27
добавить эти два момента
03:07:31
то это равно выглядеть неплохо
03:07:44
А это Конечно это имеет видение Я никогда не
03:07:48
говорю что это последняя точка зрения Я никому
03:07:52
ничего не навязываю я просто это
03:07:54
использовала
03:07:56
своей работе каждый день и то что я его
03:08:00
использовать чтобы оно мне помогает
03:08:02
Я думаю что в этом есть определенный
03:08:06
смысл и определенная
03:08:14
часть того что это подход правильный имеет
03:08:19
какой-то смысл
03:08:31
До свидания

Описание:

На этой странице вы можете по ссылке скачать медиафайл «FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023» максимально возможного качества БЕЗ каких-либо ограничений на количество загрузок и скорость скачивания.

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023"?mobile menu icon

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

mobile menu iconКак скачать видео "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "FS 4 online Maven, HTTP, Server, Servlet API. Jetty server 27-04-2023"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.