#meta#intro

Привет, мир

Первый пост — о том зачем я завёл этот блог и что планирую писать.

Тестовая страница в блоге для демонстрации возможностей

Интерактивные примеры

Можно запускать код прямо в браузере — нажми Run или Ctrl+Enter:

const langs = ['JavaScript', 'Python', 'SQLite'];
langs.forEach((lang, i) => {
  console.log(`${i + 1}. ${lang}`);
});

Код редактируемый — можно менять и запускать снова.

для запуска кода потребуется загрузить Python

Python тоже поддерживается через WASI runtime — при первом запуске загрузится ~26 MB:

nums = [1, 2, 3, 4, 5]
print(f"Сумма: {sum(nums)}")
print(f"Среднее: {sum(nums) / len(nums)}")

Server runtime

Следующие блоки работают через self-hosted codapi-сервер (engine=server). Требует запущенного локально или задеплоенного инстанса.

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

for i in range(10):
    print(f"fib({i}) = {fib(i)}")

Rust 🦀

fn main() {
    let primes: Vec<u32> = (2..30)
        .filter(|&n| (2..n).all(|i| n % i != 0))
        .collect();
    println!("{:?}", primes);
}

Даже Zig 🦎 у нас работает (в теории):

const std = @import("std");

fn printOut(io: std.Io, comptime fmt: []const u8, args: anytype) !void {
    const stdout = std.Io.File.stdout();
    var buf: [0]u8 = .{};
    var writer = stdout.writer(io, &buf);
    try writer.interface.print(fmt, args);
}

pub fn main(init: std.process.Init) !void {
    const stdout = std.Io.File.stdout();
    try stdout.writeStreamingAll(init.io, "Хеллоу World!\n");
    try printOut(init.io, "x = {d}, s = {s}\n", .{ 42, "( ͡° ͜ʖ ͡°)" });
}

Всё благодаря открытой библиотеке 👉 codapi

© 2026 m0rph