Почему бессонница что на самом деле мешает спать #4
Вот как можно определить почему страдаете от бессонницы.
Подпишись и смотри ролики:
#Бессонница #мешаетспать #gamepointer
Вот как можно определить почему страдаете от бессонницы.
Подпишись и смотри ролики:
#Бессонница #мешаетспать #gamepointer
Каждый раз, когда я такое читаю, у меня появляется огромное желание сказать: "Спасибо тебе, Господи, что ты дал людям QR-коды!" Во-первых, потребителей теперь будет труднее обманывать, во-вторых, русский народ начнет технически прокачиваться.
Сама судьба дает таким людям, как топикстартер, проявить свои умения и фантазию, чтобы обрабатывать эти QR-коды, а они еще и недовольны. Дали тебе PDF — сделай из него TXT, неужели так сложно? Научись программировать хотя бы на Python, уже в детских садах скоро будут учить Python, ну и ты должен освоить. А там уже и узнаешь, что такое многопоточность, динамическая память после того как весь мир это много десятилетий уже использует.
Заказчика на 150 тысяч я сделала просто: закинула предложение нескольким исполнителям и выбрала самое дешевое. Откуда я это знаю? Сам так делаю, всегда выбираю подешевле.
Короче, у топикстартера будет блестящее будущее, но с таким подходом — лет эдак через 20.
Пишет мне клиентка: «Нужно сгенерировать 150 тысяч этикеток с DataMatrix кодами Честного Знака. За один раз. Сможете?»
Конечно смогу. Когда я не мог-то. Мне предлагают заработать, а я что — откажусь?
Я делаю сервис для генерации этикеток. Штрихкоды Wildberries, коды маркировки Честного Знака, и самое вкусное — объединение того и другого на одной наклейке 58 на 40 миллиметров. Обычный заказ — двести-пятьсот штук. Ну тысяча иногда. А тут сто пятьдесят тысяч - можно сказать ОПТОМ . Я такие цифры только в калькуляторе видел.
Сказал «да». А дальше начался цирк.
Знаете, что бесит в маркировке больше всего?
Честный Знак выдаёт коды в PDF. Не в CSV. Не в Excel. В PDF. Каждый код — отдельная страница. Сто пятьдесят тысяч кодов — сто пятьдесят тысяч страниц. Шестьсот с лишним мегабайт.
Почему нельзя отдать просто текстовый файл со списком кодов? Никто не знает. Наверное, кто-то в 2019 году решил, что так будет «безопаснее», и с тех пор все страдают.
Источник: news.drom.ru, «Дневник Хача» / YouTube.com
Я написал свой декодер, который вытаскивает коды обратно из этих PDF-ок. По сути, я раскодирую то, что система закодировала без причины. Абсурд? Абсурд. Но если бы ЧЗ выдавал коды нормально — половины моего сервиса не существовало бы. Так что спасибо, Честный Знак, за бизнес-модель.
Ладно, загружаю этот PDF-монстр на сервер. Ответ: 413 — слишком большой файл. Мой сервер настроен на 50 мегабайт. Для обычных заказов хватает за глаза. Для этого — нет.
Поднял лимит. Загрузка прошла. Сервер начал обработку и… тишина. Две минуты — таймаут. Соединение оборвалось. Ну да, 120 секунд на ответ, а тут работы на полчаса минимум.
Стало понятно: на основном сервере это не сделать. Он заточен под другое — много мелких быстрых запросов. А тут один запрос размером с небольшую базу данных.
Арендовал отдельную машину. Восемь ядер, шестнадцать гигов оперативки. Развернул копию системы с поднятыми лимитами — загрузка до гигабайта, таймауты до часа. Основной сервер работает как обычно, пользователи ничего не замечают.
И тут прилетело. Оба сервера слушали одну и ту же очередь задач. Я отправляю тестовый запрос на новый сервер — а задачу подхватывает старый. Он, понятное дело, файл не находит (файл-то на другой машине лежит) и падает. Я сижу, смотрю в логи и не понимаю, почему новый сервер простаивает, а старый в ошибках.
Разобрался. Развёл очереди. Каждый сервер слушает свою. Казалось бы, очевидная вещь — но когда ты один и делаешь это в три часа ночи, очевидные вещи имеют свойство становиться неочевидными.
Первый тестовый прогон — 42 минуты на 150 тысяч этикеток. Декодирование шло последовательно, страница за страницей. Восемьдесят штук в секунду. Звучит быстро, но умножьте на сто пятьдесят тысяч.
Для разового заказа — ну ладно, потерпит. Но мне стало обидно. Восемь ядер простаивают, а я гоняю всё в один поток как дурак.
Сел переписывать. Поменял декодер, разогнал до двухсот с лишним страниц в секунду. Распараллелил — разбил PDF на восемь кусков по числу ядер. Каждое ядро жуёт свой кусок, потом склеиваю результат.
Двенадцать минут. От загрузки до готового файла — двенадцать минут. Гигабайтный PDF на выходе открывается и печатается. Я реально сидел и смотрел на это с чувством, которое, наверное, испытывают люди, когда их ребёнок первый раз встаёт на ноги. Ну, примерно.
Написал клиентке. Сервер поднят, тесты прошли, сто пятьдесят тысяч за двенадцать минут — присылайте реальные файлы, запускаем.
Тишина.
День тишины. Ладно, человек занят. Второй день. Аренда сервера тикает. На третий написал ещё: нужно ещё или нет?
«Нет, у нас отменилось.»
Всё. Четыре слова. Без объяснений. Без «спасибо, что подготовились». (Хотя они откуда могли знать мою бессонную ночь)
Без «может, в следующем месяце». Просто — отменилось.
Как говорится " Ваши ожидания - ваши проблемы"
Потом сказали: босс заказал маркировку в Китае. На фабрике. То есть вся эта история с «срочно нужно 150 тысяч» — оказалась просто одним из вариантов, который рассматривали параллельно. И выбрали не меня.
Свернул сервер. Отключил аренду. Пошёл делать чай с пустырником, ну сами понимаете мне 34 уже.
Знаете, что самое смешное? На рынке есть ребята, которые берут по 30 копеек за этикетку. Тридцать копеек! У меня — четырнадцать. Я дешевле в два раза. И при этом у них пять тысяч клиентов, а у меня… ну, сильно меньше...
ну как так сильно получается, как количество салютов в городе в глубинке.
Потому что они раньше начали. Потому что у них маркетинг. Потому что вес домена. Потому что люди привыкли и им лень переходить, даже если дешевле и быстрее. Классика.
А ещё на рынке есть сервисы, где ты загружаешь коды и получаешь результат через полчаса. У меня — через минуту. Но людям не с чем сравнить, они думают, что полчаса — это нормально.
Я не жалуюсь. Ладно, жалуюсь. Но продолжаю делать.
Потому что я знаю, какие боли есть у людей, которые маркируют товары. Я изучил этот рынок вдоль и поперёк. Коды только в PDF — решил. Объединение штрихкода WB и кода ЧЗ на одной наклейке — вместо того, чтобы клеить две — решил. Свой шаблон этикетки, куда штампуются коды — решил. Скорость обработки, от которой у конкурентов бы челюсть отвисла — тоже.
И вот сидишь такой, всё решил, всё работает, быстрее и дешевле всех — а клиент уходит маркировать в Китай.
Не для рекламы. Хотя, конечно, если вы маркируете товары для Wildberries — ну, вы поняли, гуглите KleyKod.
Я пишу, потому что накипело. Делаешь продукт один. Сам пишешь код, сам делашь СЕО, сам поднимаешь серверы, сам оптимизируешь, сам общаешься с клиентами. Приходит запрос на 150 тысяч — не спишь ночь, поднимаешь инфраструктуру, ускоряешь в три с половиной раза. А потом четыре слова: «у нас отменилось».
И ты не можешь даже нормально расстроиться, потому что через час пишет следующий клиент с вопросом «а у вас штрихкод для Вайлдберриз можно сделать?» — и ты отвечаешь «конечно, сейчас покажу». Потому что а что ещё делать.
В маркировке вообще так: сегодня горит, завтра не надо. Поставщик договорился иначе, склад передумал, логистика поменялась, босс решил делать в Китае. Ты готовишься к марафону, а тебе говорят «забег отменили, но спасибо что размялся».
Но знаете что?
Когда придёт следующий заказ на 150 тысяч — а он придёт, потому что маркировка с марта 2026-го стала обязательной почти для всех категорий товаров — я подниму сервер за час, а не за ночь. И сделаю за 12 минут, а не за 42. Потому что уже проходил.
А жопка? Жопка не порвалась. Жопка закалилась.
Без сна в демоническом ночном клубе
Погрузитесь в атмосферу безумной ночи в клубе, где царит демоническая энергия. Здесь никто не спит, а странные события происходят на каждом шагу! Это место заставит вас почувствовать себя частью ужасающего, но захватывающего мира.
Как сделать так, чтобы 11 дней до весны пролетели как один?
Можно последовать примеру блогера из Австралии по имени Норм, который побил мировой рекорд 1963 года по самому продолжительному времени без сна. Молодой человек утверждает, что бодрствовал более 11 суток, а точнее 264 часа и 56 минут. Все происходящее с ним в течение этого времени он транслировал в прямом эфире на своем канале в YouTube. Правда, активность блогера видеохостинг не оценил, как и другие стриминговые платформы, где он пытался вести прямой эфир. Закончилась попытка Норма прославиться вызовом сначала полиции, а затем и скорой помощи.
В общем, трюк из категории "Не повторяйте дома", а весна никуда не денется, придёт)
Сегодня была просто ужасная ночь, годовалый сын орал как резаный и спал едва ли пару часов. Приложение по отслеживанию сна записало 8 саундтреков его плача... Поэтому подпись о уровне шума там же вызвала у нас с мужем истерический смех. Скриншот прилагаю.
Теперь "ветерок" отсыпается после ночных истерик...