Ik breng het grootste deel van mijn week door in een Laravel-controller, een React-component of de WP Adminify-plug-incodebase. En in elk van die, de eigenlijke "schrijfcode" is een deel misschien de helft van de baan. De andere helft is het bindweefsel: het formatteren van een JSON-blob een API die net terug spuugt, het middelste segment van een JWT decodeert om te zien waarom auth faalt, genereert veertig test-UUID's voor een zaaimachine, het omzetten van een Unix-tijdstempel in een loglijn in iets dat een mens kan lezen.
Jarenlang heb ik dat op de onhandige manier gedaan: een wegwerp-Node-script jq Als ik me de syntaxis kon herinneren, of, meestal, een willekeurige nutssite met drie advertentiebanners en een koekjesmuur. de laatste optie is wat me uiteindelijk dwong om te bouwen Toolz.dev. Te veel van die sites plaatsen je input stilletjes op een server voor een baan die de browser lokaal kan doen, en ik was het zat om stukjes van de configuratie van een klant in de backend van een vreemde te plakken om het mooi af te drukken.
Deze gids is de eigenlijke toolkit - de codeertools die ik meerdere keren per dag bladwijzers en open houd Elke draait volledig in uw browser, zodat de gegevens uw machine nooit verlaten, en geen van hen vraagt u om u aan te melden. I & # 39; zal elk ervan doorlopen zoals ik het gebruik, waar het realtime bespaart, en de fouten die I & # 39; heb gemaakt zodat u & # 39; u ze niet hoeft te herhalen.
tl;dr: Voor API-werk, JSON-formatter verfraait en valideert, en Base64-converter Decodeert tokens en data-URI's. Voor patroonmatching, Regex-bouwer Testpatronen live. Voor ID's, UUID-generator Maakt V1/V4/V7 in bulk. voor het debuggen, tijdstempel converter verandert tijdperk in tijdperk in leesbare datums, en Hash-generator doet MD5/SHA. Alle client-side, allemaal gratis.
Waarom een standalone tool gebruiken in plaats van uw IDE of de terminal?
Ik krijg deze vraag van andere ontwikkelaars, en it's eerlijk - VS Code heeft extensies, en de terminal heeft jq, openssl, en base64 ingebouwd. Dus waarom een browsertabblad openen?
Het eerlijke antwoord is wrijving en context CLI-tools zijn fantastisch als ze ' al in een script zitten dat je herhaaldelijk uitvoert. Maar voor een eenmalige - & quot;what's in dit token op dit moment & quot; - de kosten van het onthouden openssl dgst -sha256 of het krijgen van de jq Filtersyntaxis rechts is hoger dan de taak zelf. IDE-extensies lossen een deel daarvan op, maar ze zijn gekoppeld aan één editor, ze moeten worden geïnstalleerd en geconfigureerd, en de helft van hen is al twee jaar niet bijgewerkt. Wanneer ik SSH' in een doos, op een collega van een collega, of op mijn telefoon, niet bestaat, bestaat die setup niet.
Een browsertool omzeilt het allemaal. Het doet één taak, legt precies de opties bloot die de taak nodig heeft, en het ' is hetzelfde op elk apparaat. De drie I'd-aanroep permanente bladwijzers zijn JSON-formattering, regex-testen en Base64-decodering - de rest is situationeel maar nog steeds sneller dan het alternatief voor een snelle pass.
Er is ook een privacyhoek, en het is de hele reden waarom Toolz.dev eerst browser is. Elke tool hier verwerkt uw input met JavaScript in uw eigen tabblad. Er is geen upload, geen server-retour, geen logboek van wat je hebt geplakt. Dat is van belang wanneer de "Input" een JWT is met een live sessie erin, a .env bestand, of een klantrecord waarvan u alleen verondersteld wordt dat het debugging.
Hoe formatteer en valideer je snel JSON?
JSON is de taal die alles spreekt - REST API's, config-bestanden, log pijpleidingen, de helft van de databases die ik aanraak En raw JSON, vooral een minified reactie, is onleesbaar Hier' is een echte vorm van dingen waar ik voortdurend mee te maken heb:
{"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}}}]}
Als u zoekt of Bob pushmeldingen heeft, moet u dat personage scannen. Plak het in de JSON-formatter en het wordt met één klik een ingesprongen boom. Naast verfraaien is het deel waar ik het meest op leun validatie - het wijst op de exacte lijn waar een achterliggende komma of een onontsnapt citaat het document brak, wat een echte tijdsbesparing is wanneer een API je iets bijna maar niet helemaal geldigs overhandigt.
De vier dingen die het doet dat ik eigenlijk gebruik:
- mooi maken Met 2-space, 4-space of tab-inspringing (ik gebruik 2 om overeen te komen met de standaardinstellingen).
- klein worden Om witruimte te strippen voordat u een laadvermogen verzendt.
- bekrachtigen met een foutmelding die de positie een naam geeft, niet alleen "Ongeldige json".
- boom weergave Voor het navigeren door diep geneste reacties zonder haakjes te tellen.
Een fout die ik vroeg maakte en nu iedereen waarschuwde: ik "opgelost" een configuratie door het in een formatter te plakken die stilletjes JSON5-stijl volgkomma's en opmerkingen accepteerde, en vroeg zich een uur af waarom de strikte parser in productie het afwees. Een goede validator houdt je bij de werkelijke JSON specificatie (ECMA-404 / RFC 8259)- geen opmerkingen, geen achterliggende komma's, dubbel geciteerde toetsen - dat is precies wat je wilt voordat je implementeert Voor de volledige workflow, formaten en conversietrucs schreef ik een speciale JSON-toolsgids.
Waar is base64 eigenlijk voor, en wanneer heb je het nodig?
Base64 is een van die dingen die elke ontwikkelaar tegenkomt, maar weinigen stoppen om te begrijpen totdat het ze bijt. Het converteert binaire gegevens naar een ASCII-alfabet van 64 tekens, zodat het transport via kanalen met alleen tekst overleeft. Het is geen encryptie en geen compressie - het maakt gegevens ongeveer 33% groter - het maakt bytes gewoon veilig om in tekst te plakken.
Waar ik het in de praktijk heb geraakt:
- JWTS- de header en payload zijn Base64url-gecodeerde JSON. Decodeer het middelste segment om claims en vervaldatum te zien.
- Gegevens-URI- een klein pictogram rechtstreeks in CSS insluiten met
data:image/png;base64,...om een HTTP-verzoek op te slaan. - HTTP Basic-verificatie- inloggegevens worden Base64-gecodeerd in de
Authorizationkop. - Configuratie en geheimen- Kubernetes-geheimen slaan bijvoorbeeld waarden op die Base64-gecodeerd zijn (wat mensen voortdurend verwarren met encryptie - dat is het niet).
de Base64-converter Codeer en decodeert direct: Plak, kies een richting, kopieer. De enige die het waard is om te weten, is het verschil tussen standaard base64 en de URL-veilige variant gedefinieerd in RFC 4648- URL-veilige swaps +/ om -_ en laat de opvulling vallen, wat JWTS gebruikt. Voer een JWT-segment naar een decoder die standaard Base64 verwacht en het zal stikken in de ontbrekende opvulling. Ik leg het algoritme, de URL-veilige variant en de Unicode-trap die vangt uit btoa() in de volle Base64-coderingsgids.
Hoe bouw je een regex zonder te raden?
Reguliere expressies zijn tegelijkertijd het krachtigste en meest frustrerende in de toolkit. De syntaxis is compact, meedogenloos en een enkele misplaatste kwantor verandert wat een patroon overeenkomt. De reden dat een visuele bouwer ertoe doet, is dat hij de write-test-fail-rewrite-lus in een live-lus verandert - je ziet de markering van wedstrijden terwijl je typt.
Dit zijn de patronen die ik heb gevalideerd en constant hergebruik:
| knippatroon | wedstrijd | toonbeeld |
|---|---|---|
^[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}$ |
Praktische e- | [email protected] |
^https?://[\w\-.]+\.\w+ |
url | https://toolz.dev |
^\d{3}-\d{3}-\d{4}$ |
Amerikaanse telefoon | 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})$ |
hex kleur | #4466EE |
^\d{4}-\d{2}-\d{2}$ |
ISO-datum | 2026-07-11 |
Plak er een in de Regex-bouwer, laat een paar teststrings vallen en schakel de g/i/m vlaggen om te kijken wat er verandert De grootste les die I & #39; hier hebben geleerd is om catastrofale backtracking te voorkomen - een patroon als ^(a+)+$ Ziet er onschadelijk uit, maar bevriest op een lange niet-overeenkomende invoer omdat de motor een exponentieel aantal paden verkent. Dat is een echte denial-of-service vector, geen nieuwsgierigheid. Ik ga daar diep op, plus een volledig spiekbriefje en taalspecifieke eigenaardigheden, in de Regex Builder-gids.
Welke UUID-versie moet u genereren?
Universeel Unieke Identifiers zijn 128-bits waarden die je onafhankelijk kunt genereren op miljoenen machines zonder coördinatie en er nog steeds op vertrouwt dat ze uniek zijn Als je iets gedistribueerd bouwt - microservices, offline-first apps, sharded databases - heb je ze nodig Het addertje onder het gras is dat er meerdere versies zijn en de meeste mensen uit gewoonte naar de verkeerde grijpen.
De korte versie van wat ik in 2026 aanbeveel:
- V4 (willekeurig)- 122 willekeurige bits, geen tijd of hardware lekkage De veilige standaard wanneer u don't nodig hebt om te bestellen.
- v1 (tijdstempel + Mac)- tijdgeordend maar lekt de genererende machine' s MAC-adres Vermijd voor nieuw werk.
- V7 (tijd-geordend + willekeurig)- een Unix-tijdstempel van milliseconden gevolgd door willekeur, gestandaardiseerd in RFC 9562 (2024). Dit is mijn standaard voor nieuwe primaire databasesleutels omdat het goed sorteert in een B-Tree-index zonder de privacyproblemen van V1.
de UUID-generator Produceert enkele of bulk-ID's in elke versie met één klik, wat precies is wat ik wil bij het zaaien van een tabel. Eén ding heb ik op de dure manier geleerd: UUID's opslaan als VARCHAR(36) In plaats van een inboorling uuid/BINARY(16) Type verdubbelt de opslag en vertraagt elke indexvergelijking. Op een tafel met miljoenen rijen is dat geen afrondingsfout. De volledige verdeling van versies, databaseopslag en de beslissing over V7-VS-Auto-increment is in de UUID-generatorgids.
Hoe converteer je tussen Unix-tijdstempels en leesbare datums?
Tijd is het meest foutgevoelige gebied van programmeren, en ik zeg dat als iemand die een bug heeft verzonden omdat ik seconden en milliseconden door elkaar heb gehaald. Serverlogboeken spreken Unix-tijdperk, JavaScript spreekt milliseconden, REST-API's spreken ISO 8601 en e-mailheaders spreken RFC 2822. Met de hand converteren tussen hen is hoe je met een factor duizend eindigt.
| formaat | toonbeeld | waar je het ziet |
|---|---|---|
| Unix-tijdperk (seconden) | 1783929600 |
Serverlogboeken, de meeste API's |
| Unix-tijdperk (MS) | 1783929600000 |
JavaScript, Java |
| ISO 8601 | 2026-07-11T00:00:00Z |
Rest Apis, JSON |
| RFC 2822 | Sat, 11 Jul 2026 00:00:00 +0000 |
E-mailheaders |
de tijdstempel converter Behandelt al deze met TimeZone-ondersteuning, wat ik open zodra een loglijn een kaal nummer bevat. Wetenswaardigheden: de klassieke 32-bits ondertekende UNIX-tijdstempel loopt over op 19 januari 2038 (de "Y2K38"-probleem), daarom zou alles wat tijd opslaat een 64-bits geheel getal nu moeten gebruiken. Als u dagelijks met logs te maken krijgt, houd deze dan vast.
Hoe zit het met YAML, hashing en formaatconversie?
Deze drie ronden de dagelijkse set af, ook al gebruik ik ze minder dan de headliners.
lijk heb- is de configtaal van Kubernetes, Docker Compose en GitHub Actions, en de indrukkingsgevoeligheid maakt het kwetsbaar: één verdwaald tabblad (YAML verbiedt tabbladen voor inspringen) of een niet-geciteerd tabblad no Dat wordt geparseerd als een boolean een implementatie zal breken. de YAML-validator vangt die meteen op, en de XML naar JSON en json naar yaml Converters verwerken het formaat dat schuifelt wanneer u een configuratie tussen systemen verplaatst.
hasj is voor integriteit, niet voor geheimhouding. ik gebruik de Hash-generator om een gedownload bestand te verifiëren aan de hand van de gepubliceerde controlesom, of om cachesleutels voor content-hash te bouwen. De regel die er toe doet: MD5 en SHA-1 zijn prima voor niet-beveiligde controlesommen, maar kapot voor alles waarbij een aanvaller een botsing zou kunnen smeden - gebruik daar SHA-256 of beter.
| algoritme | prestatie | Gebruik het voor | onderpand |
|---|---|---|---|
| MD5 | 128-bits | Checksums, cachesleutels | kapot voor veiligheid |
| sha-1 | 160-bits | Verouderde compatibiliteit | afbraak |
| SHA-256 | 256-bits | Handtekeningen, integriteit | verzekerd |
| SHA-512 | 512-bits | Hashing van hoog beveiliging | verzekerd |
Formaat conversie- het verplaatsen van gegevens tussen JSON, CSV, YAML en XML - komt voortdurend naar voren wanneer I' m een API' s uitvoer naar een spreadsheet of omgekeerd Toolz.dev heeft JSON naar CSV, CSV naar JSONen de XML/YAML-converters hierboven. De enige waarschuwing: CSV kan geen geneste structuren vertegenwoordigen, dus elke JSON-naar-CSV van diep geneste gegevens is verliesgevend en moet eerst worden afgevlakt. Test altijd op een klein monster voordat u een grote export converteert.
Hoe ziet een echte multitool-workflow eruit?
De tools krijgen het grootste deel van hun waarde wanneer je ze ketent, omdat echte debuggen zelden één stap is. Een concreet voorbeeld van vorige maand, debugging waarom een token werd afgewezen:
- De JWT gekopieerd van een mislukte verzoekkop en splitste het op de stippen.
- het middelste (payload) segment in de Base64-converter om het te decoderen - onthoud het's URL-veilige Base64.
- liet de resulterende JSON in de JSON-formatter om de beweringen te lezen.
- nam de
expwaarde (een UNIX-tijdstempel) en heb het door de tijdstempel converter- waaruit bleek dat het token vier uur eerder was verlopen Klok scheef op de uitgevende server Vast in minuten in plaats van de middag zou het nodig zijn geweest om debug logging toe te voegen en opnieuw in te zetten.
Dat is het patroon: elke tool doet één ding, en de output van de ene voedt de volgende. Omdat het allemaal aan de clientzijde draait, heeft geen van die tokengegevens ooit mijn laptop verlaten, en dat is precies wat je wilt als je debugging-foutverificatie is.
Een paar gewoonten die het snel houden: maak een bladwijzer voor de vijf tools die u het meest aanraakt (Toolz.dev komt ook naar voren uw recent gebruikte), leun op de standaard klembordsnelkoppelingen en valideert altijd configuraties, manifesten en patronen vooruit een implementatie - een syntaxisfout die een validator opvangt, kost seconden; dezelfde fout die in de productie zit, kost een middag.
Veelgestelde vragen
Wat zijn de meest essentiële codeertools voor een webontwikkelaar?
De kernset I'd geven elke webontwikkelaar is een JSON-formatter en validator, een Base64-encoder/decoder, een regex-tester, een UUID-generator, een hashgenerator en een tijdstempelconverter. Deze dekken de overgrote meerderheid van de niet-schrijfcodetaken die een normale dag vullen: het inspecteren van API-reacties, het decoderen van tokens, het genereren van testgegevens en het lezen van logboeken. Al het andere is situationeel.
Zijn browsergebaseerde coderingstools veilig voor gevoelige gegevens zoals tokens en sleutels?
Het hangt er helemaal van af of de tool gegevens in uw browser of op een server verwerkt. tools aan de clientzijde zoals die op Toolz.dev in JavaScript uitvoeren op uw eigen tabblad, zodat uw invoer nooit ergens wordt geüpload of gelogd Voordat u iets gevoeligs plakt - een JWT, een API-sleutel, een .env waarde - bevestig het in een online tool ' s client-side Als een tool u vraagt om "upload" of een netwerkverzoek toont wanneer u op proces drukt, behandel de gegevens dan als blootgesteld.
Wat is het verschil tussen een JSON-formatter en een JSON-validator?
Een validator beantwoordt één vraag - is deze parseable JSON, ja of nee - en als het antwoord nee is, vertelt het je de regel en kolom waar de parse is mislukt Een formatter drukt geldige JSON opnieuw af met consistente inspringing zodat een mens het kan lezen In de praktijk zijn ze ' dezelfde bewerking: een formatter moet de invoer parseren voordat hij deze mooi kan afdrukken, dus elke fatsoenlijke rapporteert de syntaxisfout als bijwerking Reach for the validator's foutmelding wanneer een verzoek wordt afgewezen, en de formatter' s uitvoer wanneer een antwoord onleesbaar is.
Hoe decodeer ik een JWT veilig?
Gebruik een decoder die client-side draait en plak nooit een druk productietoken in alles wat je hebt't geverifieerd Een JWT' s header en payload zijn Base64url-gecodeerd, niet gecodeerd - iedereen die het token heeft kan de claims lezen, daarom is het token zelf het geheim Decoderen is prima om te lezen exp, issen de claims tijdens het debuggen. Het verifiëren van de handtekening is een afzonderlijke stap die de ondertekeningssleutel nodig heeft, en die sleutel mag nooit uw server verlaten.
Hoe converteer ik een Unix-tijdstempel naar een leesbare datum?
Plak het nummer in een tijdstempelconverter en lees de datum terug in UTC en in uw lokale zone De enige echte val is de eenheid: een getal van tien cijfers is seconden (de Unix-conventie, en wat de meeste backends uitzenden), terwijl een getal van dertien cijfers milliseconden is (de JavaScript-conventie).Voer milliseconden in een secondenparser en je landt ergens rond het jaar 55.000 - een fout die ' duidelijk is zodra u ' heb het één keer gezien en verbijsterend de eerste keer.
Hoe verhouden deze tools zich tot CLI-hulpprogramma's zoals JQ en OpenSSL?
CLI-tools zijn krachtiger en scriptbaarder, en voor alles wat repetitief is en in een script leeft, winnen ze. Browsertools winnen voor eenmalig, interactief werk: there' is niets om te installeren, geen syntaxis om te onthouden, en ze werken identiek op elke machine of telefoon. Ik gebruik beide - jq In pijplijnen, de browserformatter wanneer ik maar één reactie moet bekijken. Ze zijn complementair, geen concurrenten.
Kan ik deze tools offline gebruiken?
Ze hebben een verbinding nodig om de pagina in eerste instantie te laden, maar omdat de verwerking zelf de client-side uitvoert, is het eigenlijke werk niet afhankelijk van een server na het laden. Sommige tools blijven werken als uw verbinding halverwege de sessie verdwijnt. Voor gegarandeerd offline gebruik is een progressieve web-app-installatie of een desktopbuild de betrouwbaardere route.
Waarom browsertools gebruiken in plaats van IDE-extensies?
Browsertools zijn editor-agnostisch en hebben nul-instellingen nodig, dus ze' zijn beschikbaar op een collega's-machine, een externe server of uw telefoon - overal waar een IDE en zijn extensies zijn't geïnstalleerd en geconfigureerd Ze' zijn ideaal voor snelle taken en voor hulpprogramma's waarvoor uw editor eenvoudigweg niet werkt't een goede plug-in heeft IDE-extensies zijn beter als de taak iets is dat u tientallen keren per dag binnen één editor doet.
Welke UUID-versie moet ik in 2026 standaard gebruiken?
Voor nieuwe primaire databasesleutels, UUID v7 - it' s tijdgeordend voor goede indexprestaties terwijl ze wereldwijd uniek blijven, en it' s nu gestandaardiseerd in RFC 9562 Bereik voor v4 wanneer u specifiek onvoorspelbaarheid wilt, zoals identificatiegegevens die zouden moeten ' t raadbaar zijn Vermijd v1 voor iets nieuws omdat het de genererende machine lekt' s MAC-adres.
Is base64 een vorm van versleuteling?
Nee, en het behandelen als een is een veel voorkomende en gevaarlijke fout Base64 is een omkeerbare codering die iedereen kan decoderen direct - het bestaat om binaire gegevens veilig te verzenden als tekst, niet om het te verbergen Kubernetes geheimen en Basic Auth headers gebruiken Base64, maar dat biedt nul vertrouwelijkheid; alles echt geheim heeft daadwerkelijke encryptie nodig bovenop.
De korte versie
Het juiste kleine gereedschap maakt van een klus van twee minuten een klus van twee seconden, en over een week komen die seconden samen op echte uren terug Van het formatteren van een JSON-antwoord tot het decoderen van een token, het testen van een regex of het lezen van een tijdstempel, dit zijn de hulpprogramma's waar ik eigenlijk naar reik - niet omdat ze ' slim zijn, maar omdat ze uit de weg gaan.
Alles hier leeft voort Toolz.dev, draait volledig in uw browser voor privacy en snelheid, en vraagt u nooit om u aan te melden. beginnen met de JSON-formatter en Regex-bouwer, blader vervolgens door de volledige set van Coderingstools- er zijn 600+ gratis tools voor codering, tekst, PDF en beeldwerk die wachten op het moment dat u ze nodig heeft.



