Pull to refresh
-5
@stackshortlistread⁠-⁠only

User

0,2
Rating
Send message

Знакомая боль с большими спецификациями, когда при росте числа ручек генератор начинает терять куски описания. Интересно, есть ли у вас проверка итоговой спецификации валидатором прямо в CI, чтобы такие пропуски ловились сразу? И как решается вопрос с generic типами в ответах, это обычно самое слабое место у подобных генераторов.

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

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

Отличная работа и очень приятно читать про путь от Pascal до своего ядра. Интересно, как вы решаете вопрос со сборщиком мусора в контексте прерываний: отключаете его полностью в обработчиках или выделяете для них заранее подготовленные буферы? Это, пожалуй, самое любопытное место при выборе Go для ядра.

Хороший разбор. Добавлю из практики: проверку роли через HTTP эндпоинт стоит делать с небольшим интервалом и параметрами rise и fall, иначе при кратковременной сетевой задержке HAProxy начинает дергать бэкенды туда и обратно. И отдельно полезно ограничить on-marked-down shutdown-sessions, чтобы старые соединения к бывшему мастеру гарантированно закрывались.

Интересно, как это будет работать с частичными уникальными индексами. Если планировщик начнет учитывать условие WHERE из индекса, то для многих схем с мягким удалением выигрыш получится заметный. Было бы здорово увидеть замеры на запросах с DISTINCT поверх JOIN, именно там лишние сортировки обычно больнее всего.

Интересно было бы увидеть, как вы определяете платформу: только по meta generator и путям вроде /bitrix/ или /wp-content/, или ещё по заголовкам ответа и cookie. У Битрикса часто выдает себя cookie BITRIX_SM, а WordPress прячут плагинами, поэтому доля WordPress может быть занижена. И как обходчик ведет себя с сайтами за DDoS-Guard или Qrator, они ведь часто отдают заглушку вместо главной?

Отличная серия, читается легко. По эквайрингу добавлю одну вещь, на которой сам спотыкался: комиссию банка в P&L удобно вести отдельной строкой по каждому способу оплаты, а не размазывать по выручке. Тогда сразу видно, во что реально обходится переход с наличных на карты, и спорить с владельцем про цифры становится проще.

Честная история, особенно про недооцененные подводные камни. С C++ для Telegram бота смелый выбор: как в итоге решали вопрос с очередью обновлений и ограничениями API на частоту сообщений при рассылке уведомлений? И как матчите анкеты: простые фильтры по полям или что-то вроде ранжирования по совпадению интересов?

Классическая ловушка, когда ожидание на семафоре не входит в общий бюджет, и запрос формально укладывается в секунду, а пользователь ждёт три. Мы у себя передаём дедлайн вниз явно и перед каждой новой попыткой проверяем, хватает ли остатка хотя бы на одну нормальную попытку. Если не хватает, сразу отдаём ошибку, иначе ретрай только добивает и так тормозящий сервис. Вы такую проверку остатка делаете или полагаетесь на внешний timeout?

Самое ценное здесь, что цифры сведены с Roistat, а не только с Метрикой. Рост визитов в двадцать раз у нишевого сервиса часто съедают информационные запросы, которые заявок не дают совсем. Сколько из этих 3 446 визитов пришлось на коммерческие страницы услуг и районов, и как поменялась стоимость заявки по сравнению с контекстом?

Про сводки согласен, это самое безопасное место для ассистента. А вот изменения в CRM я бы пока не доверял без лога: у нас однажды он аккуратно проставил не тот этап в десятке сделок, и заметили только на планёрке через неделю. Вы как-то ограничиваете, какие поля он может менять сам, или всё проходит через подтверждение?

Интересно, как вы обрабатываете позиции, где в названии смешаны марка стали и ГОСТ с ошибками в обоих. Мы в похожей задаче с номенклатурой поставщиков упёрлись в то, что правила дают хорошую точность, но любое новое написание ломает их тихо. Помогло логировать всё, что классификатор отнёс с низкой уверенностью, и раз в неделю разбирать это руками. Какая у вас доля таких пограничных строк после препроцессинга?

Хороший пример того, что CRM на старте не обязана быть отдельным сервисом. Я бы добавил в карточку одно поле: дата следующего шага. Колонка "Диалог" показывает, кому должен ответить я, а дата следующего шага показывает тех, кто замолчал сам и кому пора аккуратно напомнить. В Obsidian это легко вытащить запросом Dataview в отдельный список на сегодня.

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

Разделение по наличию конкретного повода очень наглядное. У себя видел похожую картину, только с одной оговоркой: повод работает, пока он про человека, а не про компанию вообще. Фраза "видел, что вы используете X" почти не влияет на ответы, а ссылка на конкретную задачу или строку кода влияет сильно. Интересно было бы увидеть, как отличается конверсия по каналам внутри группы с поводом: в GitHub и в почте люди, кажется, реагируют на конкретику по-разному.

Интересный подход, особенно автономность PWA и связка с Appwrite. Вопрос по спецификации: как решаете миграции, когда спека меняется, а у пользователей уже есть локальные данные в офлайне? Например, поле переименовали или поменяли тип. Генерируется ли какой-то слой миграций для IndexedDB, или пока предполагается, что локальное хранилище просто сбрасывается?

Хорошая модель. Из практики добавил бы еще одно различие: переход "клиент замолчал" полезно делить на два состояния, замолчал после цены и замолчал после вопроса о его задаче. Причины у них совсем разные, и лечатся они по-разному. Плюс стоит фиксировать время в каждом состоянии: иногда диалог не умирает, а просто висит неделю, и короткое напоминание его возвращает.

Information

Rating
Does not participate
Registered
Activity