В одном чате вспомнили недавно Flash. С этой технологией связана значительная часть моей жизни и становления, как специалиста: с неё я начал учить программирование и на ней же заработал не только первые серьёзные деньги, но и вообще одну из крупнейших в своей жизни сумм за единицу времени (тогда был экспоненциальный рост игр для соцсетей, мне тоже удалось чуть-чуть вписаться).
Никогда не прощу Apple убийство флэша. Этот софт опережал своё время: художники рисовали на нём полноценные мультики и делали сложные анимации, а программисты создавали демосцены и игры, богатые графикой и даже, при желании, с физическим и 3D-движком. В старших классах я на флэше делал работу для экзамена по географии. Казалось, там можно вообще всё.
У флэша почти не было проблем совместимости. Да, ему требовался Flash Player, но зато во всех браузерах флэшки отрисовывались и работали одинаково. Не нужно было думать о том, что какой-то очередной браузер из-за мудачества его разработчиков не поддерживает очередную команду, тег, свойство или API.
Возможности по графике, интерактиву и медиа в браузере только недавно еле еле догнали то, что мог флэш в 2000-х. А язык программирования ActionScript 3.0 и сейчас на световые годы впереди JavaScript'а.
Да, были недостатки. Проприетарность технологии тормозила и развитие и активность комьюнити. Никакой резиновой вёрстки — только скалярное пространство с числовыми координатами под заданное соотношение сторон. Да, в какой-то момент появился MXML, но это совсем отдельная ветка. Хотя, сейчас вон тоже сайты под десктопы и мобилы по суди два раза верстают.
Я нашел этот скриншот в статье 2011 года, которая заканчивается так: «...что касается интернет-приложений и разработки игр, тут Flash на долгие годы останется лучшим выбором для разработчика». Уже через год после этой статьи Adobe объявила о будущем скором прекращении поддержки технологии.
Впрочем, некоторые современные инструменты, такие, как Unity, позаимствовали очень многое у Flash, так что можно сказать, он переродился.
#dev#web
• Недавно публиковал пост, где рассказывал о тематической (infosec) игре Bandit, в которой нужно ковырять консоль, подключаться по SSH к разным серверам, искать на них файлы с информацией, ну и т.д... Так вот, есть не менее интересная игра, только направленная на эксплуатацию Web-уязвимостей.
• Если коротко, то суть игры заключается в поиске паролей на сайтах, ссылка на которые дается при переходе на новый уровень. Каждый lvl имеет доступ к паролю следующего уровня.
• К примеру, если взять lvl 0 и lvl 1, то от вас просто потребуется посмотреть код страницы и найти в нем пароль на следующий уровень. Если сможете найти, то перейдете на 2 lvl, где уже задача будет немного сложнее: при просмотре кода страницы уровня 2 вы заметите, что на страницу загружается картинка. Заходим в директорию, откуда происходит загрузка картинки. Наблюдаем, что эта дирректоря непроиндексирована и доступна пользователям. Забираем пароль. (Для того, чтобы избежать просмотра файлов в дирректории, в настройках сервера (в данном случае /etc/apche2/httpd.conf) должен стоять запрет на индескирование файлов. Или в данной дирректории должен находиться файл index.html.
• Думаю, что суть ясна. Там куча уровней и все они весьма сложные. Просто так посмотреть код страницы на каждом уровне и поискать пароль не прокатит, нужно будет много думать и читать. Но игра залипательная. Однозначно рекомендую.
➡️https://overthewire.org/wargames/natas/
#Wargame#Web
🔐 Разбираем TLS по байтам.
• В этом материале описан протокол TLS и его роль в вебе. Статья состоит из двух частей. В первой поговорим о защите соединения: от чего и как защищаемся, почему именно так, а не иначе, сколько и каких ключей для этого нужно, и разберёмся с системой сертификатов; а в конце создадим свой сертификат и посмотрим, как его использовать для разработки. Во второй части обсудим, как это дело реализуется в протоколе TLS и разберём формат TLS-пакетов по байтам.
• Предполагается, что вы что-то знаете о симметричном, асимметричном шифровании и электронной подписи:
➡️ Читать статью [1], [2].
#web#tls
Навигация по каналу.
Всем привет, с вами разработчик из Петербурга, а здесь мой личный блог. Многие люди говорят мне, что им нравится, как я пишу, и это поддерживает существование данного канала. Тут совершенно точно не будет примитивного агрегатора новостей, очередной подборки мемов или филиала твиттера с короткими эмоциональными высказываниями. Данный блог — вдумчивый и авторский, содержит мои размышления и пережитый опыт. Подписывайтесь, если вам действительно интересно читать. Буду рад также вашему участию в обсуждениях.
Вот основные теги:
#dev — программирование
#gadgets — гаджеты
#games — видеоигры и настолки
#fiction — книги, фильмы
#hobby — DIY и другие хобби
#web — интернет, соцсети
#life — просто о жизни
¿Que puede hacer este bot?
@UsersVisitBot
Obtenga su propio script y vea a las personas que visitan su blog o sitio.
Idiomas: inglés
(Visto en @botsgram_cu)
#web#estadísticas
Платформа для разработки игр Unity в своё время совершила революцию. Это, кстати, хороший способ запустить успешный проект: нужно с помощью цифровизации упростить какой-то сложный процесс. Например, Uber упростил заказ такси, Arduino упростил вхождение в любительскую электронику, Тинькофф упростил многие банковские операции и так далее. Вот Unity значительно упростил работу с игровыми движками — сделал простой и логичный конструктор поверх движка, который позволил создавать объекты, анимации, задавать физические параметры и так далее.
Это было настолько нужным и удачным решением, что половина игровой индустрии, кроме дорогих высокобюджетных проектов, с тех пор подсела на Unity. Инди-игры и мобильные игры практически целиком на нём, и даже некоторые AAA-компании активно его юзают: например, на нём сделан Hearthstone.
И вот несколько дней назад компания объявила, что с 2024 года начнёт взимать с разработчиков деньги за каждую установку каждой игры (до этого были разные уровни платной подписки на движок). Ну, то есть, у тебя уже написан огромный и дорогой проект на движке, существующий много лет, и автор движка, как оказалось, имеет право в какой-то момент сказать: плати мне миллионы долларов или отключай свой проект.
Для многих это не просто удар, это полный крах всего бизнеса, построенного на играх. Здесь можно было бы понудеть ещё раз о зависимости от корпораций, но любопытно другое. Игровая индустрия поехала массово хоронить и бойкотировать Unity, а само решение действительно кажется предельно абсурдным. Unity и так зарабатывал очень много, причем, для поддержки движка не нужны значительные траты. Выяснилось, что члены совета директоров, и даже сам генеральный, за последние пару лет продали десятки тысяч своих акций Unity, а новых не купили. Это реально по куче признаков выглядит, как убийство компании изнутри и попытка дожать остатки. Говорят, что проект решил не ввязываться в конкуренцию с растущим по популярности Unreal Engine, у которого вроде как появляется вменяемый инструментарий для людей.
Если студии, которые сейчас выражают протесты, не сольются и массово откажутся от использования движка, то коллективно они вполне могут обвалить Unity. Хорошее в этом тоже есть: надеюсь, что подобные события стимулируют развитие опенсорсной альтернативы — Godot.
#dev#games
Закончился второй этап конкурса "Код Петербурга". На первый я отправил скилл для Маруси, позволяющий гибко искать события по базе KudaGo. Но с самого начала говорили, что среди критериев оценки будут метрики: число пользователей и так далее. Там, где есть метрики, нужно делать развлекательный проект или игру, без вариантов. У "полезных" самостоятельных приложений (не связанных с внешним бизнесом) метрик нет почти никогда.
Я посмотрел на топ развлекательных приложений в каталоге ВК и увидел, что местная аудитория любит кликеры / idle. Это такие игры, которые максимально абстрагируют игровой процесс: буквально конвертируют время вашей сессии и совершение простейших действий во внутриигровой ресурс. Грубо говоря, вы получаете очки, потому что просто сидите в игре, и на этом все. Ну, иногда нужно нажимать на экран.
О причинах популярности и кажущейся примитивности этого жанра я сейчас рассуждать не берусь, но во второй этап решил сделать кликер про музеи Петербурга. Напомню, что одно из условий конкурса: использовать API городских сервисов. Здесь я взял базу данных Министерства Культуры.
В игре "Музейный Барон" вам нужно нажимать на посетителей с разными предпочтениями, получать с них деньги, на которые строить музеи, позволяющие получать еще больше денег, в том числе автоматически. Музеи, разумеется, настоящие. Я, кстати, пока подбирал, узнал о нескольких новых, которые хочется посетить.
Еще есть, например, возможность в реальности зачекиниться по GPS у нужного музея и получить его со скидкой. И, конечно, я не отказал себе в удовольствии сделать отдельный режим "Ночь Музеев", генерирующий в разы больше посетителей.
Вообще, делать кликер было интереснее, чем кажется. Отдельно пришлось придумывать, как не допустить написание игроками ботов для автоматизации. Ну и математику тоже пришлось продумывать, строя графики, хотя, кажется, есть куда улучшать.
#dev#games