Search
Write a publication
Pull to refresh
18
0
Журат Максим @ChessMax

User

Send message

Насколько круто иметь свой сервер в комнате

Reading time6 min
Views132K

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

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

Игровая камера: сборник приемов

Reading time17 min
Views18K

Сегодня мы узнаем:

- можно ли считать людей, которые инвертируют оси в играх, лицами с нетрадиционной ориентацией;

- что такое фокусное расстояние объектива и для чего оно нужно;

- какой угол обзора надо делать у камер, чтобы монитор выглядел, как окно в виртуальный мир;

- как правильно фотографировать;

- и сделаем простенький симулятор дрифта.

Погнали!

Пишем приложение на Mi Band 7 с сервисной частью

Level of difficultyMedium
Reading time6 min
Views38K

Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений. 

Читать далее

Игровой real-time сервер простыми словами: теория, архитектура на Python, оптимизация, автомасштабирование в AWS

Reading time20 min
Views26K

Разработка сервера для real-time онлайн игры - дело неочевидное, но очень интересное. В данной статье я постараюсь провести вас от банальной теории и базовых вещей до динамического автомасштабирования игрового сервера в облаке.

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

Перейти к материалу

Наводим порядок в управлении разработкой с помощью Gitlab и Jira

Reading time8 min
Views8.8K

Привет! Меня зовут Александр Мошаров, я — ведущий разработчик кластера «Индустриальные процессы». В прошлом году я руководил группой из нескольких десятков разработчиков, расшаренных на множество проектов, и собирал обратную связь от команд. На основе этих данных мы с коллегами разработали универсальный и простой подход к процессам в Jira и Gitlab. Вот уже на протяжение года этот подход облегчает облегчает  жизнь многим командам разработчиков в «Северсталь-инфокоме». Расскажу, как мы пришли к этой системе и в чем она заключается. 

Полный порядок!

Где скачать научную статью легко и доступно?

Reading time1 min
Views129K

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

Однако стоимость одной статьи от платных издателей может составлять 150 долларов, что не так уж и мало по сравнению с размером стипендии студента.

Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.

Читать далее

Что такое катастрофический возврат и как регулярное выражение может стать причиной ReDoS-уязвимости?

Reading time8 min
Views7.6K

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

Читать далее

Build godot from source on linux with c# support and web export template

Reading time6 min
Views3.4K

Проблема: чтобы собрать UE из сурсов, достаточно команд; чтобы собрать UE докер-образ, достаточно 1 команды. А чтобы собрать godot из сурсов с поддержкой c# на линукс и с возможностью экспортировать проект в web, надо прочитать 5+ статей и потратить кучу времени на понимание оных. Чтобы вы могли не тратить своё время, я собрал всю необходимую информацию в одной статье. Здесь приведены краткие инструкции по сборке godot движка из сурсов на debain 11 (64bit).

Собрать godot

Физика вращения 3д тел

Reading time11 min
Views12K

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

В статье Вас ждут математика, физика, а заодно численное моделирование и визуализация в libgdx.

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

Читать далее

Как улучшить английский в документации

Reading time11 min
Views37K

Я работаю техническим писателем в компании documentat.io. Мы занимаемся заказной разработкой технической документации, в том числе на английском языке. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.

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

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

Читать далее

Генерация кода API клиента приложения на основе пакета dart openapi generator

Reading time6 min
Views13K

Привет! Меня зовут Даниил, около трех лет я занимаюсь mobile-разработкой. В начале работы над коммерческими проектами с использованием Flutter и языка Dart мне приходилось тратить много часов на реализации методов обращения к REST API бэкенда проекта. Тогда я задумался, как можно оптимизировать написание кода сервисов,  которые работают с удалённым сервером заказчика. Это позволило мне сократить трудозатраты и время на разработку почти в 10 раз, а клиенту — быстрее  получать готовый продукт.

В этой статье я рассмотрю целесообразность и практический опыт кодогенерации для клиентский приложений написанных на Flutter, REST API с помощью таких библиотек, как openapi_generator и swagger_dart_code_generator.

Читать далее

Укрощение строптивых: как управлять конфликтами

Reading time9 min
Views21K

Привет! Я Иван Антипин, директор департамента разработки в AGIMA. В любой команде время от времени вспыхивают конфликты — и на их решение уходит много времени. Но я уверен, что жалеть об этом времени не нужно. Конфликты открывают новые перспективы: если грамотно ими управлять, они помогает коллективу развиваться и преодолевать трудности. В этой статье я расскажу, как тимлиду вести себя, если команду штормит или если он сам стал участником столкновения.

Читать далее

Озеро данных ВТБ: как мы провели реинжиниринг процессов и перешли на унифицированный движок

Reading time5 min
Views4.2K

Меня зовут Мешкова Анна. Я руковожу стримом «Озеро данных» на Фабрике данных ВТБ. И этот текст о том, как мы в банке смогли выстроить унифицированный процесс загрузки данных, какие задачи себе ставили и что из этого получилось.

Наша команда входит в Фабрику данных банка ВТБ и отвечает за загрузку всех внешних и внутренних систем-источников в Datalake на базе Hadoop.

 

Читать далее

Вы уверены? Как писать тексты для экранов подтверждения

Reading time3 min
Views22K

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

В этой статье собрала основные принципы создания текстов для экранов подтверждения, которым следуют Apple, Microsoft и Google.

Читать далее

Как изучение новых языков программирования помогло мне расти профессионально

Reading time4 min
Views12K

Когда вы работаете разработчиком ПО и ежедневно пользуетесь одним языком программирования, легко попасть в пузырь этого языка. Я хочу показать, как выход из зоны комфорта, изучение новых языков и парадигм помогло мне вырасти как разработчику.

За годы работы я совершил переход от фронтенд-разработчика к full-stack и даже попробовал профессионально создавать игры! В это время я руководил и выполнял функции ментора разработчиков с разным уровнем опыта.

Ваш основной язык программирования


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

Для меня основным языком был и остаётся JavaScript. Это был не первый мой язык, но он был самым доступным для меня в старшей школе: я мог писать на нём и запускать код, по сути, на любом компьютере без специального компилятора или IDE.
Читать дальше →

Из-за чего весь сыр-бор: про уязвимость Text4Shell

Reading time7 min
Views8.2K

За последнюю неделю в сфере инфобеза стали появляться новости о втором пришествии уязвимости Log4Shell, получившей название Text4Shell. Первым об уязвимости сообщил Alvaro Muñoz, который рассказал о возможности удаленного выполнения произвольных скриптов в продуктах, использующих библиотеку Apache Commons Text.

Сама уязвимость была обнаружена еще в марте 2022 года, но команде Apache Commons потребовалось время на ее исправление и выпуск обновлений библиотеки. Уязвимости был присвоен идентификатор CVE-2022-42889 (CWE-94 — Code Injection) и достаточно высокий уровень риска CVSS 9.8.

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

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

Читать

Обзор компьютера в стиле Intel NUC (Core I5-1135G7): не хуже оригинала, но заметно доступней

Reading time15 min
Views31K

Компьютер, в зависимости от магазина, продается под разными названиями, например он может называться Topton NUC или Eglobal NUC, но чаще всего это просто что-то вроде Gaming Mini PC i7 1165G7 или i5 1135G7. Фактически, по железу он копирует оригинальный Intel NUC 11 Pro, а в некоторых моментах даже его превосходит и при этом стоит значительно дешевле.

Сегодня я покажу вам мини-компьютер или неттоп, который считаю лучшим из всего того разнообразия, что можно приобрести на Aliexpress. Он базируется на современном процессоре Core i5 или Core i7 11 поколения и оснащен мощной интегрированной графикой Intel Iris Xe, которая спсобна показать приемлемый fps даже в относительно свежих играх. Компьютер поддерживает до 64 GB оперативной памяти формата DDR4, а в качестве хранилища можно использовать SSD накопитель (в том числе и NVMe). А еще он оснащен разъемом Thunderbolt 4 со скоростью передачи до 40 Gbps, через который можно к примеру подключить внешнюю видеокарту или стороннее видео устройство. Крохотные размеры корпуса, тихое активное охлаждение и большое количество интрфейсов для подключения сторонних устройств это лишь часть его преимуществ. Компьютер хорошо подходит как для работы, так и для развлечений. 

Читать далее

How to Create a Half Circle Progress Bar

Reading time5 min
Views3.5K

I bet you all had situations when a designer made a cool-looking UI and you just thought “cool, but how to implement this”. The same happened to me when a saw this progress bar in Figma.

Good thing is that in Flutter it’s pretty easy to create custom views and they will look awesome on every platform, but sometimes you just need to remember all these things that you have learned in geometric, and math classes. Yeah, we don’t always change the button’s color as someone thinks :)

Read more

Сага о SEO, часть 2: разметка

Reading time8 min
Views5.3K

В предыдущей части статьи мы разбирались, как обеспечить поисковым роботам доступ к HTML-коду страницы. С вами снова Александр Усков, я ведущий разработчик more.tv, и в этом посте мы поговорим о том, что именно представляет из себя этот код и что можно сделать, чтобы сделать его максимально «понятным» и содержательным и для поисковых систем, и для браузеров.

Читать далее

Кручу, верчу, imgui loader нарисовать хочу…

Reading time7 min
Views8.4K

В одном из сайд-проектов с использованием imgui понадобилась "вертячка" (loader, spinner, анимация загрузки). Из коробки этот ui-фреймворк таких виджетов не предоставляет, поэтому решил сделать свой: код простой, математики почти нет. Показал ocornut-y, ему тоже понравилось, теперь базовый виджет на очереди интеграции в imgui. Поискал интересные спинеры на разных сайтах для веб-интерфейсов - десятки видов на любой вкус и цвет, есть и 3д, но все в основном или пререндеры в виде (gif) или векторные анимации, которые для отрисовки требует отдельного фреймворка вроде cairo, а алгоритмов или описания как это работает, почти нет. Все спинеры сделаны в стиле "что вижу, то и пою", немного математики синусы/косинусы для координат, и тестировать пока не будет похоже на решение от UI дизайнера. Да-да, я понимаю, что когда космические корабли бороздят просторы большого театра DALL·E 2 рисует "улыбку мадонны", писать что-то на плюсах, да еще для UI...

Много анимаций, мало кода

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Senior
Flutter
Flutter Bloc
MobX
Mobile
Development of mobile applications