Рубрика «C#» - 10

Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как написаны другие языки, поэтому вся реализация интерпретатора это моя чистая импровизация. Мой подход неконвенциональный, поэтому к техническим аспектам стоит относиться без ассоциаций с тем, что вы могли ранее видеть в других языках, несмотря на то, что некоторые вещи могут казаться знакомыми.

image

Читать полностью »

Попалась мне задачка оптимизации, а так как я большой фанат Экселя, то и выбор инструмента был скорым. Единственная пакость: Эксель дико медленный. Так, на одну итерацию уходило как минимум 35 минут, а таких итераций планировалось сделать 1275 (как минимум)!

Цель этого небольшого проектика – ускорить исполнение VBA скриптов задействуя все доступные мне железяки: GPU и CPU. Ну и до кучи, так как библиотека моя, была реализована многозадачность.

Для тех, кто любит читать только код и не любит "растекания мыслию по древу", код находится здесь, инсталлятор Читать полностью »

Абстрактная алгебра в действии - 1

В последнее время всё чаще я ощущаю математическое веяние в программировании. Нет, это не про интегралы с производными, а про что-то абстрактное, другое. Про то, что было всегда у нас под носом, но оставалось незамеченным. Наступит день - про это будут говорить на каждом углу. Но не сегодня. Сегодня мы с этим познакомимся.


Читать полностью »

Как сделать smart толпу в игре и почему лидер толпы это важно.

Толпе нужен лидер, даже толпе зомби.
Толпе нужен лидер, даже толпе зомби.

Введение

Если вы не читали первую часть, советую начать с неё (Часть 1 — архитектура). В этой части я расскажу более подробно о таком классе NPC как толпа.

Читать полностью »

В этой статье не будет длинных предисловий, для чего может быть нужен таймер с интервалом 1 мс. В своей библиотеке DryWetMIDI я использую таймер в роли “двигателя” для воспроизведения MIDI-данных, вы можете прочитать об этом во вступительном тексте предыдущей статьи. Данный механизм реализован сейчас для Windows и macOS. Статью по *nix, увы, ждать в ближайшее время не стоит.

Читать полностью »

Поговорим о фичах в предварительной версии C# 11 - 1

К старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат.


Читать полностью »

Привет, это моя первая статья на Хабре! И в ней я хочу поделится своими знаниями и опытом. Сразу хочу оговориться: в разработке игр я всего год. Так что, если вы профессиональный геймдев, добро пожаловать в тапочный тир!

Читать полностью »

Введение

Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто знает, что Unity поддерживает работу с async/await еще с 2017 версии.

Читать полностью »

0923_SVG_XXE_ru/image1.png

Вы решили сделать приложение, работающее с SVG. Набрали библиотек, запаслись энтузиазмом, и в итоге всё удалось. Но вот незадача! Внезапно вы обнаруживаете, что приложение отправляет странные сетевые запросы. Кроме того, с хост-машины утекают данные. Как же так?

Читать полностью »

Привет. Я последние пару лет играюсь с естественной речью на русском языке. Решил поделиться своим опытом по работе с поэзией. Будет две статьи: вот эта и про рифму (когда дойдут руки всё доделать).

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

Немного теории

Речь пойдёт о так называемом силлабо-тоническом стихосложенииЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js