// lab/

Лабораторія

Мої штуки наживо: rombik (блок-схеми з коду за ДСТУ), мова Piton у браузері і живий бенчмарк SHA-256.

// rombik

rombik — блок-схеми з коду

Сервіс, що малює блок-схеми та структограми Насі-Шнайдермана за ДСТУ 19.701-90 з коду десяти мов: Python, JavaScript, TypeScript, C, C++, C#, Java, Go, PHP, Pascal. Нижче — готові приклади (Python, C++, Pascal); повний редактор, API та CLI — у застосунку.

  • Go-рушій
    parser → IR → layout → diagram → render; чисті межі між етапами
  • Десять мов
    Python, JS, TS, C, C++, C#, Java, Go, PHP, Pascal — точні ДСТУ-примітиви
  • Веб · API · CLI · MCP
    редактор з пан/зумом, публічний HTTP API, CLI, MCP-сервер і скіл для агентів
  • Вісім форматів
    SVG · PNG · PDF · Word · Visio · draw.io · Typst · Excalidraw; нативні редаговані фігури в Word/Visio
Готові приклади: обери алгоритм — rombik покаже блок-схему за ДСТУ. Хочеш увести свій код? Відкрий повний rombik.
def grade(score):
    if score >= 90:
        print("Відмінно")
    elif score >= 60:
        print("Задовільно")
    else:
        print("Незадовільно")
ТакНіТакНіПочатокВвід scorescore >= 90Вивід «Відмінно»score >= 60Вивід «Задовільно»Вивід «Незадовільно»КінецьРисунок 1 — grade
  • Остання версія 1.9.2
    Найновіший рушій та оптимізації прямо з репозиторію.
  • Інтерпретатор у WASM
    Лише ~220 КБ для швидкого завантаження (через TinyGo).
  • Блок-схеми через D2
    Вбудований D2-рушій креслить векторні схеми за ДСТУ в SVG.
  • 100% Локально
    Без сервера, безпечно, весь код виконується у твоєму браузері.
main.piton
Натисни «Запустити» — інтерпретатор завантажиться при першій взаємодії (~220 КБ).
Натисни «Запустити», щоб побачити вивід
// benchmark.bench

JS vs Go·WASM — той самий хеш

Той самий SHA-256, той самий вхід, два двигуни. Зліва — JS-копія офіційного клієнта Студентської Гривні. Справа — мій Go-варіант із SHMiner, скомпільований у WASM через TinyGo. Гілки запускаються по черзі по 10 секунд: спочатку JS на повному ядрі, потім Go·WASM на N ядрах. Так кожна гілка отримує весь CPU для себе — числа чесні.

Готово до старту
Воркерів Go
· у тебе ядер: 4 · запущено: 4
JS-режим
· копія офіційного клієнта — з `sleep(1)` кожні 1000 хешів
Офіційний JS-майнер
×1 · verbatim
H/s
Знайдено токенів
Хешів усього
SHMiner (Go·WASM)
×4
H/s
Знайдено токенів
Хешів усього

ⓘ Виконується на твоєму залізі у твоєму браузері. JS-гілка — один потік, точна копія `calculateBlockHash` з офіційного клієнта (`await window.crypto.subtle.digest`, опціонально + `sleep(1)` кожні 1000 хешів). Go·WASM крутиться у пулі Web Worker'ів — по одному на ядро, як SHMiner використовує пул горутин. Складність — 20 біт (5 нулевих hex-символів на початку), як у SHMiner за замовчуванням.

Це браузерна демонстрація

Native-Go з desktop-клієнта набагато швидший за TinyGo·WASM у браузері — SHA-256 у native Go використовує SIMD/AVX-інструкції CPU (4-8 блоків паралельно у скалярному WASM = 0), а Web Worker'и платять за serialization. Реальні цифри (1000×+ vs офіційний JS-майнер) виходять лише на справжньому SHMiner. Wails-додаток — кросплатформа: Linux · macOS · Windows.

SHMiner на GitHub