• Ruby 4.0 – ett stort steg framåt för ett klassiskt språk

    Ruby 4.0 markerar ett av de största kliven i språkets historia, där fokus ligger på isolering, parallellism och prestanda utan att kompromissa med Rubys välkända läsbarhet. Med ny teknik som Ruby Box, en helt ny JIT-kompilator och ett kraftigt förbättrat stöd för parallell exekvering visar Ruby att språket är redo att möta moderna krav – samtidigt som det fortsätter att sätta utvecklarens upplevelse i centrum.

    När Ruby 4.0 nu har släppts markerar det mer än bara ännu en versionssiffra. Det är ett tydligt tecken på att ett av världens mest omtyckta programmeringsspråk fortsätter att utvecklas – både tekniskt och filosofiskt – i en tid där krav på prestanda, parallellism och säkerhet är högre än någonsin. Ruby har länge varit känt för sin läsbarhet och sin glädjeprincip: programmering ska vara roligt. Med Ruby 4.0 försöker utvecklarna bevisa att man inte längre behöver välja mellan elegans och råstyrka.

    Ruby Box – isolering utan containrar

    Den kanske mest nyskapande nyheten är Ruby Box, en experimentell teknik för isolering inuti samma Ruby-process. Genom att starta Ruby med miljövariabeln RUBY_BOX=1 kan man skapa separata ”lådor” där klasser, moduler, globala variabler, monkey patches och till och med inlästa bibliotek hålls helt åtskilda. Det gör det möjligt att köra testfall som använder aggressiva monkey patches utan att påverka andra tester, köra flera versioner av samma webbapplikation parallellt vid blue-green-driftsättning eller testa nya beroenden i realtid genom att jämföra beteende och svar. Allt detta sker utan containrar eller separata processer – isoleringen sker direkt i Ruby-motorn.

    ZJIT – nästa generations prestandasatsning

    Ruby 4.0 introducerar också ZJIT, en ny experimentell just-in-time-kompilator som är tänkt att på sikt ersätta YJIT. ZJIT är skriven i Rust och använder större kompileringsenheter samt en modern SSA-baserad mellanrepresentation. Resultatet är redan nu snabbare än den traditionella tolken, även om den fortfarande ligger efter YJIT. Utvecklarna är tydliga med att ZJIT ännu inte är redo för produktion, men ambitionen är att den ska vara både snabbare än YJIT och stabil nog för skarp drift i Ruby 4.1. För den nyfikne kan ZJIT aktiveras med flaggan –zjit.

    Ractor tar ett steg mot mognad

    Parallell programmering har länge varit en svag punkt i Ruby, men Ractor-modellen fortsätter att utvecklas. I Ruby 4.0 introduceras klassen Ractor::Port, som ersätter tidigare mer svårbegripliga API:er som Ractor.yield och Ractor#take. Kommunikation mellan parallella delar av ett program blir tydligare och mer robust. Samtidigt har interna datastrukturer förbättrats för att minska låsning kring globala resurser, minska delad intern data och förbättra CPU-cache-beteende. Tillsammans ger detta märkbart bättre parallell prestanda, och målet är att Ractor snart ska lämna sin experimentella status helt.

    Små språkliga förändringar med stor effekt

    Ruby 4.0 innehåller också flera språkliga justeringar som gör vardagen trevligare för utvecklare. Logiska operatorer som && och || kan nu stå i början av en rad och fortsätta föregående uttryck, vilket gör flerradiga villkor mer lättlästa. Beteendet för *nil har gjorts mer konsekvent och anropar inte längre nil.to_a, i linje med hur **nil redan fungerar. Felmeddelanden vid fel antal argument är tydligare och innehåller både bättre bakspårning och kodutdrag. Unicode-stödet har uppdaterats till version 17.0, inklusive nya emoji.

    Ett snabbare och renare Ruby under huven

    Bakom kulisserna har Ruby 4.0 fått omfattande prestandaförbättringar. Objekt skapas snabbare, särskilt när nyckelordsargument används. Garbage collectorn arbetar effektivare, intern åtkomst till instansvariabler har optimerats och många gamla låsningar i heta kodvägar har tagits bort. Standardbiblioteket har samtidigt städats upp: vissa komponenter har flyttats eller uppdaterats, andra – som delar av CGI-biblioteket – levereras inte längre fullt ut som standard.

    Framåtblick

    Ruby 4.0 är inte bara en inkrementell uppdatering utan ett tydligt ställningstagande. Språket vill fortsätta vara uttrycksfullt och lättläst, men samtidigt möta moderna krav på prestanda, parallellism och isolering. Med Ruby Box, ZJIT och ett allt mer moget Ractor-system visar Ruby att det går att förnya sig utan att förlora sin identitet. För utvecklare innebär det en tydlig signal: Ruby är långt ifrån färdigt – det har precis växlat upp.

    https://www.ruby-lang.org/en

    Fakta: Ruby 4.0
    Ny isolering: Ruby Box (experimentellt) isolerar klasser, moduler, globala variabler, monkey patches och även inlästa bibliotek per “box”. Aktiveras med RUBY_BOX=1.
    Ny JIT: ZJIT (experimentellt) efterföljare till YJIT – metodbaserad JIT med större kompileringsenheter och SSA-baserad IR. Byggkrav: Rust 1.85+. Aktiveras med –zjit.
    Parallellism: Ny Ractor::Port för tydligare kommunikation mellan Ractors. Äldre API:er som Ractor.yield och Ractor#take är borttagna.
    Språknytt: Logiska operatorer i början av rad (&&, ||, and, or) fortsätter föregående rad. *nil beter sig nu konsekvent och anropar inte längre nil.to_a.
    Standardbibliotek & core: Set och Pathname är core-klasser, och Unicode är uppdaterat till 17.0 (inkl. Emoji 17.0).
    Kompatibilitet: Flera deprecated API:er är borttagna (bl.a. äldre Ractor-metoder). Windows-bygg kräver Visual Studio 2015+.


  • Lathund för WP-CLI

    WP-CLI gör det möjligt att administrera WordPress snabbt, effektivt och automatiserat direkt från kommandoraden. Med hjälp av detta verktyg kan du hantera allt från installation och uppdateringar till användare, databaser och felsökning – utan att logga in i webbgränssnittet. Den här lathunden ger en praktisk och tekniskt inriktad genomgång av de vanligaste WP-CLI-kommandona, med tydliga exempel för dig som arbetar med utveckling, drift eller systemadministration av WordPress-sajter.

    Får vi presentera en lathund för hur du använder WP-CLI, främst i en klassisk LAMP-miljö (Linux, Apache, MySQL/MariaDB och PHP), men verktyget fungerar även utmärkt på macOS.

    Denna lathund ger en heltäckande introduktion till WP-CLI, WordPress officiella kommandoradsverktyg, och riktar sig till tekniska användare såsom utvecklare och systemadministratörer. Här visas hur WordPress kan hanteras effektivt via terminalen istället för webbgränssnittet. Innehållet omfattar installation på Linux och macOS, grundläggande kommandostruktur och globala flaggor. Guiden går igenom hur du uppdaterar WordPress-kärnan, teman och tillägg, hanterar användare och roller, arbetar med databasen (säkerhetskopiering, import, sök-och-ersätt och optimering) samt hur du skapar och uppdaterar inlägg och sidor. Dessutom beskrivs felsökning, cache- och cron-hantering, återställning samt hur WP-CLI kan användas i skript och cronjobb för automatisering. Målet är att ge praktiska exempel och ett effektivt arbetsflöde för drift och underhåll av WordPress-installationer.

    FAKTARUTA: WP-CLI

    WP-CLI (WordPress Command Line Interface) är ett kommandoradsverktyg som låter dig administrera WordPress via terminal/SSH istället för via wp-admin.

    • Vanligt användningsområde: uppdatera WordPress, plugins och teman snabbt och scriptbart.
    • Underhåll: export/import av databas, sök/ersätt i databasen (även serialiserad data), rensa cache/transients.
    • Administration: skapa/ändra användare, hantera roller, hantera innehåll (inlägg/sidor), cron-händelser.
    • Automation: passar för cron-jobb och deploy-skript (CI/CD) tack vare tydliga exit-koder och flaggor som –quiet och –yes.
    Snabbexempel
    wp core update
    wp plugin update --all
    wp user list
    wp db export backup.sql
    Tips: Kör från WordPress-roten (där wp-config.php finns), eller använd flaggan --path=/sökväg.

Etikett: backend

  • Ruby 4.0 – ett stort steg framåt för ett klassiskt språk

    Ruby 4.0 markerar ett av de största kliven i språkets historia, där fokus ligger på isolering, parallellism och prestanda utan att kompromissa med Rubys välkända läsbarhet. Med ny teknik som Ruby Box, en helt ny JIT-kompilator och ett kraftigt förbättrat stöd för parallell exekvering visar Ruby att språket är redo att möta moderna krav –…

  • Lathund för WP-CLI

    WP-CLI gör det möjligt att administrera WordPress snabbt, effektivt och automatiserat direkt från kommandoraden. Med hjälp av detta verktyg kan du hantera allt från installation och uppdateringar till användare, databaser och felsökning – utan att logga in i webbgränssnittet. Den här lathunden ger en praktisk och tekniskt inriktad genomgång av de vanligaste WP-CLI-kommandona, med tydliga…