{"id":104906,"date":"2022-08-21T15:36:41","date_gmt":"2022-08-21T13:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov"},"modified":"2022-08-21T15:36:41","modified_gmt":"2022-08-21T13:36:41","slug":"vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","title":{"rendered":"Lansarea bibliotecii standard C Cosmopolitan 2.0, dezvoltat\u0103 pentru fi\u0219iere executabile portabile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A fost publicat num\u0103rul 2.0 al proiectului Cosmopolitan, care dezvolt\u0103 biblioteca standard C \u0219i un format universal de fi\u0219iere executabile, ce poate fi folosit pentru distribuirea aplica\u021biilor pe diferite sisteme de operare, f\u0103r\u0103 a necesita interpretoare sau ma\u0219ini virtuale. Rezultatul ob\u021binut prin compilarea cu GCC \u0219i Clang este combinat \u00eentr-un fi\u0219ier executabil universal, ce poate fi rulat pe orice distribu\u021bie Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD \u0219i chiar apelat din BIOS. Codul proiectului este distribuit sub licen\u021ba ISC (o variant\u0103 simplificat\u0103 a MIT\/BSD).         <\/p>\n<p>Containerele pentru crearea fi\u0219ierelor executabile universale sunt bazate pe combinarea segmentelor \u0219i headerelor specifice diferitelor sisteme de operare (PE, ELF, MACHO, OPENBSD) \u00eentr-un singur fi\u0219ier, combin\u00e2nd mai multe formate diferite utilizate \u00een Unix, Windows \u0219i macOS. Pentru a permite rularea unui fi\u0219ier executabil \u00eentr-un mediu Windows \u0219i Unix, se folose\u0219te un truc legat de codificarea fi\u0219ierelor Windows PE sub form\u0103 de script shell, av\u00e2nd \u00een vedere c\u0103 Thompson Shell nu utilizeaz\u0103 markerul de script \u201e#!\u201d. Pentru crearea programelor care includ mai multe fi\u0219iere (combinarea tuturor resurselor \u00eentr-un singur fi\u0219ier), este suportat formatul de fi\u0219ier executabil sub form\u0103 de arhiv\u0103 ZIP special formatat\u0103. Schema formatului propus (exemplu aplica\u021bie hello.com):        <\/p>\n<p>     MZqFpD=\u2019     BIOS BOOT SECTOR\u2019     exec 7 $(command -v $0)     printf \u2018ELF\u2026LINKER-ENCODED-FREEBSD-HEADER\u2019 &gt;&amp;7     exec \u2018$0\u2019 \u2018$@\u2019     exec qemu-x86_64 \u2018$0\u2019 \u2018$@\u2019     exit 1     REAL MODE\u2026     ELF SEGMENTS\u2026     OPENBSD NOTE\u2026     MACHO HEADERS\u2026     CODE AND DATA\u2026     ZIP DIRECTORY\u2026      <\/p>\n<p>La \u00eenceputul fi\u0219ierului se indic\u0103 marca \u2018MZqFpD\u2019, care este perceput\u0103 ca header-ul formatului Windows PE. Aceast\u0103 secven\u021b\u0103 este, de asemenea, decodificat\u0103 \u00een instruc\u021biunea \u2018pop %r10 ; jno 0x4a ; jo 0x4a\u2019, iar \u0219irul \u2018ELF\u2019 \u00een instruc\u021biunea \u2018jg 0x47\u2019, care sunt utilizate pentru a direc\u021biona c\u0103tre punctul de intrare. \u00cen sistemele Unix, se execut\u0103 cod shell, \u00een care se folose\u0219te comanda exec pentru a transmite codul executabil printr-un canal anonim. O limitare a metodei propuse este c\u0103 poate fi utilizat\u0103 \u00een sistemele de operare Unix-like doar cu shell-uri care sus\u021bin modul de compatibilitate cu Thompson Shell.       <\/p>\n<p>Apelul qemu-x86_64 este prev\u0103zut pentru a oferi portabilitate suplimentar\u0103 \u0219i permite executarea codului compilat pentru arhitectura x86_64 pe platforme diferite de x86, cum ar fi pl\u0103cile Raspberry Pi \u0219i dispozitivele Apple echipate cu procesoare ARM. Proiectul poate fi utilizat \u0219i pentru a crea aplica\u021bii autonome care func\u021bioneaz\u0103 f\u0103r\u0103 un sistem de operare (bare metal). \u00cen astfel de aplica\u021bii, un \u00eenc\u0103rc\u0103tor este ata\u0219at fi\u0219ierului executabil, iar programul ac\u021bioneaz\u0103 ca un sistem de operare \u00eenc\u0103rcabil.         <\/p>\n<p>\u00cen biblioteca standard C dezvoltat\u0103 de proiect, libc ofer\u0103 2024 de func\u021bii (\u00een prima versiune erau aproximativ 1400 de func\u021bii). \u00cen ceea ce prive\u0219te performan\u021ba, Cosmopolitan func\u021bioneaz\u0103 la fel de rapid ca glibc \u0219i dep\u0103\u0219e\u0219te semnificativ Musl \u0219i Newlib, iar Cosmopolitan are un cod de dimensiune cu un ordin mai mic dec\u00e2t glibc \u0219i corespunde aproximativ Musl \u0219i Newlib. Pentru optimizarea func\u021biilor frecvent apelate, cum ar fi memcpy \u0219i strlen, se folose\u0219te tehnica \u201etrickle-down performance\u201d, \u00een care pentru apelul func\u021biei se utilizeaz\u0103 un macro-wrapper, \u00een care compilatorul este informat despre registrele CPU utilizate \u00een timpul execu\u021biei codului, ceea ce permite economisirea resurselor prin salvarea st\u0103rii CPU prin p\u0103strarea doar a registrelor modificate.    <\/p>\n<p>Printre modific\u0103rile din noua versiune:  <\/p>\n<ul>\n<li class=\"l\"> Schema de acces la resurse interne \u00een interiorul arhivelor zip a fost modificat\u0103 (pentru deschiderea fi\u0219ierelor acum se folosesc c\u0103i obi\u0219nuite \/zip\/\u2026 \u00een loc de accesarea prin prefixul zip:..). Similar, pentru accesul la discuri \u00een Windows a fost oferit\u0103 posibilitatea de a utiliza c\u0103i de tipul \u201e\/c\/\u2026\u201d \u00een loc de \u201eC:\/\u2026\u201d.\n<li class=\"l\"> A fost propus un nou \u00eenc\u0103rc\u0103tor APE (Actually Portable Executable), care define\u0219te formatul fi\u0219ierelor executabile universale. Noul \u00eenc\u0103rc\u0103tor folose\u0219te mmap pentru a plasa programul \u00een memorie \u0219i nu mai modific\u0103 con\u021binutul \u00een timpul execu\u021biei. Dac\u0103 este necesar, fi\u0219ierul executabil universal poate fi convertit \u00een fi\u0219iere executabile obi\u0219nuite, legate de platforme separate.\n<li class=\"l\"> Pe platforma Linux a fost implementat\u0103 posibilitatea utiliz\u0103rii modulului de kernel binfmt_misc pentru a rula programele APE. Se observ\u0103 c\u0103 utilizarea binfmt_misc este cea mai rapid\u0103 metod\u0103 de ini\u021biere.\n<li class=\"l\"> Pentru Linux, a fost propus\u0103 implementarea func\u021bionalit\u0103\u021bii apelurilor de sistem pledge() \u0219i unveil(), dezvoltate de proiectul OpenBSD. Este disponibil un API pentru utilizarea acestor apeluri \u00een programe scrise \u00een limbile C, C++, Python \u0219i Redbean, precum \u0219i utilitarul pledge.com pentru izolarea proceselor arbitrare.\n<li class=\"l\"> Pentru compilare a fost utilizat\u0103 utilitarul Landlock Make \u2014 o edi\u021bie GNU Make cu o verificare mai strict\u0103 a dependen\u021belor \u0219i utilizarea apelului de sistem Landlock pentru izolarea programului de restul sistemului \u0219i \u00eembun\u0103t\u0103\u021birea eficien\u021bei cache-ului. Ca op\u021biune, a fost p\u0103strat\u0103 posibilitatea de a compila \u0219i cu GNU Make obi\u0219nuit.\n<li class=\"l\"> Au fost implementate func\u021bii pentru multithreading \u2014 _spawn() \u0219i _join(), care reprezint\u0103 un wrapper universal peste API-urile specifice sistemelor de operare diferite. De asemenea, se lucreaz\u0103 la implementarea suportului pentru POSIX Threads.\n<li class=\"l\"> A fost oferit\u0103 posibilitatea de a utiliza cuv\u00e2ntul cheie _Thread_local pentru a utiliza stoc\u0103ri separate pentru fiecare fir (TLS, Thread-Local Storage). \u00cen mod implicit, runtime-ul C ini\u021bializeaz\u0103 TLS pentru firul principal, ceea ce a dus la cre\u0219terea dimensiunii minime a fi\u0219ierului executabil de la 12 la 16 KB.\n<li class=\"l\"> \u00cen fi\u0219ierele executabile a fost ad\u0103ugat suport pentru parametrii \u201e--ftrace\u201d \u0219i \u201e--strace\u201d pentru a ie\u0219i \u00een stderr informa\u021bii despre toate apelurile de func\u021bii \u0219i apelurile de sistem.\n<li class=\"l\"> A fost ad\u0103ugat suport pentru apelul de sistem closefrom(), suportat \u00een Linux 5.9+, FreeBSD 8+ \u0219i OpenBSD.\n<li class=\"l\"> Pe platforma Linux, performan\u021ba apelurilor clock_gettime \u0219i gettimeofday a fost crescut\u0103 de p\u00e2n\u0103 la 10 ori datorit\u0103 utiliz\u0103rii mecanismului vDSO (virtual dynamic shared object), care permite mutarea procesorului apelului de sistem \u00een spa\u021biul utilizatorului \u0219i evitarea comut\u0103rii contextului.\n<li class=\"l\"> Func\u021biile matematice pentru lucrul cu numere complexe au fost transferate din biblioteca Musl. A fost accelerat\u0103 func\u021bionarea multor func\u021bii matematice.\n<li class=\"l\"> A fost propus\u0103 func\u021bia nointernet(), care dezactiveaz\u0103 func\u021bionalit\u0103\u021bile de re\u021bea.\n<li class=\"l\"> Au fost ad\u0103ugate noi func\u021bii pentru ata\u0219area eficient\u0103 a \u0219irurilor: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf \u0219i vappendf.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 o variant\u0103 sigur\u0103 a familiei func\u021biilor kprintf(), destinat\u0103 s\u0103 func\u021bioneze cu privilegii ridicate.\n<li class=\"l\"> Performan\u021ba implement\u0103rilor a fost semnificativ crescut\u0103 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2309\">SSL<\/a>, SHA, curve25519 \u0219i RSA.      <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57663\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 GCC \u0438 Clang \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Linux, macOS, Windows, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104906","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lansarea bibliotecii standard C Cosmopolitan 2.0, dezvoltat\u0103 pentru fi\u0219iere executabile portabile | ProHoster","description":"A fost lansat\u0103 versiunea 2.0 a proiectului Cosmopolitan, care dezvolt\u0103 biblioteca standard C \u0219i un format univers pentru fi\u0219iere executabile, utilizabil pentru distribuirea programelor pe diverse sisteme de operare.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-08-21T13:36:41+00:00","article:modified_time":"2022-08-21T13:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104906","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-08-21 13:37:50","updated":"2026-02-09 17:29:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/104906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=104906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/104906\/revisions"}],"predecessor-version":[{"id":159554,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/104906\/revisions\/159554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=104906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=104906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=104906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}