Как стать автором
Обновить
7
0
Сергей Макаров @oreym

Разработчик web-приложений

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

Создаём свою первую игру на Godot 3.5

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

Привет, Habr. Сегодня я поиграл в Brotato, давайте сделаем что-то подобное на Godot 3.5

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

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

Рекурсивная генерация подземелий на Godot 4.1

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

В данной статье рассмотрим способ процедурной генерации подземелий, с помощью рекурсивную функцию на Godot 4.1.

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

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

Редактор персонажа

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

Сегодня на Godot 4.1 создадим простой редактор персонажа, как в старых рпг, когда ты выбираешь внешний вид персонажа из уже нарисованных ассетов.

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

Бесплатные ресурсы для инди-разработчиков

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

Я изучаю гейм-дизайн и разработку игр. Когда я начала создавать свою первую игрушку (гифка оттуда) по мотивам мультсериала «We Bare Bears», то подолгу зависала, чтобы отрисовать фон, кнопочку, анимацию разрушения блока и пр. Часть артов я, по итогу, не использовала, а время на них тратила много.

За полгода я накопила список ресурсов с бесплатными ассетами, персонажами, музыкой, фонами. Эти ресурсы помогают мне экономить по 10-20 часов на создании учебных игровых проектов. Надеюсь, кому-то этот список сэкономит время и позволит создавать атмосферные прототипы быстро.

Updated: я тут немножко подумала, и создала канал в Telegram: GameDEVils, буду там делиться материалами (про геймдизайн, разработку и историю игр), которые слишком короткие, чтобы положить в статью на Хабре.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии14

Что такое тестирование. Курс молодого бойца. Книга для новичков

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

Привет!

Меня зовут Ольга Назина. Я в тестировании с 2006 года. Тестировщик, тренер, практик, энтузиаст — вот тут можно почитать обо мне подробнее.

Я очень люблю серию книг по разработке ПО от Head First O`Reilly:

Изучаем Java. Кэти Сьерра и Берт Бейтс

Изучаем SQL. Линн Бейли

и другие

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

Читать далее
Всего голосов 33: ↑31 и ↓2+29
Комментарии34

Как начинался Буран. Луна и Шаттл

Время на прочтение17 мин
Количество просмотров17K
«Буран» стал, пожалуй, последним масштабным техническим достижением советской космонавтики. Огромный космический корабль, запущенный сверхтяжёлой ракетой и совершивший полностью автоматический полёт, он стал настоящим глотком свежего воздуха для народа задыхающейся страны. Его разработчики прошли длинный путь, начало которого мы рассмотрим в этой статье.

Предпосылки


Для того, чтобы понять, почему «Буран» стал именно таким, нам следует вернуться в конец шестидесятых годов и переместиться в США. Там завершалась подготовка к лунным миссиям, однако чиновники NASA уже думали над тем, что делать дальше. К началу 1969 года стало ясно, что программа «Аполлон» не будет продолжена после выполнения первичных задач, а значит космическому агентству придётся что-то изобретать, чтобы сохранить пилотируемую программу. Рабочая группа по космосу под руководством вице-президента страны Спиро Агню обратилась к четырём компаниям для того, чтобы собрать их предложения по многоразовой космической системе. По планам рабочей группы такая система позволила бы организовать в будущем экспедицию на Марс, а также снабжать масштабную космическую станцию и даже космический завод.


Старт Аполлона-11 к Луне
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии3

Почему принцип единственной ответственности не всегда работает

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

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

Да, самый очевидный способ упростить жизнь разработчику — это поделить большой кусок кода на несколько небольших, но делающих одну конкретную работу и делающих её хорошо. Это UNIX-way в разработке. Наделять классы, функции, модули, пакеты, сервисы и т. д. единственной ответственностью кажется естественным и понятным. Более того, кажется, что этого достаточно для того, чтобы хорошо декомпозировать код на меньшие части.

Читать далее
Всего голосов 26: ↑22 и ↓4+18
Комментарии33

Микро-фронтенды для микро-сервисов

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

М.Видео-Эльдорадо поддерживает более сотни разных систем. Набор необходимых сервисов отличается для сотрудников разных должностей и даже разных функциональных обязанностей. Управлять таким парком, организовывать уровни доступа к разным продуктам – сложная задача. 

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

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

PostgreSQL: занимательный пример работы индексов, планировщика запросов и магии

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

В начале месяца я прочитал доклад про индексы в базах данных для Saint P Ruby Community и буквально через несколько дней жизнь не замедлила подкинуть мне показательный пример работы индексов, планировщика баз данных и важности обновления СУБД.

Итак, дано: большая таблица projects с кучей (ненужных) индексов, в том числе обычный BTree-индекс по числовой колонке forks_count. У неё есть связь по has_one с таблицей project_dependencies с функциональным GIN-индексом по полю packages в колонке data, в котором поле находится JSON-объект с названиями NPM-пакетов в ключах и их версиями в значениях (куда ж сейчас без джаваскрипта?):

Задача: вытащить примеры проектов, имеющих в зависимостях определённый пакет, показать пользователю наиболее популярные. Показателем популярности и ценности как раз будет количество форков — как правило это какие-то уже раскрученные публичные стартер-проекты.

Как думаете, будет просто? Поехали!
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Docker: заметки веб-разработчика. Итерация вторая

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


Привет, друзья!


Продолжаю делиться с вами заметками о Docker.


Заметки состоят из 4 частей: 2 теоретических и 2 практических.


Если быть более конкретным:


  • первая часть посвящена самому Docker, Docker CLI и Dockerfile;
  • в этой части рассказывается о Docker Compose;
  • в третьей части мы разработаем приложение, состоящее из 3 сервисов (клиента, админки и API) и базы данных (PostgreSQL);
  • в четвертой части мы это приложение "контейнеризуем".

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

Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии2

Модельная разработка мобильных приложений React Native и сайтов на React Native Web

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

Модельная разработка - это метод разработки мобильных приложений, при котором мы изначально ставим задачу в виде типизируемой модели(схемы) TypeScript и GraphQL, на уровне создания тикета в таск-менеджере.

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №498 (13 — 19 декабря 2021)

Время на прочтение3 мин
Количество просмотров7.9K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Основы Postman для самых маленьких

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

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

Расскажу, как с его помощью создавать простейшие автотесты и уменьшать объем рутины с помощью переменных.

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

Как обучить джунов QA за 3 дня (сборник материалов)

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

Чему нужно обучить junior QA, чтобы он начал приносить пользу проекту? Конечно, было бы здорово «всему и сразу», но это может затянуться надолго. А вот с основами тестирования можно познакомить буквально за пару-тройку дней. Особенно если это фулл-тайм дни (рабочее время).

Я обучаю новичков больше 6 лет, больше тысячи людей выпустила, книгу вот написала. И на опыте студентов вижу, что «план-минимум» на самом деле небольшой.

Если перед вами стоит задача «завтра выйдут два джуниора, обучи их», начните с основ. Один из вариантов: 

дали посмотреть видео или прочитать статьи;

собрались вместе в переговорке или зуме, обсудили;

дали ДЗ на закрепление материала;

через три дня получили более-менее адекватного джуна, профит!

В этом посте я собрала ссылки в помощь по каждой теме:

видео — варианты из публичного доступа. Выбираете то, что больше по душе, отдаете падаванам;

статьи — даете как дополнительный материал.

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

Читать далее
Всего голосов 25: ↑21 и ↓4+17
Комментарии26

React.js: размышления об управлении состоянием и повторном рендеринге

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



Привет, друзья!


В этой статье я хочу поговорить с вами об управлении состоянием и повторном рендеринге в React.js.


Что такое состояние и зачем им управлять?


Состояние/state можно определить как любые данные, которые влияют на рендеринг/rendering компонентов. Состояние хранится в реактивных переменных/reactive variables ](в терминологии RxJS).


Управление состоянием/state management — это механизм, позволяющий создавать реактивные переменные, фиксировать изменения их значений и уведомлять об этом "заинтересованные" компоненты. Как правило, такой механизм реализуется с помощью паттерна Издатель-Подписчик/Publisher-Subscriber/Pub-Sub.


Реакция компонентов на изменение состояния часто, но далеко не всегда завершается добавлением/модификацией/удалением HTML-элементов в/из DOM. Как известно, операции, связанные с манипулированием DOM, являются очень медленными. Это обуславливает необходимость грамотного управления состоянием приложений.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии18

Как сегодня делают игры в браузере? Часть 3

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

Две предыдущие части (первая и вторая) были своего рода мануалами о том, как загружать модели и передвигать их. В этот раз я расскажу о том, как добавить больше интерактивности. В частности, статистику в реальном времени и столкновения.

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

Управление и мониторинг сервера через Telegram-бота

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

Являюсь разработчиком в фирме которая занимается автоматизацией и телемеханизацией промышленных объектов. В мои обязанности входит разработка и поддержка ПО верхнего уровня, администрирование сервера и обеспечение его бесперебойной работы. Обычно ПО работает стабильно, но временами бывают сбои (по причинам не зависящим от нашего софта), о которых я иногда узнаю с большим опозданием. Было решено, что нужна система мониторинга, которая будет оповещать меня и руководство о проблемах, для возможности их быстрого устранения. Кроме того хотелось бы иметь возможность оперативно устранить проблему, даже если «под рукой» нет ПК.

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

Настройка webpack 5 [bonus] React Hot Reloading

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

Базовая настройка webpack 5 + настройка для разработки на React (вкл. React Hot Reloading).

Что, зачем и почему?

Что? Webpack - сборщик модулей для JavaScript. Является одним из мощнейших инструментов современной веб-разработки.

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

Почему? Вам теперь больше нет необходимости беспокоится о сборке проекта, один раз настроил webpack и он все будет делать за вас!
P.S. Ну, или не один раз.
P.S.S. Ладно, точно не один раз.

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

Как сделать игру 2048 на React

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

Автор этого туториала сосредоточился на анимации. Он использовал хуки библиотеки React, её Context API, а также TypeScript и LESS. В конце вы найдёте ссылки на игру, её код и демо анимаций. Подробности рассказываем под катом, пока у нас начинается курс по Frontend-разработке.

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

Node.js: разрабатываем сервер для тестирования API

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


Привет, друзья!


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


Основной функционал нашего приложения будет следующим:


  • админка с возможностью добавления данных (далее — проекты) путем их набора (ввода) или копирования/вставки, либо путем загрузки файла;
  • сохранение проектов на сервере;
  • безопасная запись, чтение и удаление файлов на любом уровне вложенности;
  • получение названий существующих проектов и их отображение в админке;
  • возможность редактирования и удаления проектов;
  • унифицированная обработка GET, POST, PUT и DELETE запросов к любому существующему проекту, включая GET-запросы, содержащие параметры и строки запроса;
  • обработка специальных параметров строки запроса sort, order, limit и offset;
  • и многое другое.

Наша админка будет выглядеть так:




Для быстрой стилизации приложения будет использоваться Bootstrap.


Исходный код проекта.


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


При разработке приложения мы будет придерживаться 2 важных условий:


  • формат данных — JSON;
  • основная форма данных — массив.

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


Вы готовы? Тогда вперед.

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

Информация

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