letsCode - видео - все видео
Новые видео из канала RuTube на сегодня - 20 April 2026 г.
MCP протокол позволяет предоставить LLM возможность контактировать с внешним миром. На практике это буквально упрощение программных интерфейсов, чтобы ими можно было управлять короткими текстовыми командами с соблюдением простых правил. Что это даёт пользователям? В видео можно увидеть, как запущенная локально LLM открывает браузер и ходит по сайту в поисках ответа на вопрос пользователя, ищет товары во ВкусВилле по расплывчатому описанию и составляет план разработки плагина, опираясь на незнакомую ей документацию. Все эти функции было бы невозможно выполнить без инструментов, предоставляемых для LLM по протоколу MCP в виде легко подключаемых расширений MCP сайт: https://modelcontextprotocol.io/docs/getting-started/intro MCP официальный каталог: https://registry.modelcontextprotocol.io/ MCP от Google: https://github.com/google/mcp MCP от NeuralDeep: https://neuraldeep.ru/mcp Примеры реализации простых MCP серверов: https://github.com/modelcontextprotocol/servers/tree/main/src MCP для управления браузером: https://github.com/ChromeDevTools/chrome-devtools-mcp MCP ВкусВилл: https://neuraldeep.ru/mcp/vkusvill MCP DeepWiki: https://docs.devin.ai/work-with-devin/deepwiki-mcp MCP Context7: https://context7.com/docs/resources/all-clients#lm-studio MCP PDF tookit: https://github.com/AryanBV/pdf-toolkit-mcp Предыдущее видео о LM Studio: https://rutube.ru/video/98def2ea41d4d0d56c79bc15aab3d641/ Поддержать проект ➡ Sponsr https://sponsr.ru/letscode/ ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwLM Studio позволяет не только запустить модель локально для отработки промпта и локальной разработки программ, использующих LLM. С развитой системой плагинов в студии можно расширить функциональность модели с помощью плагинов, дающих возможность ей делать запросы к поисковым движкам, к сайтам и подключить простую RAG систему Полноценной заменой того же Perplexity такая связка, конечно же, не будет. Но отработать какие-то интеграции или tools при выборе модели, подходящей к вашим задачам, данный инструмент определенно может помочь. LM Studio документация по плагинам: https://lmstudio.ai/docs/typescript/plugins LM Studio hub. Страница lmstudio: https://lmstudio.ai/lmstudio Плагины в lm studio hub: - duck-duck-go: https://lmstudio.ai/vadimfedenko/duck-duck-go-reworked - visit-website: https://lmstudio.ai/vadimfedenko/visit-website-reworked - big-rag: https://lmstudio.ai/mindstudio/big-rag Поисковик DuckDuckGo: https://duckduckgo.com/ Отчёт об уязвимостях плагинов: https://docs.google.com/document/d/1AWIqsEdKL1tvk93hxyix5fqp4A4eAgpBuBtNa6LdLqo/edit?tab=t.0 Предыдущее видео о LM Studio: https://rutube.ru/video/b3c0e30a8b5b08cd9d7dfd6632e7e720/ Поддержать проект ➡ Sponsr https://sponsr.ru/letscode/ ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwНастал тот момент, когда маленькие LLM уже могут соревноваться с полноразмерными платными моделями полутора-двухлетней давности. Казалось бы, в то время все LLM были тупенькими и странными. Но если вспомнить, что первый релиз того же Cursor был 23 января 2023 и он сразу же показал себя полезным и привлёк внимание многих разработчиков, то начинаешь понимать, что некоторые преимущества эти малыши всё-таки могут дать. В этом ролике я рассказал, как быстро и просто запустить небольшую модель, способную работать на вашем компьютере. А также показал, что эта небольшая модель может решать реальные задачи, которые не просто «выведи приветствие в консоль». Да, не без нюансов, но это уже вполне рабочий инструмент. Особенно, если у вас есть достаточно бодрая видеокарта =) LM Studio: https://lmstudio.ai Cline: https://cline.bot/LM Поддержать проект ➡ Sponsr https://sponsr.ru/letscode/ ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJTE это шаблонизатор, сочетающий лучшее из идеи JSP без недостатоков последнего: компилируется в байт-код, имеет строгую типизацию и поддерживает прямой вызов java кода. При этом крайне дружелюбен к разработчику. JTE документация https://jte.gg/ Git репозиторий из видео https://github.com/drucoder/hn-reader Видео про горячие клавиши JetBrains IDEA https://rutube.ru/video/fe3a7c3fdcbe51e14368620b70bba764/ Видео про Lombok https://rutube.ru/video/4851a324f5a63f8917e2a46b47e85fdf/ Страница плагина для JetBrains https://plugins.jetbrains.com/plugin/14521-jte Поддержать проект ➡ Sponsr https://sponsr.ru/letscode/ ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwС 2025 года в сети много обсуждений ИИ помощников написания кода. Куча инструментов, куча советов. Все знают термин "вайб код". Но мало кто может внятно объяснить в чём его отличие от "не вайб кода". Кстати, я тоже не могу, но попытаюсь рассказать свою точку зрения на этот вопрос. Ко мне в личку ворвалось пара человек из чата с одним и тем же вопросом: хочу пробовать писать код с ИИ, как начать? Этот канал начинался с вопроса "как использовать git?", так что и возродить его можно с другого актуального вопроса. * Как писать код с ИИ/ЛЛМ? * С какого инструмента начать? * Что стоить делать и чего делать не стоит? * Можно ли писать код с ИИ/ЛЛМ без VPN? (да) * Можно ли купить подписку за рубли? (да) И прочие вопросы я попытался закрыть в этом видео Чтобы я не терялся, ты развивался и все были счастливы, ты можешь поддержать проект: ➡ Sponsr https://sponsr.ru/letscode/ ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru Ссылки из видео API Hacker News https://github.com/HackerNews/API Koda code https://kodacode.ru/ Agents.md https://agents.md/ Emmet https://rutube.ru/video/750d2213df1d5e9bd3cc364ed09bb300/ Spring WebFlux https://rutube.ru/plst/1523617Пишем онлайн игру только на Java: сервер Spring Boot + LibGDX, клиент LibGDX HTML. Пришло время заложить основу взаимодействия пользователей: на данном этапе наш танк начнёт стрелять. Для этого мы реализуем простой emitter - объект, порождающий другие объекты по заданным правилам. У нас эмиттер будет порождать снаряды, выпускаемые танком. В библиотеке libGDX есть свой встроенный эмиттер, но для наших целей он достаточно сложен и неудобен, поэтому (и в образовательных целях) мы реализуем свой. Дополнительно мы познакомимся с пулами объектов (Pooled objects) и встроенной libGDX коллекцией Pool. Код из видео (клиент): https://github.com/drucoder/gdx-panzer/tree/DraftEmitter Код из видео (сервер, не менялся в этом видео): https://github.com/drucoder/gdx-panzers-server/tree/RenderClients Сайт библиотеки LibGDX: https://libgdx.com/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про создание сервера для игры с помощью Spring Boot: https://youtu.be/DQ3E04FBPzo Видео про отладку в браузере: https://youtu.be/8ZKgsdxSdTc Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwПишем онлайн игру только на Java: сервер Spring Boot + LibGDX, клиент LibGDX HTML. На текущем этапе у нас сервер полностью рассчитывает перемещение игроков и рассылает получившийся стейт по клиентам. А значит мы можем легко вывести нескольких игроков на экран сразу в нескольких браузерах. Код из видео (клиент): https://github.com/drucoder/gdx-panzer/tree/RenderClients Код из видео (сервер): https://github.com/drucoder/gdx-panzers-server/tree/RenderClients Сайт библиотеки LibGDX: https://libgdx.com/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про создание сервера для игры с помощью Spring Boot: https://youtu.be/DQ3E04FBPzo Видео про отладку в браузере: https://youtu.be/8ZKgsdxSdTc Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это язык и платформа не только для разработки enterprise решений, а универсальная экосистема для решения любых проблем. В том числе и создание мультимедиа контента. С помощью библиотеки LibGDX можно создавать кроссплатформенные мультимедиа приложения и игры. На последних мы и сосредоточимся в этой серии видео. С помощью Spring Framework можно создавать сложные серверные приложения, обслуживающие тысячи пользователей. При этом разработчику не приходится писать слишком много сложного кода, потому что Spring изначально содержит множество реализованных механизмов, которые остаётся только настроить под конкретную задачу. После чего разработчик реализует только логику приложения, специфичную для его конкретной задачи Выполняем следующий шаг: получив на сервере данные о пользовательском вводе игрока, мы рассчитываем положение всех активных игроков и рассылаем полученный стейт по всем активным соединениям. Также мы отслеживаем присоединение новых игроков и их оключение. Код из видео (клиент): https://github.com/drucoder/gdx-panzer/tree/SendClientState Код из видео (сервер): https://github.com/drucoder/gdx-panzers-server/tree/ServerState Сайт библиотеки LibGDX: https://libgdx.com/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про создание сервера для игры с помощью Spring Boot: https://youtu.be/DQ3E04FBPzo Видео про отладку в браузере: https://youtu.be/8ZKgsdxSdTc Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Yoo Money https://yoomoney.ru/to/41001451675086 ➡ Donate https://donate.stream/mrdru ➡ PayPal https://paypal.me/letscodedru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это язык и платформа не только для разработки enterprise решений, а универсальная экосистема для решения любых проблем. В том числе и создание мультимедиа контента. С помощью библиотеки LibGDX можно создавать кроссплатформенные мультимедиа приложения и игры. На последних мы и сосредоточимся в этой серии видео. С помощью Spring Framework можно создавать сложные серверные приложения, обслуживающие тысячи пользователей. При этом разработчику не приходится писать слишком много сложного кода, потому что Spring изначально содержит множество реализованных механизмов, которые остаётся только настроить под конкретную задачу. После чего разработчик реализует только логику приложения, специфичную для его конкретной задачи На этом этапе мы начинаем описывать систему взаимодействия между сервером и клиентом: передаём на сервер данные о том, какие клавиши управления зажаты у клиента. Эти данные помогут нам в дальнейшем перенести всю игровую логику на сервер и обеспечить участие в игре сразу нескольких игроков онлайн. Код из видео (клиент): https://github.com/drucoder/gdx-panzer/tree/SendClientState Код из видео (сервер): https://github.com/drucoder/gdx-panzers-server/tree/FixConcurrentIssue Сайт библиотеки LibGDX: https://libgdx.com/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про создание сервера для игры с помощью Spring Boot: https://youtu.be/DQ3E04FBPzo Видео про отладку в браузере: https://youtu.be/8ZKgsdxSdTc Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это язык и платформа не только для разработки enterprise решений, а универсальная экосистема для решения любых проблем. В том числе и создание мультимедиа контента. С помощью библиотеки LibGDX можно создавать кроссплатформенные мультимедиа приложения и игры. На последних мы и сосредоточимся в этой серии видео. С помощью Spring Framework можно создавать сложные серверные приложения, обслуживающие тысячи пользователей. При этом разработчику не приходится писать слишком много сложного кода, потому что Spring изначально содержит множество реализованных механизмов, которые остаётся только настроить под конкретную задачу. После чего разработчик реализует только логику приложения, специфичную для его конкретной задачи Мерч https://letscode.vsemaykishop.ru/ В данном видео мы добавим серверную часть написанную с использованием Spring Framework. В качестве транспорта между сервером и клиентом мы будем использовать WebSocket. Данный транспорт потребует минимальной доработки клиента из прошлого видео для подключения к серверу по выбранному протоколу Код из видео (клиент): https://github.com/drucoder/gdx-panzer/tree/AddServer Код из видео (сервер): https://github.com/drucoder/gdx-panzers-server/tree/ServerInitial Страница Spring initializer: https://start.spring.io/ Страница с описанием Web Socket: https://learn.javascript.ru/websocket Сайт библиотеки LibGDX: https://libgdx.com/ Утилита создания проекта LibGDX: https://libgdx.com/dev/project-generation/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это язык и платформа не только для разработки enterprise решений, а универсальная экосистема для решения любых проблем. В том числе и создание мультимедиа контента. С помощью библиотеки LibGDX можно создавать кроссплатформенные мультимедиа приложения и игры. На последних мы и сосредоточимся в этой серии видео. Мерч https://letscode.vsemaykishop.ru/ В данном видео мы создадим основу нашей HTML игры, содержащую всё необходимое для отображения протагониста и управления им. Весь код приложения мы будем писать на чистой Java с трансляцией его в JavaScript. Код из видео: https://github.com/drucoder/gdx-panzer/tree/InputAdapter Сайт библиотеки LibGDX: https://libgdx.com/ Утилита создания проекта LibGDX: https://libgdx.com/dev/project-generation/ Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про Java Stream API: https://youtu.be/RzEiCguFZiY Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это не только про вэб. На джава можно просто писать мощные и функциональные приложения, способные работать в любой операционной системе. Без плясок с бубном вокруг модного нынче Electron. Для создания десктопных приложений у Java есть 3 инструмента: AWT, Swing и великолепный JavaFX, который мы краем рассмотрим в этом видео Пробуем создать утилиту для просмотра занятого пространства на диске на чистой Java SE + JavaFX . Данное приложение должно без особых проблем работать во всех популярных операционных системах, существующих на рынке. Код из видео: https://github.com/drucoder/disk-analyzer Ссылка на сайт JavaFX: https://openjfx.io/openjfx-docs/#maven Ссылка на Linux утилиту для просмотра занятого пространства на диске: https://wiki.gnome.org/action/show/Apps/DiskUsageAnalyzer?action=show&redirect=Apps%2FBaobab Видео по работе с EMMET: https://youtu.be/CEmjrxI9qh4 Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про Java Stream API: https://youtu.be/RzEiCguFZiY Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwJava это не только про вэб и сервера. В стандартной библиотеке языка имеется отличный инструментарий для создания десктопных приложений. Причём не обязательно с окнами и прочими прелестями. Для нашей задачи - оповещать пользователя о новых pull requests - будет достаточно только иконки в трее и всплывающих нотификаций. Можно добавить контекстное меню к иконке в трее и получить мгновенный доступ ко всем репозиториям и pull requests в вашем аккаунте! Код из видео: https://github.com/drucoder/github-helper Библиотека GitHub API: https://github-api.kohsuke.org/ Ссылка на страницу для генерации Github personal application token: https://github-api.kohsuke.org/ Видео по работе с EMMET: https://youtu.be/CEmjrxI9qh4 Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про Java Stream API: https://youtu.be/RzEiCguFZiY Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-NwWeb чат на Java фреймворке Vaadin, без единой строки HTML, JS, CSS За Java давно закрепилась слава слишком многословного языка. При этом люди часто забывают, что многословность это не черта самой платформы и экосистемы, а отдельновзятых неудачных решений в прошлом. Времена, когда на джаве нужно было написать пару десятков файлов конфигураций, давно прошли. Современные версии языка вкупе с современными фреймворками позволяют решать проблемы разработчиков и бизнеса очень быстро и легко. Один из таких примеров как раз фреймворк Vaadin, речь о котором идёт в этом видео, где я создаю простой многопользовательский вэб чат в виде SPA приложения. Код из видео: https://github.com/drucoder/vaadin-chat Сайт Vaadin: https://vaadin.com/ Генератор проекта Spring: https://start.spring.io/ Библиотека рендера Markdown в HTML: https://github.com/rjeschke/txtmark Сайт проекта Lombok: https://projectlombok.org/ Видео про Lombok: https://youtu.be/QmsMWCIf3nc Видео про Markdown: https://youtu.be/FFBTGdEMrQ4 Написание простого Vaadin приложения: https://vaadin.com/docs/v14/flow/tutorials/quick-start-tutorial Описание Vaadin компонента grid (таблица): https://vaadin.com/components/vaadin-grid/java-examples Использование Push нотификаций с сервера в браузер: https://vaadin.com/docs/v14/flow/advanced/tutorial-push-configuration Использование Vaadin component event bus: https://vaadin.com/docs/v14/flow/creating-components/tutorial-component-events ➡ Мерч https://letscode.vsemaykishop.ru/ ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ https://donate.stream/mrdru ➡ https://donate.qiwi.com/payin/druCoder ➡ PayPal https://paypal.me/letscodedru ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики) Для тех, кто попытается это запускать: НЕ РАБОТАЕТ КОРРЕКТНО, ЕСЛИ НЕ ВКЛЮЧЕН INLINE MODE У БОТА И БОТ НЕ ДОБАВЛЕН В ГРУППУ Код из видео: https://github.com/drucoder/pipkaGameBot Использованная библиотека: https://github.com/pengrad/java-telegram-bot-api Видео про Emmet: https://youtu.be/CEmjrxI9qh4 Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Мерч канала: https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5Serverless Framework помогает избавиться от рутинной работы по настройке окружения для вашего кода. По простоте использования этот фреймворк ушёл не далеко от Heroku, но позволяет разворачивать ваш код написанный на любом из популярных языков в самых популярных облачных инфраструктурах: AWS, MS Azure, Google Cloud Platform и некоторых других. Работа с этим фреймворком в самой простой реализации не доставляет больших проблем, и позволяет сэкономить много сил и времени на инфраструктурных вопросах и абстрагироваться от платформы для основной части команды разработки, а также достаточно просто вкатиться в "безсерверные" технологии для новичков. Github кода из видео: https://github.com/drucoder/sls-first-step Установка AWS CLI2: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html Установка Serverless Framework CLI tool: https://www.serverless.com/framework/docs/getting-started Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5Docker toolkit: ctop & lazydocker При работе с докером через консоль часто приходится совершать какие-то избыточные и однообразные действия, которые легко можно автоматизировать с помощью одной из этих двух утилит. При этом никто не запрещает использовать их совместно, как это делаю я =) Первая из них ctop - более наглядно показывает запущенные процессы и позволяет провалиться в шелл контейнера нажатием всего одной кнопки Вторая же - lazydocker более универсальная и стабильная, плюс корректно работает в Windows, но имеет чуть более сложный интерфейс. Обе утилиты бесплатные и устанавливаются достаточно просто Ссылка на ctop: https://github.com/bcicen/ctop Ссылка на lazydocker: https://github.com/jesseduffield/lazydocker Видео про Vim: https://youtu.be/6H0GDM8ExB8 Плейлист Docker intro: https://www.youtube.com/watch?v=Sa7uOGczoHc&list=PLU2ftbIeotGoGFC_2lj-OplT_cItXfu48 Мерч https://letscode.vsemaykishop.ru/ Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5Http server. Попробуем реализовать обработку входящих http запросов по схеме, которая используется в java se servlet модели Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode Для более удобной обработки входящих запросов и отдачи контента клиенту мы реализуем объекты, схожие по своему поведению с объектами, которые мы могли наблюдать в голых сервлетах Java SE. Это упростит в дальнейшем работу с более сложными задачами, нежели простой GET запрос и ответ Код из видео: https://github.com/drucoder/naive/tree/HttpObjects Документация по NIO ServerSocket: https://javadoc.scijava.org/Java8/java/nio/channels/AsynchronousServerSocketChannel.html Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про отладку в браузере и инструментарий вэб разработчика: https://youtu.be/8ZKgsdxSdTc Видео о IDEA shortkeys: https://youtu.be/lArM1o0SoMw ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5Http server. Чтобы использовать технологию эффективно, нужно понимать, как она работает. Чтобы понять, как она работает, можно попытаться повторить её. Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode Реализовать Http сервер на java se не особо сложно. Возможно сделать это даже не подключая внешних зависимостей. Первым шагом мы просто создадим эхо сервер, который будет возвращать полученные данные отправителю по протоколу TCP. Далее мы попробуем "обмануть" браузер и наш сервер будет возвращать условно валидный ответ на любой запрос сервера. Да и telnet клиента тоже). Код из видео: https://github.com/drucoder/naive/tree/SimpleNioServer Документация по NIO ServerSocket: https://javadoc.scijava.org/Java8/java/nio/channels/AsynchronousServerSocketChannel.html Видео про HTTP протокол: https://youtu.be/C_QZtajkDf0 Видео про отладку в браузере и инструментарий вэб разработчика: https://youtu.be/8ZKgsdxSdTc Видео о IDEA shortkeys: https://youtu.be/lArM1o0SoMw ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5JMX - Java Management Extension - механизм управления приложением через специальный протокол взаимодействия. Поддержать проект: ➡ Стать спонсором https://www.youtube.com/letscodedru/join ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal https://paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode JMX - Java Management Extension. Часто случается история, когда нужно добавить в приложение какую-то настройку, которая должна начать действовать без перезапуска приложения. Или хочется собирать какие-то метрики приложения таким образом, чтобы исключить доступ к этим данным сторонним ползователям. Чаще всего делать это не хочется очень сильно. И причина одна - нужно делать интрефейс, выносить настройки через API, обеспечивать безопасность. Часто для таких целей делют какой-то рычаг в БД или отдельный "секретный" интефрейс. Но это всё херня и в мире Java давно уже существует решение - JXM - Java Management Extension. Расширение, позволяющее создавать ManagedBeans, обеспечивающие доступ к каким-то внутренним механизмам приложения через специальные консоли. Документация по Spring JMX: https://docs.spring.io/spring/docs/5.2.8.RELEASE/spring-framework-reference/integration.html#jmx Раздел JMX в книге Spring in Action 5th edition: https://livebook.manning.com/book/spring-in-action-fifth-edition/chapter-18/24 Видео про горячие клавиши IDEA: https://youtu.be/lArM1o0SoMw Видео про проект Lombok: https://youtu.be/QmsMWCIf3nc ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Второй канал: https://www.youtube.com/geekChatDru ➡ Twitch: https://www.twitch.tv/drucoder ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➡ Сервер в Discord: https://discord.gg/xs6XxSx ➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5