Проект. Право на «На хуй!»
18+
Оригинал
Идея
Просто захотелось перенести эти прекрасные мысли «на бумагу»… Точнее, на футболку. Вот что получилось:
Личный блог о том, о сём…
18+
Просто захотелось перенести эти прекрасные мысли «на бумагу»… Точнее, на футболку. Вот что получилось:
Около семи лет я трудился в одной крупной компании в должности дежурного ИТ-специалиста. Работа была сменная, в т. ч. с ночными сменами, и заключалась в технической поддержке диспетчеров, которые тоже работали круглые сутки. Обычная техподдержка тоже существовала, но ребята там работали в обычном графике 5/2 и общались преимущественно с такими же обычными пользователями.
Работа техподдержки осуществлялась в системе управления пользовательскими обращениями или «Сервис Деск». Это такой сайт, где любой пользователь мог создавать обращения о своих проблемах с ИТ. Потом эти обращения назначались на исполнителей, решались и оставались в системе для накопления опыта и знаний. Удобная штука по заветам ITSM и KM. Но не когда ты дежурный.
На смене должно быть двое дежурных, каждый со своим набором обязанностей. Каждый человек периодически занимал место одного из дежурных, а общий штат составлял десять человек. Ну, то есть должности две, а личностей у каждой должности — десять. Обязанности из суток в сутки одни и те же, а вот исполнитель разный…
Дежурные активно использовали «Сервис Деск» для фиксации и решения проблем. Но была проблемка: в системе нельзя было авторизоваться как дежурный, только через личную учётную запись. И получается, что нельзя получить или создать список обращений, к которому бы имели доступ все ребята в смене и только они.
Обращения — важный источник информации, они должны быть всегда под рукой и актуальные. А решаться обращения могут годами. И как же решалась данная «проблемка»? Правильно — гениально. Дежурные вели список важных обращений в «Ворде» и просто раз в смену актуализировали список. Или нет — я же говорю, личности разные…
Решить вопрос расширением функционала «Сервис Деска» не удалось, т. к. вещь это покупная и вообще «кто вы тут такие, шоб мы тратили на вас своё время и деньги»… В общем, было принято решение вытаскивать себя из болота прямо за волосы. Вместе с коллегами.
Идея проста: нужно место хранения списка обращений с возможностью добавлять, актуализировать и удалять эти самые обращения. Естественно, веб.
* Осмысленное проектирование
Самая первая версия (MVP) представляла из себя:
Дизайна не было от слова «совсем», но идея работала. Настоящий proof of concept. Изображений того «чуда», естественно, не осталось…
После получения рабочего прототипа пришло время задуматься о дизайне приложения. К этому моменту я уже знал, что, например, для таблицы буду использовать библиотеку DataTables и сразу заложил её в дизайн. Технологический стек у меня был ограничен корпоративными стандартами и представлял из себя Astra Linux, PostgreSQL, nginx, C#, HTML/CSS/JavaScript и различные js-библиотеки.
Работать всё должно было примерно так:
Таким я видел сайт на варфреймах:
Варфрейм «Главная страница» — Варфрейм «Корзина» — Почеркушки
Спустя некоторое время мне удалось решить все поставленные задачи и получить полноценное веб-приложение:
Главная страница — Корзина
В пути по просьбе коллег в «Корзину» была добавлена кнопка «Удалить всё» на случай заметания следов. Шучу: просто тогда разработчиком я был начинающим, и при количестве обращений в таблице в несколько сотен интерфейс начинал «подтупливать». Эту проблему я решил таким вот образом, а другие уже не успел, т. к. уволился, но это уже совсем другая история…
Когда-то давно, на сайте, сегодня уже, к сожалению, недоступном, я нашёл идеальный рецепт шашлыка. Идеальность его заключается не только в простоте, но и в подробном объяснении, как, почему и зачем всё происходит. Та заметка дала мне не только отличный рецепт, которым я пользуюсь до сих пор и он меня ещё ни разу не подводил, но и интересные знания и в очередной раз показала важность постоянного обучения и экспериментов.
Ниже представлен немного дописанный рецепт, учитывающий кроме самого рецепта ещё и ответы автора на вопросы читателей.
Проект некоммерческий и строится на принципах open source и DIY.
В начале 2020 года сестра подошла ко мне и поделилась идеей объединить такие разные вещи, как «Манчкин» и «смешной перевод Гоблина».
Так получилось, что добрая часть нашего общего детства прошла под знамёнами Сумкиных, мега-колец и шматриц. И, как любая детская деформация, осталась с нами до сих пор. Мы говорим цитатами, знаем наизусть сцены и любим время от времени вернуться к истокам и пересмотреть их.
А вот Манчкин появился в наших жизнях сравнительно недавно, но быстро стал нашим любимым способом весело провести вечерок в кругу близких.
И вот, двенадцатого июня 2020 был дан старт нашему новому проекту «Манчкин в смешном переводе». За основу был взят оригинальный «Манчкин» с его механикой. В процессе само содержимое карт и их количество было несколько переработано. Так, например, полностью исчезли карты «Получи уровень», ибо «чё это такое, за каким фигом тебе просто так уровень, п’шёл отсюдава!». Зато добавили Наёмничков! И каких — один Голый чего стоит! Спойлер: всех твоих Наёмничков… Классы и расы перемешались и превратились в просто расы: Начальники, Мэнты, Карапузы, Коротышки, Бомжи и Эльфы. Добавилась куча носимых и разовых шмоток… Короче, много всякого мы пере- и доделали. Основная наша цель была (кроме отсылочек, разумеется) — сделать игру пожёстче.
После первоначального обтёсывания и обстругивания колоды была напечатана первая пробная колода. На простой бумаге, без изображений, только статы и названия. Неказистая, но играбельная. Она очень быстро помогла нам найти кучу косяков и проблем в балансе игры.
Параллельно с процессом вытёсывания механики мы искали художника для воплощения наших больных фантазий относительно внешнего вида персонажей. В конце этого о-о-о-о-очень долгого пути наш выбор пал на Влада aka Skarislav. Нам очень понравился его стиль, и он был нам по карману, что для проекта, в котором участвует два с половиной землекопа, очень важно. Связавшись с Владом и получив его соглашение поработать, мы снабдили его первыми текстовыми описаниями игровых рас и стали ждать результата. А сами стали рутинно, по кругу, допиливать баланс: шлифанули, распечатали, поиграли, шлифуем дальше…
Влад рисовал, мы делали карты, шлифовали баланс и… и, в общем-то, всё. К началу октября всё было готово. Все дополнительные аксессуары были приобретены, карты отрисованы, фишки сделаны… Да, кроме карт мы ещё кое-что добавили от себя. Вообще, полный комплект выглядит так:
И вот 27 ноября, собрав всё воедино, закончив бодаться с вырвиглазными цветами в распечатках, всё было отправлено в производство. Пару дней спустя у нас на руках оказались наши наборы:
И теперь, с наборами на руках, уставшие, но удовлетворённые от окончания проекта, мы готовы поделиться им с вами! Доброй игры вам)
Привет!
Давным-давно, в далёкой-далёкой галактике... Существовал канал 2×2. Не самая его первая версия, а та — легендарная версия легендарного 2007-го... Как же была гениальна идея собрать сетку вещания из мультов с взрослым рейтингом и/или взрослыми сюжетами! Наравне с «гоблинскими» переводами это стало неотъемлемой частью моей личности и навсегда останется как уникальный опыт.
Но со временем канал ушёл в кабельное вещание, а я — в интернет... И вот в погоне за тем ностальгическим чувством был начат проект «Бесконечный плейлист» aka «Свой 2×2 „с преферансом и куртизанками“».
Идея проста: берём горсть сериалов и шоу, из которых будем собирать свою сетку, с помощью «генератора плейлиста» формируем плейлист и запускаем на медиа-приставке на бесконечное проигрывание. По итогу достаточно переключиться на приставку и начать смотреть плейлист.
Отправной точкой написания собственного генератора стало утверждение: какие-то сериалы можно смотреть вразнобой, а какие-то — строго по порядку. Значит, сериалы должны лежать в разных каталогах, например в Random и Straight. Случайно выбираем Random или Straight, заходим внутрь, случайно выбираем сериал, и потом в зависимости от того, какой это сериал («случайный» или «упорядоченный»), выбираем серию — случайно или по порядку. Записываем в плейлист и на новый круг...
Смотрю результат: поначалу всё хорошо, но ближе к середине видно, что «упорядоченные» серии кончились и идут только серии из «случайных» сериалов. Лд, значит, надо добавить веса случайности: если в Random десять сериалов, а в Straight один, то Straight должен выбираться в десять раз реже, чем Random. Делаю, запускаю, смотрю...
Ага, понятно: этот же принцип надо применять и к сериям одного типа, иначе если из тех десяти сериалов в Random во всех, кроме одного, будет по пять серий, а в одном — 50, то эти серии тоже будут образовывать «комки» в плейлисте. Переписываю, запускаю, смотрю...
Кайф, всё работает. Но хочется ещё одного: если серия разбита на части, то хочется посмотреть всю «серию» целиком, неважно, Random это или Straight. Так у некоторых серий в названии в конце появились приписки вида (Part 1), (Part 2), (Part 3) и т. д.
На этом пока всё. Проект выложен в открытый доступ.
Привет!