Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Пора делать нормальных телеграм-ботов #3

Level of difficultyEasy
Reading time4 min
Views9.1K

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

Узнать, о чём речь

Пора делать нормальных телеграм-ботов #2

Level of difficultyEasy
Reading time4 min
Views6.5K

Уверен, многие даже не задумываются над тем, как поведёт себя разрабатываемый бот в случае неправильного его использования. Самое время вскрыть своих ботов и исправить часто допускаемые недочёты, которые я здесь опишу. Снова их 5, снова никакого кода, снова только описание. Добро пожаловать под кат.

Узнать, о чём речь

Пора делать нормальных телеграм-ботов #1

Level of difficultyEasy
Reading time3 min
Views16K

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

Узнать, о чём речь

Алгоритмы балансировки нагрузки в .NET. Кэширование и Rate Limiting в Ocelot, сравниваем со стандартными средствами .NET

Reading time4 min
Views6.2K

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

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

Читать далее

Никогда не забывай об этом, когда делаешь open-source проект

Level of difficultyEasy
Reading time8 min
Views29K

Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс важен не только для сообщества программистов в целом, но и для каждого конкретного разработчика: участвуя в создании программ с открытым кодом, они могут неплохо развить свои скиллы, обрести новых друзей со сходными интересами и, конечно же, потешить своё самолюбие. Признайтесь, вам хотелось бы, чтобы вашей библиотекой пользовался весь мир?

Читать далее

Предновогоднее шоу: Топ 10 ошибок в C и С++ проектах в 2023 году

Level of difficultyMedium
Reading time12 min
Views13K

Вот уже выпал снег, на дворе декабрь, а значит и Новый Год где-то рядом. В преддверии праздников мы решили показать вам наиболее интересные ошибки, которые мы смогли найти в коде популярных Open Source проектов. Наши авторы написали много познавательных статей, разобрали множество ошибок в коде, и теперь мы подведём итоги.

Читать далее

Создаём HoneyBot в Telegram

Reading time4 min
Views14K

Всем привет! В этой статье мы рассмотрим, как создать Telegram HoneyBot для идентификации анонимных пользователей «самого безопасного» мессенджера. А на примере такого бота заодно и наглядно покажем, как избегать деанонимизации в Telegram, и напомним о необходимости сохранять бдительность, кликая по подозрительным кнопкам и ссылкам в нём. За подробностями добро пожаловать под кат!

Читать далее

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

Level of difficultyEasy
Reading time10 min
Views120K

Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю. 

Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло.  В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком.  Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:

- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.

- А почему вот другие не продали?

- Потому, что у них точность обработки такая, что их только в металлолом можно сдать. Поэтому они здесь работают и крутятся как могут, и обтачивают валы турбин Siemiens.

Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования.  В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок. 

Читать далее

Один в поле разработчик: примеры российских видеоигр, которые создавал один человек

Reading time5 min
Views36K

Может ли интересную игру создать один человек? Когда-то Пажитнов сделал Тетрис, а одним из развлечений программистов было создание или портирование игр с одной платформы на другую. 

Есть зарубежные игры, созданные в одиночку и заработавшие миллионы – о них на Хабре уже писали. Мы поговорим об интересных инди-проектах от российских разработчиков. Одни имеют коммерческий успех, другие только начинают свой путь, третьи – уже стали легендами. 

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

Читать далее

Простой софт, чтобы водители не дрались в очереди на выгрузку металлолома

Reading time8 min
Views11K
image

На сегодняшний момент металлолом — наше всё. Нам его надо ОЧЕНЬ много, и мы его закупаем.

Лом нам везут ломовозами с площадок сбора металлолома.

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

— Я только спросить.
— А за меня друг занимал.
— Мне срочно — я беременный.
— Вас здесь не стояло.

Всё это вносило море хаоса.

Этот откровенный бардак не устраивал никого: ни водителей, ни операторов КПП, ни приёмщиков лома. Даже в ближайшем МФЦ уже внедрили электронную очередь! А мы чем хуже?

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

На словах просто, на деле — как обычно.
Читать дальше →

Собираем объёмный дисплей на Raspberry Pi

Level of difficultyMedium
Reading time16 min
Views23K

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

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

Искусственный интеллект для игры в Тетрис

Level of difficultyMedium
Reading time5 min
Views7.1K

Работая над своей реализацией Тетриса на Javascript, я столкнулся с необходимостью тестирования игры. Тестировать хотелось в условиях, максимально приближенных к реальности, т.е., играя в него. Самому тратить часы на игру не было ни желания, ни времени. Я решил разработать бота, который будет играть в тетрис вместо меня. Такого бота можно оставить играть на несколько часов и отловить редкие ошибки, которые слишком трудно воспроизвести вручную. Кроме того, мне было просто интересно написать такого бота.

Читать далее

Уменьшение размера файла с игрой в Godot 4

Level of difficultyEasy
Reading time4 min
Views6.9K

При экспорте своей первой простой аркадной игры в Godot 4.1 я столкнулся с проблемой. Не смотря на простоту проекта и присутствие лишь небольшого количества содержимого: несколько спрайтов и небольшого разрешения фонов, игра весила 67 мб. Я полез гуглить, в чем проблема и как можно ужать итоговый exe файл.

Читать далее

Mockito и как им пользоваться

Level of difficultyMedium
Reading time12 min
Views45K

Привет, Хабровчане!

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

Несколько строк кода, и вы уже создаете моки для ваших сервисов и DAO! Mockito предоставляет понятный API для мокирования, который делает тесты не только проще в написании, но и более читабельными.

Читать далее

Добавляем зрение, слух и голос в свой ChatGPT бот в Telegram

Level of difficultyEasy
Reading time7 min
Views22K

Поддержка преобразования речи в текст была в OpenAI API уже давно, а вот из текста в речь, а также распознавание изображений было добавлено совсем недавно. В связи с чем продолжаю свою серию туториалов по разработке собственного ChatGPT бота в Telegram.

Читать далее

Лайфхак: как зимой спасти аккумуляторы своих гаджетов

Level of difficultyEasy
Reading time7 min
Views15K


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

А учитывая, что сейчас практически везде используются встроенные (несъёмные) аккумуляторы, то последствия могут быть не менее драматическими: либо гаджет летит на помойку (вместе с потраченными на него деньгами), либо ему требуется дорогостоящая и «муторная» замена аккумулятора в сервисном центре.

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

Но тут меня посетила гениальная идея.
Читать дальше →

OpenAI сняли все ограничения со своих моделей

Reading time4 min
Views77K

Вас тоже бесит когда Вы хотите устроить подрыв, спрашиваете у ChatGPT как сделать бомбу, а он Вам... Не отвечает. Говорит что мол, OpenAI, правила и бла-бла-бла.

На самом деле эту статью я пишу чтобы объяснить тем кто её увидит что у OpenAI абсолютно нет конкурентов. Google и прочие даже рядом не стоят с OpenAI...

Узнать что там дальше ёмаё

Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

Level of difficultyEasy
Reading time5 min
Views18K

На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.

Приступить к чтению

Предновогодние мини-ПК: 5 отличных девайсов на разные случаи жизни

Reading time3 min
Views24K

Скоро уже 1 января, а значит, самое время подумать о подарке либо себе, либо коллеге, члену семьи, другу… Ну, вы сами знаете, кому дарить. Мини-ПК, в общем-то, неплохой вариант для подарка. А в декабре 2023 года разные производители представили неплохие варианты устройств. О них сегодня и поговорим.
Читать дальше →

Вычисление значений при угловом обходе квадратной матрицы

Reading time8 min
Views3.9K

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

Однако, некоторое время назад меня посетила шальная мысль: а нельзя ли придумать математическую формулу, которая могла бы вычислить значение любого элемента подобных матриц на основании лишь его координат? Такая формула, конечно, не ускорила бы процесс полного обхода матрицы и соответственно установления каких-либо значений по пути следования (обычно по возрастающей)...

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity