Обновить
19
0
Журат Максим@ChessMax

Пользователь

Отправить сообщение

Структурное логирование и интерполированные строки в C# 10

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели34K

В последние годы все большую популярность у разработчиков завоевывает структурное логирование. В этой статье я хотел бы рассмотреть, как мы можем добавить поддержку структурного логирования с использованием интерполированных строк при помощи новых возможностей C# 10.

Читать далее

Простая система ветровой эрозии на основе частиц

Время на прочтение15 мин
Охват и читатели3.5K

Полный исходный код этого проекта, а также объяснение того, как его использовать и читать, можно найти на Github [здесь]. Проект рендерится при помощи моего собственного [TinyEngine].

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

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

Один из самых хорошо известных и производительных алгоритмов улучшения генерации рельефов на основе шума — это гидравлическая эрозия на основе частиц [перевод на Хабре]. Этот алгоритм чрезвычайно прост и обеспечивает отличные результаты относительно малыми усилиями.

Его результаты убедили меня дополнить эту систему потоками воды и водоёмами, что привело к созданию процедурной гидрологической системы [перевод на Хабре]. Используя упрощённую модель, система успешно передаёт многие эффекты реального мира, поэтому я заинтересовался в дальнейшем исследовании симуляции геоморфологии на основе частиц.

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

Получившаяся система хорошо работает, позволяя моделировать движущиеся осадочные породы, а также сплошные неподвижные препятствия. Она воссоздаёт многие эффекты, наблюдаемые при реальной ветровой эрозии, например, серповидные дюны!
Читать дальше →

Ontol: Лучшие бесплатные онлайн-курсы от MIT

Время на прочтение6 мин
Охват и читатели39K
image

78% профессорско-преподавательского состава MIT ставит знания выше финансовой выгоды и согласились 20 лет назад стартовать инициативу MIT OpenCourseWare — полную оцифровку обучения и выкладывания его в окрытый доступ для всех желающих.

Около 35% поступивших в MIT студентов, говорят, что на их выбор повлияли бесплатные окрытые лекции MIT OpenCourseWare.

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

Компьютернеы науки, математика, физика, этические вопросы ML, система управления истребителя F-22, физика ковида, устройство мозга, кибербезопасность, разработка игр, квантовая и ядерная физика, химия, теория алгоритмов, теория вычислений, линейная алгебра. Добро пожаловать под кат. (осторожно, 100+ мб трафика на превьюшки)

Читать дальше →

Разработка мобильных игр на Unity. URP, 2D Animation и другие новомодные вещи на примере игры

Время на прочтение8 мин
Охват и читатели11K

Всем привет! Это снова Илья и сегодня мы поговорим о технической реализации мобильной игры в современных реалиях. Статья не претендует на уникальность, однако в ней вы можете найти для себя что-то полезное. А чтобы рассмотреть разработку на реальном проекте - мы возьмем реализацию нашей игры, которая на днях выходит в Soft-Launch.

Читать далее

Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly)

Время на прочтение10 мин
Охват и читатели28K

До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.

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

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

Читать далее

Ontol про пентест и этичное хакерство: подборка лучших бесплатных курсов на YouTube

Время на прочтение9 мин
Охват и читатели31K
image

Анджелина как бы намекает, что пора стать этичным хакером.

Чтобы YouTube не банил обучающие курсы по хакерству, их назвали курсами этичного хакерства.

Этичный хакер — это добрый и пушистый, очень законопослушный высококвалифицированный специалист, который с письменного разрешения заказчика проверяет защищенность информационных систем этого же заказчика. Потом пишет отчет о выявленных уязвимостях и больше никому ничего не рассказывает, даже если очень хочется. Если хакер вдруг перестал быть этичным, его тут же ловят другие этичные хакеры, потому что сила в правде.

Есть очень дорогие курсы, есть не очень дорогие, а есть бесплатные. Вообще-то, тру хакер всё должен выучить самостоятельно по книгам, но иногда можно и на YouTube подсмотреть.

Предлагаем вашему вниманию подборку 20+ самых популярных обучающих видеокурсов на YouTube.
Читать дальше →

Установка Google сервисов на Windows Subsystem for Android

Время на прочтение3 мин
Охват и читатели24K

Энтузиаст смог установить Google сервисы и приложения на WSA. Оригинал тут.

Я же попробую описать это в виде инструкции, и предоставить готовый архив, для тех кому лень вводить кучу команд в терминал или устанавливать WSL.

Внимание, после установки WSA, перестает запускаться эмулятор Android Studio. С этой проблемой еще не разобрался! И не говорите потом, что я вас не предупреждал :)

Читать далее

Простой шутер от третьего лица на Unreal Engine. Часть 2

Время на прочтение4 мин
Охват и читатели9.1K

До прочтения этой статьи рекомендую прочитать первую часть.

План на сегодня:

Сегодня мы создадим простеньких противников, который будут ходить туда-сюда. Научимся наносить им урон.

Читать далее

Определение App flavors для приложений Flutter

Время на прочтение4 мин
Охват и читатели4.1K

Этот пост будет полезен для Flutter-разработчиков, которым хочется поработать с флейворами (flavours), изменить и дополнить их. Сегодня мы не будем говорить о процессе создания флейворов с разными иконками, названиями и идентификаторами, благо таких публикаций существует уже очень много. Вместо этого речь пойдет о том, как определять флейвор в Dart-коде, а также о решении некоторых часто встречающихся при сборке приложений проблем, связанных с введением флейворов. 

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

Читать далее

AltUnity Tester для автоматизации Unity проектов

Время на прочтение3 мин
Охват и читатели7.1K

AltUnity Tester - это инструмент автоматизации тестирования на основе пользовательского интерфейса с открытым исходным кодом, который помогает находить объекты в вашей игре Unity и взаимодействовать с ними с помощью тестов, написанных на C #, Python или Java.

Читать далее

Увлекательная история о раскрашивании парных скобок — как VSCode ускорил раскраску в 10,000 раз

Время на прочтение26 мин
Охват и читатели28K

Прим. Wunder Fund: в этой статье из блога VSCode рассказана увлекательная алгоритмическая история о решении проблемы раскрашивания скобок. Господам удалось достичь значительногоускорения этого процесса. Нам самим очень нравится решать подобные задачи при работе над торговой системой, а если они вам тоже интересны, то пишите:)

Когда имеешь дело с глубоко вложенными скобками в Visual Studio Code — может быть непросто понять то, у каких скобок есть пары, а у каких — нет.

Для того чтобы упростить решение этой задачи, в 2006 году пользователь CoenraadS разработал восхитительное расширение для VS Code — Bracket Pair Colorizer, позволяющее раскрашивать парные скобки, и опубликовал его в VS Code Marketplace. Это расширение стало весьма популярным, теперь оно, с более чем 6 миллионами установок, входит в 10 самых скачиваемых расширений.

Для того чтобы решить проблемы, касающиеся производительности и точности работы расширения, в 2018 году CoenraadS выпустил расширение Bracket Pair Colorizer 2, которое тоже стало популярным и было установлено более 3 миллионов раз.

Читать далее

Осознанная ходьба для удаленщика

Время на прочтение7 мин
Охват и читатели32K

Я работаю на полной удаленке уже 10 лет. Стоит ли говорить, что проблема сидячего образа жизни все эти годы стоит ребром? Мой пример немного не типичен тем, что какое-то движение в жизни было всегда - сидячей работе сопутствовали эпизодические высокие нагрузки пару раз в месяц (выезды в условный лес). Но этого определенно недостаточно. Нужна именно регулярность.

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

Читать далее

Serialize Reference в Unity

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

Всем добрый день. Эта про относительно новую фичу Serialize Reference. Появилась она в 2019 версии.

Читать далее

Тестируем сервисы для подготовки к собеседованию

Время на прочтение7 мин
Охват и читатели23K

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

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

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

К старту флагманского курса по Data Science разбираемся, действительно ли тестовые собеседования подходят для подготовки к реальным.

Читать далее

Начинающему сетевому программисту

Время на прочтение17 мин
Охват и читатели184K

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее

Упрощённые рейкасты в Unity

Время на прочтение8 мин
Охват и читатели10K

Всем привет, меня зовут Григорий Дядиченко, и я технический продюсер. Недавно я столкнулся с одной интересной задачкой в ходе реализации проекта, и подумал что стоит наверное рассказать про физику в Unity, про нюансы работы с ней и про то, какие существуют альтернативные варианты в решении разных задач. Как связывать это всё дело с EventSystem и расширять Unity классы. Если вам это интересно - добро пожаловать под кат.

Читать далее

Разработка Unity плагинов для iOS и Android

Время на прочтение23 мин
Охват и читатели5.4K
Есть куча ситуаций когда одной Unity недостаточно и нужно использовать возможности платформы. Банально, но до сих пор, в Unity нет работы с галерей и камерой из коробки. Понятно, что Unity не ограничивается мобильными платформами, но 60-70% всех мобильных игр, как бы говорят:

image
Читать дальше →

Полезные бесполезные фичи C#

Время на прочтение5 мин
Охват и читатели12K

В 53 выпуске подкаста DotNet & More (site, youtube) мы обсуждали фичи C# 10 и разбирали их применимость в будущем. И уже потом возник вопрос: все ли языковые конструкции из C#1, 2, 3, 4 и т.д. мы применяем? И даже если они безбожно устарели, существуют ли ситуации, в которых им найдется применение?

Читать далее

Easing Functions – функции плавности для CSS-анимации и переходов

Время на прочтение10 мин
Охват и читатели26K

Функции плавности меняют восприятие анимации, влияя на скорость воспроизведения и частоту кадров. Мы живые люди, и привыкли к естественному, нелинейному движению. Использование настраиваемых функций улучшает впечатление пользователей. В этой статье мы погрузимся в функции плавности, рассмотрим возможности их применения для создания потрясающей естественной анимации. Материал адаптирован на русский язык совместно с Максимом Васяновичем, ментором курса «Профессия Frontend-разработчик с нуля до PRO» в Skillbox.

Узнать больше

Простой шутер от третьего лица на Unreal Engine. Часть 1

Время на прочтение7 мин
Охват и читатели27K

Эта статья писалась для новичков Unreal Engine, если вы профи, то вам будет скучно. Для нормального прочтения, осмысления и понимания происходящего ниже необходимо знать что такое переменная и их основные типы, что такое метод, булеву логику и самые базовые принципы программирования. Спасибо. Приступим.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик мобильных приложений
Старший
Flutter
Flutter Bloc
MobX
Mobile
Разработка мобильных приложений