Media is too big
VIEW IN TELEGRAM
Программирование игры-змейки на C# — полное руководство 👍
Начинается с демонстрации игры и настройки проекта, далее рассматривается импорт ресурсов и создание игровой сетки. Объясняется добавление змеи и еды, управление состоянием игры и реализация пользовательского интерфейса. Также охватываются аспекты работы с изображениями, обработка ввода пользователя, игровой цикл, обновление счета и исправление ошибок.
В завершение включены анимации, настройка масштабирования и возможность перезапуска игры.
📲 Cмотреть курс: тут
👉 @KodBlog | #курсы
Начинается с демонстрации игры и настройки проекта, далее рассматривается импорт ресурсов и создание игровой сетки. Объясняется добавление змеи и еды, управление состоянием игры и реализация пользовательского интерфейса. Также охватываются аспекты работы с изображениями, обработка ввода пользователя, игровой цикл, обновление счета и исправление ошибок.
В завершение включены анимации, настройка масштабирования и возможность перезапуска игры.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Держи большую шпаргалку по командам Docker 🖥
В ней содержатся инструкции по установке Docker на различные операционные системы (Linux, Mac, Windows), а также команды для работы с реестрами и репозиториями Docker, управления контейнерами и образами.
Шпаргалка охватывает такие операции, как создание, запуск, остановка и удаление контейнеров, а также поиск, загрузка (pull) и отправка (push) образов.
👉 @KodBlog | #ресурсы
В ней содержатся инструкции по установке Docker на различные операционные системы (Linux, Mac, Windows), а также команды для работы с реестрами и репозиториями Docker, управления контейнерами и образами.
Шпаргалка охватывает такие операции, как создание, запуск, остановка и удаление контейнеров, а также поиск, загрузка (pull) и отправка (push) образов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Media is too big
VIEW IN TELEGRAM
Настройка VS Code for PRO
Видео рассказывает о базовой настройке программы, включая использование клавишных сочетаний для ускорения работы. Далее обсуждаются расширения, которые могут улучшить функциональность. В заключении даются советы по оптимальному использованию программы.
📲 Cмотреть курс: тут
👉 @KodBlog | #курсы
Видео рассказывает о базовой настройке программы, включая использование клавишных сочетаний для ускорения работы. Далее обсуждаются расширения, которые могут улучшить функциональность. В заключении даются советы по оптимальному использованию программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
На изображении приведены основные команды Linux, которые должен знать каждый пользовательь
👉 @KodBlog | #ресурсы
pwd: Показывает путь к текущей рабочей директории.cd: Используется для навигации по файлам и директориям.ls: Показывает содержимое директории.cat: Используется для создания нового файла или просмотра содержимого.cp: Команда для копирования файлов из одной директории в другую.mv: Перемещает файлы.mkdir: Создает новую директорию.rmdir: Удаляет директории.sudo: Дает возможность выполнять команды с правами администратора.locate: Находит файлы, аналогично поиску в Windows.head: Показывает первые строки текста в файле.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1
Media is too big
VIEW IN TELEGRAM
Наконец-то дождались
AI Youtube Shorts Generator — это Python-инструмент, предназначенный для создания увлекательных YouTube Shorts из длинных видео.📱
Используя возможности GPT-4 и Whisper, он автоматически анализирует видео, выделяет наиболее интересные моменты, определяет говорящих и обрезает контент в вертикальный формат.
Установка необходимых библиотек осуществляется с помощью команды:
Перед использованием необходимо настроить файл .env, добавив в него ваш OpenAI API ключ:
Для запуска инструмента используйте команду:
Инструмент загрузит видео, проанализирует его, выделит ключевые моменты и создаст финальный файл Final.mp4, готовый для загрузки в YouTube в формате Shorts.
👉 @KodBlog | #ресурсы
AI Youtube Shorts Generator — это Python-инструмент, предназначенный для создания увлекательных YouTube Shorts из длинных видео.
Используя возможности GPT-4 и Whisper, он автоматически анализирует видео, выделяет наиболее интересные моменты, определяет говорящих и обрезает контент в вертикальный формат.
Установка необходимых библиотек осуществляется с помощью команды:
pip install -r requirements.txt
Перед использованием необходимо настроить файл .env, добавив в него ваш OpenAI API ключ:
OPENAI_API_KEY=your_openai_api_key
Для запуска инструмента используйте команду:
python main.py
Инструмент загрузит видео, проанализирует его, выделит ключевые моменты и создаст финальный файл Final.mp4, готовый для загрузки в YouTube в формате Shorts.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
Media is too big
VIEW IN TELEGRAM
Как сделать собственного бота для добычи золота! | C# ✨
Видео включает введение, демонстрацию, обзор цикла фарминга, установку симулятора ввода, настройку импорта, обработку пользовательских вводов, создание основного цикла, тестирование движения, расчет шагов персонажа, функцию перемещения, создание маршрута, имитацию движения мыши и атаки, а также тестирование результатов.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
Видео включает введение, демонстрацию, обзор цикла фарминга, установку симулятора ввода, настройку импорта, обработку пользовательских вводов, создание основного цикла, тестирование движения, расчет шагов персонажа, функцию перемещения, создание маршрута, имитацию движения мыши и атаки, а также тестирование результатов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4😁1
Git Merge vs. Rebase vs. Squash Commit! В чем разница?
Когда мы 𝐦𝐞𝐫𝐠𝐞 изменений из одной ветки Git в другую, мы можем использовать команды ‘git merge’ или ‘git rebase’. Диаграмма выше показывает, как работают эти две команды👆
Git Merge: эта команда создает новый коммит G’ в основной ветке. G’ связывает истории обеих веток — основной и функциональной.
Git merge — 𝐧𝐨𝐧-𝐝𝐞𝐬𝐭𝐫𝐮𝐜𝐭𝐢𝐯𝐞. Никакие изменения не вносятся в основную или функциональную ветку.
Git Rebase: git rebase переносит историю функциональной ветки в начало основной ветки. Для каждого коммита в функциональной ветке создаются новые коммиты E’, F’ и G’.
Преимущество rebase заключается в 𝐥𝐢𝐧𝐞𝐚𝐫 𝐜𝐨𝐦𝐦𝐢𝐭 𝐡𝐢𝐬𝐭𝐨𝐫𝐲.
Rebase может быть опасен, если не следовать "золотому правилу git rebase".
Золотое правило git rebase -
👉 @KodBlog | #ресурсы
Когда мы 𝐦𝐞𝐫𝐠𝐞 изменений из одной ветки Git в другую, мы можем использовать команды ‘git merge’ или ‘git rebase’. Диаграмма выше показывает, как работают эти две команды
Git Merge: эта команда создает новый коммит G’ в основной ветке. G’ связывает истории обеих веток — основной и функциональной.
Git merge — 𝐧𝐨𝐧-𝐝𝐞𝐬𝐭𝐫𝐮𝐜𝐭𝐢𝐯𝐞. Никакие изменения не вносятся в основную или функциональную ветку.
Git Rebase: git rebase переносит историю функциональной ветки в начало основной ветки. Для каждого коммита в функциональной ветке создаются новые коммиты E’, F’ и G’.
Преимущество rebase заключается в 𝐥𝐢𝐧𝐞𝐚𝐫 𝐜𝐨𝐦𝐦𝐢𝐭 𝐡𝐢𝐬𝐭𝐨𝐫𝐲.
Rebase может быть опасен, если не следовать "золотому правилу git rebase".
Золотое правило git rebase -
Никогда не используйте его на публичных ветках!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Отличный курс для понимания ядра Linux 🖥
В нем последовательно рассматриваются основы настройки, структуры процессов, реализации очередей задач, обработчиков прерываний, работы с FIFO, списками, деревьями и другими ключевыми механизмами ядра. Он включает теоретические объяснения и практические примеры внесения изменений в ядро.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
В нем последовательно рассматриваются основы настройки, структуры процессов, реализации очередей задач, обработчиков прерываний, работы с FIFO, списками, деревьями и другими ключевыми механизмами ядра. Он включает теоретические объяснения и практические примеры внесения изменений в ядро.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Откопал для вас крутую штуку — AlgoMaster.io
Это БЕСПЛАТНАЯ платформа, которая поможет вам практиковаться на основе тщательно подобранного списка задач с LeetCode, организованных по паттернам
Каждая задача здесь снабжена видеообъяснением на YouTube и детальным решением с пошаговым разбором
Создатель сайта, Ашиш Пратар Сингх, — сам решил 1583 задачи на LeetCode, чтобы собрать для вас самую годную подборку
👉 @KodBlog | #ресурсы
Это БЕСПЛАТНАЯ платформа, которая поможет вам практиковаться на основе тщательно подобранного списка задач с LeetCode, организованных по паттернам
Каждая задача здесь снабжена видеообъяснением на YouTube и детальным решением с пошаговым разбором
Создатель сайта, Ашиш Пратар Сингх, — сам решил 1583 задачи на LeetCode, чтобы собрать для вас самую годную подборку
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Media is too big
VIEW IN TELEGRAM
Управление состояниями в .NET с помощью Stateless
Stateless — представляет собой библиотеку для реализации конечных автоматов (state machines) в .NET. Она позволяет разработчикам легко создавать и управлять состояниями объектов и их переходами
У нее лаконичный API для определения состояний и их переходов. Также есть возможность обработки асинхронных переходов между состояниями
Пример кода:
👉 @KodBlog | #ресурсы
Stateless — представляет собой библиотеку для реализации конечных автоматов (state machines) в .NET. Она позволяет разработчикам легко создавать и управлять состояниями объектов и их переходами
У нее лаконичный API для определения состояний и их переходов. Также есть возможность обработки асинхронных переходов между состояниями
Пример кода:
using Stateless;
var stateMachine = new StateMachine<State, Trigger>(State.Off);
stateMachine.Configure(State.Off)
.Permit(Trigger.TurnOn, State.On);
stateMachine.Configure(State.On)
.Permit(Trigger.TurnOff, State.Off);
stateMachine.Fire(Trigger.TurnOn);
Console.WriteLine(stateMachine.State); // Output: On
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Media is too big
VIEW IN TELEGRAM
CRUD веб приложение на ASP.NET Core, React, EF Core, Postgresql с чистой архитектурой
Рассматриваются: введение, слой с domain-моделями, работа с базой данных, конфигурация модели, добавление репозитория, настройка класса Program, создание Docker-контейнера с PostgreSQL, слой бизнес-логики, контроллеры, фронтенд, а в конце демонстрируется результат.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
Рассматриваются: введение, слой с domain-моделями, работа с базой данных, конфигурация модели, добавление репозитория, настройка класса Program, создание Docker-контейнера с PostgreSQL, слой бизнес-логики, контроллеры, фронтенд, а в конце демонстрируется результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Вы используете Central Package Management в .NET?
Если вы слышите об этом впервые, вас ждет интересное открытие
Управлять зависимостями для одного проекта достаточно просто
Но что, если у вас 50–100 проектов в одном решении?
Это часто встречается в случае модульных монолитов или микросервисов
Когда у вас много зависимостей в проектах, можно использовать Central Package Management
С его помощью вы можете определить все зависимости NuGet в одном файле
Этот файл содержит версии ваших NuGet-пакетов
Ваши проекты на C# просто ссылаются на необходимые пакеты без указания версии
👉 @KodBlog | #ресурсы
Если вы слышите об этом впервые, вас ждет интересное открытие
Управлять зависимостями для одного проекта достаточно просто
Но что, если у вас 50–100 проектов в одном решении?
Это часто встречается в случае модульных монолитов или микросервисов
Когда у вас много зависимостей в проектах, можно использовать Central Package Management
С его помощью вы можете определить все зависимости NuGet в одном файле
Этот файл содержит версии ваших NuGet-пакетов
Ваши проекты на C# просто ссылаются на необходимые пакеты без указания версии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🙏4❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Как передавать данные в фоновые задачи?
Это не так просто сделать с помощью встроенного
Он работает непрерывно, и вам пришлось бы сначала сохранить состояние в базе данных, чтобы использовать его в фоновой задаче
Вы можете прикрепить данные либо к самой задаче (Job), либо к триггеру (Trigger).
👉 @KodBlog | #ресурсы
Это не так просто сделать с помощью встроенного
IHostedServiceОн работает непрерывно, и вам пришлось бы сначала сохранить состояние в базе данных, чтобы использовать его в фоновой задаче
Quartz решает эту проблему, позволяя передавать данные при планировании задачиВы можете прикрепить данные либо к самой задаче (Job), либо к триггеру (Trigger).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Media is too big
VIEW IN TELEGRAM
Entity Framework Core на практике : репозитории, миграции, модели, связи, запросы к PostgreSQL
Видео охватывает работу с Entity Framework: создание моделей и связей, настройка DbContext, конфигурации, миграции, использование репозиториев, AsNoTracking, а также операции CRUD и пагинацию.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
Видео охватывает работу с Entity Framework: создание моделей и связей, настройка DbContext, конфигурации, миграции, использование репозиториев, AsNoTracking, а также операции CRUD и пагинацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Забыл про имбу 🤖
while True: learn() — это игра-симулятор о программировании и машинном обучении.
Вы играете за программиста, который пытается создать идеальный алгоритм машинного обучения, чтобы понять своего кота. Кот общается странным образом, и игрок должен построить модели, которые смогут расшифровать его "язык".
Она не требует реальных знаний кодинга, так что играть может даже тот, кто вообще не связан с ИТ
Игра доступна в стиме, но не бесплатная - тут
👉 @KodBlog | #ресурсы
while True: learn() — это игра-симулятор о программировании и машинном обучении.
Вы играете за программиста, который пытается создать идеальный алгоритм машинного обучения, чтобы понять своего кота. Кот общается странным образом, и игрок должен построить модели, которые смогут расшифровать его "язык".
Она не требует реальных знаний кодинга, так что играть может даже тот, кто вообще не связан с ИТ
Игра доступна в стиме, но не бесплатная - тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👨💻3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8❤5🔥2👍1🤔1
5 причин, почему простой метод расширения в C# чаще всего лучше AutoMapper:
𝟭. Простота
Пишите только то, что нужно. Методы расширения позволяют выполнять точное сопоставление без лишней настройки.
𝟮. Производительность
Без рефлексии и скрытых затрат. Прямое сопоставление обеспечивает оптимальную производительность на этапе выполнения, экономя драгоценные миллисекунды.
𝟯. Читаемость
Код должен быть понятным. Методы расширения делают маппинг явным, убирая догадки о том, что куда сопоставляется.
𝟰. Гибкость
Ваш код — ваши правила. Настраивайте логику маппинга под конкретные сценарии, не ограничиваясь рамками библиотеки.
𝟱. Отладка
Можно напрямую отлаживать код маппинга без сложностей, связанных с внутренностями AutoMapper.
Простота, производительность и контроль чаще всего побеждают, особенно при создании чистого и поддерживаемого кода
👉 @KodBlog | #ресурсы
𝟭. Простота
Пишите только то, что нужно. Методы расширения позволяют выполнять точное сопоставление без лишней настройки.
𝟮. Производительность
Без рефлексии и скрытых затрат. Прямое сопоставление обеспечивает оптимальную производительность на этапе выполнения, экономя драгоценные миллисекунды.
𝟯. Читаемость
Код должен быть понятным. Методы расширения делают маппинг явным, убирая догадки о том, что куда сопоставляется.
𝟰. Гибкость
Ваш код — ваши правила. Настраивайте логику маппинга под конкретные сценарии, не ограничиваясь рамками библиотеки.
𝟱. Отладка
Можно напрямую отлаживать код маппинга без сложностей, связанных с внутренностями AutoMapper.
Простота, производительность и контроль чаще всего побеждают, особенно при создании чистого и поддерживаемого кода
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍6