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

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

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

Как регистрировать и использовать программы без проблем с законом

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

В статье разберемся, что нужно знать про ПО как объект авторского права и как не нарваться на проблемы — как разработчикам, так и пользователям программы.

Читать далее

Ассемблер RISC-V для начинающих

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

Если вы не знаете ни одного ассемблера, или, возможно, не имеете большого опыта кодинга как такового, то ассемблер RISC-V может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Конечно, материалов по ассемблеру x86 гораздо больше. Больше людей, которые могут в этом помочь. Но x86 - это чудовище, имеющее более 1500 различных инструкций.

Архитектура RISC-V, напротив, придумана специально для того, чтобы быть простой в изучении и вместе с тем, практически эффективна для реализации высокопроизводительных микропроцессоров.

Если вам необходим хороший старт, и вы не знаете ничего о микропроцессорах, вы можете прочесть мою статью "Как работает современный микропроцессор?" (How Does a Modern Microprocessor Work?).

Если вы хотите чего-нибудь простого и весёлого, можете начать с различных игр, в основе которых лежит программирование на ассемблере: Learn Assembly Programming the Fun Way.

Другим может понравиться ретропроцессор, такой, как 6502, использовавшийся в Commodore 64. Но проблема в том, что он окончательно устарел. При его разработке не учитывались реалии сегодняшнего дня.

Большой плюс RISC-V состоит в том, что он обладает современным и простым набором команд, спроектированным с учётом современных требований, таких как медленный доступ к памяти, использование предсказателя переходов, суперскалярного out-of-order выполнения команд и т.д.

Если вам интересно всё это, прочтите: Why Is Apple’s M1 Chip So Fast?

Перед тем, как мы начнём, можете распечатать это: James Zhu RISC-V Reference.

Читать далее

Бесплатно или хотя бы недорого — где взять музыку для коммерческого использования

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

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

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

Читать далее

Как, где и зачем искать IT-наставника?

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

Говорят, что правильный разговор проясняет ситуацию лучше, чем десять часов поисков в интернете. В этом году родился проект GetMentor.dev, который помогает найти человека с экспертизой и обсудить свой вопрос один на один. Это открытое сообщество IT-наставников, готовых делиться знаниями и опытом. 

Важная особенность GetMentor — его некоммерческая суть. Комиссии за проведенные сессии менторинга не существует, а часть наставников и вовсе не берет деньги за помощь. О том, как родился проект, в чем его цель и чем может помочь ментор, мы поговорили с создателем проекта Георгием Могелашвили. 

Читать далее

Чтение на выходные — «блеск и нищета» в мире музыки, стриминговые сервисы и будущее инди-композиторов

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

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

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

Читать далее

Механическая раздельная ортолинейная беспроводная клавиатура. Corne Build Guide

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

В этой статье я постараюсь рассказать о том как собрать механическую ортолинейную раздельную беспроводную клавиатуру Corne. И расскажу зачем оно вам нужно.

Читать далее

WPF, UWP, WinUI, MAUI, Windows App SDK

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

Человека далёкого от клиентской разработки на Windows все эти термины определённо путают. И даже среди MS-сообщества регулярно возникают споры жив UWP или мёртв. Причем главный вопрос в этом споре - а что же такое UWP?

Вот уже года 3 Microsoft проводит "рефакторинг" в своём "королевстве".  Несколько устав видеть одни и те же споры в твиттере, и оставлять одни и те же комментарии на хабре, я решил расписать как же многочисленные UI-фреймворки MS соотносятся между собой. Кто из них больше мёртв. Возможно, кому-то это поможет в выборе технологии для будущего проекта.

Читать далее

Реализация алгоритма Минимакс на примере игры «Крестики-Нолики»

Время на прочтение7 мин
Охват и читатели46K
Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь.

image

Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, который может рассчитать все возможные ходы для «компьютерного» игрока. Далее, нужно использовать некоторую метрику, чтобы определить, какой ход является предпочтительным. После долгих исследований стало понятно, что алгоритм Минимакс, был тем, что мне нужно.

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

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

Тап в статус бар. Делаем простое сложно c помощью Flutter

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

В iOS есть такая фича - scrolls to top.

Посмотрим, может ли Flutter предоставить нам такую функциональность из коробки?

Читать далее

Хоум Кредит банк как он есть

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

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

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

Читать далее

Материалы в Unity: Акрил

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

Всем привет! Меня зовут Григорий Дядиченко, я СТО Foxsys, и я всё ещё люблю графику. В прошлый раз я рассказывал, что неплохим упражнением является сборка различных базовых материалов для тренировки в создании интересных эффектов. Давайте сегодня проведём такое упражнение вместе и разберём, каким образом можно получить в Unity такой материал, как акрил, который будет работать в AR и на мобильных платформах. Кому интересно - добро пожаловать под кат!

Читать далее

#unitytips: Подборка советов и приемов от сообщества Unity, которыми вы можете похвастаться перед друзьями

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

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

Читать далее

Найти подстроку в строке

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

Алгоритм поиска строки Бойера — Мура — алгоритм общего назначения, предназначенный для поиска подстроки в строке.

Давайте попробуем найти вхождение подстроки в строку.

Подготовка к собеседованию

Как я искал работу в США во время пандемии, подался на 200 вакансий и получил оффер на $380K

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

Украинский профильный ресурс DOU.UA опубликовал статью о нелегком пути релокации специалиста в США во время пандемии, где он также отвечает на дополнительные вопросы и комментарии.

Адам Леос — Senior Software Engineer в Roku. Пару лет назад он принял решение о релокации и в итоге выбрал своей целью США. Всего за три месяца Адам с нуля собрал все необходимое для подачи на визу О1, но потом в историю вмешалась пандемия. О том, с какими трудностями он столкнулся из-за карантина, как искать работу на американском IT-рынке, как получить большое количество офферов и выторговать самую выгодную компенсацию, разработчик рассказал в интервью DOU.UA

Читать далее

Что читать на английском языке чтобы не умереть от скуки

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

Читать на английском – интересно и полезно. Однако, многолетнему обитателю рунета непросто найти хорошие иностранные ресурсы. Плюс, многое из найденного оказывается скучным или слишком сложным. Я постарался подобрать интересные сайты для практики английского и понять, какие из них имеют доступный уровень сложности, а какие – более 9999999.

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

Читать далее

Сетки из треугольников в играх

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

Поговорим о сетках треугольников. Сетки квадратов используются практически повсюду, от пикселей изображения до расположения домов в квартале. Сетки шестиугольников представлены тоже довольно широко, особенно в настольных играх. Однако сетки треугольников (равномерное заполнение 2D-плоскости равносторонними треугольниками) почему-то не очень популярны. Я встречал заявления, что они бесполезны, или что у них сложная математика. Но этой статьёй я докажу, что оба заявления ошибочны: вычисления на самом деле проще, чем при работе с шестиугольниками, к тому же треугольники обладают множеством преимуществ.

Все вычисления я выполнил в своём коде на github, однако стоит объяснить, как и зачем нужно использовать такие сетки.

Что такое «сетка треугольников»


Когда я говорю о сетке треугольников, то подразумеваю тайловую карту, в которой все тайлы являются одинаковыми равносторонними треугольниками, выстроенными в переменные строки (или столбцы).


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

Настраиваем нагрузочное тестирование с Artillery.io

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

Не так давно я начала писать тесты для нагрузочного тестирования с помощью инструмента artillery. Раньше писала тесты для K6, поэтому расскажу о преимуществах artillery по сравнению с К6, а также напишу пошаговый сценарий для настройки проекта с нуля.

Читать далее

Гексагональные тайловые миры

Уровень сложностиСложный
Время на прочтение32 мин
Охват и читатели44K

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

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

Читать далее

7 подсказок, как создать и улучшить Battle Pass в вашей игре

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

51% игр в ТОП 100 игр по гроссингу в США внедрили Battle Pass и данная фича продолжает набирать популярность (по данным сервиса GameRefinery). В данной статье я хотела бы рассказать о подсказках, которые вы можете использовать при создании или улучшении Battle Pass с примерами из игр жанра match3.

Читать далее

Неочевидные сложности CRDT

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


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


Один из людей, ведущих эту работу — Мартин Клеппманн (Martin Kleppmann): исследователь в Кембриджском университете и создатель популярной библиотеки Automerge. И на конференции Hydra он рассказывал о нескольких вещах, которые исследовал буквально в последнюю пару лет. Какие действия пользователя могут заставить Google Drive выдать «unknown error»? Почему в CRDT метаданные о работе над документом могут занимать в сто раз больше места, чем сам документ, и как с этим бороться? А у какой проблемы сейчас даже не существует известного решения?


Обо всём этом он поведал в докладе, а теперь мы сделали для Хабра текстовый перевод. Видео и перевод — под катом, далее повествование будет от лица спикера.

Информация

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

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

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