user11275363

user11275363

Пикабушник
Дата рождения: 4 марта
6187 рейтинг 57 подписчиков 0 подписок 2 поста 1 в горячем
5987

150 000 этикеток с кодами маркировки за 12 минут - как рвется жопка, а не кошелек!!!1

UPD:

https://kleykod.ru/

Пишет мне клиентка: «Нужно сгенерировать 150 тысяч этикеток с DataMatrix кодами Честного Знака. За один раз. Сможете?»

Конечно смогу. Когда я не мог-то. Мне предлагают заработать, а я что — откажусь?

Я делаю сервис для генерации этикеток. Штрихкоды Wildberries, коды маркировки Честного Знака, и самое вкусное — объединение того и другого на одной наклейке 58 на 40 миллиметров. Обычный заказ — двести-пятьсот штук. Ну тысяча иногда. А тут сто пятьдесят тысяч - можно сказать ОПТОМ . Я такие цифры только в калькуляторе видел.

Сказал «да». А дальше начался цирк.

PDF на 600 мегабайт, серьёзно?

Знаете, что бесит в маркировке больше всего?

Честный Знак выдаёт коды в PDF. Не в CSV. Не в Excel. В PDF. Каждый код — отдельная страница. Сто пятьдесят тысяч кодов — сто пятьдесят тысяч страниц. Шестьсот с лишним мегабайт.

Почему нельзя отдать просто текстовый файл со списком кодов? Никто не знает. Наверное, кто-то в 2019 году решил, что так будет «безопаснее», и с тех пор все страдают.

Источник: <!--noindex--><a href="https://pikabu.ru/story/150_000_yetiketok_s_kodami_markirovki_za_12_minut__kak_rvetsya_zhopka_a_ne_koshelek_13817409?u=http%3A%2F%2Fnews.drom.ru&t=news.drom.ru&h=a049ee7c6f44b51ef04534916a8dae4ac97c2394" title="http://news.drom.ru" target="_blank" rel="nofollow noopener">news.drom.ru</a><!--/noindex-->, «Дневник Хача» / <!--noindex--><a href="https://pikabu.ru/story/150_000_yetiketok_s_kodami_markirovki_za_12_minut__kak_rvetsya_zhopka_a_ne_koshelek_13817409?u=http%3A%2F%2FYouTube.com&t=YouTube.com&h=368a7b01eacdbf0e5b44f1804a2b675f69d9a938" title="http://YouTube.com" target="_blank" rel="nofollow noopener">YouTube.com</a><!--/noindex-->

Источник: news.drom.ru, «Дневник Хача» / YouTube.com

Я написал свой декодер, который вытаскивает коды обратно из этих PDF-ок. По сути, я раскодирую то, что система закодировала без причины. Абсурд? Абсурд. Но если бы ЧЗ выдавал коды нормально — половины моего сервиса не существовало бы. Так что спасибо, Честный Знак, за бизнес-модель.

Ладно, загружаю этот PDF-монстр на сервер. Ответ: 413 — слишком большой файл. Мой сервер настроен на 50 мегабайт. Для обычных заказов хватает за глаза. Для этого — нет.

Поднял лимит. Загрузка прошла. Сервер начал обработку и… тишина. Две минуты — таймаут. Соединение оборвалось. Ну да, 120 секунд на ответ, а тут работы на полчаса минимум.

Три часа ночи, или наверное утра, отдельный сервер, один я

Стало понятно: на основном сервере это не сделать. Он заточен под другое — много мелких быстрых запросов. А тут один запрос размером с небольшую базу данных.

Арендовал отдельную машину. Восемь ядер, шестнадцать гигов оперативки. Развернул копию системы с поднятыми лимитами — загрузка до гигабайта, таймауты до часа. Основной сервер работает как обычно, пользователи ничего не замечают.

И тут прилетело. Оба сервера слушали одну и ту же очередь задач. Я отправляю тестовый запрос на новый сервер — а задачу подхватывает старый. Он, понятное дело, файл не находит (файл-то на другой машине лежит) и падает. Я сижу, смотрю в логи и не понимаю, почему новый сервер простаивает, а старый в ошибках.

Разобрался. Развёл очереди. Каждый сервер слушает свою. Казалось бы, очевидная вещь — но когда ты один и делаешь это в три часа ночи, очевидные вещи имеют свойство становиться неочевидными.

42 минуты. Нет, это слишком

Первый тестовый прогон — 42 минуты на 150 тысяч этикеток. Декодирование шло последовательно, страница за страницей. Восемьдесят штук в секунду. Звучит быстро, но умножьте на сто пятьдесят тысяч.

Для разового заказа — ну ладно, потерпит. Но мне стало обидно. Восемь ядер простаивают, а я гоняю всё в один поток как дурак.

Сел переписывать. Поменял декодер, разогнал до двухсот с лишним страниц в секунду. Распараллелил — разбил PDF на восемь кусков по числу ядер. Каждое ядро жуёт свой кусок, потом склеиваю результат.

Двенадцать минут. От загрузки до готового файла — двенадцать минут. Гигабайтный PDF на выходе открывается и печатается. Я реально сидел и смотрел на это с чувством, которое, наверное, испытывают люди, когда их ребёнок первый раз встаёт на ноги. Ну, примерно.

«Всё готово, присылайте файлы»

Написал клиентке. Сервер поднят, тесты прошли, сто пятьдесят тысяч за двенадцать минут — присылайте реальные файлы, запускаем.

Тишина.

День тишины. Ладно, человек занят. Второй день. Аренда сервера тикает. На третий написал ещё: нужно ещё или нет?

«Нет, у нас отменилось.»

Всё. Четыре слова. Без объяснений. Без «спасибо, что подготовились». (Хотя они откуда могли знать мою бессонную ночь)

Без «может, в следующем месяце». Просто — отменилось.

Как говорится " Ваши ожидания - ваши проблемы"

Потом сказали: босс заказал маркировку в Китае. На фабрике. То есть вся эта история с «срочно нужно 150 тысяч» — оказалась просто одним из вариантов, который рассматривали параллельно. И выбрали не меня.

Свернул сервер. Отключил аренду. Пошёл делать чай с пустырником, ну сами понимаете мне 34 уже.

Про конкурентов и про «а зачем ты вообще это делаешь»

Знаете, что самое смешное? На рынке есть ребята, которые берут по 30 копеек за этикетку. Тридцать копеек! У меня — четырнадцать. Я дешевле в два раза. И при этом у них пять тысяч клиентов, а у меня… ну, сильно меньше...

ну как так сильно получается, как количество салютов в городе в глубинке.

Потому что они раньше начали. Потому что у них маркетинг. Потому что вес домена. Потому что люди привыкли и им лень переходить, даже если дешевле и быстрее. Классика.

А ещё на рынке есть сервисы, где ты загружаешь коды и получаешь результат через полчаса. У меня — через минуту. Но людям не с чем сравнить, они думают, что полчаса — это нормально.

Я не жалуюсь. Ладно, жалуюсь. Но продолжаю делать.

Потому что я знаю, какие боли есть у людей, которые маркируют товары. Я изучил этот рынок вдоль и поперёк. Коды только в PDF — решил. Объединение штрихкода WB и кода ЧЗ на одной наклейке — вместо того, чтобы клеить две — решил. Свой шаблон этикетки, куда штампуются коды — решил. Скорость обработки, от которой у конкурентов бы челюсть отвисла — тоже.

И вот сидишь такой, всё решил, всё работает, быстрее и дешевле всех — а клиент уходит маркировать в Китай.

Зачем я это пишу

Не для рекламы. Хотя, конечно, если вы маркируете товары для Wildberries — ну, вы поняли, гуглите KleyKod.

Я пишу, потому что накипело. Делаешь продукт один. Сам пишешь код, сам делашь СЕО, сам поднимаешь серверы, сам оптимизируешь, сам общаешься с клиентами. Приходит запрос на 150 тысяч — не спишь ночь, поднимаешь инфраструктуру, ускоряешь в три с половиной раза. А потом четыре слова: «у нас отменилось».

И ты не можешь даже нормально расстроиться, потому что через час пишет следующий клиент с вопросом «а у вас штрихкод для Вайлдберриз можно сделать?» — и ты отвечаешь «конечно, сейчас покажу». Потому что а что ещё делать.

В маркировке вообще так: сегодня горит, завтра не надо. Поставщик договорился иначе, склад передумал, логистика поменялась, босс решил делать в Китае. Ты готовишься к марафону, а тебе говорят «забег отменили, но спасибо что размялся».

Но знаете что?

Когда придёт следующий заказ на 150 тысяч — а он придёт, потому что маркировка с марта 2026-го стала обязательной почти для всех категорий товаров — я подниму сервер за час, а не за ночь. И сделаю за 12 минут, а не за 42. Потому что уже проходил.

А жопка? Жопка не порвалась. Жопка закалилась.

Показать полностью 1
32

Сделал расширение, которое убирает водяной знак Gemini при скачивании. Бесплатно

Кто генерит картинки в Google Gemini — знает боль. Скачиваешь файл, а там полупрозрачный водяной знак Nano Banana в углу. Каждый раз.

Можно руками вырезать в фотошопе. На одну картинку — минуты две.

Сделал расширение, которое убирает водяной знак Gemini при скачивании. Бесплатно

На десять — двадцать минут жизни в минус. Можно загрузить в онлайн-ремувер, но тогда твои картинки уедут на чей-то сервер.

Я программист, мне было лень. Поэтому написал Chrome-расширение Banana Clean. Работает так: нажимаешь «скачать» в Gemini — файл прилетает уже чистый. Всё.

Без кликов, без загрузок куда-то, без регистрации.

Как это устроено: расширение перехватывает скачивание и чистит водяной знак через Canvas API прямо в браузере. Картинка никуда не уходит — всё локально.

Что умеет:

— Автоматически убирает водяной знак при скачивании

— Сохраняет в PNG, WebP или JPEG — на выбор

— Переименовывает файлы в читаемые имена (а не «image (47).png»)

— Работает на gemini.google.com и aistudio.google.com

Сделал расширение, которое убирает водяной знак Gemini при скачивании. Бесплатно

Для русских пользователей — полностью бесплатно, без ограничений. Просто поставил и забыл.

За 20 дней набралось 857 установок, рейтинг 4.6 в Chrome Web Store. Не реклама — я правда один это делаю, без команды и бюджета.

Ссылка на расширение: ЗДЕСЯ

Сайт: ТУТА

Если пользуетесь Gemini для генерации — попробуйте, мне будет приятно. И если не сложно — оставьте отзыв в магазине, это реально помогает подняться в поиске среди конкурентов.

Готов ответить на вопросы в комментах.

Сделал расширение, которое убирает водяной знак Gemini при скачивании. Бесплатно
Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества