Найти в Дзене
Краткая история рассвета и заката ИТ
К концу подходит 2025 год и в обществе всё ещё витает ощущение, что "айтишник" - это такой высокооплачиваемый специалист, который нужен всем, хоть это уже давно не так. Не так, но с нюансами. Однако та ситуация, в которой мы находимся сейчас, в каком-то смысле, уникальна. Поэтому хочется пройтись по всем (или хотя бы по большинству этапов) взросления ИТ и понять, как так вышло, что мы оказались там, где оказались. Хотел бы я написать, что всё начали энтузиасты, которые хотели создать что-то уникальное, новое, доброе, светлое, но это было бы ложью, в которую я не верю...
1480 читали · 3 недели назад
Про работу с оборудованием в промышленных масштабах
Игра в наблюдение - одна из самых любимых! Многие сотни охранников ежедневно, 24/7, смотрят в камеры и выявляют инциденты. С развитием нейросетей данный процесс сильно упростился, однако остался на том же уровне. Однако давайте заглянем на тёмную сторону наблюдения (и не только), рассмотрев важный вопрос актуальности данных. Скажем, у вас есть какая-то СКАДА система, занимающаяся контролем каких-либо данных. Например, наблюдение за дорожным движением. А это значит, что у вас сразу появляется большое...
1 месяц назад
Как умение программировать экономит деньги
Сегодня речь пойдёт не об играх, а об исключительно прикладном и невероятно бытовом способе использовать программирование, чтобы сделать и себе хорошо, и сэкономить. Довольно обычное дело: надо штукатурить стену. А чтобы она была ровной, нужно поставить маяки (кто не знает - это такие вертикальные направляющие, которые попарно образуют плоскости и, в теории, все выставлены по одной линии, причём направлены строго вертикально). И конечно, если бы всё было просто, этой статьи не было бы. А если вы никогда не штукатурили стены, то ещё и приобретёте теоретические знания по установке маяков...
175 читали · 1 месяц назад
Игровая оптимизация: как сделать игру экономичней и быстрей
В 1994 появилась книга "Банды четырёх" про шаблоны проектирования. Однако истинную популярность у нас она снискала где-то в 2010-х: вопросы про шаблоны стали самими любимыми на собеседованиях. Бессмысленными, но любимыми. Постепенно, мода прошла, но шаблоны остались. Нет, разумеется, шаблоны проектирования не являются чем-то выдающимся, наподобие слёз Чака Норриса. По сути, это всего лишь набор подходов для решения типовых задач, многие из которых мы используем даже не задумываясь (потому что это логично) в том или ином виде...
1 месяц назад
Как сделать свой мессенджер
Вообще, тема мессенджеров сегодня довольно популярна и нет-нет, да и появятся те, кто посмотрит на то, что есть и захочет сделать нечто своё. Как-то я уже делал свой мессенджер, потом у меня было ещё несколько подходов и я, в конце концов, пришёл к выводу, что больно это хлопотное дело. И попробую объяснить, почему не стоит делать что-то новое сегодня. А может быть, напротив, вы решите, что задача довольно простая и легко решаемая. Разработка мессенджера — это сложная инженерная задача, требующая продуманного подхода к проектированию многоуровневой архитектуры...
2 месяца назад
Как использовать состояние приложение и не сойти с ума
Для начала давайте определимся с терминологией. Состояние приложение - это набор данных приложения, или модель данных, которая необходима для верной работы приложения. Она может в себя включать как все данные приложения, так и лишь некоторые. Библиотек состояния приложения сейчас довольно много и это обоснованно. Состояние приложения - это очень удобно: всегда есть нечто вроде "карты" состояния всего и сразу; в любой момент можно понять что и как: какое окно открыто, какой текст введён в поле ввода или какие привилегии есть у пользователя после авторизации...
2 месяца назад
Войти и выйти в ИТ
Не так давно некий упитанный бородатый министр с экранов разных устройств, на голубом глазу, рассказывал, что стране просто позарез необходимо 600 тысяч айтишников, чем, безусловно, вызвал у ИТ сообщества не то, чтобы скепсис - полное недоумение. С точки зрения министерств всё ясно: каждое пытается доказать, что только оно единственное нужное, правильное и полезное, а, значит, именно в него нужно направить финансовые потоки и по его направлению создавать рабочие места и направления. Однако время...
500 читали · 3 месяца назад
Зачем нужны тесты в разработке игр
Сама идея написания тестов мне всегда казалась избыточной. Не то, чтобы я отрицал их пользу, однако большую часть времени они были сущей профанацией: проверялись какие-то случаи, которые с высокой степенью вероятности будут проверены на правильность ещё во время разработки, либо писались для откровенно фантастических случаев. Я уж не говорю о том, что те, кто эти тесты писал, нередко, также как и я не понимали зачем тестировать "это"? Оттого, тесты часто и получались лишь для галочки. Но однажды всё поменялось...
4 месяца назад
Столкновение объектов: метод разделяемой оси или как скрестить ежа с ужом
При написании игр, нередко, можно столкнуться с проблемой: вот есть мой персонаж, который представляет из себя сложную форму, совсем не похожую на прямоугольник; и есть другой персонаж, тоже совсем не похожий на прямоугольник. И они, в какой-то момент, пересекаются - и как же определить, что факт пересечения наступил? Эту прикладную задачу и рассмотрим в статье. Изначально о простом: определить пересечение двух прямоугольников просто, а двух многоугольников - нет. Но "не просто" не значит невозможно,...
5 месяцев назад
Обработчик столкновений в 2D-играх: как это работает?
В любом 2D-платформере, файтинге или даже простой аркаде столкновения — это основа игрового процесса. Пол, стены, враги, платформы — всё это работает благодаря системе обработки столкновений. Но на самом деле, такие системы используются не только в играх: любая графическая среда, где объекты взаимодействуют друг с другом (например, UI-анимации или симуляции), тоже опирается на схожие принципы. В этой статье я хочу разобрать способ создания своего обработчика столкновений. Обработка столкновений всегда идёт рука об руку с перемещением объектов...
255 читали · 5 месяцев назад
Делаем "Морской бой" на Go и JS
Морской бой - одна из лучших игр для скучных уроков или лекций. И, если в прошлом она требовала лишь два листа бумаги, то теперь понадобится лишь выход в интернет. Давайте его сделаем. Мы сделаем клиент-серверную версию, где будет лёгкий клиент - веб страница, которую, при желании, можно перенести в какое-нибудь приложения, вроде telegram, а сервер будет написан на Go. Хотя данную задачу можно решить и средствами одного лишь html+js, мы, всё же, пойдём по пути клиент-серверного решения: кто знает, может быть следующим шагом мы захотим сделать сетевую версию...
119 читали · 5 месяцев назад
Делаем архитектуру внутриигрового чата
Задача сделать чат кажется довольно тривиальной: даже если вам не приходилось его делать самостоятельно, то, наверняка, видели примеры, как делают чаты в учебных примерах для различных технологиях. Поэтому мы не будем фокусироваться на деталях, а попробуем спроектировать архитектуру системы и рассчитать нагрузку, которая позволит всему этому функционировать. Кто-то называет это гордо system design, но как по мне - это просто предварительный расчёт. Давайте предположим что у нас есть некая "браузерная...
6 месяцев назад