← speedor.net

Εργαλεία προγραμματιστή

Δωρεάν online εργαλεία: μορφοποίηση JSON, κωδικοποίηση Base64 και URL, αποκωδικοποιητής JWT, δοκιμή regex, HEX↔RGB, χρονοσήμανση Unix και κωδικοί HTTP.

Τα περισσότερα προβλήματα προγραμματισμού είναι μεγάλα και ενδιαφέροντα. Αυτά που πραγματικά σας καθυστερούν δεν είναι. Έχετε μπροστά σας μια συμπιεσμένη απάντηση API, ένα JWT που δεν μπορείτε να διαβάσετε, ένα URL που καταστρέφει το query string του, και ένα regex που σχεδόν δουλεύει. Τίποτα από αυτά δεν αξίζει μια εξάρτηση, μια εγκατάσταση CLI, ή μια καρτέλα γεμάτη διαφημίσεις. Αξίζουν τριάντα δευτερόλεπτα και ένα καθαρό πλαίσιο κειμένου.

Ένα εργαλειοκιβώτιο προγράμματος περιήγησης για τις μικρές δουλειές που διακόπτουν την πραγματική εργασία

Τα περισσότερα προβλήματα προγραμματισμού είναι μεγάλα και ενδιαφέροντα. Αυτά που πραγματικά σας καθυστερούν δεν είναι. Έχετε μπροστά σας μια συμπιεσμένη απάντηση API, ένα JWT που δεν μπορείτε να διαβάσετε, ένα URL που καταστρέφει το query string του, και ένα regex που σχεδόν δουλεύει. Τίποτα από αυτά δεν αξίζει μια εξάρτηση, μια εγκατάσταση CLI, ή μια καρτέλα γεμάτη διαφημίσεις. Αξίζουν τριάντα δευτερόλεπτα και ένα καθαρό πλαίσιο κειμένου.

Αυτή είναι όλη η ιδέα πίσω από αυτή τη συλλογή: μια ενιαία σελίδα δωρεάν εργαλείων για developers που φορτώνει άμεσα, τρέχει εξ ολοκλήρου στο πρόγραμμα περιήγησής σας, και ποτέ δεν σας ζητά να εγγραφείτε. Μορφοποίηση JSON, Base64, κωδικοποίηση URL, αποκωδικοποίηση JWT, μετατροπή χρωμάτων, δοκιμή regex, αριθμητική timestamp, και αναφορά κωδικών κατάστασης HTTP βρίσκονται όλα σε ένα μέρος. Σταματάτε να επικολλάτε τα δεδομένα σας σε ό,τι εμφανίζει πρώτο το Google, και σταματάτε να αναρωτιέστε αν εκείνη η τυχαία ιστοσελίδα τα καταγράφει.

Τι κάνει πραγματικά κάθε εργαλείο

Ο μορφοποιητής JSON παίρνει έναν τοίχο από απλού-γραμμής, με escape χαρακτήρες JSON και το μετατρέπει σε κάτι που ένας άνθρωπος μπορεί να διαβάσει με μια ματιά. Ας πούμε ότι ένα webhook ενεργοποιείται και τα logs σας καταγράφουν το ακατέργαστο σώμα ως ένα τεράστιο string. Επικολλήστε το, επιλέξτε εσοχή δύο ή τεσσάρων κενών, και παίρνετε ένα ευανάγνωστο δέντρο με το σφάλμα σύνταξης εντοπισμένο αν υπάρχει. Επικυρώνει καθώς μορφοποιεί, οπότε ένα περιττό κόμμα στο τέλος ή ένα κλειδί χωρίς εισαγωγικά εντοπίζεται αντί να αποτύχει σιωπηλά τρία επίπεδα μέσα στην εφαρμογή σας.

Η κωδικοποίηση/αποκωδικοποίηση Base64 είναι το εργαλείο-άλογο που χρησιμοποιείτε συνεχώς χωρίς να το σκέφτεστε. URI δεδομένων, κεφαλίδες Basic Auth, δυαδικά blobs χωμένα σε αρχεία ρυθμίσεων, τα τμήματα ενός token — όλα Base64. Αποκωδικοποιήστε μια τιμή κεφαλίδας για να επιβεβαιώσετε ότι τα διαπιστευτήρια στέλνονται όπως περιμένετε, ή κωδικοποιήστε μια μικρή εικόνα για να την ενσωματώσετε. Χειρίζεται καθαρά το UTF-8, κάτι που μετράει τη στιγμή που η είσοδός σας δεν είναι απλό ASCII.

Το εργαλείο κωδικοποίησης/αποκωδικοποίησης URL διορθώνει το κλασικό σφάλμα όπου μια παράμετρος query περιέχει κενό, το σύμβολο "&", ή ένα σύμβολο συν και σιωπηλά χαλάει το αίτημά σας. Αν χτίζετε έναν σύνδεσμο με το χέρι και η τιμή είναι name=John & Co, χρειάζεστε αυτό το "&" να γίνει escape σε %26 ειδάλλως ο διακομιστής το διαβάζει ως διαχωριστικό παραμέτρου. Επικολλήστε, κωδικοποιήστε, αντιγράψτε. Η αποκωδικοποίηση λειτουργεί αντίστροφα όταν κοιτάτε ένα καταγεγραμμένο URL γεμάτο κωδικούς ποσοστού και προσπαθείτε να καταλάβετε τι πραγματικά ζητήθηκε.

Αφηρημένα λαμπερά αγκύλες και ένθετες δομές δεδομένων σε σκούρο λουλακί και γαλάζιο που αντιπροσωπεύουν εργαλειοκιβώτιο developer
Μία σελίδα, πολλές μικρές δουλειές: μορφοποίηση, αποκωδικοποίηση, μετατροπή, δοκιμή.

Το εργαλείο token, και μια σημαντική προειδοποίηση

Ο αποκωδικοποιητής JWT χωρίζει ένα token στα τρία τμήματά του χωρισμένα με τελείες και σας δείχνει την κεφαλίδα και το payload ως απλό JSON. Όταν κάνετε debug σε αυθεντικοποίηση, αυτό είναι χρυσός: ελέγξτε ποιος αλγόριθμος υπέγραψε το token, διαβάστε το sub, επιβεβαιώστε ότι η αξίωση exp δεν έχει ήδη περάσει, και δείτε ακριβώς ποια scopes ή ρόλους δίνει η πύλη σας στον client.

Να το κομμάτι που ξεχνούν οι άνθρωποι. Η αποκωδικοποίηση ενός JWT δεν είναι επαλήθευσή του. Το payload είναι απλά Base64url — οποιοσδήποτε κρατάει το token μπορεί να διαβάσει κάθε αξίωση μέσα του, και αυτό το εργαλείο κάνει ακριβώς αυτό και τίποτα παραπάνω. Δεν ελέγχει την υπογραφή, οπότε ένα αποκωδικοποιημένο token σας λέει τι λέει ένα token, όχι αν είναι γνήσιο. Ποτέ μην εμπιστεύεστε αξιώσεις από έναν αποκωδικοποιητή για μια απόφαση εξουσιοδότησης· αυτή είναι δουλειά του διακομιστή σας, με το κλειδί υπογραφής. Χρησιμοποιήστε τον αποκωδικοποιητή για να καταλάβετε και να κάνετε debug, ποτέ για να επικυρώσετε.

Ο δοκιμαστής regex κλείνει τον κύκλο για το πιο απογοητευτικό εργαλείο απ' όλα. Γράψτε το μοτίβο σας, βάλτε δείγμα κειμένου, και παρακολουθήστε τα αποτελέσματα να επισημαίνονται ζωντανά καθώς πληκτρολογείτε. Οι ομάδες σύλληψης καταγράφονται, ώστε να επιβεβαιώνετε ότι η ομάδα δύο πράγματι πιάνει το έτος και όχι ολόκληρη την ημερομηνία. Νικά τον κύκλο επεξεργασία-αποθήκευση-επανεκτέλεση της δοκιμής ενός μοτίβου μέσα στον πραγματικό σας κώδικα, και είναι ένας γρήγορος τρόπος να μάθετε γιατί ένας άπληστος ποσοδείκτης καταπίνει περισσότερα απ' όσα εννοούσατε.

Κλείνοντας: ο μετατροπέας HEX↔RGB μετατρέπει ένα #1a2b3c σε rgb(26, 43, 60) και αντίστροφα για όταν τα tokens σχεδίασης και το CSS σας διαφωνούν. Ο μετατροπέας Unix timestamp μετατρέπει το 1718900000 σε πραγματική ημερομηνία και ώρα, κάτι που θα θέλετε κάθε φορά που μια βάση δεδομένων αποθηκεύει epoch seconds και τα μάτια σας δεν μπορούν να τα διαβάσουν. Και η αναφορά κωδικών κατάστασης HTTP σας γλιτώνει από το να μαντεύετε αν το 422 ή το 409 είναι η σωστή απάντηση όταν μια κλήση API πάει στραβά.

Αφηρημένος αγωγός δεδομένων API με λαμπερά πάνελ σε στιλ τερματικού σε ναυτικό μπλε και χρυσό, χωρίς αναγνώσιμο κείμενο
Τα πάντα τρέχουν στην καρτέλα που έχετε ήδη ανοιχτή.

Τοπική επεξεργασία, ώστε να μπορείτε να επικολλήσετε τα ευαίσθητα πράγματα

Αυτό είναι το κομμάτι που μετράει περισσότερο για όποιον αγγίζει δεδομένα παραγωγής. Κάθε εργαλείο εδώ τρέχει από την πλευρά του client σε JavaScript. Η είσοδός σας δεν φεύγει ποτέ από το πρόγραμμα περιήγησης — δεν υπάρχει ανέβασμα, δεν υπάρχει ταξίδι προς κάποιον διακομιστή, τίποτα να καταγραφεί. Αυτό σημαίνει ότι μπορείτε να επικολλήσετε ένα πραγματικό access token για να επιθεωρήσετε τις αξιώσεις του, να αποκωδικοποιήσετε μια κεφαλίδα Base64 που περιέχει διαπιστευτήριο, ή να μορφοποιήσετε μια απάντηση API γεμάτη δεδομένα πελατών χωρίς αυτά να διασχίσουν ποτέ το δίκτυο. Θέλετε απόδειξη; Ανοίξτε τα εργαλεία developer σας, παρακολουθήστε την καρτέλα δικτύου, και επικολλήστε. Δεν θα δείτε τίποτα να βγαίνει. Για ευαίσθητα payloads, ένα αποκλειστικά τοπικό εργαλείο δεν είναι απλώς ένα ωραίο προνόμιο· είναι η μόνη υπεύθυνη επιλογή.

Συχνές ερωτήσεις

Είναι πραγματικά δωρεάν αυτά τα εργαλεία developer χωρίς εγγραφή;

Ναι. Κάθε βοηθητικό πρόγραμμα είναι δωρεάν στη χρήση, δεν απαιτεί λογαριασμό, και δεν έχει όρια χρήσης. Ανοίξτε τη σελίδα και ξεκινήστε να δουλεύετε.

Στέλνονται τα δεδομένα μου σε διακομιστή όταν χρησιμοποιώ αυτά τα εργαλεία;

Όχι. Τα πάντα τρέχουν από την πλευρά του client στο πρόγραμμα περιήγησής σας. Η είσοδός σας δεν ανεβαίνει ποτέ, οπότε μπορείτε με ασφάλεια να επικολλήσετε tokens, διαπιστευτήρια, και ιδιωτικές απαντήσεις API.

Επαληθεύει ο αποκωδικοποιητής JWT την υπογραφή του token;

Όχι. Απλώς αποκωδικοποιεί την κεφαλίδα και το payload ώστε να μπορείτε να διαβάσετε τις αξιώσεις. Η αποκωδικοποίηση δεν είναι επαλήθευση. Η επαλήθευση υπογραφής χρειάζεται το κλειδί υπογραφής και ανήκει στον διακομιστή σας.

Ποια είναι η διαφορά ανάμεσα στην κωδικοποίηση Base64 και την κρυπτογράφηση;

Το Base64 είναι κωδικοποίηση, όχι κρυπτογράφηση. Είναι πλήρως αναστρέψιμο από οποιονδήποτε και δεν προσφέρει καμία ασφάλεια. Υπάρχει για να αναπαριστά δυαδικά δεδομένα ως κείμενο, όχι για να τα κρύψει.

Ποια παραλλαγή regex υποστηρίζει ο δοκιμαστής regex;

Χρησιμοποιεί τη μηχανή κανονικών εκφράσεων JavaScript που τρέχει στο πρόγραμμα περιήγησής σας, με ζωντανή επισήμανση αντιστοιχιών και έξοδο ομάδων σύλληψης καθώς πληκτρολογείτε.

Μπορώ να μορφοποιήσω μη έγκυρο JSON;

Ο μορφοποιητής θα προσπαθήσει, και αν το JSON είναι χαλασμένο δείχνει τη θέση του σφάλματος και σας λέει τι είναι λάθος, ώστε να μπορείτε να το διορθώσετε και να το ξαναμορφοποιήσετε.