Перейти к основному содержимому

Простые приложения на Julia

Разработчику Архитектору

Простые приложения на Julia

Julia ориентирована на численные расчёты: быстрые массивы, REPL, пакеты через Pkg. Для «простых приложений» типичны обработка CSV, статистика, визуализация.

Как запускать примеры из главы

  1. Скрипт: julia имя.jl
  2. Пакеты: в REPL ] add CSV DataFrames (один раз).
  3. Проверка: julia --version (1.9+).

Генератор паролей

Как запустить

  • Файл: password.jl
  • Команда: julia password.jl
using Random

function generate_password(n::Int=16)
chars = ['a':'z'; 'A':'Z'; '0':'9'; '!', '@', '#', '$', '%']
String(rand(chars) for _ in 1:n)
end

println(generate_password())

Сводка по CSV

using CSV, DataFrames, Statistics

df = CSV.read("data.csv", DataFrame)
println(describe(df))
println("mean price = ", mean(df.price))

Простой HTTP (HTTP.jl)

using HTTP, JSON3

route = function(req)
if req.target == "/"
return HTTP.Response(200, ["Content-Type" => "application/json"],
JSON3.write(Dict("ok" => true)))
end
HTTP.Response(404, "not found")
end

# HTTP.serve(route, "127.0.0.1", 8000)

Запись JSON-трекера

using JSON3

mutable struct Task
id::Int
title::String
done::Bool
end

tasks = [Task(1, "Изучить Julia", false)]
open("tasks.json", "w") do io
JSON3.write(io, tasks)
end

Характерный пример — векторизация

x = 1:1_000_000
y = @. sin(x) + cos(2x) # broadcast без явного цикла
println(sum(y))

Оператор @. применяет функцию поэлементно — основа производительности Julia.


См. также: R — простые приложения

См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).