Pull to refresh
4
0
Павел Румянцев @rumyancevpavel

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

Send message

Идеальная рабочая станция Linux на процессоре Apple M1 (ARM64)

Level of difficulty Easy
Reading time 4 min
Views 39K


Моё знакомство с Asahi Linux началось в марте прошлого года, когда на свет появилась альфа-версия Asahi. Я сразу же установил её на свой Mac Mini с 8-ядерным Apple M1 (ARM64). Asahi — это дистрибутив Linux, который нативно работает в «маках» на Apple Silicon благодаря хитрым хакам и реверс-инжинирингу от сообщества Open Source. Более того, запуск Asahi абсолютно легален, поскольку Apple официально разрешает загрузку отличных от macOS операционных систем на своей платформе Apple Silicon.

Слово Asahi переводится как «утреннее солнце». И это не только известная марка японского пива, но и дистрибутив Linux, который назван так, дабы подчеркнуть первенство команды разработчиков в освоении платформы Mac.
Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 72

Полное понимание асинхронности в браузере

Reading time 24 min
Views 94K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Total votes 78: ↑78 and ↓0 +78
Comments 25

Подборка материалов для погружения в Angular: выбор сотрудников Selectel

Reading time 3 min
Views 9.6K

При построении веб-сервисов наши фронтенд-разработчики используют Angular — один из топ-фреймворков с высокой скоростью разработки и низким порогом вхождения. Но несмотря на последнее, во время изучения могут возникнуть трудности с потоками, отписками и другими абстракциями. Поэтому мы попросили коллег порекомендовать полезные ресурсы, которые помогут в освоении этих тем. Подробности под катом.
Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 8

Как работает Activity. Часть 1

Reading time 12 min
Views 19K

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

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

В первой части совсем немного расскажу про Binder, про то, как происходит запуск Activity, как стартует процесс приложения и как на вызов Activity влияют флаги и launch mode. Во второй части будет про то, как вызываются методы жизненного цикла Activity, что происходит при сворачивании приложения, и более подробно расскажу про старт первой Activity.

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 0

Как работает Activity. Часть 2

Reading time 8 min
Views 9.5K

В прошлой статье я описал, как стартует процесс нашего приложения, что такое ActivityStarter и как стартуют все Activity.

Во второй части расскажу, как показываем сплеш-скрин, что такое Window, что происходит через первым показом Activity приложения, более подробно, как вызываются методы жизненных циклов Activity и что происходит с Activity при сворачивании и разворачивании.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 3

Основы Signed Distance Field в 2D

Reading time 17 min
Views 14K
Хотя меши являются простейшим и наиболее универсальным способом рендеринга, существуют и другие варианты представления фигур в 2d и 3d. Одним из часто используемых способов являются поля расстояний со знаком (signed distance fields, SDF). Поля расстояний со знаком обеспечивают менее затратную трассировку лучей, позволяют разным фигурам плавно перетекать друг в друга и экономить на текстурах низкого разрешения для высококачественных изображений.

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

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 5

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

Reading time 17 min
Views 13K

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

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

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

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

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

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

Погнали!
Total votes 62: ↑62 and ↓0 +62
Comments 23

Как устроены Advanced Custom Fields в Wordpress

Reading time 4 min
Views 14K

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

Advance Customs Fields (ACF) – один из популярных плагинов Wordpress. Основная задача — создание блоков дополнительной информации к Постам, Страницам и Товарам. Плагин настолько популярен, что вопросы по нему входят в список MustKnow на различных собеседованиях.

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

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

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 27

Поговорим о шейдерах, их проектировании и Unity

Reading time 7 min
Views 7.3K

Всем привет. Меня зовут Дядиченко Григорий, я CTO Foxsys, а ещё я люблю рендер. Хочется поговорить сегодня о том, как проектируются шейдеры, как идёт процесс их разработки и на что обращается внимание. В первую очередь я буду рассказывать про свой опыт и техники, которые я использую при проектировке и/или постановке задач на написание шейдеров. Если вам интересна данная тема - добро пожаловать под кат!

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 9

Работа с EventSystem в Unity. Базовые вещи в работе с UI

Reading time 4 min
Views 80K
Всем привет! Давно ничего не писал, но сейчас захотелось рассказать про очень удобную штуку, о которой многие не знают. Это Event System в Unity. Многие, для задач в которых EventSystem очень удобен, используют обычный Raycast. Я расскажу про то, как пользоваться частью функционала EventSystem (его на самом деле очень много) и как этот инструмент позволяет быстро решать многие задачи связанные с обработкой событий интерфейсов и объектов. Как всегда с репозиторием с примерами. Если вам интересно — добро пожаловать под кат!


Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 5

Что почитать для Unity разработчика: Рендер

Reading time 4 min
Views 7.7K

Всем привет. Меня зовут Григорий Дядиченко. Сегодня хочется составить некий список литературы, который как мне кажется было бы полезно почитать каждому, кто решает задачи рендера и занимается графикой в Unity. Разные книжки (и часть лекций) рассчитаны на понимание разных частей областей полезных рендер разработчику.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 1

React hooks, как не выстрелить себе в ноги. Часть 3.2: useMemo, useCallback

Reading time 12 min
Views 41K

Данная статья продолжение статьи про мемоизацию, в которой мы разбирали зачем нужно использовать memo и как правильно с ним работать. В этой статье разберем, как правильно использовать useMemo и useCallback, какое у них api и разберем пару трюков. В прошлой статье я писал, что в следующей будет информация про useRef, useImperativeHandle и прочее, но в итоге решил, что текущий материал можно объяснить проще. Только трюки подведут нас к использованию useRef и уже в следующей лекции мы разберемся с ним.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 9

Как повысить безопасность вашего сайта на Wordpress

Reading time 7 min
Views 17K

В этой статье описаны самые распространённые проблемы безопасности WordPress и способы их решения, включая советы, как избежать взлома.

Безопасность WordPress является важной темой с тех пор, как эта система управления содержимым (Content Management System или сокращённо — CMS) была выпущена в 2003 году. Как и любое популярное программное обеспечение с длинной и богатой историей, CMS WordPress также может стать целью хакеров. Вредоносные действия могут включать межсайтовые скриптовые атаки, sql-инъекции, брутфорс атаки и ряд прочих способов получения несанкционированного доступа.

По мере того как хакеры набираются опыта в поиске новых способов использования уязвимостей, WordPress-разработчики и специалисты по безопасности совершенствуются в создании сайтов, которые сложнее взломать. Есть вещи, которые разработчики и владельцы сайтов на WordPress могут предпринять в первую очередь, если они не хотят, чтобы хакеры легко смогли обойти защиту их сайтов и получить доступ к данным. Ниже мы обсудим некоторые действия, которые может предпринять администратор WordPress, чтобы его сайт не могли взломать.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 11

10 книг по UI/UX дизайну, которые стоит прочитать

Reading time 4 min
Views 139K


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

У многих UI дизайнеров есть своя личная коллекция любимых книг. Сегодня мы приготовили список из 10 крутых книг по дизайну, которые по той или иной причине могли пройти мимо вас.
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 6

Делаем траву в Unity при помощи GPU Instancing

Reading time 8 min
Views 6.6K

Добрый день! Хочу поделиться с вами некоторым опытом по оптимизации с использованием GPU Instancing.

Постановка задачи примерно такая: игра под мобильные платформы, одним из элементов которой является поле с травой. Фотореалистичность не требуется, low poly стиль. Но при этом игрок должен иметь возможность взаимодействовать с травой. В нашем случае выкашивать. Делать будем на Unity 2021.2.7 (но жесткой привязки к версии нет) с URP.

Как это выглядит и как это сделано
Total votes 8: ↑8 and ↓0 +8
Comments 4

Пишем 3D-рендерер в стиле первой PlayStation

Reading time 14 min
Views 14K
Я занялся новым хобби-проектом, который мне очень нравится. Я создаю вымышленную консоль, источником вдохновения для которой стали технологии эпохи PS1. Проект довольно масштабный, но сегодня я хочу поговорить о рендеринге, который стал моим первым шагом к его реализации. В этой статье я подробно расскажу о том, что узнал в процессе исследования PS1 и других ретроконсолей. И, разумеется, о том, как я реализовал рендеринг в вымышленной консоли, которую назвал Polybox. Я не буду объяснять рендеринг 2D-спрайтов, потому что это довольно просто, а статья и так вышла достаточно длинной.

Вот конечный результат, который я получил в консоли Polybox:


Polybox!
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 5

Математика в Gamedev по-простому. Векторы и интегралы

Reading time 7 min
Views 49K
Всем привет! Сегодня хотелось бы поговорить о математике. Математика очень интересная наука и она может сильно пригодиться при разработке игр, да и в целом при работе с компьютерной графикой. Многие (особенно новички) просто не знают о том, как она применяется при разработке. Существует множество задач, не требующих глубокого понимания таких понятий как: интегралы, комплексные числа, группы, кольца и др, но благодаря математике вы можете решать многие интересные задачи. В этой статье мы рассмотрим векторы и интегралы. Если интересно, добро пожаловать под кат. Иллюстрирующий Unity проект, как всегда, прилагается.


Total votes 23: ↑18 and ↓5 +13
Comments 15

Простое объяснение алгоритмов поиска пути и A*

Reading time 13 min
Views 64K
image

Часть 1. Общий алгоритм поиска


Введение


Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия.

Цель данной статьи — объяснить поиск пути в целом и A* в частности очень понятным и доступным образом, положив таким образом конец распространённому заблуждению о том, что эта тема сложна. При правильном объяснении всё достаточно просто.

Учтите, что в статье мы будем рассматривать поиск пути для игр; в отличие от более академических статей, мы опустим такие алгоритмы поиска, как поиск в глубину (Depth-First) или поиск в ширину (Breadth-First). Вместо этого мы постараемся как можно быстрее дойти от нуля до A*.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 11

Знакомимся с Event Sourcing. Часть 1

Reading time 5 min
Views 44K
Перевод статьи подготовлен в преддверии старта курса «Java Developer. Professional».




Event sourcing (источники событий, регистрация событий, генерация событий) — это мощный архитектурный шаблон, при котором все изменения, вносимые в состояние приложения, сохраняются в той последовательности, в которой они происходили. Эти записи служат как источником для получения текущего состояния, так и журналом аудита того, что происходило в приложении за время его существования. Event sourcing способствует децентрализованному изменению и чтению данных. Такая архитектура хорошо масштабируется и подходит для систем, которые уже работают с обработкой событий или хотят перейти на такую архитектуру.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 5

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Reading time 13 min
Views 105K
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов. 

Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).

Источник
Читать дальше →
Total votes 141: ↑141 and ↓0 +141
Comments 162

Information

Rating
Does not participate
Location
Тель-Авив, Тель-Авив, Израиль
Date of birth
Registered
Activity