Avaldatud on no-code tööriist, mis võimaldab peita koodi Pythonis kirjutatud skripti sees. Muudetud skript näeb koodiredaktorites välja nagu üks rida «# coding: no» ilma muu sisuta, kuid sellegipoolest jätkab see töötamise ja täidab oma algseid funktsioone. Tööriist on loodud No Code naljalise filosoofia mõjul, mille kohaselt on parim viis turvaliste ja usaldusväärsete rakenduste kirjutamiseks koodi täielik puudumine. Märgitakse, et see filosoofia on hea, kuid mõnikord on vajalik, et programm täidaks teatud toiminguid. No-code lahendab selle probleemi ning võimaldab jaotada «ilma koodita» programme, mis siiski sooritavad tegevusi.
Peitmismeetod põhineb sisu kodeerimisel kahe Unicode-märgi abil, millel on null pikkus (tühikud 0x200B ja 0x200C, mis ei põhjusta taandurite positsioneerimist). Ühte nähtamatut symbolit seostatakse «0» ning teist «1» -ga. $ cat some_code.py print(«Tere, maailm!») $ no_code some_code.py > no_code.py $ cat no_code.py # coding: no $ python no_code.py Tere, maailm! $ yes_code no_code.py > some_code.py $ cat some_code.py print(«Tere, maailm!»)
Rida «# coding: no» skriptis, kus kood on peidetud, näitab, et fail kasutab kodeeringut nimega «no» — Pythonis kasutatakse märksõna «coding:», et määrata lähtekoodi kodeeringut. Muudetud skripti käivitamiseks on vajalik Python-paketi «no_code» installimine, mis sisaldab faili «no.pth», mis kutsutakse esile, kui kasutatakse kodeeringut nimega «no», et dekodeerida enne selle töötlemist parseri poolt. Erinevate koodi osade peitmiseks pakub projekt funktsioone no_code.nothing() ja no_code.something().
Sarnaste projektide hulka kuulub Perl-i moodul Acme::Bleach, mis muundab koodi esitluseks, mis koosneb tühikutest ja tabulaatoritest, ning JavaScripti teeki INVISIBLE.js, mis võimaldab koodi peita nullpikkuse sümbolite kodeerimise kaudu.
Allikas: opennet.ru
