Как стать автором
Поиск
Написать публикацию
Обновить

Как можно внедрить ИИ в свою первую игру на Python

Уровень сложностиСредний

 

В современном мире искусственный интеллект(ИИ) стал неотъемлемой частью компьютерных игр. Благодаря ИИ персонажи становятся "умнее", а игровой процесс — более увлекательным. Одним из наиболее заметных примеров использования ИИ в играх является создание ботов, которые могут играть на уровне профессиональных игроков в такие игры, как Dota 2 и StarCraft II. Но для первой попытки внедрить ИИ лучше выбрать что-то по проще. Например, можно взять классическую игру Змейка. В этой статье мы сначала разберем, как работает сама игра, а потом постараемся научить ИИ управлять нашим персонажем.

Читать далее >>>

Превращение связки виртуальных машин с Devuan в Whonix

Операционная система Whonix является одним из наиболее надежных инструментов для приватной работы с Интернетом. Она представляет из себя связку виртуальных машин, одна из которых весь трафик пропускает через сеть Tor, а вторая подключается к ней по виртуальной локальной сети. Будучи надежным готовым решением, эта система, однако, имеет свои недостатки. Например, она не позволяет держать основную операционную систему отключенной от Интернета, поскольку на шлюз он раздается с хоста по технологии NAT. Также в ней содержится компонент systemd, который является довольно спорным. Ввиду этого, у некоторых пользователей может возникнуть желание использовать иные методы.
Одно из возможных решений как раз и предлагается в данной работе. Оно состоит в настройке связки виртуальных машин с системами Devuan, которые настраиваются схожим с Whonix образом. Однако прежде чем переходить к непосредственной настройке системы, стоит подробнее разъяснить, что собой представляет Whonix, точнее то, как реализованные в нем решения позволяют пользователю оставаться надежно защищенным от взлома, вести анонимный Интернет-серфинг, и при этом препятствуют активной деанонимизации. Кроме этого, необходимо рассмотреть проблемы системы Whonix, а также преимущества и недостатки предлагаемого метода перед ней.

Читать далее

Пишем расширяемые сервисы на Symfony. От простого к сложному

Уровень сложностиСредний

Сегодня мы с вами посмотрим на один из примеров как можно писать расширяемый код. Работать будем с фреймворком Symfony. Для примера мы реализуем небольшой обработчик ошибок, который должен будет возвращать нам DTO после того как произойдет какой-нибудь эксепшен.

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

Читать далее

«Если сайт работает, аудит не нужен» — доказываем обратное: как на 80% подняnm конверсию интернет-магазина

Уровень сложностиПростой

3 из 4 компаний убеждены: если сайт приносит заказы — менять ничего не нужно. И только одна компания становится топовой на рынке, выявляя точки роста и предвосхищая ожидания клиентов с помощью простого инструмента — аудитов.

Читать далее

Зачем айтишникам своя шаурмичка?! Или как создаются востребованные it-продукты

Уровень сложностиПростой

Всемпривет! Меня зовут Светлана, я сооснователь ИТ‑компании 4mobile, давно работающей в сфере фудтех. И с недавнего времени также являюсь сооснователем заведения общепита, открытого мной и моей командой «айтишников» в промышленном городе с населением 500 тысяч человек.

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

Процесс был и остается нелегким в силу многих факторов. И он еще не закончен и точно заслуживает вашего внимания!

Сегодня будет несколько спойлеров.

Читать далее

Python vs C#, Django vs ASP: проблема выбора

Наверное я один из немногих, которые желают опубликовать материал не просто, чтобы было, или чтобы высказать свое "авторитетное" мнение по тем или иным вопросам, а чтобы получить обратную связь. И за эту самую связь в комментариях я был бы весьма признателен!

Читать далее

Зачем математика программисту?

Уровень сложностиПростой

«Зачем математика программисту?» — этот вопрос вызывает множество споров.

Попробуем внести ясность в этот вопрос.

Для начала нам надо знать, что математика — совокупность (объединение) широкого спектра разделов. Это большая наука, в которую входит очень‑очень‑очень‑очень много всего.

Не нужно знать всю математику, но многие разделы вам точно понадобятся. В следующих статьях подробно опишу какие разделы и темы из математики лучше изучить, если вы хотите повысить свои навыки в различных отраслях IT.

В первую очередь стоит вопрос о компетенции программиста/разработчика (и других профессий в мире IT). Если вы хотите стать посредственным разработчиком, то можете вообще не изучать математику.

Читать далее

Как начать карьеру Junior Frontend-разработчика: Пошаговый план для новичков

Уровень сложностиПростой

Веб-разработка — это одна из самых востребованных и перспективных профессий на сегодняшний день. В последние годы количество вакансий для Junior Frontend-разработчиков растет, и это не удивительно. Но как начать свой путь в этой сфере? Какие шаги нужно предпринять, чтобы попасть в команду и начать работать над реальными проектами?

В этой статье я поделюсь своим опытом и дам несколько советов тем, кто только начинает изучать frontend-разработку.

Читать далее

Совершенный кубоид (Решение)

Уровень сложностиСредний

Доказательство, что у системы диофантовых уравнений нет решения в натуральных числах. Для совершенного кубоида стороны a, b, c, диагонали граней d, e, f и главная диагональ g — целые числа.

Читать далее

Опять созвон…

Уровень сложностиПростой

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

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

Давайте разберем, почему созвон затягивается

Бывало ли такое, что зовут на «быстрый колл», а ты проводишь на нём около часа (может быть2-3 часа) , и в итоге слышишь: «Коллеги, давайте завтра продолжим»? (или через час)

Почему так происходит?

На это есть несколько причин:

1. Нет адженды звонка. Что и для чего нужно обсудить?
2. Не проговаривается чёткий регламент.
3. Не заявляется ожидаемый результат. К чему мы хотим прийти по итогам звонка?
4. Переключение с одной темы на другую без соблюдения адженды.
5. Инициатор звонка приходит неподготовленным.
6. Сам звонок не модерируется ни инициатором, ни кем-либо другим.
И ещё множество других факторов.

Для своей команды я разработала чёткие регламенты для проведения звонков.

Читать далее

Я создал программу для Windows для сжатия мусора на компьютере и вернул себе 70 ГБ на SSD

Уровень сложностиПростой

Ради своего удобства и саморазвития, через обновлённый GitHub Copilot (в основном Claude 3.5 Sonnet) написал утилиту для умного сжатия файлов в Windows, когда много мусора и приложений и нужно всё сжать.

В итоге, получилось очень неплохая утилита в швейцарский нож сисадмина, когда нужно очистить память на SSD. По моим тестам, она не уступает встроенному сжатию в Windows и тяжёлому CompactGUI с ограниченным функционалом.

Например здесь киллер-фича - что утилита сама определяет, какой алгоритм лучше подобрать, а также не пережимает файлы заново, чтобы не убивать SSD постоянными перезаписями. Меньше кликов - больше пользы.

Would You Like To Know More?

Как подружить Whisper и видеокарту Intel Arc

Уровень сложностиПростой

Whisper - нейросеть от OpenAI для распознавания речи и перевода её в текст. Я использую её на домашнем компьютере для создания субтитров. Использовать её довольно просто, нужен только Python и ffmpeg, описание установки есть здесь.

Но поменял видео карту на Intel Arc A750 и столкнулся с проблемой: Whisper использовал для вычислений только процессор и не задействовал видеокарту. Пришлось основательно погуглить, делюсь результатом.

Итак, кратко, что надо сделать (для Windows 11):

Читать далее

Как я написал Telegram-бота для создания мемов и зачем он вам нужен

Уровень сложностиПростой

Чтобы создать качественный мем, обычно приходится разбираться с графическими редакторами, искать подходящий шрифт, подбирать оформление. Я решил упростить этот процесс и создал Мемкреатор — Telegram-бот, который делает мемы и демотиваторы за пару секунд, без лишних усилий.

Читать далее

Включаем голосовую связь в Revolt (аналог Discord)

Уровень сложностиСредний

Здравствуйте!

Мне предстоит выполнить сложную задачу — запустить собственный сервер Revolt с голосовой связью.

Автор Revolt создал self-hosted решение, но в нём отсутствует голосовой сервер. Из-за этого при обычном разворачивании Revolt голосовой чат не функционирует.

Мне пришлось разобраться как поднять и настроить голосовой сервер.

Читать далее

Как правильно зарегистрировать аккаунт в OpenAI

Уровень сложностиПростой

Друзья, в общем решил написать статейку на актуальную тему.

Как правильно зарегистрировать аккаунт в OpenAI ChatGPT из РФ и как пользоваться в дальнейшем, чтобы не заблокировали. Думаю что очень многим будет полезно.

Читать далее

Паттерн Builder (Строитель)

Уровень сложностиПростой

В этой статье мы рассмотрим такой паттерн как Builder, с примерами на С#
Мы построим собственный класс Burger а также создадим к нему класс BurgerBuilder для создание своих Бургеров, также будут рассмотрены живые примеры использования этого паттерна в С#.

Узнать..

Внедрение символа рубля в интерфейс Apache Superset

Уровень сложностиСредний

Apache Superset активно завоевывает отечественный рынок BI-систем. Но у него, как и любого open sourse решения, есть свои плюсы и минусы. По сути, это конструктор, который предлагает из коробки базовые вещи. А если хочешь чего-то большего, то нужно крутить-вертеть самостоятельно или заказывать стороннюю доработку. Об одной из небольших доработок пойдет речь в этой статье.

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

Читать далее

Как развернуть Postgres 8 в 2024 году?

Уровень сложностиПростой

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

Чем только я не занимался и какие «веселые» задачи не встречал. Но тут подвернулась возможность перевести программу нулевых с Microsoft Access на PostgresSQL.

Читать далее

Инвестиции в игровые предметы

Уровень сложностиПростой

Мальчик - заводит ИИС
Мужчина - закупает наклейки в Steam


Итак, начало 2016 года, мне 23 года, после окончания универа я жду призыва в армию. Сижу дома, так сказать, «на шее у родителей». Не работаю, так как вот‑ вот уже должен быть призыв, и играю в Counter‑Strike. В то время я там по мелочи торговал предметами. Классическое «купить подешевле — продать дороже», таким темпом я накопил на ножик за 5500р, и был еще один дорогой предмет, я его выиграл в каком то розыгрыше в ВК, его цена 1500р в тот момент.

Поиграв со всем этим пару недель, это уже поднадоело, и я понимаю, что через месяц я скорее всего попаду в армию и это все, мне не пригодится от слова совсем. Решаю это продать и накупить кейсов — ящики, в которых лежит рандомный предмет, тогда уже было несколько дорогих предметов такого плана и стоили они по 500–700р и они так же выросли с пары рублей. Но денег то мало, начинаю прикидывать, что может вырасти из текущих недорогих ящиков, закупаю тысяч 10 разных предметов, мысленно представляю как после армии куплю себе машину.

После этого продолжаю поторговывать, оставшимся балансом, попутно докупаю ящики. Так же во время турниров, выходят наклейки команд, несколько раз, удачно покупаю их на выходе и продаю с ростом х10-х20 от цены покупки. На прибыль, опять же, докупаю новые и новые ящики. К тому моменту, это наверное 2017 год, я уже имею 40–50 аккаунтов с разными ящиками. Я уже тогда понимал, что нужна диверсификация, внутри предметы разные и рост тоже будет разный. В стиме, лимит на 1000 предметов в инвентаре. Продолжаю крутить деньги на наклейках, предметах и продолжать докупать ящики.

Читать далее

Виртуальные тренажеры: классификация и особенности

Уровень сложностиСредний

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

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

Далее