Tag: Разработка веб-сайтов

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

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

Blockchain

Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам. Когда у вас есть знания о том, что такое криптографически стойкая хеш-функция, понять, что такое blockchain («цепочка блоков»)

[Из песочницы] Edge ненавидит ваши атрибуты

Сказ о том, как мы бездумно использовали на проекте бойлерплейт с целым боекомплектом зависимостей, которыми никто не пользовался, как нам потом это акнулось, когда потребовалась поддержка Edge, и как мы героически починили то, что, по факту, сами и поломали. Нет, это слишком длинно. Сказ о том, что все браузеры — атрибутофобы, а некоторые особенно. Читать дальше → Source: news

Дайджест интересных материалов для мобильного разработчика #217 (14 августа— 20 августа)

На этой неделе у Nokia вышел новый флагман – чистый Android, хорошие камеры, топовая начинка. А кроме этого в нашем дайджесте борьба Яндекса со Swift, вторая серия борьбы с ДИТом, красоный код, помогающий в разработке, будущее дизайна и тестирования иконок. Читать дальше → Source: news

Планетарный ландшафт

Трудно поспорить, что ландшафт — неотъемлемая часть большинства компьютерных игр на открытых пространствах. Традиционный метод реализации изменения рельефа окружающей игрока поверхности следующий — берем сетку (Mesh), представляющую из себя плоскость и для каждого примитива в этой сетке производим смещение по нормали к этой плоскости на значение, конкретное для данного примитива. Говоря простыми словами, у нас есть одноканальная текстура размером 256 на 256 пикселей и сетка плоскости. Для каждого примитива по

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

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

Как создавалась карта с голосами болельщиков для Олимпиады. Лекция в Яндексе

К летней Олимпиаде 2016 года в Рио-де-Жанейро Яндекс подготовил сразу несколько проектов. В том числе — «Карту болельщика». Вы могли отметить свой город на карте, которая отображалась на главной странице Яндекса. Чем больше отметок от жителей города мы получали, тем ярче горел его огонёк. На одном из Я.Субботников руководитель группы интерфейсов главной страницы Яндекса Иван Карев объяснил, как создавалась эта карта. Что получилось? В итоге запустили карту ночью накануне.

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

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

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

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

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

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