← speedor.net

Zana za wasanidi

Zana za bure za wasanidi mtandaoni: kipangaji JSON, usimbaji Base64 na URL, kifumbua JWT, kijaribu regex, HEX↔RGB, muhuri wa muda Unix na misimbo ya HTTP.

Matatizo mengi ya usimbaji ni makubwa na ya kuvutia. Yale yanayokupunguza kasi kweli si hivyo. Una jibu la API lililobanwa mbele yako, JWT usiyoweza kusoma, URL inayoharibu string yake ya swali, na regex isiyofanya kazi kabisa. Hakuna hata kimoja kinachostahili utegemezi, usakinishaji wa CLI, au tab iliyojaa matangazo. Vinastahili sekunde thelathini na sanduku safi la maandishi.

Kisanduku cha zana za kivinjari kwa kazi ndogo zinazokatiza kazi halisi

Matatizo mengi ya usimbaji ni makubwa na ya kuvutia. Yale yanayokupunguza kasi kweli si hivyo. Una jibu la API lililobanwa mbele yako, JWT usiyoweza kusoma, URL inayoharibu string yake ya swali, na regex isiyofanya kazi kabisa. Hakuna hata kimoja kinachostahili utegemezi, usakinishaji wa CLI, au tab iliyojaa matangazo. Vinastahili sekunde thelathini na sanduku safi la maandishi.

Hiyo ndiyo wazo zima nyuma ya mkusanyiko huu: ukurasa mmoja wa zana za bure za wasanidi zinazopakia mara moja, zinazofanya kazi kabisa kwenye kivinjari chako, na kamwe hazikuombi kujisajili. Uumbizaji wa JSON, Base64, usimbaji wa URL, usimbuaji wa JWT, ubadilishaji wa rangi, ujaribu wa regex, hesabu ya muda, na marejeleo ya hali ya HTTP vyote viko mahali pamoja. Unaacha kubandika data yako kwenye kitu chochote Google inachoonyesha kwanza, na unaacha kujiuliza kama tovuti hiyo ya nasibu inaiweka kumbukumbu.

Kila zana inafanya nini hasa

Kiuumbizaji cha JSON kinachukua ukuta wa JSON iliyotorokwa, ya mstari-mmoja na kuigeuza kuwa kitu ambacho binadamu anaweza kuchunguza. Sema webhook inafyatuka na kumbukumbu zako zinanasa kiini kibichi kama string moja kubwa. Bandika, chagua uingizo wa nafasi-mbili au -nne, na unapata mti unaosomeka ukiwa na hitilafu ya sintaksia iliyoonyeshwa kama ipo. Inathibitisha inapoumbiza, hivyo koma ya ziada iliyopotea au funguo isiyo na alama za kunukuu inatajwa badala ya kushindwa kimya kimya tabaka tatu ndani ya programu yako.

Usimbaji/usimbuaji wa Base64 ni farasi wa kazi unayemtumia mara kwa mara bila kufikiria kuhusu hilo. Data URIs, vichwa vya Basic Auth, blobu za binary zilizowekwa kwenye faili za usanidi, sehemu za tokeni — zote ni Base64. Simbua thamani ya kichwa kuthibitisha vitambulisho vinatumwa jinsi unavyotarajia, au simba picha ndogo kuiweka ndani. Inashughulikia UTF-8 vizuri, jambo linalohesabika muda uingizo wako si ASCII wazi.

Zana ya usimbaji/usimbuaji wa URL inarekebisha hitilafu ya kawaida ambapo kigezo cha swali kina nafasi, alama ya ampersand, au alama ya kuongeza na kimya kimya kinavunja ombi lako. Ikiwa unajenga kiungo kwa mkono na thamani ni name=John & Co, unahitaji ampersand hiyo itorokwe kuwa %26 au seva inaisoma kama kitenganishi cha vigezo. Bandika, simba, nakili. Kusimbua kunafanya kazi kwa upande mwingine unapokodolea URL iliyonaswa kwenye kumbukumbu iliyojaa misimbo ya asilimia ukijaribu kubaini ni nini kilichoombwa kweli.

Mabano dhahania yanayong'aa na miundo ya data iliyojumuishwa kwa rangi ya samawati iliyokolea na bluu ikiwakilisha kisanduku cha zana cha msanidi
Ukurasa mmoja, kazi ndogo nyingi: umbiza, simbua, badilisha, jaribu.

Zana ya tokeni, na tahadhari muhimu

Kisimbuaji cha JWT kinagawanya tokeni katika sehemu zake tatu zilizotenganishwa na nukta na kukuonyesha kichwa na kiini kama JSON wazi. Unapoutatua uthibitishaji, hii ni dhahabu: angalia algoriti gani ilisaini tokeni, soma sub, thibitisha dai la exp halijapita, na uone hasa upeo au majukumu gani lango lako linampa mteja.

Hapa ndipo sehemu watu wanasahau. Kusimbua JWT si kuithibitisha. Kiini ni Base64url tu — mtu yeyote anayeshikilia tokeni anaweza kusoma kila dai ndani yake, na zana hii inafanya hasa hilo na si zaidi. Haichunguzi saini, hivyo tokeni iliyosimbuliwa inakuambia tokeni inasema nini, si kama ni halisi. Kamwe usiamini madai kutoka kwa kisimbuaji kwa uamuzi wa uthibitishaji; hiyo ni kazi ya seva yako, na funguo ya kusaini. Tumia kisimbuaji kuelewa na kutatua, kamwe kuthibitisha.

Kijaribu cha regex kinafunga mzunguko wa zana ya kuchosha zaidi ya zote. Andika muundo wako, weka maandishi ya mfano, na uangalie ulinganifu ukiangaziwa moja kwa moja unapoandika. Makundi ya kunasa yameorodheshwa, hivyo unaweza kuthibitisha kundi la pili kweli linakamata mwaka na si tarehe nzima. Inashinda mzunguko wa hariri-hifadhi-endesha-tena wa kujaribu muundo ndani ya msimbo wako halisi, na ni njia ya haraka ya kujifunza kwa nini kiasi kilicho na tamaa kinameza zaidi ya ulivyokusudia.

Kukamilisha mambo: kibadilishaji cha HEX↔RGB kinageuza #1a2b3c kuwa rgb(26, 43, 60) na kinyume chake wakati vitambulisho vyako vya mchoro na CSS yako havikubaliani. Kibadilishaji cha muhuri wa muda wa Unix kinageuza 1718900000 kuwa tarehe na muda halisi, jambo utakalotaka kila wakati hifadhidata inahifadhi sekunde za epoch na macho yako hayawezi kuzichambua. Na marejeleo ya msimbo wa hali ya HTTP yanakuepusha kubashiri kama 422 au 409 ni jibu sahihi wakati wito wa API unakwenda vibaya.

Bomba dhahania la data la API lenye paneli za mtindo wa terminal zinazong'aa kwa bluu na dhahabu, bila maandishi yanayosomeka
Kila kitu kinafanya kazi kwenye tab uliyo nayo tayari wazi.

Uchakataji wa ndani, ili uweze kubandika vitu nyeti

Hii ndiyo sehemu inayohesabika zaidi kwa yeyote anayegusa data ya uzalishaji. Kila zana hapa inafanya kazi upande wa mteja kwa JavaScript. Uingizo wako haitoki kwenye kivinjari — hakuna upakiaji, hakuna safari ya kurudi kwenye seva, hakuna cha kuweka kumbukumbu. Hiyo inamaanisha unaweza kubandika tokeni halisi ya ufikiaji kuchunguza madai yake, kusimbua kichwa cha Base64 kilicho na kitambulisho, au kuumbiza jibu la API lililojaa data ya mteja bila kuvuka mtandao kamwe. Unataka ushahidi? Fungua zana za msanidi, angalia tab ya mtandao, na bandika. Utaona hakuna kinachotoka. Kwa data nyeti, zana ya ndani-tu si nyongeza; ni chaguo pekee la kuwajibika.

Maswali yanayoulizwa mara kwa mara

Je, zana hizi za msanidi ni za bure kweli bila kujisajili?

Ndiyo. Kila zana ni ya bure kutumia, haihitaji akaunti, na haina kikomo cha matumizi. Fungua ukurasa na uanze kufanya kazi.

Je, data yangu inatumwa kwenye seva ninapotumia zana hizi?

Hapana. Kila kitu kinafanya kazi upande wa mteja kwenye kivinjari chako. Uingizo wako haupakiwi kamwe, hivyo unaweza kubandika tokeni, vitambulisho, na majibu ya API ya kibinafsi kwa usalama.

Je, kisimbuaji cha JWT kinathibitisha saini ya tokeni?

Hapana. Kinasimbua tu kichwa na kiini ili uweze kusoma madai. Kusimbua si kuthibitisha. Uthibitishaji wa saini unahitaji funguo ya kusaini na unastahili kuwa kwenye seva yako.

Kuna tofauti gani kati ya usimbaji wa Base64 na usimbaji fiche?

Base64 ni usimbaji, si usimbaji fiche. Inaweza kubadilishwa kikamilifu na mtu yeyote na haitoi usalama wowote. Ipo kuwakilisha data ya binary kama maandishi, si kuificha.

Kijaribu cha regex kinasaidia aina gani ya regex?

Kinatumia injini ya usemi wa kawaida wa JavaScript inayofanya kazi kwenye kivinjari chako, ikiwa na uangaziaji wa moja kwa moja wa ulinganifu na matokeo ya makundi ya kunasa unapoandika.

Je, ninaweza kuumbiza JSON isiyo sahihi?

Kiuumbizaji kitajaribu, na ikiwa JSON imevunjika kinaonyesha mahali pa hitilafu na kinakuambia kimekosea nini, ili uweze kurekebisha na kuumbiza tena.