Pull to refresh
-21
0
Send message

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

Reading time10 min
Views5K

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

Читать далее...
Total votes 8: ↑7 and ↓1+6
Comments2

Сегментация сети для самых маленьких: рабочие станции

Level of difficultyEasy
Reading time9 min
Views16K

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

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

Настройка WireGuard на Mikrotik

Reading time5 min
Views115K

Если не касаться wiki и официального сайта, и объяснять как можно проще, то это VPN туннелирование через UDP.

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

Хотите узнать как?
Total votes 21: ↑21 and ↓0+21
Comments26

Как алкоголь влияет на мозг. Углубляясь в нейробиологию

Reading time6 min
Views53K

Ром для старого пирата — это приговор. А как насчет нормального и здорового человека? Цель материала изучить не столько влияние ударной дозы во время пьянки, сколько эффект от регулярного и умеренного пития. Хотя про то, как литрами выпитый алкоголь влияет на мозг, и прав ли был доктор Ливси, мы тоже поговорим.

Читать далее
Total votes 127: ↑119 and ↓8+111
Comments260

Я старый пират и у меня есть национальный сертификат мастера спорта по скорочтению лицензионных соглашений

Reading time3 min
Views8.7K

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

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

Читать далее
Total votes 46: ↑36 and ↓10+26
Comments96

Mikrotik, Telegram и не только…

Reading time8 min
Views40K

Здравствуйте, друзья!

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

Однако, давайте по порядку.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments30

Реверс-хантинг

Reading time5 min
Views63K

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

Кандидат оказался знакомым – очень давно работали вместе, были почти друзьями, но несколько лет особо не общались. Увидев меня, парень, почему-то, сильно сконфузился. Даже побледнел. Я не старая страшная обезьяна, и такую реакцию на свой фейс увидел впервые. Что особенно удивительно – это ведь опытный программист, не впервой собес проходить.

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

Расспросил. Рассказал. Удивился.

Читать далее
Total votes 200: ↑188 and ↓12+176
Comments57

ТВ вместо монитора: HDR, 120 Гц и вот это всё

Level of difficultyEasy
Reading time20 min
Views85K

Разбираемся, зачем экранам 500 Гц, почему телевизор не монитор, за сколько часов выгорит OLED и как вообще это всё работает.

Читать далее
Total votes 170: ↑170 and ↓0+170
Comments418

Сравнение стандарта PEP8 и «Чистого кода» Роберта Мартина

Reading time12 min
Views23K

ПРЕДИСЛОВИЕ

Привет Хабр! Признаюсь, честно, за время моего отсутствия я успел по вам соскучиться.

Прежде чем начинать изложение материала, позвольте рассказать небольшую историю, вдохновившую написать эту статью.

Был совершенно обычный день, когда мне в обеденное время написал в ВК знакомый с предложением пройти собеседование на должность разработчика на языке Python. Вакансия очень сильно заинтересовала, поскольку у меня есть большой интерес развиваться в этом языке. Пообщавшись с менеджером, сбросил ему резюме и прикрепил небольшой проект web-серверного приложения.

Главный разработчик провёл ревью и пришёл к выводу, что мне пока рано занимать такую вакантную должность. Вместе с этим HR отправил рекомендации разработчика, как и в каком направлении можно развиваться. Одно из них – чтение книги «Чистый код» под авторством Роберта Мартина

Я сначала не придал особого значения этой книге. За время обучения программированию на Python мне много рекомендовали что почитать. Что-то мне нравилось, что-то нет. Но здесь всё решил один случай.

Через три дня после собеседования я поехал на крупнейшую IT конференцию на Урале DUMP2022. Там познакомился со многими практикующими разработчиками в том числе из этой компании. Какова была моя радость, когда на одной из секций докладчик отметил мой вопрос как лучший, а подарком как раз стала эта книга.  

Я понял, что это был знак. Мне действительно надо было прочитать эту книгу. И как оказалось не зря.

Нет, эта статья не очередной обзор, на парадигму автора. Это статья о сравнении двух стандартов PEP8 и "Чистого кода". Вместе с вами я посмотрю чем отличаются эти два стандарта между собой, в чём их сходство. Полученные знания углубят понимание фундаментальных принципов программирования и возможно повлияют на стиль оформления кода.

Читать далее
Total votes 17: ↑11 and ↓6+5
Comments29

Я год шпионил за собой — что из этого вышло. Простой секрет личной эффективности

Reading time5 min
Views121K

На стенах храма Аполлона было написано "Познай самого себя", но там нигде не было сказано как это сделать. Предлагаю исправить такое положение дел, да и к тому же разобраться как это поможет стать более продуктивным.

Читать далее
Total votes 97: ↑90 and ↓7+83
Comments145

Кинотерапия — более 150 фильмов, которые пересматривают

Reading time6 min
Views53K

Фильмы - это лекарство для психики. Что включается у нас в голове, когда мы смотрим фильм? Возможно превратить просмотр кино в индивидуальную психотерапию?

Для начала отделим мух от котлет. Психолог, психотерапевт, психиатр и невролог чем они отличаются? Самое простое отличие в том, что психолог не является врачом. Психотерапевт, психиатр и невролог - это врачи.

Читать далее
Total votes 54: ↑30 and ↓24+6
Comments141

Как происходит генерация мира Minecraft

Reading time21 min
Views53K
image

Задумывались ли вы когда-нибудь, сколько на нашей планете песчинок? По грубым оценкам, более 7 квинтиллионов! Это 7 с 18 нулями. И всё-таки это даже меньше половины количества уникальных миров в Minecraft. Как же Minecraft и другим похожим играм удаётся создавать такие сложные, красивые, однако полностью процедурные миры? В этой статье я расскажу, как игра генерирует свои миры, от самой высокой горы до самой глубокой пещеры.

Часть 1: процедурная генерация


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

Однако первой игрой с процедурно сгенерированным миром является «Elite», первая версия которой вышла для компьютера BBC Micro в 1984 году. Это прапрадед относительно новой «Elite: Dangerous», выпущенной в 2014 году.


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

Контент должен быть достаточно разнообразным, чтобы выглядеть свежим, но не настолько разнообразным, чтобы казаться атипичным. И необходимо создавать миры, на которые не просто интересно смотреть, но которые обеспечивают справедливую с точки зрения игрока сложность.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments17

Что такое качество. Разбираемся в иерархии терминов «QA», «QC» и «тестирование»

Reading time9 min
Views26K

Всем привет! Меня зовут Сергей, я занимаюсь процессами в блоке по развитию информационных систем Ростелекома. В зависимости от потребностей ставлю как сквозные процессы, так и процессы на уровне рабочих групп. Но есть то, что объединяет процессы на всех уровнях - это термины и их трактовка. Вот про это я хочу поговорить, добро пожаловать под кат.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments2

Как укрепить Windows Defender по максимуму

Reading time3 min
Views27K


На Хабре неоднократно обсуждалось, что сторонние антивирусы — источник дополнительной угрозы. Они внедряются в ОС на уровне ядра и увеличивают поверхность атаки за счёт собственных уязвимостей. Некоторые специалисты говорят, что сторонние антивирусы лучше удалить. Хотя в некоторых случаях их использование всё-таки имеет смысл.

Но есть и хорошая новость. В состав ОС Windows входит стандартный антивирус Windows Defender. Это простая и добротная программа. Но для максимальной эффективности желательно её укрепить специальными настройками, которые по умолчанию отключены.
Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments21

Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо

Reading time13 min
Views21K
Здравствуйте!

На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема.

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

  • Низким уровнем вхождения и простотой кода (для понимания/отладки другим сотрудником)
  • Простые скрипты ROS не создают никакой нагрузки и работают даже на hAP Lite
  • Масштабируемость – возможность подключения большого количества VPN-шлюзов с целью снижения нагрузки или географического распределения
  • Возможность использования Mikrotik CHR в качестве VPN-сервера
  • «1хN» – 1 SMS-шлюз на неограниченное количество роутеров с возможностью расширения при росте нагрузки
  • Возможность привязки отдельного роутера к «конкретному» модему (для чего? – об этом позже)
  • Использование всего одного php скрипта на удаленном сервере
  • Не важно какое устройство инициировало VPN-соединение, авторизация по ссылке из SMS
  • Ведение log'а всех авторизаций на сервере (можно вкл/выкл)
  • Увеличение отказоустойчивости и снижение нагрузки системы путем отправки SMS рандомно с нескольких модемов
  • Возможность отправки SMS через платные SMS-шлюзы (в коде на примере smsc.ru)
  • Функция Firewall – доступ только у роутеров занесенных в список (можно вкл/выкл)
  • Новое: Отправка кодов через Synology Chat и Telegram Bot. Причем различным пользователям уведомления могут доставляться по различным каналам.


Если вас интересует данная тематика, сохраните статью в закладки, я буду периодически её обновлять, по мере расширения функционала скрипта.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments41

Как бы вы реализовали форму аутентификации на сайте? Вопрос для собеседования на Junior/Middle/Senior?

Reading time9 min
Views54K

В свете исследования "Веб-разработчики пишут небезопасный код по умолчанию" мне подумалось, что именно так может звучать один из базовых вопросов на собеседовании с точки зрения проверки знания web-разработчика от уровня Junior до Senior.

Тема с одной стороны в общем-то простая, а с другой - многогранная. Можно сделать “на коленке”, а можно и “по-взрослому” -  зависит от знаний конкретного девелопера и технического задания. Ну и не привязывается к конкретному языку. Что nodejs, что .net, что PHP - на ответы это не влияет. Ну и отлично же! Давайте попробуем.

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

Как бы вы ответили на конкретный вопрос? Попробуйте проверить себя и потратить пару минут на обдумывание прежде чем читать ответ.

Восклицательным знаком ⚠ помечены вопросы, на которых можно "засыпаться" и оставить плохое впечатление о себе у интервьюера. Так же я позволил себе добавить еще пункты, которые подразумевают "Регистрацию", но по касательной. Многие ответы обрамил ссылками, которые помогут разобраться чуть глубже в конкретном вопросе, думаю будет полезно.

Итак, за вёсла!

Читать далее
Total votes 69: ↑59 and ↓10+49
Comments211

Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База

Reading time21 min
Views43K

Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База

Мы продолжаем цикл обучающих статей для начинающих системных администраторов. В серии "Настройка LEMP сервера с помощью docker для простых проектов" мы разберем docker и docker-compose, рассмотрим, как поднять стек LAMP+Nginx с помощью docker, а также расскажем вам, в чем преимущество контейнеризации и виртуализации.

Читать далее
Total votes 21: ↑20 and ↓1+19
Comments9

Устану ли я играть, нужно ли уметь кодить и чем вообще занимаются QA в геймдеве

Reading time11 min
Views33K

До прихода в индустрию я искал материалы про QA в геймдеве, чтобы понять отличия от других областей. Результатов нашлось не много — обычно пишут про общие или абстрактные вещи, или о том, что это простой путь в геймдев, или рекламируют курсы. В итоге захотелось закрыть некоторые вопросы самому, так как на собеседованиях я вижу, что далеко не все представляют себе эту профессию на практике.

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

Читать далее
Total votes 59: ↑58 and ↓1+57
Comments34

Ошибки геймдизайна или как мы сделали игровой режим, который был никому не нужен

Reading time13 min
Views32K

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

Мечтали о своих кланах и мы. Не просто мечтали, а сделали. Трижды.

Под катом я расскажу о каждых граблях, на которые мы наступили в процессе разработки: механики, которые работают не по плану, проблемы экономики, смурфинг, и даже «договорняки» через Discord.

Читать далее
Total votes 91: ↑91 and ↓0+91
Comments10

Всё что нужно знать про ECS

Reading time30 min
Views72K

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS
Total votes 38: ↑37 and ↓1+36
Comments24
1

Information

Rating
Does not participate
Registered
Activity