Author: AnnaSerba

Реализация, аналог и адаптация для «чистого» JavaScript'а JQuery функции JQuery(); и прилегающие к ней

Когда-то библиотека jQuery была хорошим помощником для программистов. Так как она позволяла в разы облегчить создание функционала, который в то время с помощью одного JavaScript было почти нереально написать, и предоставляла очень хорошую кроссбраузерность. Сейчас же JavaScript получил множество больших обновлений, функции в которых получили большое количество полифиллов и могут заменить функции jQuery. Но, к сожалению, JS до сих пор не научился делать большинство функций, которые присутствуют в jQuery. В

Ломаем хаКс полностью. Читаем машинные коды как открытую книгу

Если haXe оттранслирован в C++, а из него — в машинные коды, это может показаться безнадёжным, тем более, на первый взгляд этот код пестрит вызовами виртуальных методов, которые, не запуская отладчик, трудно соотнести с адресами тел методов. Но всё не так уж плохо. Даже при отключенной поддержке сценариев (HXCPP_SCRIPTABLE) в файле можно обнаружить строки с названиями методов и полей. Разбираем, как можно размотать этот клубок, сопоставить имена методов с их

Игровая модель поведения на рынке двух конкурирующих фирм на Python

Введение Математическое моделирование в экономике позволяет предупредить возникновения ряда проблем, возникающих в реальной предпринимательской деятельности. Одной из таких проблем у производителей товаров является банкротство. Поэтому знакомство со стратегиями, позволяющими избежать банкротство в условиях конкуренции, хотя бы на самом начальном уровне безусловно полезно. Кроме того, популярность Python растёт, и реализация задач экономической оптимизации на этом языке так же поспособствует их популярности. Постановка задачи Рассмотрим модель поведения на рынке двух конкурирующих фирм,

Генерация лабиринта алгоритмом Эллера в Unity

Всем привет! Сегодня хотелось бы рассказать о том, как генерировать лабиринты алгоритмом Эллера, и о том, как сделать красивую 3д визуализацию в Unity, чтобы потом использовать её в своих играх. Также немного рассказать о том, как можно настроить пост обработку внутри данного решения. И по традиции ссылка GitHub с самим генератором. Читать дальше →

Настраиваем автоматическую сборку проекта в Gitlab CI

Зачем нужна автоматическая сборка проекта никому объяснять не надо. В случае со сборкой проектов под Unity это особенно актуально, так как средненький проект, например, под WebGL собирается на рабочей машине 5-7 минут, полностью её завешивая. Не так давно вышла версия Unity под Linux, что дало принципиальную возможность настроить автоматическую сборку при помощи Gitlab CI (которая основана на docker образах). Я хочу поделиться своим опытом такой настройки. Читать дальше →

О качестве требований в ИТ проектах, на чистоту (с позиции команды разработки). Часть 2

С частью 1 можно ознакомиться, перейдя по ссылке Рекомендации по проектированию спецификаций требований с примерами То, о чем не говорят, каждый понимает по-своему Как и было анонсировано в предыдущих разделах, мы постараемся преобразовать требования на разработку ПО в такой формат, чтобы они максимально упростили и ускорили работу команды превращающую их в конечный продукт. Готовим читателей к знакомству со спецификациями Итак, с чего может начинаться знакомство команды разработки, с представленными требованиями?

Клонирование игры Lode Runner с первого ПК в СССР «БК-0010» плюс несколько слов о программировании игр в конце 80-х

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

Параметрическое моделирование в САПР SolveSpace: «Неисповедимы пути Решателя» или «Червоточины Ньютона»

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

[Из песочницы] Dagger 2.11 & Android

В данной статье рассматривается использование специализированного модуля Dagger 2 под android и подразумевается, что у вас есть наличие базовых знаний по Dagger 2. В Dagger 2.10 был представлен новый модуль специально для Android. Данный модуль поставляется как дополнение, состоящий из дополнительной библиотеки и компилятора. В версии 2.11 были некоторые небольшие изменения, в частности некоторые классы, были переименованы, поэтому будет использоваться именно эта версия. Читать дальше →

Мириады запущенных задач на C#

Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await. Основными выводами были: рекурсивный вызов асинхронного метода в C# подвержен StackOverflowException goroutine’ы лучше задач (тасков) в .NET в плане производительности Но главная проблема вышеприведенных публикаций — абсолютное непонимание модели кооперативной многозадачности в C# с вводом читателей в заблуждение. Сами же бенчмарки — бессмысленные, как мы увидим позже. Далее в статье