Друзья, в этой запоздалой части туториала мы создадим врагов, научим их двигаться и атаковать игрока.
Обязательно прочитайте прошлую часть, если еще не сделали этого.
Друзья, в этой запоздалой части туториала мы создадим врагов, научим их двигаться и атаковать игрока.
Обязательно прочитайте прошлую часть, если еще не сделали этого.
Клим саныч, добрый вечер. Даже не знаю что меня больше смущает, это моя безграмотность или вопрос наличия "самых маленьких" на хабре.
Так вот, если такие есть, то сейчас мы разберем что такое функция, ее параметры и аргументы на самых простых примерах из реальной жизни. Поехали
Давай представим, что тебе нужно прочитать чей-то план на день. Ты открываешь его в и видишь следующее:
В данной статье для реализации алгоритма будут рассмотрены:
1. Система хранения графа на основе List<>
2. Сортировка рёбер графа по весу
3. Система непересекающихся множеств
На просторах интернета есть множество ресурсов, посвященных данному алгоритму, однако все варианты реализации, встреченные мной, показались слишком сложными для понимания и использования. Хочу предложить более приближенный к реальности вариант.
План действий
1. Сортируем имеющиеся рёбра по весу.
2. Создаём новое множество и добавляем в него первое ребро.
3. Затем пытаемся добавить каждое новое ребро в имеющееся множество, если возникает цикл - пропускаем.
4. Итоговое множество рёбер и есть искомое минимальное остовное дерево.
По сути, это и есть формулировка алгоритма Краскала. Звучит совсем просто.
Самый весёлый пункт из имеющихся - третий. Потому что проверка на появление циклов на каждом шаге будет не сильно простым занятием. Его мы модифицируем при помощи системы непересекающихся множеств.
Но для начала давайте рассмотрим систему хранения графа в программе.
В начале января разработчик библиотек faker.js и colors.js намеренно «испортил» собственные программные продукты. Он добавил в код бесконечный цикл, который выводил в консоль бессмыслицу. В результате нарушилась работа тысяч приложений по всему миру, в том числе у крупных облачных провайдеров. Таким необычным (но крайне эффективным) образом инженер хотел привлечь внимание к проблеме финансирования и уважения к труду open source разработчиков.
Пользуясь случаем, мы решили обсудить разные точки зрения, касающиеся финансирования разработки открытых проектов.
В этой статье будут изложены основные идеи и показаны простые примеры для грамотной организации, скажем так — «репликационного» масштабирования проектов на фронтенде. То есть, само понятие масштабирования здесь будет рассматриваться скорее с той точки зрения и в одном из смыслов как это понимает бизнес, но, при этом, речь пойдет именно о технической стороне процесса, правда, сугубо в контексте браузерной клиентской части информационных систем. Ближе к реальной ситуации: предположим что ваша компания разрабатывает, условно — некий OLAP-продукт, и перед вами как фронтенд-разработчиком ставят задачи по развертыванию и поддержке более или менее сходных новых проектов фронтенда для самых разных клиентов. После скандальной критической статьи о, имхо, сомнительных дурных современных подходах и тенденция в верстке веб-интерфейсов — моя карма на Хабре, наконец-то упала ниже нуля, а я, если честно, не очень хорошо понимаю правила игры, увидят ли эту статью читатели… Но, с другой стороны, готов изложить все просто «в стол», так как считаю что лучшая мотивация для написания чего либо — это если «просто очень хочется написать», сформулировать, прежде всего — для себя самого.
Эта статья логично продолжает тематику первой статьи о модулях позволяющих сделать разработку фронтенда качественнее и эффективнее. Но если в первом материале речь шла, прежде всего, об замечательном атомарном тренде в вебдизайне и простом надежном способе доставки его в код компонентных фреймворков с помощью препроцессоров, построении простой кастомной библиотеки UI-компонент для единообразного оформления разных проектов, то новый пример станет немного сложнее — хочется сосредоточиться уже не на «внешних», «оформительских» моментах, а на функциональных и организационных. Для наглядной демонстрации практического применения изложенных в статье идей снова написаны примеры: небольшой модуль-библиотека (и документация к нему), а также использующий его проект, на этот раз с более актуальным стеком Vue3+TypeScript/Vuex4/VuePress2. В отличие от более примитивной либы из первой статьи, этот модуль: 1) использует хранилище, то есть содержит состояние 2) может запускаться в полноценном режиме разработки, как будто это собственно уже сам конечный проект 3) поддерживает темизацию и локализацию. Пример модуля содержит совсем немного компонент и документация на новой версии VuePress, в отличии от первой версии модуля, не кастомизируется под фирменный стиль который предоставляет сама библиотека. Так сделано не только по причине лени и экономии времени, но, прежде всего, потому что кажется излишним — то что призваны продемонстрировать примеры — этого совсем не требует.
Render Loop крутится — кадры мутятся
Доброго времени суток, уважаемые читатели. Здесь я начинаю свой цикл статей о работе с графикой в iOS.
В моих планах разобраться с работой базовых механик отрисовки и углубиться к таким вещам как AVFoundation, Metal.
Но а пока хочется понять как работает из коробки отрисовка наших любимых кнопок, которые мы не устаем красить. Как достичь 60 кадров в секунду. Магические слова, что заставят возжелать наш интерфейс любого.
Я люблю научпоп. Это такой особенный жанр, он как бы и не научный, и не художественный, а что-то среднее. И вот тут загвоздка: чтобы написать хороший научпоп, надо уметь и в науку, и в художку, а таким сочетанием навыков обладают не только лишь все. Автор может владеть словом, но поверхностно разбираться в предмете, причиняя адскую боль куда более прошаренному читателю. Или наоборот - писать в полном соответствии с фактами, но так, что уже на пятой строчке клонит в сон. Формализовать искусство нельзя, но можно препарировать научно-популярный текст и проанализировать его особенности, что я и собираюсь сделать - прямо на примере этой же самой статьи.
"Тайна сия велика есть" (Послания апостола Павла к ефесянам (5, 32))
Китай произвел за 2021 год более 359.4 миллиарда микросхем. Сколько микросхем и полупроводников производит Россия в год? Где найти детальную информацию сколько микросхем, полупроводников и каких типов производит Российская микроэлектронная промышленность?
Небольшой обзор китайского мини ПК Topton Mini PC на базе мобильного процессора AMD Ryzen 5000U серии. Конкретно мой экземпляр оснащён процессором AMD Ryzen 3 5400U (4 ядра, 8 потоков, 2.6 - 4.0 ГГц, интегрированное видео AMD Radeon Vega 6).
Компьютер приобретался пустой (barebone), память и WiFi модуль приобретал отдельно, SSD NVMe модуль у меня уже был (таких модулей можно вставить два в этот мини ПК). Стоимость пустого ПК получилась 25 000 р.
В обзоре я описываю свои впечатления об этом мини ПК, есть небольшое сравнение с Intel NUC, который хоть и дороже на 13 000 р., но проигрывает в производительности (по тестам).
8 января 2022 года на Хабре вышла статья Александра Клименкова о том, почему мозговой штурм не работает. Это не первая статья такого рода, которая мне попадается, за пределами Хабра особенно интересной показалась эта статья из блога издательства «МИФ». Я решил также высказаться на эту тему, но, прежде всего, с точки зрения игрока в спортивное «Что? Где? Когда?», которое в минувшем году складывалось для меня хаотично и малоуспешно. Зато за месяцы карантина выдалось время отрефлексировать и социальную составляющую этих игр, и специфику мозгового штурма, и изменение процесса обсуждения в условиях онлайна.
TLDR: ниже я постараюсь объяснить, почему мозговой штурм действует, но не так, как его понимают, и как он задумывался. Мне не обойтись здесь без упоминания знаковой книги Максима Поташёва «Почему вы проигрываете в Что? Где? Когда?», которую я прочитал в 2006 году.
В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на машине где будет работать скрипт нет интернета или нет возможности установить Python последних версий, то задача запуска скрипта становится практически невозможной. Для решения подобной проблемы был разработан SSH Picker с возможностью подключения дополнительных модулей через AMQP протокол.
В данной статье я покажу как N1Loader сделает вашу жизнь легче!
Каждый разработчик рано или поздно сталкивается с проблемой N+1. ActiveRecord (Rails default ORM) поддерживает подгрузку ассоциаций с помощью includes для обхода N+1.
К сожалению, зачастую, не все данные, что нам нужны можно задекларировать в виде стандартных ассоциаций. Рассмотрим несколько примеров.
Автор: Илья Копосов
Здравствуйте. Сегодня я хочу рассказать вам о современном морском пиратстве, как от него защититься и чего это стоит. Из первых рук, так сказать, – рук штурмана торгового флота.
Как защитить своё судно от нападения? Для этого нужно изучить тактику пиратов, их цели и задачи, построить две линии обороны (о них я расскажу подробнее) и продумать пути отступления. Если вы любите играть в пошаговые стратегии, то вам понравится, поехали.
HAQuDA – это настольная лампа, которая отображает данные о параметрах окружающей среды: качестве воздуха, температуре и влажности, при помощи цвета освещения. Если параметр в норме, то он зеленый, а если завышен или занижен, то красный или синий соответственно. У лампы есть несколько режимов отображения: стандартный, мульти, ночной, режим светильника, и возможность управления с помощью собственной веб-страницы и голосовых помощников.
Предлагаю ознакомиться с ранее размещенными материалами по проекту StarLink (SL):
‣ Часть 30. Сравнение сервиса StarLink с сервисами других операторов ШПД
‣ Часть 31. Описание антенны Ка-диапазона
‣ Часть 32. Проблемы терминалов StarLink из-за перегрева
‣ Часть 33. Прошивка Терминала
‣ Часть 34. SpaceX планирует купить компанию SWARM
‣ Часть 35. Проблема StarLink и LEO группировок
‣ Часть 36. Ретроспектива частотных планов
‣ Часть 37. НеДовыход из бета-версии и проблемы с выполнением предзаказов
‣ Часть 38. Новый терминал StarLink UT-2
‣ Часть 39. Эволюция частотных планов StarLink в 2016-2020 годах