*Метрика показывает количество WARN и ERROR в логах в час
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Я хочу чтобы в каждом квесте папки @quests/ варианты выбора начинались со смайлика. НАпример для квеста @anti_cafe_curios_cat_phase.yml все варианты не имеют эмодзи. А для @greed_man_on_market.yml они заканчиваются на эмодзи, а не начинаются. А вот с @lighthouse_cat_phase.yml всё в порядке. Все варианты выбора начинаются с эмодзи. Я хочу чтобы ты прошёлся по списку @all_yaml_files.txt и напротив каждого из файлов поставил
+ если все варианты выбора начинаются с эмодзи
- если варианты выборов не имеют эмодзи
$ если эмодзи в конце
? в остальных случаях
Создан файл с перечислением всех квестов
Статистика:
===========
+ (начинаются с эмодзи): 35 файлов
- (без эмодзи): 20 файлов
$ (эмодзи в конце): 4 файла
? (смешанные случаи): 26 файлов
no_choices: 1 файл
Далее
теперь я хочу чтобы ты переходил от одного файла к другому в списке@quest_emoji_analysis_report.txt , и если в конце стоит -, то ты бы исправлял этот файл, добавляя к вариантам выбора эмодзи в начале. Эмодзи должны быть подхоящие под выбор, и в то же время разнообразные , красивые и атмосферные, их цель украсить вариант выбора и добавить чуть контекста. После того как ты исправишь файл, поставь + напротив него, и только после этого переходи к следующему файлу, напротив которого стоит - в файле.
Я бы никогда не стал делать это руками
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда пытаешься оживить картинку, а промт не работает 🙄
Облака медленно плывут, солнце мерцает. Котик не двигается. Антенны не двигаются
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁2❤1
Когда я начинаю разработку любого пет-проекта, требующего хранения данных в базе, я обычно использую H2. Она встроена в само приложение, т.е. не требует дополнительной инфраструктуры, но поддерживает всё необходимое. При этом есть удобный функционал по созданию бэкапа «из коробки». Уже много лет Котобот раз в сутки присылает мне бэкап БД в Телеграм. Точно так же я могу накатить базу данных из Телеги одной командой. Уже много раз это помогало сохранить пользовательские данные и откатывать сложный релиз при необходимости.
И вот до этого момента у меня ни разу не было необходимости переходить на что-то более мощное или зрелое — до этого момента. Сейчас база Котобота разрослась, и в таблице котособытий около миллиона записей, а сканирование с несколькими джойнами уже занимает секунды. Думаю о переезде на PostgreSQL, но придётся что-то придумывать с автоматическим бэкапом, переездом и развёртыванием.
А какие БД вы используете для собственных pet-проектов?
И вот до этого момента у меня ни разу не было необходимости переходить на что-то более мощное или зрелое — до этого момента. Сейчас база Котобота разрослась, и в таблице котособытий около миллиона записей, а сканирование с несколькими джойнами уже занимает секунды. Думаю о переезде на PostgreSQL, но придётся что-то придумывать с автоматическим бэкапом, переездом и развёртыванием.
А какие БД вы используете для собственных pet-проектов?
❤3❤🔥1👍1
Я большой сторонник постепенного развития продукта - сначала делаем MVP(Minimum Viable Product), выпускаете его в мир, а потом дорабатываете наиболее востребованные места.
Есть цитата, ярко характеризующая этот подход:
Если тебе не стыдно за твой MVP, то ты выпустил его слишком поздно.
В середине этого года я начал переделывать бота на принцип движка. Если раньше каждый квест был классом, то теперь это конфигурационный файл. Про это я уже частично писал.
И т.к. квесты штука вариативная и ещё и statefull, то в какой-то момент пришлось добавлять выражения. И, разумеется, сразу делать красиво и правильно я не стал. Разрабатывать и реализовать грамматику, а потом ещё и поддерживать её с самого начала? Пфф!
Тем более мне был необходим простейший минимум для начала:
Все реализовано на простых, но составных выражениях, которые парсятся регулярными выражениями.
Присваивание, инкрементация, сравнения. В условиях только и/или. Никаких скобок, или даже составных арифметических выражений. И этого было достаточно для того чтобы перевести все квесты на новый движок.
И, наконец, пришел момент, когда это стало недостаточно. Имея 100+ квестов перед собой, я понимаю какая грамматика мне нужна.
Реализовать я это решил с помощью ANTLR, и теперь готов приступить к следующему шагу.
P.s. в примере с узлом есть, бросающаяся в глаза, ошибка. Работающая на начальных этапах, но не попавшая в грамматику, найдёте?
Есть цитата, ярко характеризующая этот подход:
Если тебе не стыдно за твой MVP, то ты выпустил его слишком поздно.
В середине этого года я начал переделывать бота на принцип движка. Если раньше каждый квест был классом, то теперь это конфигурационный файл. Про это я уже частично писал.
И т.к. квесты штука вариативная и ещё и statefull, то в какой-то момент пришлось добавлять выражения. И, разумеется, сразу делать красиво и правильно я не стал. Разрабатывать и реализовать грамматику, а потом ещё и поддерживать её с самого начала? Пфф!
Тем более мне был необходим простейший минимум для начала:
get_money_reward:
expression: "TMP_PUMPKIN_SIZE=U.PUMPKIN_SIZE;MONEY_REWARD=34*U.PUMPKIN_SIZE;G.MONEY+=MONEY_REWARD;U.PUMPKIN_SIZE=null"
publicText:
- "${USERNAME} вырастил${FEMALE?а} ${TMP_PUMPKIN_SIZE==1?маленькую тыковку}${TMP_PUMPKIN_SIZE==3?среднюю тыкву}${TMP_PUMPKIN_SIZE==9?большую тыкву} 🎃"
text:
- "Внутри тыквы вы обнаруживаете горсть золотых монет (+${MONEY_REWARD} 💰)"
choices:
"🌾 Назад": [ "pumpkin_field" ]
Все реализовано на простых, но составных выражениях, которые парсятся регулярными выражениями.
Присваивание, инкрементация, сравнения. В условиях только и/или. Никаких скобок, или даже составных арифметических выражений. И этого было достаточно для того чтобы перевести все квесты на новый движок.
И, наконец, пришел момент, когда это стало недостаточно. Имея 100+ квестов перед собой, я понимаю какая грамматика мне нужна.
Реализовать я это решил с помощью ANTLR, и теперь готов приступить к следующему шагу.
P.s. в примере с узлом есть, бросающаяся в глаза, ошибка. Работающая на начальных этапах, но не попавшая в грамматику, найдёте?
❤2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Никогда мем еще так хорошо не описывал мою текущую работу 🥺
🤣2