• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    VELDRANE
    VELDRANE --- ---
    SHINING_KATE: ja sem rust zacatecnik ale potrebuju tu sbastlit jakesi api a ten poem mne na to prisel jako dobrej napad. Ale uznavam ze mam jeste velky mezery ve vzdelani a proto se ptam i tady :)
    SHINING_KATE
    SHINING_KATE --- ---
    Poem vypadá zajímavě

    U nás ve firmě jsme začali na actix-web, a postupně po vydání frameworku axum přesedlali na něj (actix měl dost nestandardních věcí, úplně se nám nelíbil actix runtime a divoké skoky mezi verzemi… A axum má jako podvozek hyper, používá tower services, je těsně svázán s Tokio projektem… Prostě, víc zapadá do ekosystému :)

    Na podporu openapi ovšem ještě čekáme.
    VELDRANE
    VELDRANE --- ---
    JUNIOR: Mam podobnej problem, tak kdyz se nekdo ozve budu rad.

    Zatim backend patlam v poem a sem vcelku spokojenej, umi to nativne openapi, mel by na to jit naroubovat prometheus exporter a to je vsechhno co potrebuju
    JUNIOR
    JUNIOR --- ---
    Ahoj,
    mám v plánu si udělat jeden vlastní projekt a rád bych na to použil Rust.

    Bude to webová aplikace na principu bazaru, kde budu potřebovat registrovat uživatele, aby si mohli uploadovat obrázky, mezi sebou hodnotit produkty a profily, rozesílání emailů a časem možná platební brána.

    Jsem si dělal research a zatím mi nejlépe vychází framework Actix. Jaký framework či runtime si vybrat ? Na co si dát pozor ? Přeci jen Rust není tak rozšířený tak bych se rád vyhnul problémům v budoucnu.

    Děkuji
    SHINING_KATE
    SHINING_KATE --- ---
    Trochu self-proma, pokud někdo stavíte aplikaci postavenou nad sqlx a potřebujete použít databázi v testech, není to nic jednoduchého.

    Napsala jsem kvůli tomu proc-macro knihovnu, která funguje podobně jako `tokio::test` makro, umí pracovat s tokio runtime a actix runtime, a která provede všechny databázové migrace potřebné pro vaši aplikaci a následně exponuje proměnnou s databázovým poolem do vaší testové funkce.

    Každá takhle vytvořená a zmigrovaná databáze má jméno založené na UUIDv4, takže by neměla hrozit kolize ani při několika paralelně spuštěných testech.

    https://crates.io/crates/sqlx-database-tester

    feature requesty vítány.

    (Kvůli naší firemní politice je licence AGPL, ale pokud to použijete v testech / pipelines, výsledný kód neobsahuje z knihovny nic, takže je viralita licence celkem zbytečná a neměla by nic ovlivnit, ale nejsem právník)
    SHINING_KATE
    SHINING_KATE --- ---
    UETOYO: Už na něj přecházíme v práci :)
    SHINING_KATE
    SHINING_KATE --- ---
    Team kolem tokio před týdnem oznámil nový projekt, webový framework axum https://tokio.rs/blog/2021-07-announcing-axum

    A po vyzkoušení se dost rychle stal mou novou volbou pro příští projekty :)

    Výhody (některé z nich nejspiš subjektivní):
    - naprosté minimum NIH: používá čistou tokio runtime (looking at you, actix), používá hyper, umí využívat middlewary psané pro Tower
    - přehledný routing a vnořené cesty (tohle mi chybí u Rocket), možnost implementovat middleware jen na jeden endpoint, skupinu cest, celou aplikaci (Tohle třeba rocket nedává vůbec)
    - jednoduchý error handling (tohle je dost bolest třeba u Warpu)

    Nevýhody:
    - Fakt nevím, napadá mě jen, že některé frameworky umí generovat OpenAPI specifikaci přímo z kódu, tohle Axum (alespoň zatím) nezvládá.

    Každopádně doporučuji vyzkoušet, zatím jsem dost nadšená :)
    MYKEZ
    MYKEZ --- ---
    UETOYO: Mohl bys prosím popsat, jak vypadá ta symbióza, resp. na co ještě používáš Python, a co už naopak raději děláš v Rustu, a jakej mezi nima máš interface?
    UETOYO
    UETOYO --- ---
    Tak ten článek je naštěstí naprostý blábol plný takových sugestivních názorů. Tehnicky i filozofiíí je Rust je spíš podobný OCamlu (v němž byl napsaný i jeho první kompilátor) než Haskellu. Haskell opravdu začal jako akademický jazyk, stále je to akademický jazyk a posledních pár let se v něm tu a tam objeví komerční projekt (zajímavá firma co dělá napůl v Haskellu a napůl v Rustu). Rust to má samozřejmě naopak tak nějk podobně jako ten OCaml, který to valil od počátku mnohem víc pragmatičtěji. Na aroganci jsem nenarazil v žádném ze zmiňovaných jazyků ani kokomunitě. Ale díky za příspěvek. BTW: Přecházím z Pythonu pomalu zcela na Rust. Poslední co jsem řešil je "nenahraditelný" Pandas. Už je nahrazen :) https://github.com/pola-rs/polars-book
    CABOWITZ
    CABOWITZ --- ---
    (zaroven mam pocit, ze nejaky ten parochialismus nebo aroganci v rust komunite zatim nevnimam - ale ja taky jen tak otukavam po povrchu)
    CABOWITZ
    CABOWITZ --- ---
    What killed Haskell, could kill Rust, too · GitHub
    https://gist.github.com/graninas/22ab535d2913311e47a742c70f1d2f2b
    UETOYO
    UETOYO --- ---
    GitHub - rustviz/rustviz: Interactively Visualizing Ownership and Borrowing
    https://github.com/rustviz/rustviz
    SPIRALI
    SPIRALI --- ---
    Tak v nejblizsich dnech vyjde 1.53 a konecne se zaclenenym "|" uvnitr pattern marching vyrazu (i.e. Some(1 | 2)). Yay!
    SPIRALI
    SPIRALI --- ---
    SHINING_KATE: Vyhrala jsi prava na nastenku:)
    SHINING_KATE
    SHINING_KATE --- ---
    In other news, hlavně asi pro Rust začátečníky, Jon Gjengset oznámil vydání své knihy pro No Starch Press :)
    Rust for Rustaceans | No Starch Press
    https://nostarch.com/rust-rustaceans

    Jeho videa na youtube můžu taky vřele doporučit :)
    SHINING_KATE
    SHINING_KATE --- ---
    Tohle repo by se mohlo hodit i do záhlaví :)

    https://github.com/mre/idiomatic-rust
    REDGUY
    REDGUY --- ---
    Uhm... a jak tohle prosim souvisi s Rustem? Slo by to prosim resit nekde jinde?
    SHINING_KATE
    SHINING_KATE --- ---
    Já zas zažila pohovor ve stylu „Je to ženská, musím ji na něčem nachytat“, zatímco známý co šel do stejné firmy měl pohovor podstatně snazší, protože u chlapa se ty znalosti předpokládají :)

    Každopádně, diverzity kvóty u nás ve firmě nejsou (a ani by nebyly potřeba, hiring pool rust devů je hodně pestrý). Ta poznámka v inzerátu má spíš za účel odradit někoho, kdo v pestřejším teamu nedovede pracovat bez konfliktů.
    MARASAN
    MARASAN --- ---
    MART1NKA: mne v jedne praci predstavovali v kanclu developeru a meli tam slecnu, nejspis junior dev, predstavili mi ji jako ozdobu, doslova.
    Kliknutím sem můžete změnit nastavení reklam