Command Palette

Search for a command to run...

Утилиты разработчика, которые я фактически использую

Утилиты разработчика, которые я фактически использую

T
Toolz Team
|Jun 30, 2026|20 Мин. читать

Часть коллекции Разработка

Я провожу большую часть своей недели в контроллере Laravel, компоненте React или в базе кода плагина WP Adminify. И в каждом из них настоящая «запись кода» — это, возможно, половина работы. Другая половина — это соединительная ткань: форматирование JSON BLOB API просто выплюнул назад, декодируя средний сегмент JWT, чтобы понять, почему AUTH не выполняется, генерируя сорок тестов для сеялки, преобразовывая метку времени в логарифме в то, что человек может прочитать.

В течение многих лет я делал это неуклюже - одноразовый сценарий узла jq Если бы я мог вспомнить синтаксис или, чаще всего, случайный утилиту с тремя рекламными баннерами и стеной для файлов cookie. Последний вариант - это то, что в конечном итоге подтолкнуло меня к созданию Toolz.dev, йо- Слишком многие из этих сайтов тихо публикуют ваш вклад на сервер для работы, которую браузер может выполнять локально, и я устал вставлять биты конфигурации клиента в бэкенд незнакомца, чтобы просто красиво распечатать его.

Это руководство является фактическим инструментарием - инструменты кодирования, которые я храню в закладках и открываю несколько раз в день. каждый работает полностью в вашем браузере, поэтому данные никогда не покидают вашу машину, и никто из них не просит вас зарегистрироваться. I' будет проходить через каждый так, как я использую его, где это экономит реальное время, и ошибки I've сделали так, что вы не ' не должны повторять их.

TL;DR: Для работы API, Форматтер JSON украшает и удостоверяет, а также Конвертер Base64 Декодирует токены и URI данных. Для сопоставления с образцом, регулярный конструктор Тестовые модели вживую. для IDS, Генератор UUID Делает V1/V4/V7 в больших объемах. Для отладки, Конвертер времени отметки времени превращает эпохи в секунды в читаемые даты, а хэш-генератор Делает МД5/ША. Все клиенты, все бесплатно.


Зачем использовать автономный инструмент вместо вашей IDE или терминала?

Я получаю этот вопрос от других разработчиков, и it's справедливо - VS Code имеет расширения, а терминал имеет jq, openssl, и base64 Встроенный. Так зачем открывать вкладку браузера?

Честный ответ - трение и контекст. инструменты CLI фантастические, когда они ' уже в сценарии вы запускаете неоднократно. Но для разового - "what's внутри этого токена прямо сейчас & quot; - стоимость запоминания openssl dgst -sha256 или получение jq Фильтровать синтаксис справа выше, чем сама задача. Расширения IDE решают некоторые из них, но они привязаны к одному редактору, им нужно установить и настроить, и половина из них не обновлялась за два года. Когда я ем SSH в коробку, на машине коллеги или на телефоне, ни одна из этих настроек не существует.

Инструмент браузера обходит все это. Он выполняет одну работу, раскрывает именно те параметры, которые нужны заданию, и it's одинаковые на каждом устройстве. три I'd вызовите постоянные закладки - это JSON-форматирование, тестирование на регекс и декодирование Base64 - остальные ситуативны, но все же быстрее, чем альтернатива для быстрого прохождения.

Есть и угол конфиденциальности, и вся причина, по которой Toolz.dev — это в первую очередь браузер. Каждый инструмент здесь обрабатывает ваш ввод с помощью JavaScript на вашей собственной вкладке. Нет загрузки, нет сервера туда и обратно, нет журнала того, что вы вставили. Это имеет значение, когда «вход» — это JWT с живым сеансом в нем, .env файл или запись клиента, которую вы должны только отлаживать.


Как быстро форматировать и проверять JSON?

JSON - это язык, на котором все говорит - REST API, файлы конфигурации, конвейеры журналов, половина баз данных, к которым я прикасаюсь. А необработанный JSON, особенно минифицированный ответ, нечитаем. Здесь's реальная форма вещей, с которыми я имею дело постоянно:

{"users":[{"id":1,"name":"Alice","roles":["admin","editor"],"settings":{"theme":"dark","notifications":{"email":true,"push":false}}},{"id":2,"name":"Bob","roles":["viewer"],"settings":{"theme":"light","notifications":{"email":false,"push":true}}}]}

Нахождение того, есть ли у Боба push-уведомления, означает сканирование этого символа по символу. Вставьте его в Форматтер JSON и в один клик оно становится деревом с отступом. Помимо украшения, часть, на которую я опираюсь больше всего, - это проверка - она указывает на точную линию, где конечная запятая или неэкранированная цитата сломали документ, что является настоящей экономией времени, когда API передает вам что-то почти, но не совсем действительное.

Четыре вещи, которые он делает, которые я на самом деле использую:

  • окрашивать с 2-пробелами, 4-пространственными или вкладками (я использую 2 для сопоставления более красивых по умолчанию).
  • минимизировать Чтобы зачистить пробелы перед отправкой полезной нагрузки.
  • утверждать с сообщением об ошибке, которое именует позицию, а не только «недопустимый JSON».
  • вид Для навигации глубоко вложенных ответов без подсчета скобок.

Ошибка я допустила рано и теперь всех предупреждаю: я однажды "исправлена" конфиг, вставив в форматтер, который молча принимал json5 трейлинг-коммы и комментарии, потом задумался, почему строгие парсеры в производстве отвергали. Хороший валидатор держит вас за фактические JSON SPEC (ECMA-404 / RFC 8259)- никаких комментариев, никаких запятых, двуцитируемых ключей - это именно то, что вы хотите перед развертыванием. Для полного рабочего процесса, форматов и трюков с преобразованием я написал специальное предложение Руководство по инструментам JSON, йо-


Для чего на самом деле base64 и когда он вам нужен?

Base64 - одна из тех вещей, с которыми сталкивается каждый разработчик, но немногие останавливаются, чтобы понять, пока он их не кусает. Он преобразует двоичные данные в 64-символьный алфавит ASCII, чтобы выжить при транспортировке по каналам, предназначенным только для текста. Это не шифрование, а не сжатие - он увеличивает объем данных примерно на 33% - он просто делает байты безопасными для вставки в текст.

Где я нанесла удар на практике:

  • ютс- заголовок и полезная нагрузка - JSON с кодировкой Base64url. Декодируйте средний сегмент, чтобы увидеть претензии и срок их действия.
  • УРИС данных- встраивание небольшого значка прямо в CSS с помощью data:image/png;base64,... Чтобы сохранить HTTP-запрос.
  • HTTP Basic Auth- учетные данные кодируются в Base64 Authorization заголовок.
  • Конфигурация и секреты- Секреты Kubernetes, например, хранят значения в кодировке Base64 (которые люди постоянно принимают за шифрование - это не так).

выше Конвертер Base64 Кодирует и декодирует мгновенно: вставить, выбрать направление, копировать. Одна из них, которую стоит знать, — это разница между стандартным base64 и вариантом, определенным в разделе «Спасибо». RFC 4648- URL-безопасные свопы +/ в связи с -_ и отбрасывает заполнение, что и использует JWT. Подайте сегмент JWT декодеру, который ожидает стандартную базу64, и он будет засоряться отсутствующей заполняющей линией. Я объясняю алгоритм, безопасную для URL вариант и ловушку Unicode, которая ловит btoa() в полном объеме Руководство по кодированию Base64, йо-


Как построить регулярное выражение, не догадываясь?

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

Вот шаблоны, которые я проверял и постоянно использовал:

образец спичка пример
^[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}$ Практическая электронная [email protected]
^https?://[\w\-.]+\.\w+ сводка https://toolz.dev
^\d{3}-\d{3}-\d{4}$ Телефон США 555-123-4567
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)$ IPv4 192.168.1.1
^#(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ шестигранный цвет #4466EE
^\d{4}-\d{2}-\d{2}$ дата ИСО 2026-07-11

Вставьте один в регулярный конструктор, вставьте несколько тестовых строк и переключите g/i/m флаги, чтобы наблюдать, что меняется. самый большой урок I' выучил здесь, чтобы избежать катастрофического отступления - шаблон, как ^(a+)+$ Выглядит безвредно, но зависает при длительном несоответствующем входе, потому что движок исследует экспоненциальное количество путей. Это настоящий вектор отрицания обслуживания, а не любопытство. Я глубоко зацикливаюсь на этом, а также полную шпаргалку и причуды, специфичные для языка, в Руководство по строительству регулярных выражений, йо-


Какую версию UUID вы должны генерировать?

Универсальные уникальные идентификаторы - это 128-битные значения, которые вы можете генерировать независимо на миллионах машин без координации и при этом доверять быть уникальными. если вы создаете что-то распределенное - микросервисы, приложения, работающие в автономном режиме, базы данных с зашардированными - они вам нужны. загвоздка в том, что существует несколько версий, и большинство людей по привычке тянутся не к той.

Краткая версия того, что я рекомендую в 2026 году:

  • V4 (случайно)- 122 случайных бита, без утечки времени и оборудования. Безопасный по умолчанию, когда вы делаете don't нуждается в заказе.
  • V1 (время + MAC)- заказан по времени, но утечка генерирующей машины и MAC-адрес #39;s. Избегайте новой работы.
  • V7 (время заказано + случайное)- миллисекундная метка времени Unix, за которой следует случайность, стандартизированная в RFC 9562 (2024), йо- Это мой по умолчанию для новых первичных ключей базы данных, потому что он хорошо сортируется в индексе B-дерева без проблем конфиденциальности V1.

выше Генератор UUID Создает один или массовый идентификатор в любой версии одним щелчком мыши, что именно то, что я хочу при высеве в таблицу. Одна вещь, которую я узнал дорогой способ: хранение UUID как VARCHAR(36) вместо родного uuid/BINARY(16) Тип удваивает хранилище и замедляет каждое сравнение индексов. На столе с миллионами строк, которые не являются ошибкой округления. Полная разбивка версий, хранилища баз данных и решения V7-VS-Auto-increment есть в Руководство по генератору UUID, йо-


Как вы конвертируете между метками времени unix и читаемыми датами?

Время — это самая подверженная ошибкам область программирования, и я говорю это как человек, который доставил ошибку, потому что я перепутал секунды и миллисекунды. Журналы серверов говорят о эпохе Unix, JavaScript говорит на миллисекундах, REST API — ISO 8601, а заголовки электронной почты — RFC 2822. Конвертация между ними вручную — это то, как вы в конечном итоге в десятку раз.

формат пример Где вы это видите
Эпоха Unix (секунды) 1783929600 Журналы сервера, большинство API
Эпоха Unix (МС) 1783929600000 JavaScript, Java
ИСО 8601 2026-07-11T00:00:00Z REST API, JSON
RFC 2822 Sat, 11 Jul 2026 00:00:00 +0000 Заголовки электронной почты

выше Конвертер времени отметки времени Обрабатывает все это с поддержкой часового пояса, что я открываю в тот момент, когда строка журнала имеет в себе оголённый номер. Стоит знать: классическая 32-битная метка времени Unix переполнена 19 января 2038 года (проблема «Y2K38»), поэтому время хранения должно использовать 64-битное целое число. Если вы ежедневно имеете дело с журналами, держите этот в прикрепленном.


Как насчет YAML, хеширования и преобразования формата?

Эти три завершают ежедневный набор, хотя я использую их меньше, чем хедлайнеры.

бахвалиться является языком конфигурации Kubernetes, Docker Compose и GitHub Actions, а чувствительность к отступам делает его хрупким - одна случайная вкладка (YAML запрещает вкладки для отступов) или некотируемая no Это анализируется, поскольку логическое значение ломает развертывание. выше Валидатор YAML ловит их мгновенно, и XML в JSON а json в yaml Конвертеры обрабатывают перетасовку формата, когда вы перемещаете конфигурацию между системами.

хэширование это для целостности, а не для секретности. я использую хэш-генератор чтобы проверить загруженный файл по опубликованной контрольной сумме или создать ключи кэша хэша контента. Имеющее значение правило: MD5 и SHA-1 подходят для контрольных сумм, не связанных с безопасностью, но нарушены для всего, что злоумышленник может вызвать коллизию - используйте там SHA-256 или лучше.

алгоритм выходной использовать его для обеспеченность
MD5 128-битный Контрольные суммы, ключи кэша Сломан для безопасности
ША-1 160-битный Совместимость устар осужденный
ША-256 256-битный подписи, честность обеспеченный
ША-512 512-битный Хэширование с высоким уровнем безопасности обеспеченный

Преобразование формата- перемещение данных между JSON, CSV, YAML и XML - постоянно появляется, когда I'm подает API's выводится в электронную таблицу или наоборот. Toolz.dev имеет json в CSV, CSV в JSON, и XML/YAML-преобразователи выше. Единственное предостережение: CSV не может представлять вложенные структуры, поэтому любая json-к CSV глубоко вложенных данных имеет потери и сначала нуждается в уплощении. Всегда тестируйте на небольшой выборке, прежде чем конвертировать большой экспорт.


Как выглядит реальный мультиинструментальный рабочий процесс?

Инструменты получают большую часть своей ценности, когда вы их объединяете в сеть, потому что реальная отладка редко бывает одним шагом. Конкретный пример прошлого месяца, отладка, почему токен был отклонен:

  1. Скопировал JWT из заголовка неудачного запроса и разделил его на точки.
  2. вставляет средний (полезный) сегмент в Конвертер Base64 чтобы декодировать его - запомнив его's URL-безопасный Base64.
  3. положил полученный JSON в Форматтер JSON читать претензии.
  4. взял exp значение (отметка времени unix) и запустил его через Конвертер времени отметки времени- который показал, что срок действия токена истек четырьмя часами ранее. Перекос часов на сервере-эмитенте. Исправлено за считанные минуты, а не за день, чтобы добавить отладку журнала и перераспределить.

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

Несколько привычек, которые сохраняют его быстро: закладки пять инструментов, к которым вы прикасались больше всего (Toolz.dev также покрывает ваши недавно использованные), опирайтесь на стандартные ярлыки буфера обмена и всегда проверяйте конфигурации, манифесты и шаблоны перед развертывание - синтаксическая ошибка, которую улавливает валидатор, стоит секунд; та же ошибка, обнаруженная в производстве, стоит полдень.


Часто задаваемые вопросы

Какие инструменты кодирования являются наиболее важными для веб-разработчика?

Основной набор I'd дать любой веб-разработчик является JSON форматировщик и валидатор, Base64 кодер/декодер, тестер regex, генератор UUID, генератор хэшей, и преобразователь временных меток, Они охватывают подавляющее большинство задач, не связанных с записью кода, которые заполняют обычный день - проверка ответов API, декодирование токенов, генерация тестовых данных, и чтение журналов Все остальное является ситуативным.

Безопасны ли инструменты кодирования на основе браузера для конфиденциальных данных, таких как токены и ключи?

Это полностью зависит от того, обрабатывает ли инструмент данные в вашем браузере или на сервере. Инструменты на стороне клиента, подобные тем, что есть на Toolz.dev запустите JavaScript на своей вкладке, чтобы ваш ввод никогда никуда не загружался и не регистрировался. Прежде чем вставить что-либо конфиденциальное - JWT, ключ API, a .env значение - в любой онлайн инструмент, подтвердить его's клиент-сторона. если инструмент просит вас "upload" или показывает сетевой запрос при нажатии на процесс, обработайте данные как открытые.

В чем разница между форматировщиком JSON и валидатором JSON?

валидатор отвечает на один вопрос - это анализируемый JSON, да или нет - и если ответ отрицательный, он сообщает вам строку и столбец, где анализ не удался. Форматировщик повторно печатает действительный JSON с последовательным отступом, чтобы человек мог его прочитать. На практике они ' та же операция: форматировщик должен проанализировать входные данные, прежде чем он сможет их красиво напечатать, поэтому любой приличный человек сообщает об синтаксической ошибке как о побочном эффекте. Доберитесь до валидатора 's сообщение об ошибке, когда запрос отклоняется, и форматировщик 's выводится, когда ответ нечитаем.

Как безопасно расшифровать JWT?

Используйте декодер, который работает на стороне клиента, и никогда не вставляйте действующий производственный токен во все, что у вас есть 't проверено. Заголовок и полезная нагрузка JWT's закодированы в Base64url, а не зашифрованы - любой, у кого есть токен, может прочитать утверждения, поэтому сам токен является секретом. декодирование подходит для чтения exp, iss, и претензии при отладке. Проверка подписи — это отдельный шаг, который требует ключа подписи, и этот ключ никогда не должен покидать ваш сервер.

Как преобразовать метку времени unix в читаемую дату?

Вставьте число в преобразователь временных меток и прочитайте дату обратно в UTC и в вашей локальной зоне. Единственная реальная ловушка - это единица измерения: десятизначное число - это секунды (соглашение Unix и то, что излучает большинство серверных частей), а тринадцатизначное число - это миллисекунды (соглашение JavaScript). Подайте миллисекунды в синтаксический анализатор секунд, и вы приземлитесь где-то около 55 000 года - ошибка, которая ' становится очевидной, когда вы ' вы видели это один раз и сбиваете с толку первый раз.

Как эти инструменты соотносятся с такими утилитами CLI, такими как JQ и OpenSSL?

Инструменты CLI более мощные и скриптовые, и для всего повторяющегося, что живет в сценарии, они выигрывают. инструменты браузера выигрывают для разовой интерактивной работы: там's нечего установить, нет синтаксиса, который нужно запомнить, и они одинаково работают на любой машине или телефоне. я использую оба - jq В конвейерах форматтер браузера, когда мне просто нужно сыграть один ответ. Они дополняют друг друга, а не конкуренты.

Могу ли я использовать эти инструменты в автономном режиме?

Им нужно подключение для загрузки страницы изначально, но поскольку сама обработка запускается на стороне клиента, реальная работа не зависит от сервера после загрузки. Некоторые инструменты продолжают работать, если ваше соединение падает в середине сеанса. Для гарантированного использования автономного использования, установка прогрессивного веб-приложения или сборка рабочего стола является более надежным маршрутом.

Зачем использовать инструменты браузера вместо расширений IDE?

Инструменты браузера не зависят от редактора и нуждаются в нулевой настройке, поэтому они ' доступны на компьютере коллеги 's, удаленном сервере или вашем телефоне - где угодно IDE и его расширения 't установлены и настроены. Они ' идеально подходят для быстрых задач и для утилит, для которых у вашего редактора просто нет 't есть хороший плагин для. IDE расширения лучше, когда задача - это то, что вы делаете внутри одного редактора десятки раз в день.

Какую версию UUID мне по умолчанию использовать в 2026 году?

Для новых основных ключей базы данных UUID v7 - it's упорядочен по времени для хорошей производительности индекса, оставаясь при этом глобально уникальным, и it's теперь стандартизирован в RFC 9562.Reach для v4, когда вам конкретно нужна непредсказуемость, например идентификаторы, которые должны 't быть угадываемыми. Избегайте v1 для чего-либо нового, потому что он утекает генерирующую машину и #39;s MAC-адрес.

Является ли base64 формой шифрования?

Нет, и рассматривать его как единое целое - распространенная и опасная ошибка.Base64 - это обратимая кодировка, которую каждый может мгновенно декодировать - она существует для того, чтобы сделать двоичные данные безопасными для передачи в виде текста, а не для того, чтобы скрывать их. Секреты Kubernetes и заголовки Basic Auth используют Base64, но это обеспечивает нулевую конфиденциальность; все, что действительно секретно, требует фактического шифрования сверху.


короткая версия

Правильный маленький инструмент превращает двухминутную работу в двухсекундную, а через неделю эти секунды складываются в реальные часы назад. От форматирования ответа JSON до расшифровки токена, тестирования регекса или чтения временной метки - это утилиты, к которым я действительно обращаюсь - не потому, что они ' умны, а потому, что они уходят с дороги.

Здесь все живет Toolz.dev, работает полностью в вашем браузере для конфиденциальности и скорости и никогда не просит вас зарегистрироваться. Начните с Форматтер JSON а регулярный конструктор, затем просмотреть полный набор Инструменты кодирования- существует более 600 бесплатных инструментов, охватывающих кодирование, текст, PDF и работу с изображениями, которые ждут, когда они вам понадобятся.

Frequently Asked Questions

The core set I'd give any web developer is a JSON formatter and validator, a Base64 encoder/decoder, a regex tester, a UUID generator, a hash generator, and a timestamp converter. Those cover the overwhelming majority of the non-writing-code tasks that fill a normal day — inspecting API responses, decoding tokens, generating test data, and reading logs. Everything else is situational.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!