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

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Как увеличить ресурсы в десять раз

AssemblerКомпиляторыРеверс-инжинирингЧитальный зал

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

Для тех, кто не интересовался подобными деталями, поясню, что формат, под привычной сейчас всем аббревиатурой EXE, в отличие от самого примитивного COM-формата (т.е. просто готового образа выполняемых команд), имеет внутри себя различные таблицы настроек. Главным образом, это было сделано для того, чтобы такой EXE-модуль можно было загружать в произвольное место памяти. Затем с помощью этих таблиц можно до собственно запуска программы настроить адреса команд и данных на нужные значения, если где-то применена абсолютная, а не относительная адресация.

В эпоху Windows EXE-формат еще усложнился, и закономерно появилась возможность хранить в нем как неотъемлемую часть не только команды и простые данные, но и, например, картинки или элементы интерактивного диалога. В самом деле, если Ваша программа рисует красивый курсор в виде какой-нибудь стрелочки «выточенной из стали», неудобно же таскать вместе с программой еще и отдельный файл с изображением этой стрелки. Гораздо удобнее поместить изображение прямо внутрь EXE-файла, указав, что это не просто картинка, а именно курсор. Кстати, при создании ярлыка программы, Windows ищет в ресурсах EXE-файла элемент типа «иконка» и высвечивает его как значок ярлыка по умолчанию.

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

Новости

Показать еще

Недельный геймдев: #23 — 20 июня, 2021

Разработка игр

Из новостей на этой неделе: Weta Digital представили WetaM, прогресс по работе над Godot, Autodesk опубликовал список функций 3ds Max 2022.1, 3Dflow выпустили 3DF Zephyr 6.0, а выход Blender 3.0 хотят отложить на 2 месяца. Unity опубликовали первый в истории обзор сообщества ArtEngine, NVIDIA Omniverse запустили новый конкурс: Create with Marbles, который продлится до 30 июля.

Из интересностей: 3D-художник Quaternius поделился бесплатным паком низкополигональных космических кораблей, художник по визуальным эффектам Клинтон Джонс выпустил огромную подборку различных 3D-рендеров, присланных ему другими художниками.

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

Перемножение чисел на ассемблере без умножения

Ненормальное программированиеAssemblerМатематика

Как-то вдруг задумался о перемножении чисел без использования инструкций умножения.
Нужно сказать, что в корне данной задачи лежит сдвиг числа на то количество бит, на котором месте эти биты находятся. Собственно и обнаружил я эту закономерность совершенно случайно.
В результате недолгого мозгового штурма получился следующий ниже код, в регистре esi получаем произведение eax * ebx.
Разумеется представленная версия кода ограничивает результат 32-мя битами, но ведь разрядность при желании можно и расширить, главное - концепция.

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

Zynq 7000. Порты GPIO, PS, PL

FPGAПроцессорыDIY или Сделай самЭлектроника для начинающих

Продолжаю описывать свою “беготню по граблям” по мере освоения SoC Xilinx Zynq XC7Z020 с использованием отладочной платы QMTech Bajie Board. В этой статье хотелось бы рассказать, как я решил задачу по настройке тактирования из PS, получению и работе с входными сигналами с кнопок, реализацию примитивного фильтра антидребезга и логического элемента "И" в PL.

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

Биологический антагонизм. Микробы против микробов

Научно-популярноеБиотехнологииБиология

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

Однако есть случаи, когда противостояние выходит на первый план. У животных поздних таксономических групп на исход столкновения сильное влияние оказывают возраст и пол животного, его «бэкграунд» (прошлое, детский возраст, опыт, перенесенные лишения и болезни), в конце концов, климатические условия и подручные средства. Скажете, какие могут быть подручные средства у тигра? Ландшафт и наличие деревьев тоже считается. Но у микробов нет подручных средств. Их противостояние носит почти что чистый характер – организм против организма, колония клонов против колонии клонов. Сюжет, достойный блокбастера космических масштабов. Об этом и пойдет речь сегодня.

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

Делаем микрообразы с микросервисами

JavaScriptNode.JSTypeScriptМикросервисы

Из цикла "Микросервисы или смерть"

Решаемая проблема: монолитное приложение на Node.js раньше, в развернутом состоянии, занимало 0.2 Гб всего. Теперь же, разбитое на 33 микросервиса, занимает 33 * 0.1 = 3.3 Гб. Можно ли избежать подобной издержки? -- можно! В статье мы избавимся от лишнего веса.

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

Самые необычные ноутбуки последнего времени. Часть 1

Блог компании SelectelГаджетыКомпьютерное железо

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

Сегодня предлагаю поговорить о ноутбуках, которые резко отличаются от «родственников» какой-либо возможностью. Тему стал изучать относительно недавно, и оказалось, что нестандартных лэптопов просто куча. Самые интересные и обсудим — возможно, кому-то из читателей удалось поиграться с какой-либо моделью и есть, что рассказать.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Просмотры8.3K
Комментарии 13

Когда код это данные

Блог компании RUVDS.comJavaScriptСовершенный кодПроектирование и рефакторингКомпиляторы
Tutorial
«Представь, что люди как бы находятся в подземном жилище наподобие пещеры, где во всю её длину тянется широкий просвет. С малых лет у них на ногах и на шее оковы, так что людям не двинуться с места, и видят они только то, что у них прямо перед глазами, ибо повернуть голову они не могут из-за этих оков.»

© Платон «Государство», книга 7: Миф О Пещере
Время от времени мне пишут с просьбой помочь в написании кода, который меняет код (далее кодмод, от слов код и модификация - изменение) и сегодня я расскажу об этом нехитром процессе в новом формате, вдохновлённом диалогами Платона, он будет содержать вопросы обратившегося ко мне человека по поводу линтера нового поколения, и мои развёрнутые ответы.

Забегая вперед скажу, что результатом общения стал loader ESTrace, который при запуске может показать что-то вроде:


Но об этом позже, а сейчас:
Следим за функциями
Всего голосов 29: ↑28 и ↓1 +27
Просмотры2K
Комментарии 1

Как за день потерять 30% онлайна и за два месяца сделать батлрояль

Блог компании LightmapРабота с 3D-графикойРазработка игрUnityДизайн игр

Однажды в своем PvP-шутере мы за один день потеряли 30% от 60 тысяч одновременного онлайна. Это был 2018-й, в тот день на iOS вышел Fortnite. И хотя хайп был уже около года, а PUBG регулярно бил рекорды, без королеской битвы нам жилось вполне спокойно. Но тут стало очевидно, что батлрояль нельзя игнорировать, игрокам он нравится и нужно разрабатывать свой.

За два месяца мы проделали много интересной и сложной работы. Например, сделали свой редактор террейна, чтобы отрисовывать ландшафт не в 500 тысяч треугольников, как это делал Unity Terrain, а всего в 30 тысяч. Или написали мешбейкер, сократив количество запросов на отрисовку с 800 до 100, а освещение научились запекать за 5 минут вместо 30 часов. 

И это не говоря уже об огромном количестве разных оптимизаций ассетов, подгрузки объектов и так далее. Обо всем этом и многом другом подробно расскажу под катом.

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

Почему fuck переводится как черт или Как и зачем смягченно локализовать англоязычный мат в кино

Блог компании EnglishDomИзучение языков

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

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

Читать далее
Всего голосов 16: ↑11 и ↓5 +6
Просмотры6K
Комментарии 21

Новый механизм API Priority and Fairness в Kubernetes

Блог компании OTUSKubernetes
Перевод

Эта статья посвящена новой функции Kubernetes: API Priority and Fairness (APF). Я хочу поделиться своими находками и рассказать, как определять политики для приоритизации и ограничения входящих запросов на API-сервер Kubernetes. Также мы рассмотрим некоторые метрики и отладочные конечные точки, которые позволяют оценивать влияние APF на контроллеры.

Бета-версия функции APF включена по умолчанию, начиная с версии Kubernetes 1.20. В более ранних версиях Kubernetes она включается через функциональный шлюз APIPriorityAndFairness.

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

Обмен данными между двумя Teensy 4.0 и ПК: танцы с бубном

ОтладкаПрототипирование
Recovery mode


Я решил написать эту заметку в надежде, что полученный мной опыт и найденные решения могут оказаться полезными тем, кто столкнется с аналогичными проблемами в проектах, где предполагается обмен данными между несколькими Teensy и ПК.
Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры427
Комментарии 0

Vulkan. Руководство разработчика. Отрисовка

ПрограммированиеC++Работа с 3D-графикойРазработка игрCGI (графика)
Перевод
Tutorial
Я занимаюсь техническими переводами в ижевской IT-компании CG Tribe и продолжаю публиковать перевод уроков Vulkan Tutorial на русский язык. Оригинальный текст руководства можно найти здесь.

Моя сегодняшняя публикация посвящена первым двум статьям раздела Drawing, — Framebuffers и Command buffers.

Содержание
1. Вступление

2. Краткий обзор

3. Настройка окружения

4. Рисуем треугольник

  1. Подготовка к работе
  2. Отображение на экране
  3. Графический конвейер (pipeline)
  4. Отрисовка
  5. Повторное создание цепочки показа

5. Буферы вершин

  1. Описание
  2. Создание буфера вершин
  3. Staging буфер
  4. Буфер индексов

6. Uniform-буферы

  1. Дескриптор layout и буфера
  2. Дескриптор пула и sets

7. Текстурирование

  1. Изображения
  2. Image view и image sampler
  3. Комбинированный image sampler

8. Буфер глубины

9. Загрузка моделей

10. Создание мип-карт

11. Multisampling

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

Изучаем машинное обучение на примере данных, полученных телескопом «Кеплер»

Блог компании SkillFactoryМашинное обучениеНаучно-популярноеФизикаАстрономия
Перевод

Представьте, что вы смотрите фильм с проектора. Если через луч проектора проходит человек, он создаёт тень, закрывая часть света. Зрители видят, что часть света от проектора закрывается, и понимают, что закрывает его какой-то человек (обычно это их раздражает). Зрители в данном случае повторяют действия телескопа «Кеплер», который обнаруживает вращающиеся вокруг звёзд планеты (экзопланеты), выявляя мельчайшие изменения в количестве света, поступающего от звезды, если планета проходит перед звездой. Такое явление называется транзитом. На основе данных о транзитных свойствах объектов при помощи машинного обучения возможно прогнозировать расположение экзопланет, в том числе похожих на Землю. К старту курса о машинном и глубоком обучении делимся немного реорганизованным переводом статьи о том, как тип модели ML может повлиять на качество прогнозирования. В конце статьи вы найдёте ссылку на репозиторий проекта с блокнотами Jupyter.

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

Ежедневные беседы с ИИ помогут распознать ранние признаки болезни Альцгеймера

Блог компании IBMИскусственный интеллектЗдоровье
В очередном исследовании IBM представлены эмпирические доказательства эффективности автоматизированной оценки состояния пациентов на основе анализа речи с использованием планшета для обнаружения легкого когнитивного расстройства.


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

Как развернуть iLO Amplifier Pack?

IT-инфраструктураСерверное администрированиеИскусственный интеллект

В предыдущей статье я рассказывал как зарегистрировать ваши сервисы в HPE InfoSight. Для этого необходимо, чтобы у вас уже был развернут Amplifier Pack. Так что ниже расскажу подробно как это можно сделать и какие существуют варианты.

iLO Amplifier Pack может быть развернут в виртуальных средах MS Hyper-V, VMware ESXi, Linux KVM на любом сервере в локальной инфраструктуре.

Для загрузки iLO Amplifier Pack нужно перейти по ссылке и загрузить файл для соответствующего гипервизора (в данный момент из личного опыта рекомендую загрузить версию 1.71, т.к. у версии 1.81 есть глюк- не применяются введенные настройки. После настройки версии 1.71, обновиться до 1.81). Требуемые для развертывания виртуальные ресурсы:

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

Более безопасный способ сбора потоков данных из пользовательских интерфейсов Android

Блог компании OTUSПрограммированиеРазработка под AndroidKotlin
Перевод

В приложении для Android потоки Kotlin обычно собираются из пользовательского интерфейса для отображения обновлений данных на экране. Однако, собирая эти потоки (flows) данных, следует убедиться, что не приходится выполнять больше работы, чем необходимо, тратить ресурсы (как процессора, так и памяти) или допускать утечку данных, когда представление переходит в фоновый режим.

В этой статье вы узнаете, как API Lifecycle.repeatOnLifecycle и Flow.flowWithLifecycle защищают вас от пустой траты ресурсов и почему их лучше использовать по умолчанию для сбора потоков данных из пользовательского интерфейса.

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

Массачусетское приложение уведомлений о заражении COVID-19 автоматически устанавливается на Android-смартфоны

Здоровье
Перевод

Пользователи сообщили, что Google, похоже, автоматически установила приложение для уведомлений о заражении COVID-19 в Массачусетсе на некоторые Android-смартфоны. Система по-прежнему активна только в случае, если пользователи сами включат ее, утверждает 9to5Google.

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Просмотры1.6K
Комментарии 6

Как зарегистрировать ваши сервисы в HPE InfoSight

IT-инфраструктураСерверное администрированиеИскусственный интеллект

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

Для того, чтобы зарегистрировать Вашу систему в InfoSight переходим на вкладку «HPE InfoSight» > «InfoSight Setup», ставим галочку в опции «Enable Service». Далее открываем сайт https://infosight.hpe.com/app/login, регистрируемся или, если уже есть HPE Passport, входим на сайт. Переходим по ссылке «HPE Server Registration»:

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

Рутина, прощай: как организовать разработку микросервисов

Блог компании DINSКонференцииИнтервью

На конференции Java Meeting Point Андрей Перепелкин из экосистемы недвижимости «Метр квадратный» расскажет, как организовать разработку микросервисов, чтобы сделать их максимально похожими и снять рутинные задачи с разработчиков. 

У Андрея большой опыт в этом деле: он с командой организовал процесс в компании, где на сегодняшний день 50 микросервисов, и это число постоянно растет. В этом интервью он поговорил о задачах, которые перед ним стояли, и поделился успехом в их решении. 

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