{"id":108413,"date":"2023-05-08T12:48:42","date_gmt":"2023-05-08T10:48:43","guid":{"rendered":"https:\/\/prohoster.info\/?p=108413"},"modified":"2023-05-08T16:10:08","modified_gmt":"2023-05-08T14:10:08","slug":"sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","title":{"rendered":"Skaparen av LLVM utvecklar ett nytt programmeringsspr\u00e5k Mojo","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Chris Lattner, grundare och huvudarkitekt f\u00f6r LLVM samt skaparen av programmeringsspr\u00e5ket Swift, och Tim Davis, tidigare chef f\u00f6r AI-projekt p\u00e5 Google, s\u00e5som Tensorflow och JAX, har presenterat ett nytt programmeringsspr\u00e5k vid namn Mojo, som kombinerar enkelhet f\u00f6r forskningsutveckling och snabb prototyptillverkning med l\u00e4mpligheten att skapa h\u00f6gpresterande slutprodukter. Det f\u00f6rsta uppn\u00e5s genom att anv\u00e4nda den v\u00e4lbekanta syntaxen fr\u00e5n spr\u00e5ket Python, och det andra genom m\u00f6jligheten att kompilera till maskinkod, mekanismer f\u00f6r s\u00e4ker minneshantering och anv\u00e4ndning av verktyg f\u00f6r h\u00e5rdvaruaccelerering av ber\u00e4kningar.    <\/p>\n<p>Projektet fokuserar p\u00e5 anv\u00e4ndning f\u00f6r utveckling inom maskininl\u00e4rning, men presenteras samtidigt som ett allm\u00e4nt syfte-spr\u00e5k som ut\u00f6kar m\u00f6jligheterna hos Python med hj\u00e4lp av systemprogrammering, vilket g\u00f6r det l\u00e4mpligt f\u00f6r en rad olika uppgifter. Till exempel kan spr\u00e5ket anv\u00e4ndas inom omr\u00e5den som h\u00f6gpresterande ber\u00e4kningar, databehandling och dataomvandling. En intressant funktion hos Mojo \u00e4r m\u00f6jligheten att ange emoji-symbolen &#171;&#128293;&#187; som fil\u00e4ndelse f\u00f6r kodfiler (t.ex. &#171;helloworld.&#128293;&#187;), f\u00f6rutom text\u00e4ndelsen &#171;.mojo&#187;.       <\/p>\n<p>F\u00f6r n\u00e4rvarande \u00e4r spr\u00e5ket i intensiv utveckling och endast en online-gr\u00e4nssnitt \u00e4r tillg\u00e4nglig f\u00f6r testning. Separata versioner f\u00f6r k\u00f6rning p\u00e5 lokala system f\u00f6rv\u00e4ntas publiceras senare, efter att feedback har mottagits om det interaktiva webbmilj\u00f6n. K\u00e4llkoden till kompilatorn, JIT och andra relaterade projektf\u00f6rberedelser planeras att offentligg\u00f6ras efter att den interna arkitekturen har designats (utvecklingsmodellen av den fungerande prototypen bakom st\u00e4ngda d\u00f6rrar p\u00e5minner om den initiala utvecklingsfasen av LLVM, Clang och Swift). Eftersom Mojo-syntaxen \u00e4r baserad p\u00e5 Python och typ systemet \u00e4r n\u00e4ra C\/C++, planerar man i framtiden att utveckla verktyg f\u00f6r att f\u00f6renkla \u00f6vers\u00e4ttningen till Mojo av befintliga projekt skrivna i C\/C++ och Python, samt f\u00f6r att utveckla hybridprojekt som kombinerar kod i Python och Mojo.        <\/p>\n<p>Projektet syftar till att utnyttja de befintliga h\u00e5rdvaruresurserna i heterogena system f\u00f6r att utf\u00f6ra ber\u00e4kningar. Till exempel kan GPU:er, specialiserade acceleratorer f\u00f6r maskininl\u00e4rning och vektorprocessorinstruktioner (SIMD) anv\u00e4ndas f\u00f6r att k\u00f6ra applikationer skrivna i Mojo och parallellisera ber\u00e4kningarna. Anledningen till att utveckla en separat delm\u00e4ngd av spr\u00e5ket Python, ist\u00e4llet f\u00f6r att optimera det befintliga CPython, \u00e4r fokus p\u00e5 kompilering, integration av systemprogrammeringsfunktioner och till\u00e4mpning av en fundamentalt annorlunda intern arkitektur som g\u00f6r det m\u00f6jligt att k\u00f6ra kod p\u00e5 GPU:er och olika h\u00e5rdvaruacceleratorer. Mojo-utvecklarna avser, s\u00e5 l\u00e5ngt som m\u00f6jligt, att h\u00e5lla sig till kompatibilitet med CPython.            <\/p>\n<p>Mojo kan anv\u00e4ndas b\u00e5de i tolkningsl\u00e4ge med JIT och f\u00f6r kompilering till k\u00f6rbara filer (AOT, ahead-of-time). Kompilatorn inneh\u00e5ller moderna automatiseringsmetoder f\u00f6r optimering, caching och distribuerad kompilering. K\u00e4llkoden i Mojo omvandlas till l\u00e5g niv\u00e5 mellanliggande kod i MLIR (Multi-Level Intermediate Representation), utvecklad av LLVM-projektet och som erbjuder ytterligare m\u00f6jligheter f\u00f6r optimering av datagraffl\u00f6den. Kompilatorn till\u00e5ter anv\u00e4ndning av olika backend-alternativ f\u00f6r generering av maskinkod som st\u00f6der MLIR.        <\/p>\n<p>Anv\u00e4ndning av ytterligare h\u00e5rdvarumechanismer f\u00f6r att p\u00e5skynda ber\u00e4kningar g\u00f6r det m\u00f6jligt att uppn\u00e5 prestanda som, vid intensiva ber\u00e4kningar, \u00f6vertr\u00e4ffar applikationer skrivna i C\/C++. Till exempel visade en testapplikation f\u00f6r att generera m\u00e5nga Mandelbrot-m\u00e4ngder, d\u00e4r applikationen var kompilera i Mojo och k\u00f6rdes p\u00e5 AWS (r7iz.metal-16xl), sig vara 6 g\u00e5nger snabbare \u00e4n implementationen i C++ (0,03 sek. mot 0,20 sek.), samt 35 000 g\u00e5nger snabbare \u00e4n applikationen i Python med standard CPython 3.10.9 (0,03 sek. mot 1027 sek.) och 1500 g\u00e5nger snabbare \u00e4n n\u00e4r PYPY anv\u00e4ndes (0,03 sek. mot 46,1 sek.).    <\/p>\n<p>Vid utv\u00e4rdering av prestanda inom maskininl\u00e4rningsuppgifter visade AI-stacken Modular Inference Engine, skriven i Mojo, sig vara tre g\u00e5nger snabbare \u00e4n en l\u00f6sning baserad p\u00e5 TensorFlow p\u00e5 ett Intel-processorsystem vid bearbetning av spr\u00e5kmodeller, 6,4 g\u00e5nger snabbare vid genomf\u00f6rande av rekommendationsmodeller och 2,1 g\u00e5nger snabbare vid arbete med modeller f\u00f6r visuell information. Vid anv\u00e4ndning av AMD-processorer var f\u00f6rdelen med Mojo 3,2, 5 och 2,2 g\u00e5nger, och vid anv\u00e4ndning av ARM-processorer var det 5,3, 7,5 och 1,7 g\u00e5nger, respektive. En l\u00f6sning baserad p\u00e5 PyTorch var l\u00e5ngsammare \u00e4n Mojo med 1,4, 1,1 och 1,5 g\u00e5nger p\u00e5 Intel CPU, 2,1, 1,2 och 1,5 g\u00e5nger p\u00e5 AMD CPU och 4, 4,3 och 1,3 g\u00e5nger p\u00e5 ARM CPU.      <center><img decoding=\"async\" alt=\"Skaparen av LLVM utvecklar ett nytt programmeringsspr\u00e5k Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/df2598980ce4ed179ec3042d500235db.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>          <\/p>\n<p>Spr\u00e5ket st\u00f6der statisk typning och verktyg f\u00f6r s\u00e4ker l\u00e5g niv\u00e5 hantering av minne, liknande funktionerna i Rust, som livscykel\u00f6vervakning av referenser och kontroll av variabell\u00e5n (borrow checker). Ut\u00f6ver verktygen f\u00f6r s\u00e4ker hantering av pekare erbjuder spr\u00e5ket \u00e4ven m\u00f6jligheter f\u00f6r l\u00e5g niv\u00e5 arbete, exempelvis direktminnes\u00e5tkomst i unsafe-l\u00e4ge med hj\u00e4lp av typen Pointer, anrop av enskilda SIMD-instruktioner eller \u00e5tkomst till h\u00e5rdvaruacceleratorer som TensorCores och AMX.    <center><img decoding=\"async\" alt=\"Skaparen av LLVM utvecklar ett nytt programmeringsspr\u00e5k Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/000b92c5bbb54eec64649b30a434be6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>F\u00f6r att f\u00f6renkla separationen av klassisk och optimerad Python-kod f\u00f6r funktioner med tydlig typdefinition f\u00f6r alla variabler f\u00f6resl\u00e5s det att anv\u00e4nda ett separat nyckelord &#171;fn&#187; ist\u00e4llet f\u00f6r &#171;def&#187;. P\u00e5 samma s\u00e4tt, f\u00f6r klasser, vid behov av statisk datainpackning i minnet under kompilering (som i C) kan typen &#171;struct&#187; anv\u00e4ndas ist\u00e4llet f\u00f6r &#171;class&#187;. Dessutom \u00e4r det m\u00f6jligt att enkelt importera moduler fr\u00e5n spr\u00e5k som C\/C++, till exempel, f\u00f6r att importera funktionen cos fr\u00e5n math-biblioteket kan man ange &#171;from &#171;math.h&#187; import cos&#187;.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59094\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo, \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u0435\u0440\u0432\u043e\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":108414,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-108413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\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\/sv\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\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=\"2023-05-08T10:48:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-05-08T14:10:08+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\udd47Skaparen av LLVM utvecklar ett nytt programmeringsspr\u00e5k Mojo | ProHoster","description":"Chris Lattner, grundare och huvudarkitekt f\u00f6r LLVM, samt skaparen av programmeringsspr\u00e5ket Swift, och Tim Davis, tidigare ledare f\u00f6r AI-projekt p\u00e5 Google, som TensorFlow och JAX.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster","og:description":"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","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":"2023-05-08T10:48:43+00:00","article:modified_time":"2023-05-08T14:10:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/108413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=108413"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/108413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/108414"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=108413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=108413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=108413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}