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

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Не Unity единым…

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 79

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

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

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

Новости

Проблемы функции Golang init

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 245

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

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

Большая сила и большая ответственность. Все игры о Человеке-пауке

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 382

Состоялся долгожданный релиз Marvel’s Spider-Man 2 — продолжения нашумевшего боевика 2018 года. Игра доступна только на PlayStation 5 и может порадовать фанатов Человека-паука и вселенной Marvel проработанным Нью-Йорком, множеством суперспособностей и увлекательным сюжетом. В честь выхода новинки мы решили погрузиться в историю и найти множество других интересных игр про Человека-паука по порядку — на консолях и ПК.

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

Прогнозирование временных рядов с помощью библиотеки Skforecast

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 670


В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, но для этого требуется преобразование данных и создание новых фичей (feature engineering).

Кроме того, временные ряды требуют своих подходов в оценивании моделей машинного обучения, так как стандартная кросс-валидация не подходит для временных данных. В этой статье мы (я + я) рассмотрим нюансы прогнозирования на практике и с помощью библиотеки skforecast.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Истории

Измерение частоты на STM32

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 1.9K

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

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

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 7

Чтение на выходные: «Fallout. Хроники создания легендарной саги» Эрвана Лафлериэля

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 887

Эрван Лафлериэль — гейм-журналист, главред, автор книги о всемирно известной среди геймеров (и не только) саге Fallout. Чтение перевели и издали в России в 2023 году, так что это свежак. В качестве предисловия — вступление от создателя игры Брайана Фарго.

Все написано простым и понятным языком. Почитали сами и теперь рекомендуем вам: заинтересует разработчиков и всех кто когда-либо играл в подобные игры.

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

Как расширить компетенции аналитиков при работе с Big Data

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 385

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

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

Yggdrasil-mesh глазами пентестера

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.3K

В наше время растет популярность децентрализованных альтернатив современным подходам к маршрутизации трафика в вычислительных сетях (например, для обхода санкционных блокировок недружественных стран и анонимизации трафика). Одним из примеров такого подхода является Yggdrasil. Новые подходы обещают нам инновации, децентрализации и конечно же гарантии безопасности. Но так ли это на самом деле? И хотя многие опытные пользователи и так знают о проблемах безопасности подобных сетей, мне бы хотелось подсветить их сильнее на одном конкретном примере, не претендуя на звание создателя rocket science.

ПРЕДУПРЕЖДЕНИЕ. Все совпадения вымышлены. Автор не ставил своей целью просканировать весь Yggdrasil и проэксплуатировать все уязвимости безопасности.

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

Истории из жизни вредоносов: знакомимся с Remnux

Время на прочтение 6 мин
Количество просмотров 667

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

Можно конечно, поднять виртуалку/контейнер с Windows/Linux и в нем с помощью специальных инструментов анализировать работу данного файла. Естественно, использовать свою рабочую машину для анализа вредоносов идея, мягко говоря, не очень хорошая. Рано или поздно (скорее рано) вы не уследите при анализе в отладчике, и вредонос выполнится полностью и захватит контроль над машиной. 

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

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

Нейросети в качестве художника: всё лучше и лучше. Подборка инструментов для создания изображений

Время на прочтение 3 мин
Количество просмотров 2.3K

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

Читать далее
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 1

Почему я не буду использовать Next.js

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 5.4K

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

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

С момента выхода Remix в 2020 году я использовал именно этот фреймворк. Мне он настолько понравился, что на следующий год я устроился в эту компанию, чтобы помочь с развитием сообщества, а через 10 месяцев ушёл работать в EpicWeb.dev, где теперь обучаю людей всему необходимому для создания фулстек-приложений. И Remix играет в этом значительную роль, являясь веб-фреймворком, который аналогично Next.js нацелен на решение задач, связанных с созданием веб-приложений.

Поскольку Next.js аналогичен Remix, многие спрашивают, почему для преподавания фулстек-разработки в EpicWeb.dev я предпочёл именно Remix. И текущая статья станет ответом на этот их вопрос.
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 8

Фаззинг на пальцах. Часть 1: идея, техника и мера

Время на прочтение 7 мин
Количество просмотров 565

О чем вы думаете, когда слышите слово «фаззинг»? Одни вспоминают о приказе ФСТЭК России № 239, другие — об утилитах с пугающими отчетами, а кто-то и вовсе озадаченно пожимает плечами. Рассказываем, для чего нужен фаззинг, зачем его применять и каким он бывает.

Навигация по статье:

• Ввод понятия

• Подходы к тестированию (White/Black/Grey Box)

• Необходимость проведения

• Ограничения в выборе

• Международные практики

• Вместо заключения

• Для статистики 

Ввод понятия 

В ГОСТ 58142 «Информационная технология. Методы и средства обеспечения безопасности. Детализация анализа уязвимостей программного обеспечения в соответствии с ГОСТ Р ИСО/МЭК 15408 и ГОСТ Р ИСО/МЭК 18045. Часть 2. Тестирование проникновения» есть следующее определение: «фаззинг — это тестирование, использующее как корректные, так и случайные (включая некорректные) входные данные для проверки, устанавливающей, обрабатываются ли должным образом интерфейсом случайные входные данные или возникает ошибочная ситуация (ошибочное условие), указывающая (указывающее) на наличие недостатков при разработке (ошибки исходного кода) или при эксплуатации».

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

Из определений ясно, что фаззинг позволяет обнаружить ошибки сразу на нескольких стадиях жизненного цикла программного средства: разработки и применения. Неужели этот метод настолько универсален?

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

Padding vs SizedBox. Что выбрать для вёрстки отступов Column и Row

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 785

Здравы будьте! С вами на связи руководитель Flutter-направления Mad Brains Николай Омётов. В этой статье я проведу разбор особенностей вёрстки отступов с помощью Padding и SizedBox и расскажу, что выбрала наша команда для создания единого стиля кода.

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

Ближайшие события

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
HolyJS
Дата 2 – 12 ноября
Время 15:00 – 19:00
Место Санкт-Петербург Онлайн
IT Recruiting – HR Forum 2023
Дата 8 – 10 ноября
Время 9:00 – 18:00
Место Москва
Яндекс Backend Tour
Дата 13 – 26 ноября
Время 18:00 – 23:00
Место Москва Нижний Новгород Екатеринбург Новосибирск Санкт-Петербург Онлайн
Национальный рекламный форум
Дата 15 – 17 ноября
Время 10:00 – 19:30
Место Москва
Онлайн IT HR-конференция HR42
Дата 17 – 18 ноября
Время 10:00 – 14:00
Место Онлайн
Импульс Т1
Дата 17 ноября
Время 13:00
Место Иннополис Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн

Программист с детства: интервью с разработчиком

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 2.3K

Программистов на свете много. Но откуда они берутся? Что должно случиться в жизни человека, чтобы он раз и навсегда решил связать свою жизнь с разработкой?

Нет, конечно же, мы не будем брать в расчет выпускников ИТ-курсов. Далеко не все из них продолжат карьеру в ИТ. Тех, кто погнался за «легкими» деньгами тоже оставим за скобками. Как правило, самые интересные истории рассказывают люди, влюбившиеся в компьютеры и программирование в раннем возрасте. Те, кого называют «прирожденными» программистами.

Сегодня в формате свободного интервью мы поговорим с Колей. Он профессиональный программист, инди-разработчик, коллекционер ретро-техники и просто очень интересный человек.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 16

Регулярные выражения — это не трудно

Время на прочтение 6 мин
Количество просмотров 4.5K
image

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

Знать regex стоит потому, что с его помощью можно добиться очень многого, используя очень мало кода. Если я пытаюсь с помощью обычного процедурного кода воспроизвести то, что делает моё выражение, то код часто получается очень пространным, полным багов и тормознутым. Могут потребоваться часы или дни, чтобы найти альтернативное решение, а ведь можно было за пару минут написать regex.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 12

Разработка рекомендательных систем: три открытых библиотеки от Сбера

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 685

Делимся своими открытыми библиотеками для разработки рекомендательных систем. Что? Да! Рассказываем подробнее. Всем известно, что Сбер это уже не просто банк, а огромная технологическая компания, которая включает в себя и сервисы компаний-партнёров: электронную коммерцию, индустрию развлечений и даже медицину. Количество пользователей достигло 108 млн, и для каждого из них мы создаём персональные рекомендации, которые помогают не потеряться в разнообразии предложений и выбрать лучшее.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 1

Рекомендации для входа в ИТ

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.4K

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

Читать далее
Всего голосов 12: ↑1 и ↓11 -10
Комментарии 3

Автоматизация выявления вредоноса в реестре Windows

Уровень сложности Средний
Время на прочтение 28 мин
Количество просмотров 2.7K

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

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

Что GCC делает для усиления защиты ядра?

Время на прочтение 6 мин
Количество просмотров 2K

Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжао (Qing Zhao) рассказала о работе, проделанной в компиляторе GCC для укрепления ядра, а также о работе, которую еще предстоит проделать.

Проект Kernel self-protection является отправной точкой для львиной доли работ по укреплению ядра, — начала она. Усиление защиты может быть выполнено несколькими способами, начиная с исправления известных ошибок безопасности, которые могут быть обнаружены с помощью статических анализаторов, фаззеров или инспекции кода. Однако исправление ошибок — это задача, не имеющая конца, и гораздо лучше, когда у нас есть возможность полностью исключить целые классы ошибок. Таким образом, большая часть усилий по укреплению ядра была направлена на устранение таких проблем, как переполнения стека и кучи, целочисленные переполнения, инъекции форматных строк, утечки указателей, использование неинициализированных переменных, use-after-free уязвимости и т.д. Также ведется работа по блокированию разных методик эксплойтов, включая возможность перезаписи текста ядра или указателей функций.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 1

Митап по С++ в Москве и онлайн: боли нового стандарта, висячие ссылки и дискуссия о собеседованиях

Время на прочтение 2 мин
Количество просмотров 1K

Привет, Хабр! 21 ноября собираемся на митапе по C++. Обсудим новый стандарт С++ 23 с точки зрения практикующего программиста, узнаем, как избежать dangling reference, и подискутируем, как собеседовать комфортно для всех.

В посте делимся программой митапа. Участие бесплатное, но нужно зарегистрироваться по ссылке.

Изучить программу →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0