Pull to refresh
0
0
Send message

PANGIT. Дневник разработчика

Level of difficultyEasy
Reading time3 min
Views2.2K

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

Данная история началась с первой моей публикации: 
Воплощаю мечту, создавая собственную игру.

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

React.js: Знакомимся с useReducer, Axios и JSON Server на примере создания инвентарного списка

Reading time13 min
Views2.2K

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

А также между делом мы создадим мок API сервера с помощью JSON Server, будем использовать axios для вызова API и, наконец, воспользуемся хуком useReducer для управления состоянием.

Звучит интересно? Тогда давайте приступим.

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

Поверхностный анализ работы DOM на библиотеках JavaScript

Level of difficultyEasy
Reading time4 min
Views2.7K

Приветствую Вас, дорогие читатели Хабр! В данной статье мы рассмотрим работы DOM на таких библиотеках JavaScript, как Vue, React, Angular. Материал поможет понять принцип работы, конечно, самый лучший способ разобраться в той или иной теме — это практика. В этой статье будут приведены несколько примеров для лучшего понимания материала.

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments4

Руководство по Next.js. 1/3

Level of difficultyMedium
Reading time45 min
Views12K


Hello world!


Представляю вашему вниманию первую часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


Читать дальше →
Total votes 16: ↑15 and ↓1+19
Comments2

5 полезных JS-библиотек для анимации, которые могут пригодиться в работе

Reading time4 min
Views3.6K

Привет, Хабр! Сегодня поговорим о фронтенде, а точнее, о способах улучшения веб-приложения. В этом могут помочь JS-библиотеки для анимации. В подборке их пять, но если вы знаете и другие, причём те, что применяете в работе сами, расскажите о них в комментариях.

Читать далее
Total votes 5: ↑4 and ↓1+9
Comments3

Как я делал загрузчик файлов на react и выложил на npm

Level of difficultyEasy
Reading time3 min
Views3.6K

Как я создавал гибкий и настраиваемый компонент React для загрузки файлов с возможностью перетаскивания , и выложил на npm. Создана с использованием инструмента create-react-library, который позволяет быстро и легко создать новую библиотеку React.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments11

Как я отрендерил миллион строк в React

Level of difficultyMedium
Reading time9 min
Views9.8K

Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:

1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?

2. Удастся ли мне это?

Хотя я не уверен в возможности визуализировать миллиард строк в таблице, цифра в миллион кажется вполне достижимой. Узнав о таком интересном вызове, я решил заняться маленьким проектом, целью которого было отображение миллиона строк в React.

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

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments7

Рецензия на книгу Владимира Дронова «Node.js, Express, MongoDB и React. 23 урока для начинающих», есть промокод

Level of difficultyEasy
Reading time4 min
Views4.3K

В мире инструментов веб‑разработки особое место занимают технологии, объединенные аббревиатурой MERN (MongoDB, Express, React, Node.js), представляющие собой комплексное решение для разработки современных веб‑приложений. Книга Владимира Дронова «Node.js, Express, MongoDB и React. 23 урока для начинающих» представляет собой полезный ресурс для тех, кто хочет освоить этот стек технологий. И еще важно — это мощная книга на 600+ страниц, а не проходная брошюрка.

Читать далее
Total votes 8: ↑6 and ↓2+11
Comments7

Основы Event Loop в JavaScript

Level of difficultyEasy
Reading time6 min
Views8K

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

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

В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.

Читать далее
Total votes 15: ↑10 and ↓5+11
Comments10

Хроники геймдева, 2023

Level of difficultyEasy
Reading time1 min
Views745

В первом выпуске подкаста после двухлетнего перерыва мы рассказываем, что теперь всё будет по-новому. Знакомимся с вами, подводим итоги 2023 года и делимся ожиданиями на 2024 год.



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

Читать дальше →
Total votes 9: ↑0 and ↓9-9
Comments1

Надо ли вести игрока за ручку?

Level of difficultyEasy
Reading time13 min
Views7K

В 98 году в школе, где я учился, компьютер был только у директора. Наш учитель биологии, замечательный мужик, который по ночам подрабатывал админом в компьютерном клубе через дорогу, был единственным человеком, который шарил как этот ящик вообще работал. Я там тоже периодически зависал, поэтому в какой-то момент получил доступ к директорскому компу, под видом чистки и настройки. Все попытки заинтересовать меня программированием заканчивались включением SimCity, Caesar или Settlers и парой часов упорных тренировок в мобами. Позже, уже закончив универ, я работал в различных конторах, писал код для проектов не связанных с игростроем, но постоянно мечтал о создании игр. Пробовал заниматься маленькими играми для себя, да только в 2006 году бесплатные движки, такие как Unity и Unreal, ещё не существовали. В итоге получалось в основном писать свои движки с нуля и делать разные демки, которые благополучно забыты.

Свою карьеру в игровой индустрии мне довелось начать в компании EA в качестве программиста игрового движка, того самого Unity, но заниматься приходилось в основном низкоуровневыми оптимизациями. Так я быстро понял, что мне нравится игровой дизайн больше, чем программирование (мне по-прежнему нравятся оба направления, поэтому в какой-то момент я и перешел в AI). И хотя программистам особо не доверяли ни создание уровней ни дизайн игр, зато в рабочее время можно было спокойно изучать как функционирует и то и другое, да еще и денег за это платили. Причем изучать не только со стороны редактора, но и изнутри. Стать профессиональным игровым дизайнером у меня не вышло, но разбирать как этот самый дизайн в играх был сделан нравится и сейчас.

Над открытыми мирами не довелось работать, ну кроме, разве что, Cuisine Royale, которая, как бы, не совсем честный открытый мир, но задачи анализа технических решений в других играх и движках, чтение соответствующих лекций и статей помогают понимать какие решения были приняты дизайнерами при разработке, и главное зачем это было сделано. При погружении в новую игру, эти решения еще не так очевидны, но когда набегаешь под сотню часов в Witcher 3 или Zelda, эти паттерны становятся видны и легко ловятся взглядом. Хочу заметить, что ни та ни другая игра не ставят исследование в качестве основной цели. Квесты в Witcher рассказывают уникальные истории, а Зельда, как бы это не показалось странным, акцентируется на боевке и системе крафта. И что еще заметно, в этих играх не обязательно сильно исследовать окружающий мир. Дизайн уровней и компоновка golden path построены так, что игры ведут игрока за ручку, и он все равно оказывается возле важных областей или сюжетных квестов. А когда появилась возможность покопаться в движке и уровнях Metro: Exodus, то конечнo, с интересом начал разбираться с доступными материалами.

Опять будет много текста и картинок

А ручки - вот они!
Total votes 26: ↑25 and ↓1+28
Comments18

Быстрые методы оценки и мудрость толпы: проверяем в реальной жизни

Level of difficultyEasy
Reading time2 min
Views1.8K

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

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

Я решил проверить действие метода в реальной жизни...

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments4

Взгляд на асинхронность в JavaScript: роль Event Loop, промисов и async/await

Level of difficultyMedium
Reading time10 min
Views13K

В этой статье мы сосредоточимся на ключевых элементах асинхронного программирования в Java Script: Event Loop, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более эффективные и отзывчивые веб-приложения.

Мы начнем с изучения роли Event Loop - механизма, ответственного за управление выполнением асинхронного кода. Затем мы перейдем к рассмотрению Event Bus, который обеспечивает коммуникацию между различными компонентами приложения. После этого мы ознакомимся с промисами и синтаксическим сахаром async/await, которые значительно упрощают работу с асинхронным кодом и делают его более читаемым и понятным.

Читать далее
Total votes 14: ↑10 and ↓4+13
Comments15

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: свойство display

Level of difficultyMedium
Reading time7 min
Views14K


За свою карьеру у меня было достаточно много собеседований. Конечно, одной из основных тем вопросов была вёрстка. Немного похвалюсь. Не было вопроса, на который я не ответил.


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


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


Сегодня я дам ответ на следующий вопрос: «Зачем нужно использовать свойство display

Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments12

Может ли форма пространства влиять на эмоции игрока?

Level of difficultyEasy
Reading time3 min
Views1.2K

Различные формы геометрии пространства влияют на эмоциональное состояние человека.

Как именно? Давайте разбираться.

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

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

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

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

Читать далее
Total votes 5: ↑2 and ↓3+1
Comments5

UML: обзор основных типов диаграмм, диаграмма объектов. Часть 3

Reading time3 min
Views7.4K

Хабр, привет! В прошлых статьях про UML (Часть 1, Часть 2) мы узнали что такое язык моделирования UML и зачем он нужен, а также рассмотрели диаграмму классов и диаграмму компонентов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмме объектов.

Читать далее
Total votes 7: ↑5 and ↓2+6
Comments3

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views157K

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

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

Читать далее
Total votes 446: ↑438 and ↓8+490
Comments358

Проектирование боевых систем в играх: с чего начать

Level of difficultyEasy
Reading time4 min
Views8.3K

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

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments17

Книга «Жемчужины разработки. Чему мы научились за 50 лет создания ПО»

Reading time16 min
Views5.1K
imageПривет, Хаброжители!

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

Опыт — главный учитель, но медленный и нередко болезненный. Но зачем же нам повторять ошибки? Книга «Жемчужины разработки» поможет совершенствоваться быстрее и избежать многих проблем, обучаясь на опыте других людей, которые уже поднялись по кривой обучения. Карл Вигерс сформулировал 60 кратких практических уроков, которые подойдут для любых проектов, независимо от роли, отрасли, технологии или методологии.

Идеи и конкретные рекомендации охватывают шесть важнейших элементов успеха: требования, дизайн, управление проектами, культуру и командную работу, качество и совершенствование процессов. Для каждого из направлений Вигерс предлагает «первые шаги», позволяющие осмыслить собственный опыт, уроки с основными идеями, реальными примерами и действенными решениями и «следующие шаги» для внедрения опыта в вашем проекте, команде или организации. Эти знания нельзя получить в университете!
Читать дальше →
Total votes 10: ↑8 and ↓2+11
Comments7

Web3 приложение Twitter на React.js + Solidity | часть 2

Level of difficultyEasy
Reading time21 min
Views2.5K

Hello, в первой части был подготовлен проект, подключены кошельки и написан backend на Solidity, значит пришло время писать frontend на React.

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

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments1
1
23 ...

Information

Rating
Does not participate
Registered
Activity