Что проверено, а что нет
Мой профиль начинается словами «делаю работу, которую можно проверить».
Вот проверка самого сайта: что подтверждено запуском, как именно и что осталось
непроверенным. Второй список важнее первого — по нему видно, где я ещё не уверен.
26СТРАНИЦ БЕЗ ЗАМЕЧАНИЙ
0БИБЛИОТЕК И СЕРВЕРОВ
11ИНСТРУМЕНТОВ
8РАЗБОРОВ ПОД ЗАПРОСЫ
Проверено запуском
✓Каждый инструмент открыт и прогнан
Автоматический прогон браузером: нажать, вставить, получить.
Не «должно работать», а «вернуло вот это».
✓Дедупликация: 6 строк → 3
Четыре написания одного клиента сведены по телефону.
Нормализация
8 999…, +7 999… и 7999…
даёт один ключ, убрано 3 строки.✓Чтение настоящего .xlsx
Файл собран сторонней программой, сжат deflate. Разобран
из zip и XML, русский текст из
sharedStrings прочитан.✓Сборка .docx
Готовый файл распакован независимым архиватором: 5 частей, таблица,
жирный текст, кириллица на месте, незаполненных полей ноль.
✓Извлечение из PDF
Счёт: 12 строк, таблица по колонкам, 11 полей — сумма
210 000 и НДС 35 000 сошлись. Дополнительно проверен
на настоящем файле с двумя шрифтами: сначала выдавал мусор, после правки
карт символов текст читается полностью.✓Арифметика претензии
84 900 × 1% = 849 ₽ в день, за 30 дней
25 470 ₽, итого 110 370 ₽. Считается на глазах,
проверяется на калькуляторе.✓Файлы на выходе настоящие
PNG с верной сигнатурой, SVG с верным числом элементов,
CSV с BOM для Excel. Проверялось содержимым, а не фактом скачивания.
✓Похожие записи, а не только точные
Дедупликация показывает пары, которые автоматика свести не может:
«Ромашка» и «ООО Ромашка» — 70% сходства, «ИП Соколов» и «Соколов Д. В.» — 56%.
Слить их можно только нажатием человека, и отменяется это одной кнопкой.
✓Проверка резюме по вакансии
Вставьте описание вакансии — покажу, каких ключевых слов не хватает.
На демо: 57%, не хватает Docker, Redis, REST, Celery — то есть ровно то, что
рекрутер ищет глазами.
✓Что именно собирает статистика
Счётчик посещений видит страницы, переходы и время — и не может
прочитать данные, которые вы вставили в инструмент: они не покидают браузер.
Пока счётчик не включён, внешних запросов нет вообще.
✓Ни одного стороннего запроса
Шрифты лежат на сайте восемнадцатью файлами (446 КБ), иконки и картинка
для соцсетей — свои. Замер по каждой странице: обращений к чужим серверам ноль.
Обещание «данные никуда не уходят» стало буквальным.
✓Мобильная вёрстка
Замер по каждой из 13 страниц при 390 px: горизонтального скролла нет,
все цели для пальца не меньше 44 px, поля ввода ровно 16 px (иначе iOS приближает
страницу при касании), шапка таблицы остаётся на месте при прокрутке вбок, лист А4
прокручивается, а не сжимается в нечитаемое. Было: шесть страниц уезжали за экран.
✓Контраст текста
Тёмный на белом
11.4:1, приглушённый 4.6:1,
белый на синем 4.8:1, зелёный для текста 6.3:1 — по норме AA.
Зелёный был исправлен: #009866 давал 3.70:1 и годился только для крупного.Не проверено
✕Открывается ли .docx в самом Word
Структура файла валидна и проверена распаковкой, но живьём
в Word и LibreOffice я его не открывал: LibreOffice в этой среде не запустился
за отведённое время. Проверьте перед тем, как нести документ клиенту.
✕Порядок страниц в PDF
Страницы собираются в порядке объектов внутри файла, а не всегда
в порядке чтения. На многостраничных документах порядок может перемешаться —
я это пока не исправил.
✕PDF: вёрстка в две колонки
Проверен на двух настоящих файлах (резюме с hh.ru и школьная теория — оба
собраны cairo): нашлись четыре настоящие ошибки — слитые карты символов, пропущенные
объекты без потока, неучтённый масштаб текстовой матрицы, восьмеричные коды символов.
После правки текст читается, почта и телефон находятся автоматически, тире и кавычки
на месте. Осталось: документы в две колонки собираются с перемешиванием строк —
я написал разбор колонок, но он сломал счёт, который до этого работал, и я его откатил.
Нужны ещё 2–3 настоящих файла в одну колонку: чинить вслепую значит ломать работающее.
✕Excel: объединённые ячейки и старые форматы
Все листы книги теперь читаются, даты из числового формата переводятся
по-настоящему (45123 → 16.07.2023). Но содержимое объединённых ячеек не разворачивается —
инструмент только сообщает их число, — а старые .xls и .ods не открываются вовсе.
✕Контакты не заполнены
Все одиннадцать кнопок «Написать мне» ведут в никуда, пока в файле
настройки.js пусто. Это одна строка работы — и главный пункт
перед публикацией.✕Домен не указан
В
sitemap.xml и картинке для соцсетей стоит [ДОМЕН].
Нужен настоящий адрес: без него ссылка в мессенджере покажется без картинки,
а поисковик не получит карту сайта.✕Цены и сроки — поля пустые
На страницах услуг и
проверки контрагента стоят поля под
заполнение: числа даёт владелец, я их не выдумываю.
КАК ЭТО ПРОВЕРЯЛОСЬ
Инструменты открывались настоящим браузером, в них вставлялись данные, и результат читался из страницы: счётчики, содержимое таблиц, содержимое скачанных файлов. Файлы на выходе распаковывались сторонними программами — чтобы «валидный .docx» был подтверждён не тем же кодом, который его собрал.
Замеры, которые легко повторить: вес страниц (134 КБ на двенадцать страниц), ширина при 390 px (граница мобильной поломки), контраст по формуле WCAG. Сторонний запрос один — счётчик Яндекс.Метрики. Шрифты лежат локально, чужих скриптов и рекламы нет.
Проверяемость — это и есть услуга
Так же я сдаю работу: с проверкой, с числами, которые сходятся,
и с честным списком того, что осталось под вопросом. Если для вашей задачи
важна именно предсказуемость — напишите, разберу её так же.