
Очень неочевидные вещи, о которых никогда не приходится задумываться, пока не сталкиваешься с реальными проблемами использования ботов (иногда очень злонамеренного и неправильного).
C#, C++, Lua
Очень неочевидные вещи, о которых никогда не приходится задумываться, пока не сталкиваешься с реальными проблемами использования ботов (иногда очень злонамеренного и неправильного).
Уверен, многие даже не задумываются над тем, как поведёт себя разрабатываемый бот в случае неправильного его использования. Самое время вскрыть своих ботов и исправить часто допускаемые недочёты, которые я здесь опишу. Снова их 5, снова никакого кода, снова только описание. Добро пожаловать под кат.
Вы создаёте ботов в телеграме? Даже если нет, полезно будет знать о некоторых моментах, касающихся разработки телеграм-ботов. Никакого кода не будет, только картинки и описание 5 распространённых ошибок, которые меня — заядлого педанта в области разработки простых интерфейсов — раздражают.
Когда растет количество запросов на сервис, так что один сервер перестает справляться, возникает необходимость в горизонтальном масштабировании сервиса на нескольких серверах, и настройки балансировки нагрузки, который будет распределять запросы между ними.
Сегодня мы реализуем различные алгоритмы балансировки нагрузок в .NET, и обсудим преимущества и недостатки каждого из них.
Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс важен не только для сообщества программистов в целом, но и для каждого конкретного разработчика: участвуя в создании программ с открытым кодом, они могут неплохо развить свои скиллы, обрести новых друзей со сходными интересами и, конечно же, потешить своё самолюбие. Признайтесь, вам хотелось бы, чтобы вашей библиотекой пользовался весь мир?
Вот уже выпал снег, на дворе декабрь, а значит и Новый Год где-то рядом. В преддверии праздников мы решили показать вам наиболее интересные ошибки, которые мы смогли найти в коде популярных Open Source проектов. Наши авторы написали много познавательных статей, разобрали множество ошибок в коде, и теперь мы подведём итоги.
Всем привет! В этой статье мы рассмотрим, как создать Telegram HoneyBot для идентификации анонимных пользователей «самого безопасного» мессенджера. А на примере такого бота заодно и наглядно покажем, как избегать деанонимизации в Telegram, и напомним о необходимости сохранять бдительность, кликая по подозрительным кнопкам и ссылкам в нём. За подробностями добро пожаловать под кат!
Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю.
Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло. В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком. Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:
- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.
- А почему вот другие не продали?
- Потому, что у них точность обработки такая, что их только в металлолом можно сдать. Поэтому они здесь работают и крутятся как могут, и обтачивают валы турбин Siemiens.
Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования. В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок.
Может ли интересную игру создать один человек? Когда-то Пажитнов сделал Тетрис, а одним из развлечений программистов было создание или портирование игр с одной платформы на другую.
Есть зарубежные игры, созданные в одиночку и заработавшие миллионы – о них на Хабре уже писали. Мы поговорим об интересных инди-проектах от российских разработчиков. Одни имеют коммерческий успех, другие только начинают свой путь, третьи – уже стали легендами.
Эти примеры могут вдохновить кого-то на создание собственной видеоигры, доказать, что с достаточной долей веры в себя и упорством всё становится возможным.
— Я только спросить.
— А за меня друг занимал.
— Мне срочно — я беременный.
— Вас здесь не стояло.
Работая над своей реализацией Тетриса на Javascript, я столкнулся с необходимостью тестирования игры. Тестировать хотелось в условиях, максимально приближенных к реальности, т.е., играя в него. Самому тратить часы на игру не было ни желания, ни времени. Я решил разработать бота, который будет играть в тетрис вместо меня. Такого бота можно оставить играть на несколько часов и отловить редкие ошибки, которые слишком трудно воспроизвести вручную. Кроме того, мне было просто интересно написать такого бота.
При экспорте своей первой простой аркадной игры в Godot 4.1 я столкнулся с проблемой. Не смотря на простоту проекта и присутствие лишь небольшого количества содержимого: несколько спрайтов и небольшого разрешения фонов, игра весила 67 мб. Я полез гуглить, в чем проблема и как можно ужать итоговый exe файл.
Привет, Хабровчане!
Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтись. Мокирование создать поддельные версии сложных объектов или систем, чтобы мы могли тестировать каждую часть нашего кода изолированно. Это упрощает написание тестов и бустит их выполнение.
Несколько строк кода, и вы уже создаете моки для ваших сервисов и DAO! Mockito предоставляет понятный API для мокирования, который делает тесты не только проще в написании, но и более читабельными.
Поддержка преобразования речи в текст была в OpenAI API уже давно, а вот из текста в речь, а также распознавание изображений было добавлено совсем недавно. В связи с чем продолжаю свою серию туториалов по разработке собственного ChatGPT бота в Telegram.
Вас тоже бесит когда Вы хотите устроить подрыв, спрашиваете у ChatGPT как сделать бомбу, а он Вам... Не отвечает. Говорит что мол, OpenAI, правила и бла-бла-бла.
На самом деле эту статью я пишу чтобы объяснить тем кто её увидит что у OpenAI абсолютно нет конкурентов. Google и прочие даже рядом не стоят с OpenAI...
На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.
Размышления о способах непрерывного обхода двухмерных массивов, в которых траектория не пересекает саму себя, привели к выводу что их и не так-то много. На самом деле базовые алгоритмы можно, как говорится, пересчитать по пальцам одной руки. Наиболее известные из них: обход по спирали и обход «змейкой». В сети можно найти предостаточное количество решений, основная часть которых опирается на фундаментальные элементы программирования: условные переходы и циклы.
Однако, некоторое время назад меня посетила шальная мысль: а нельзя ли придумать математическую формулу, которая могла бы вычислить значение любого элемента подобных матриц на основании лишь его координат? Такая формула, конечно, не ускорила бы процесс полного обхода матрицы и соответственно установления каких-либо значений по пути следования (обычно по возрастающей)...