Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Жадный гном: Как я писал аналитику рынка в Lineage 2

Время на прочтение 5 мин
Количество просмотров 50K

Вот и наступила осенне-зимняя пора. За окном дожди и желания проводить время на открытом воздухе все меньше и меньше. И вот приходит мне сообщение от товарища "А давай поиграем в Lineage 2?". И опять я, поддавшись ностальгии, согласился. Выбрали мы свеженький сервер на ру-офе и создали персонажей.



 
В отличии от World of Warcraft в Lineage 2 совершенно другая система добычи игровой валюты. Нужно круглыми сутками охотиться на монстров с целью получения наживы. Для меня было даже открытием, что для некоторых людей RMT (Real money trading) является чем то вроде работы. Также, в игре присутствует экономика, которую формируют игроки. Иными словами, можно заработать на купи-продай или же покупать дешевые ресурсы, из них делать вещи и продавать с наценкой. Так как для нас игра остается чем то вроде отдыха именно такой способ получения игровой валюты был выбран нами.


Чтобы покупать и продавать предметы игрок должен находиться online (Скриншот сверху). Соответсвенно, кто-то хочет побыстрее продать (дешевле) а кто-то побыстрее купить (дороже). А что если разница продать — купить положительная? Как раз этот пример и будет рассмотрен в статье как итог.


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


Spoiler:
В статье будут использованы следующие технологии
Docker, DigitalOcean, NodeJs, Ktor, Prometheus, Grafana, Telegram bot notification

Читать дальше →
Всего голосов 53: ↑50 и ↓3 +47
Комментарии 58

DDoS атаки на 7 уровень — защита сайтов

Время на прочтение 6 мин
Количество просмотров 10K
DDoS атаки на 7 уровень (на уровень приложения) наиболее простой способ привести в нерабочее состояние сайт и навредить бизнесу. В отличие от атак на другие уровни, когда для отказа сайта необходимо организовать мощный поток сетевого трафика, атаки на 7 уровень могут проходить без превышения обычного уровня сетевого трафика. Как это происходит, и как от этого можно защищаться я рассмотрю в этом сообщении.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 1

Современные команды и фичи Git, которыми стоит пользоваться

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 26K

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git, о которых вам стоит знать.

Читать далее
Всего голосов 75: ↑73 и ↓2 +71
Комментарии 27

Утилиты на PowerShell для системных администраторов

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 18K

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

ScanPC

Утилита сканирующая удалённый ПК и показывающяя версию ОС, информацию о дисках, железе, открытых портах из списка (22,445,80,8080,3389,5900,1112,2575,10050), установленных принтерах, пользователях вошедших в систему, список профилей пользователей в папке C:\Users, размер системных папок и фалов, папки с документами в профилях пользователей размером больше 100МБ.

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 10

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 280K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее
Всего голосов 282: ↑259 и ↓23 +236
Комментарии 277

Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 33K


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

Множество полезных бесплатных курсов и книг делает обучение Python доступным для всех. Вы можете изучать этот замечательньй язык программирования в своем собственном темпе и без необходимости тратить деньги на платные курсы.

Если у вас есть достаточная мотивация и самодисциплина, вы можете самостоятельно изучить Python без покупки платных курсов. 

Читать
Всего голосов 42: ↑39 и ↓3 +36
Комментарии 13

Как мы внедряли Sentry. Часть 1 — установка и настройка

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 11K

Привет! Я Виталий, DevOps в LEADS.SU, в этой статье хочу рассказать как мы внедряли Sentry self-hosted и приводили к продакшен состоянию, которое должно отвечать требованиям высокодоступности - нельзя терять события ошибок. При этом не хотелось заморачиваться с кластеризацией для разных инструментов (вроде redis, postgresql, clickhouse, kafka и прочее). И тут мы вспомнили про распределенную сеть доставки логов из нескольких узлов td-agent и решили попробовать.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 2

Junior PHP. Ответы на часто задаваемые вопросы на технических собеседованиях

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 12K

Привет пользователям Хабра!

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

Читать далее
Всего голосов 23: ↑17 и ↓6 +11
Комментарии 27

Генерация полиморфного вредоносного кода при помощи ChatGPT

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 6.1K

В стремительно меняющемся мире кибербезопасности злоумышленники постоянно ищут новые способы внедрения в компьютерные системы, их дестабилизации и эксплуатации уязвимостей. Один из самых коварных их инструментов — полиморфное вредоносное ПО, угроза-оборотень, затрудняющая использование традиционных защитных механизмов и представляющая огромную опасность для организаций и пользователей. В этом посте я расскажу о том, как атакующие могут применять искусственный интеллект для усиления полиморфизма зловредов. Источником вдохновения для этой статьи стала отличная работа Building BlackMamba, проделанная hyas.com.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 12

10 open-source-фреймворков для разработки ИИ-ботов

Время на прочтение 6 мин
Количество просмотров 3.8K

Если вы всерьёз заинтересовались созданием ИИ-бота, то вам пригодится набор инструментов для его разработки. Чтобы помочь определиться с правильным решением, Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve, сделала небольшой обзор наиболее популярных ИИ-фреймворков.

В статье также пойдёт речь о решениях с функциями распознавания речи. Мы включили в подборку наиболее известные продукты, но если захотите углубиться именно в голосовые технологии, то изучите проекты с 5 тыс. звёзд на GitHub, среди которых DeepSpeech, Leon, Wav2letter и Annyang. Также рекомендуем обратить внимание на Voice API и подобные платформы для гибкой настройки всей цепочки коммуникаций.

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 2

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 16K

Всем привет! Недавно я на практике применил одно интересное решение, которое давно хотел попробовать, и теперь готов рассказать, как своими руками такое можно сделать для любой другой аналогичной задачи. Речь пойдет о создании своей кастомизированной версии ChatGPT, которая отвечает на вопросы, учитывая большую базу знаний, которая по длине не ограничивается размером промта (то есть вы бы не смогли просто добавить всю информацию перед каждым вопросом к ChatGPT). Для этого будем использовать контекстные эмбеддинги от OpenAI (для действительно качественного поиска релеватных вопросов из базы знаний) и сам СhatGPT API (для оборачивания ответов в натуральный человеческие ответы). При этом, также предполагается, что ассистент может отвечать не только на прямо указанные в Q&A вопросы, но и на такие вопросы, на которые смог бы отвечать человек, который ознакомился с Q&A. Кому интересно научиться делать простых ботов, отвечающих по большой базе знаний, добро пожаловать под кат.

Под кат
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 15

Savant: новый высокопроизводительный фреймворк Python для видеоаналитики на оборудовании Nvidia

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 4K

В статье рассматривается новый открытый фреймворк для потоковой видеоаналитики и демонстрируются его возможности на примере демонстрационного приложения, которое использует модель DeepStream’s PeopleNet для обнаружения людей и их лиц, размывает лица и отображает панель управления с помощью OpenCV CUDA.

Мы будем использовать Savant для обработки видео в реальном времени с протоколом RTSP и для обработки видеофайлов в пакетном режиме, чтобы продемонстрировать, как конвейер может достигать скорости 400 кадров в секунду на Nvidia Tesla T4.

Для тех, кто хочет сначала попробовать без подробностей, мы подготовили скрипты для быстрого старта на основе Docker Compose (раздел "Быстрый старт").

Savant на GitHub: https://github.com/insight-platform/Savant

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Google: «У нас нет преимущества перед открытым кодом, и у OpenAI тоже нет»

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 27K

Утекший внутренний документ Google утверждает, что открытый исходный код AI обойдет Google и OpenAI.

В Google много обсуждали OpenAI. Кто первым преодолеет следующий рубеж? Каким будет следующий шаг? Но неприятная правда заключается в том, что мы не готовы выиграть эту гонку вооружений, и OpenAI тоже. Пока мы ссорились, третья сторона тихо забирала наш обед. Я, конечно, говорю об открытом исходном коде. Проще говоря, они опережают нас. То, что мы считаем "основными открытыми проблемами", уже решено и находится в руках людей. Достаточно назвать лишь несколько примеров...

Читать далее
Всего голосов 54: ↑49 и ↓5 +44
Комментарии 38

Много нас, а GPU один. Как делиться?

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 15K

Нет, этот пост не про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Да, этот пост про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Но только если карточка у вас все-таки где-то есть. Пост не про халяву :)

Часто задают вопрос: «У нас маленькое агентство, как бы сделать, чтобы 4 человека работали на одной видеокарте?». То же самое относится и к «мама-папа-я – дружная семья, и все мы любим Stable Diffusion».

Это становится еще более актуальным в связи с появившимися сложностями при попытках бесплатно гонять SD в Google Colab (а Kaggle и другие заменители не такие щедрые).

В этом посте я опишу несколько вариантов «совместной работы с одним GPU», их плюсы и минусы. В основном, на примере Stable Diffusion, хотя Vicuna я тоже гонял параллельно.

Узнать нюансы
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 19

Windows 10 с Tesla T4 в Azure на примере Stable Diffusion и Automatic1111. Недорого

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 4.6K

Краткое содержание:

Если хочется погонять Stable Diffusion или еще как поиграть с AI, а бесплатного Colab не хватает или есть специфические потребности, не обязательно покупать супер видеокарту. Вполне возможно, что spot instance в Azure даст вам желаемое и при этом обойдется дешевле.

И даже если видеокарта вам действительно нужна, это хороший способ понять, какой производительности карта необходима, сколько памяти требуется под ваши задачи...

(осторожно, очень много скриншотов внутри)

<Почему и Как>
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 14

Правильная архитектура MMO эмулятора

Время на прочтение 14 мин
Количество просмотров 13K

Предыстория/Мотивация


Все началось с хобби в начале 2020 года — с очередной попытки написания эмулятора игрового сервера Lineage 2 "по новому". Перед этим шагом было несколько попыток распиливания монолита существующих решений на рынке по новым практикам разработки, но затея оказалась тщетной, ибо те монолиты, которые и по сей день существуют и участвуют в так называемом "продакшен-пиратстве", имеют сильную связанность компонентов и решения поставленных задач, сопоставимые с началом 2000х годов, когда сфера только начинала развиваться. А самое главное, что монолит не заточен на построение распределенной архитектуры и, как следствие, обладает низкой эффективностью.


image


Было принято решение взять часть бизнес-логики (основной составляющей обработки действий игрока) из допотопных проектов эмуляторов и создать современный/масштабируемый эмулятор игрового сервера Lineage 2 Prelude Of War.

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 62

Python package registry в GitLab

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 6.3K

О чем статья: при разработке проектов, и, особенно, распределенных приложений, возникает необходимость использования некоторых частей приложения в качестве отдельных модулей. Например скомпилированные классы для gRPC, модули для работы с БД, и многое другое, могут применяться в неизменном виде в кодовой базе десятка микросервисов. Оставив за скобками копипасту, как "хорошую" плохую практику. Можно рассмотреть git submodules, однако, такое решение не очень удобно тем, что, во-первых, нужно предоставлять разработчикам доступ к конкретным репозиториям с кодовой базой, во-вторых, нужно понимать, какой коммит надо забрать себе, и в-третьих установка зависимостей для кода, включенного в проект как субмодуль, остается на совести разработчика. Менеджеры пакетов (pip, или, лучше, poetry), умеют разрешать зависимости из коробки, без лишних действий, и, в целом, использование менеджера пакетов значительно проще, чем работа с субмодулем. В статье рассмотрим, как организовать реестр пакетов в GitLab, а также различные подводные камни, поджидающие на пути к удобной работе с ним.

Для кого: статья будет полезна разработчикам, столкнувшимся с необходимостью организации приватного реестра пакетов, в качестве руководства по организации такого реестра в GitLab.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 4

Телеграм бот на Python, для напоминаний о реквестах на BitBucket

Время на прочтение 6 мин
Количество просмотров 6.1K

Бот - для работы с репозиторием проекта в BitBucket.

Приветствую любителей ботов :-) Позвольте представить вашему вниманию бота для работы с репозиторием проекта в BitBucket.

Краткое описание моих скромных трудов.

Посмотреть подробнее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Telegram WebApps. Как встроить веб-приложения в чат-бота?

Время на прочтение 5 мин
Количество просмотров 75K

Относительно недавно команда Telegram выпустила обновление, с которым появилась возможность встраивать в мессенджер веб-приложения. Эта статья — обзор основных моментов внедрения веб-приложениий в телеграм-ботов.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 9

Резервное копирование репозиториев с github, gitlab

Время на прочтение 1 мин
Количество просмотров 8.6K
main

Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.

Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность