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

Все потоки

Сначала показывать
Порог рейтинга

Эволюция игрового фреймворка. Клиент 2. Менеджеры и другие классы

Разработка под iOS *Разработка игр *Разработка под Android *WebGL *Haxe *
Tutorial

Рассмотрев компоненты в общем виде, можно приступить к построению полноценного приложения на их основе. Первым делом нам нужно реализовать смену экранов и показ диалогов. Потом мы добавим возможность конфигурировать приложение и легко подставлять измененные реализации классов с помощью инверсии управления (IoC). Используя IoC-контейнер как контекст приложения создадим возможность запускать параллельно несколько игр в одном приложении, что позволит проводить сеансы одновременной игры, как это делается, например, в шахматах или в онлайн-покере. Под конец мы добавим централизованный доступ к ресурсам, локализации и управлению звуками, а также сделаем свою реализацию для логов и сигналов как более экономичную замену событиям.

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

Читать далее
Рейтинг 0
Просмотры 20
Комментарии 0

Новости

3D-объекты во Flutter. Расширяем Flame

Блог компании OTUS Flutter *Dart *Разработка под iOS *Разработка под Android *

В конце прошлого года движок Flame для создания игровых приложений на Flutter опубликовал первую стабильную версию 1.0 и анонсировал большие изменения в системе миксинов, подходах к управлению компонентами и созданию сцены из иерархии объектов, каждый из которых может выступить в роли контейнера. Прежде всего Flame ориентирован на двумерную графику (спрайты, системы частиц, визуальные эффекты), но возможности Skia позволяют использовать трехмерные преобразования и обеспечивать работу с шейдерами, благодаря чему можно приблизиться к созданию трехмерных игр. В этой статье мы обсудим возможный путь создания трехмерных компонентов в Flame с произвольной визуализацией с использованием компилируемых шейдеров.

Читать далее
Рейтинг 0
Просмотры 28
Комментарии 0

Как мы обучали категоризатор фискальных чеков DataCheckEngine

Блог компании Датаномика Анализ и проектирование систем *Big Data *Разработка под e-commerce *Машинное обучение *

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

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

Проект — электрический помощник для редакции RUVDS

Блог компании RUVDS.com API *Python *Программирование *Хостинг
Tutorial

Казалось бы, для чего редакции может понадобиться telegram-бот? Мы смогли вполне точно ответить на это, когда число наших авторов начало превышать разумные возможности редакторов. В новых экономических реалиях ценна каждая рабочая минута, потому встала задача убрать часть работы, связанной с повторяющимися вопросами, которые можно было бы свалить на бота, для улучшения комфорта взаимодействия всех сторон и, конечно, экономии бесценного времени. А учитывая, что большая часть общения происходит именно внутри телеграма, то и было принято решение завести себе там электрического помощника. Как говорится: телеграм-бот — это не только 40 строчек кода, но ещё и очень полезный выхлоп.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 31
Комментарии 0

«Да я тебя по кошельку эфира вычислю!» или OSINT методики при работе с Ethereum

Блог компании T.Hunter Информационная безопасность *

Ethereum (ETH) он же Эфириум (a.k.a. Эфир) - вторая по популярности криптовалюта в мире, а также платформа для создания децентрализованных онлайн-сервисов на базе блокчейна, работающего на основе умных контрактов (смарт-контрактов).

Концепция второй криптовалюты была предложена ее создателем Виталиком Бутериным в конце 2013 года, а сеть была запущена 30 июля 2015 года. Но это дорогой читатель ты уже скорее всего знаешь и без меня :)

В данной статье мы рассмотрим простые методы и приемы исследования Ethereum, которые применяет в своей работе OSINT-специалист.

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

 

Читать далее
Рейтинг 0
Просмотры 57
Комментарии 0

В условиях параллелизма обнуление памяти замедляется

Процессоры Программирование *Параллельное программирование *Высокая производительность *
Перевод

Взявшись исследовать некоторые непонятки с производительностью в Chrome, я обнаружил, что Microsoft распараллелили обнуление памяти, и иногда работа из-за этого сильно замедляется. В Windows 11 такое замедление можно частично побороть, но в последних версиях Windows Server — где этот фактор наиболее важен — баг цветет и пахнет.

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

Окей – давайте перейдем к деталям.

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

Создаём кастомный маркер в react-yandex-maps через iconLayout: template

JavaScript *Maps API *ReactJS *TypeScript *
Из песочницы

Всем привет, не так давно ко мне в команду в ПРОФИ пришла задача реализации довольно комплексной в плане верстки и интерактивности карты, на которой бы отображались заказы, оставленные нашими клиентами. Мы решили использовать фреймворк, адаптирующий яндексовый SDK под реакт.

react-yandex-maps + доки к нему

UI маркеров почти полностью приходится настраивать по докам уже Яндекса, тк react-yandex-maps предоставляет нам только внешний интерфейс, позволяющий довольно удобно прокинуть параметры в объект маркера как пропсы.

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

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

Перенос данных с Oracle на PostgreSQL: основные этапы, несовпадающие типы и форматы данных

Блог компании Postgres Professional PostgreSQL *SQL *

В настоящее время тема миграции с СУБД Oracle на СУБД PostgreSQL (и разработанную на её основе СУБД Postgres Pro) является очень актуальной. В этой области у команды Postgres Professional накоплен многолетний опыт, которым мы решили поделиться. На основе наших материалов для внутреннего обучения мы подготовили серию статей для Хабра о миграции данных в PostgreSQL из «оракловой» базы.

Также на близкие темы можно посмотреть следующие доклады и мастер-классы.

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

Программирование JavaFX: использование SceneBuilder

Блог компании FirstVDS Программирование *Java *ООП *
Tutorial


В прошлой статье мы начали разговор о фреймворке JavaFX, который позволяет создавать интерфейсы, оставаясь в рамках знакомой вам среды разработки (не нужно изучать веб-технологии). В этот раз мы поговорим о средстве упрощения и ускорения разработки интерфейсов — SceneBuilder.

Читать дальше →
Рейтинг 0
Просмотры 250
Комментарии 0

Голосовые приложения для Маруси: идеи и разработки слушателей Академии больших данных MADE в VK

Блог компании VK Машинное обучение *Учебный процесс в IT Голосовые интерфейсы *

Привет, Хабр! В прошлом году мы в Just AI провели курс по разговорному ИИ и диалоговым системам в Академии больших данных MADE от VK. Обучали студентов инструментам NLU (Natural Language Understanding, понимание естественного языка), дизайну разговорных интерфейсов, разработке навыков, глубокому обучению в диалоговых системах, речевым технологиям и другому. В конце ребята делали итоговые проекты — функции (голосовые приложения) для голосового ассистента Маруси. Мы выбрали несколько самых интересных идей, чтобы рассказать о них вам. 

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

Sass: разрабатываем дизайн-систему

Блог компании Timeweb Cloud CSS *HTML *


Привет, друзья!


В данной статье мы разработаем простую, но относительно полноценную дизайн-систему для веб-приложения средствами Sass.


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


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


Код проекта на GitHub.


Если вам это интересно, прошу под кат.

Читать дальше →
Рейтинг 0
Просмотры 295
Комментарии 3

Compliance-дайджест: что изменилось в ИБ‑законодательстве в июне

Блог компании Ростелеком-Солар Информационная безопасность *

На связи Катя, консультант по информационной безопасности «Solar Интеграция». В новом посте рассказываю об основных изменениях из мира ИБ-комплаенса за июнь. Вы узнаете о новых штрафах, которые предлагается ввести за нарушения в области биометрических персональных данных, об информационных сообщениях ФСТЭК России, о нормативных правовых актах, принятых в развитие майского Указа Президента России, а также об отраслевых новшествах. Все новости по традиции разбиты на тематические блоки.

Узнать, что нового
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 146
Комментарии 0

Pet-проекты, заметки и практика. Как перейти из backend-разработки в ML

Блог компании Криптонит Программирование *Карьера в IT-индустрии Читальный зал Интервью

В «Криптоните» работает Сергей Аверкиев (@averkij). Он занимается исследованиями в области речи и текста в лаборатории больших данных и статистики. Но до этого много лет он работал бэкенд-разработчиком.

Мы поговорили с Сергеем и узнали, как происходил переход из одной сферы в другую, сложно ли было на это решиться, и что он посоветует тем, кто тоже думает сменить область. Бонусом – курсы и комьюнити.

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

Тотальная декомпозиция в Jetpack Compose. И причем здесь навигация

Разработка под Android *

С выходом Jetpack Compose делать ui компоненты и, в целом, верстать стало проще. Да и сам инструмент так и навязывает переиспользовать ранее сделанные compose функции, делать их как можно меньше, чтобы можно было удобней переиспользовать.

Но что если это не всегда так удобно? Да и просто переиспользовать compose функции это слишком просто! Jetpack Compose дает куда большие возможности в вопросе декомпозиции задачи.
Простой пример: как переиспользовать compose функции, если мы строим многомодульное приложение? Нужно раскидать эти compose функции так, чтобы были доступны для разных модулей, но это все нужно организовать так, чтобы не наткнуться на circular dependency (при многомодульном построении приложения) или же чтобы это все не превратилось в "кашу" (при построении приложения в одном модуле), а также обойти кучу других проблем, которые могут возникнуть. Безусловно, решить этот пример можно множеством способов. Одно решение из множества, достаточно кардинальное, я опишу далее.

Читать далее
Рейтинг 0
Просмотры 181
Комментарии 0

Штраф в 150% от стоимости проданной квартиры: ужасы валютных нарушений, и как их избежать

IT-эмиграция Законодательство в IT Финансы в IT

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

Читать далее
Всего голосов 72: ↑70 и ↓2 +68
Просмотры 11K
Комментарии 37

С Windows 7, похоже, рано прощаться — ее будут поддерживать еще три года, хоть и не для всех. Но зачем?

Блог компании Selectel IT-инфраструктура *Исследования и прогнозы в IT *IT-компании

На днях на Хабре писали о том, что Microsoft планирует продлевать срок платной поддержки ОС Windows 7 еще на три года. Правда, это пока не точно — о том, что эта версия операционной системы «останется жить», известно после анализа новых обновлений безопасности, где содержатся необходимые лицензии и ключи ESU для получения выпусков обновлений безопасности до января 2026 года.

Тем не менее, вероятность этого очень высокая, и если так, то возникает вопрос — зачем все это? Давайте посмотрим.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 7.3K
Комментарии 43

Gradle и нетривиальная конфигурация

Java *Gradle *
Из песочницы

Каждый из нас знакомился с новомодными библиотеками, фреймворками, инструментами по getting started статьям из документации. В них всё складывается как по полочкам, в пёстрых красках показывается как всё просто и легко. Однако зачастую картина меняется, когда в Ваш новорожденный проект требуется подключить не одну условную библиотеку, а набор. Getting started осложняются появлением инородных элементов, и в процесс приходится подключать инстинкты. Когда за плечами многолетний опыт разработки и не один поднятый с колен проект, такая задача не видится проблемной. Однако, когда Вы делаете это в первый раз, инстинкты подводят. Впоследствии оглядываясь назад, мы жалеем о том, что в начале у нас не было опыта, который есть сейчас. Да и откуда было бы его получить? Ведь в getting started о таком не пишут, а проекты, в которых мы работаем не с самого начала, уже прошли этап становления.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 1.1K
Комментарии 5

Снижение аллокации при замыкании (closure)

.NET *C# *

Недавно у меня появилась задача по снижению аллокации в очень горячем месте кода. Там происходит тривиальное: запускаются Task'и в которых заранее известным набором handler'ов обрабатываются объекты. Вооружившись профайлером, я с удивлением обнаружил, что много памяти (и много времени GC) затрачивается на удаление объектов-замыканий.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.7K
Комментарии 14

Главный цикл в пошаговых играх

Проектирование и рефакторинг *Разработка игр *Dart *
Перевод

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 3.5K
Комментарии 1