Українська Rust Спільнота – Telegram
Українська Rust Спільнота
500 subscribers
125 photos
1 video
221 links
Вітаємо на каналі Rust 🦀 ентузіастів!
Тут ви знайдете актуальну інформацію про мову програмування Rust.
Чат: https://news.1rj.ru/str/rustlang_ua
Канал англійською: https://news.1rj.ru/str/learn_rust
Запропонувати новину: @wandalen_me
Download Telegram
Forwarded from Kai Ren
Детальний розбір можливості застосування finally tagless паттерну в Rust, з ремарками що це таке, чому так називається, і яке має відношення до expression problem:
https://getcode.substack.com/p/efficient-extensible-expressive-typed
👍9
Друзі!
Ми не раз згадували, що готуємося до конференції. То ж раді нарешті анонсувати, що всеукраїнська онлайн конференція UARust Conference 2023 відбудеться вже у суботу, 08 квітня. Серед спікерів близько 13 українських та закордонних Rust розробників, зокрема, зірковий гість Люка Палмєрі, автор книжки, яку ви всі, вірогідно, читали - “From zero to production in Rust”, Крістоф Петіг, один із розробників Veloren, та інші доповідачі із різною доменною експертизою, які ділитимуться своїм досвідом і прогнозами на майбутнє. Після конференції в Києві та Львові плануються афтепаті, не пропустіть!

Деталі:
🗓️ Дата: 08 квітня
🎤 Мови доповідей: українська 🇺🇦 та англійська 🇺🇲
🌍 Формат: онлайн
🤝 Для партнерства
📋 Агенда
🎫 Зареєструватися та купити квиток

Усі кошти, виручені з продажу квитків, будуть направлені на потреби ЗСУ 🇺🇦

#uarust #lrt #rustlang
🔥135👍2🥰1👏1
Якщо ви знаходитеся в Києві і вже зареєструвалися на конференцію, у вас є супер можливість прийти у місце проведення афтепаті вже зранку, і дивитися конференцію разом з іншими. Не упустіть шанс крутого нетворкінгу і живого спілкування з Rust 🦀 ентузіастами.

Місце та час: починаючи з 11:00, Goh craft pub
Деталі: Беріть ноутбуки 💻 і навушники 🎧!

Поставте 🔥 під цим постом, якщо збираєтеся прийти 🙂

Також, якщо ви плануєте відвідати афтепаті, на яке збираємося у Львові та Києві о 19:30, не забудьте відмітитися в опитуванні!
👍10🔥5👏1
Друзі, нам на Linkedin бракує 72 фоловера до 150-ти  для того щоб завтра застрімити публічно першого доповідача.

Щоб це відбулося, допоможіть, будь ласка. Й якщо не важко поставте лайки нашим оголошенням, можливо це привабить ще декілька слухачів.
👍30
Друзі, наші інформаційні партнери команда Fwdays — організовують технічні онлайн-конференції, воркшопи, курси та мітапи для ІТ-спеціалістів🔝

🎙Їх майбутні події:
— Воркшоп «Why Next JS is a big deal in 2023» | 29 квітня 2023
— Конференція JavaScript fwdays’23 | 16 та 20 травня 2023
— Конференція .NET fwdays’23 | 17 червня 2023

PS: на онлайн-конференції ви можете потрапити абсолютно безкоштовно 🤫

Деталі за посиланням 🔗https://bit.ly/3zAPqa6

Реклама від інформаційних партнерів
🔥15👍3
Оновлення в політиці торгової марки Rust
Нещодавно Фонд Rust зробили оголошення про те, що вони збираються оновити політику щодо торгової марки Rust - логотипів, назви та представлення.
Це не стосується талісману проекту - Ferris, бо вони, фактично, не володіють ним на правовому рівні.
Основні терміни оновленої політики:
- Якщо ви проявляєте підтримку Rust на своїх ресурсах на кшталт сайту, каналу на YouTube і т.п., ви маєте дотримуватися нової політики.
- Якщо ви створюєте навчальні матеріали, ви маєте явним чином сказати, перед першим абзацем, про те що ви не користуєтесь підтримкою Фонду Rust.
- Ви не можете використовувати торгову марку Rust на своїх аватарах, у назвах/іменах, якщо ви є комерційним продуктом.
- Ви не можете змінювати логотип Rust, ви можете лише змінювати його розмір. Зміна кольору, викривлення форми не дозволені. Кольорові варіації будуть створені окремо.
- Ви не можете мати крейт зі словом rust у його назві. Тепер ця можливість буде зарезервована для Фонду.
- Ви не можете використовувати або зареєструвати цілком, або частково елементи торгової марки як частину вашої власної марки - торгової марки, сервісної марки, доменного імені, назви компанії, назви продукту.
- Ваш логотип має бути більше за розміром, ніж марки Фонду.
- Якщо ви відповідальні за певну спільноту "Rust-ентузіастів", то ви:
  - не можете це робити доти, доки не створите і не впровадите надійний "Кодекс поведінки", який стверджує, що основним фокусом групи є програмне забезпечення на Rust.
  - Група не може створювати коштовні продукти.
  - Група не може отримувати прибуток ("profit").
  - Якщо ви проводите конференцію, вона має бути в основному про Rust, не має бути прибутковою, не може показувати вогнепальну зброю (??), має дотримуватися місцевих правил охорони здоров'я, і мати надійний "Кодекс поведінки".
🤯19🤬8👍5
Друзі, ми це зробили! 8 квітня ми провели міжнародну Rust 🦀 конференцію та завдяки вам зібрали 311 тис. грн для наших ЗСУ 🇺🇦. 14 українських та іноземних спікерів із різноманітними доповідями та ваша активна участь допомогли зробити UA Rust Conference 2023 наймасштабнішою Rust подією в межах України цього року. А ще ми залучились підтримкою надійних партнерів, з якими продовжимо співпрацю задля розвитку нашої спільноти.

🎥 Усі, хто купив квиток, отримають запис конференції до кінця наступного тижня. Тож у вас ще є можливість докупити квиточок та переглянути конференцію в записі!

🔄 Також заохочуємо вас дати фідбек по організації заходу та залишити ваші контакти, якщо ви хочете спробувати себе у ролі спікера уже під час наступної конференції! Так-так, наступної! 😌
32🔥6👏2
Новий реліз Rust 1.69.0 🦀
Оригінальний текст статті тут 👈

Cargo тепер пропонує автоматично виправити деякі попередження
Починаючи з версії Rust 1.29.0, коли команда cargo fix була вперше представлена, список попереджень, що можуть бути автоматично виправлені, постійно зростає. Для того, щоб пригорнути увагу до таких покращених можливостей, тепер Cargo буле пропонувати запустити cargo fix або cargo clippy —fix, коли помічає, що деякі попередження можуть бути автоматично виправлені.

Інформація для відлагодження тепер, за замовчуванням, не додається до build скриптів
Це було зроблено, щоб покращити швидкість компіляції. Однак, через це backtrace для build скриптів буде мати менше інформації.
Якщо вам потрібно відлагодити build скрипт, ви можете додати наступний фрагмент до вашого Cargo.toml:
[profile.dev.build-override]
debug = true
[profile.release.build-override]
debug = true

Стабілізовані API
CStr::from_bytes_until_nul
core::ffi::FromBytesUntilNulError
наступні API тепер стабільні у const контексті:
{SocketAddr, SocketAddrV4, SocketAddrV6}::new
{SocketAddr, SocketAddrV4, SocketAddrV6}::ip
{SocketAddr, SocketAddrV4, SocketAddrV6}::port
SocketAddr::{is_ipv4, is_ipv6}
SocketAddrV6::{flowinfo, scope_id}
👍93
Оголошується конкурс на менторів для наступної 🎓 навчальної групи, яка стартує в червні! Програма передбачає видачу професійного сертифіката учасникам, які завершать її успішно.

Від ментора потрібна компетентність та 4 години на тиждень протягом 2-3 місяців. За вами з напарником буде закріплена група до 15 вмотивованих людей відібраних тестуванням. В 4 години входять 2-ві зустрічі з учасниками та рев'ю їх коду. Лекції читати не треба, няньчитися теж не треба, всі учасники навчальної групи матимуть міцну базу. Програма чітка та випробувана багаторічним досвідом та дюжинами ітерацій поліпшень автором програми @tyranron й менторами та учасниками попередніх bootcamp'ів.

Наразі маємо 5 менторів. Якщо вас цікавлять привілегії 🔝 менторів тоді @wandalen_me той з ким можливо обговорити вашу участь в цій ролі. Комусь ваш внесок в популяризцію Rust в Україні точно змінить життя, а ліпший спосіб добре опанувати якесь уміння це навчити когось.

https://www.youtube.com/watch?v=1kDp2OXtV6I
🎉13🔥6🥰1
Microsoft зайнята переписуванням основного коду Windows у безпечному для пам’яті Rust

https://www.theregister.com/2023/04/27/microsoft_windows_rust/

скоро на всіх БСОДах 🤯 світу:

PANIC: called Result::unwrap() on an Err value
😁25👍4🤣3🔥1🥰1
Повчальна історія про те, як проміжне програмне забезпечення на Rust допомогло Discord зекономити мільйони доларів на підтримці їх багатокористувацького чату. Ключовим компонентом системи є база даних з широкими колонками Cassandra. Discord використало асинхронний рантайм tokio для об'єднання подібних запитів на читання в базу даних з широкими колонками у один запит.

Також, для досягнення цілей Discord перейшов з Cassandra на ScyllaDB, що дозволило уникнути проблем, пов'язаних з призупиненням роботи внаслідок очищення сміття Java GC. Однак історія замовчує, чи є якісь інші переваги ScyllaDB над Cassandra.

Відеоогляд статті
Оригінальна стаття
👍21🔥3🥰2
Forwarded from Kai Ren
Любите типчики? Тоді возрадуйтесь, бо в 1.71 компіляція типо-орієнтованого коду обіцяє стати відчутно швидшою, а місця під target/ буде потрібно трішки менше:
https://github.com/rust-lang/rust/pull/111026
👍13🔥5
Друзі, ми з радістю оголошуємо набір у 🏕 Навчальний Табір по Rust - Літо 2023!

❇️ Цей буткемп створений для тебе, якщо ти вже маєш якийсь досвід розробки та прочитав RustBook. Програма інтенсивна та розрахована на залученість у 20 годин на тиждень. Якщо не відчуваєш впевненості стосовно участі, переглянь фідбеки від учасників минулого буткемпу та запитай поради в нашому чаті.

❇️ Навчальний табір є повністю безкоштовним та проводитиметься онлайн. Старт буткемпу запланований на 26 червня, і триватиме він близько 3 місяців.
На тебе очікує:
- перевірена роками програма
- досвідчені ментори
- дружня атмосфера
А після успішного завершення передбачена професійна сертифікація, що зробить твоє резюме більш привабливим для роботодавців.

❇️ Реєстрація на курс вже відкрита, тож реєструйся на 🏕 Rust Bootcamp - Summer 2023 вже сьогодні! Не прогав можливість покращити 🔝 свої професійні навички, поліпшити свої кар'єрні перспективи та знайти друзів серед людей із подібними 🤓 інтересами.
🔥223👍1🥰1
Друзі, підбиваємо підсумки Навчальної Rust Групи!
Анкету для участі у групі заповнило 66 учасників, 28 було зараховано і після інтенсивного навчання 9-ом з них вдалось успішно завершити курс та пройти сертифікацію, з чим ми їх і вітаємо 🥳

🔥 Наш Євангеліст Ярослав написав статтю на DOU про "Перший випуск навчальної групи з Rust".

У ній він розповів такі інсайти:
- цілі нашої навчальної групи
- навіщо вона взагалі потрібна розробникам, та які вимоги щоб потрапити у неї
- навчальну програму та формат
- як ми проводимо сертифікацію учасників
- відгуки перших учасників навчальної групи
- які висновки ми зробили та як будемо покращувати процес

Заохочуємо всіх переглянути статтю та підтримати її лайком 👍⭐️

📌 Також нагадуємо, що уже розпочався набір у Rust Bootcamp - Summer 2023, тож не зволікайте із реєстрацією!
🔥22👍4
Реліз Rust 1.70.0

Привіт, Rust ентузіатси! Пару слів про нову версії Rust - 1.70.0!

Цей реліз містить декілька цікавих змін та доповнень, які покращують API та функціональність стандартної бібліотеки.

Кілька ключових оновлень:

- Стабілізації багатьох методів Atomic та NonNull типів, дефолтів для ітераторів, BinaryHeap та BTreeMap, once_cell, фіч компіляції та cargo.
- Покращення інформативності відображення заниження версії залежностей при зміні версії до більш старої ніж була до цього в проекті
- Послаблення правил впорядкування операндів asm!, що забезпечує більшу гнучкість асемблерного коду.
- Розширено -Cdebuginfo новими опціями та іменованими псевдонімами, зокрема зменшено розмір налагоджувальної інформації для випадків, коли потрібна лише інформація про номер рядка.
- Перехід на LLD компонувальник для {arm,thumb}v4t-none-eabi
- Нові таргети для компіляції: loongarch64-unknown-linux-gnu та i586-pc-nto-qnx700, що розширює підтримку платформ.
- Додано перевірку вирівнювання для розіменування вказівників, що дозволяє виявляти невизначену поведінку під час виконання.
- Стабілізовано параметр rustdoc --test-run-directory, що полегшує виконання тестів документації.
- Оновлення до LLVM 16, що забезпечує покращення продуктивності та сумісність з останньою версією LLVM.
- "sparse" протокол Cargo тепер увімкнено за замовчуванням для читання індексу з crates.io.
- Стабілізовано два нових типи для одноразової ініціалізації спільних даних: OnceCell та його потокобезпечний аналог OnceLock.
- Після компіляції функцій #[test] виконуваний файл отримує інтерфейс командного рядка з test crate. Цей інтерфейс має низку опцій, у тому числі деякі з них ще не стабілізовано, і вони потребують вказівки опції -Zunstable-options, як і багато інших команд у наборі інструментів Rust. Однак, хоча це передбачено лише для нічних збірок, це обмеження не було активним у test - до цього часу. Починаючи з версії 1.70.0, стабільні та бета-збірки Rust більше не дозволятимуть нестабільні параметри test.

Повний апдейт ви можете прочитати тут.
Переконайтесь, що новили Rust компілятор до останньої версії, щоб скористатися всіма нововведеннями. Вдалої розробки на Rust!
👍134🫡4🔥3🥰1👌1
🦀 Наш Євангеліст Ярослав випустив чергову статтю на DOU "Чому обирають Rust".

У цій статті розкрито такі питання:
- чому бізнес вибирає Rust
- чому фахівці обирають Rust
- для чого потрібен Rust Bootcamp
- агресивна стратегія для перекваліфікації на Rust та Альтернативи

🔥 Переходьте за посиланням та підтримайте статтю вподобайкою!
🔥164
Привіт, друзі! Раді представити одну із доповідей UA Rust Conference 2023 на тему “Using WebAssembly in the backend” 🔥

У цій доповіді Андрій Сокирко розповідає:

▪️ Що таке WASM
▪️ WASM для плагінів у вашому проекті
▪️ Альтернатива контейнерам
▪️ Bytecodealliance, Components Model
▪️ Чим запустити WASM (runtimes)
▪️ Популярні рантайми написані на Rust

Переходь за посиланням та став вподобайку!
🔥245
Що нового в Rust 1.71.0

Мова

* Виправлення лінтів `{dropping,forgetting}_{references,copy_types}` які тепер видаватимуть попередження при виклику `std::mem::drop` та `std::mem::forget` на копі типах та посиланнях

Компілятор

* Прапірець компілятора який виводить інформацію про таргет деплою для Apple девайсів, їх версію та тип (macos, ios, watchos, tvos)

* Стабілізації ABIs (`extern "C"`) тепер доступні під фічею `c_unwind` які дозволяють розмотку стеку між різними мовами

* Оновлення таргету `*-linux-musl` що дозволяє використовувати time64 на 32-бітних системах

* Фіча `flatten-format-args` для генерації оптимальнішого коду макросом `println!` тепер увімкнена по дефолту.

* Дефолтний CPU для таргету `aarch64-apple-darwin` тепер Apple M1 замість Apple A14
Новий таргет `x86_64h-apple-darwin` для старих Apple девайсів

Бібліотеки

* Перероблена обробка рекурсивних панік (наприклад паніка в дропі після іншої паніки) що врятує від дедлоку при бектрейсі

* Баунд на `From<&[T]> for Box<[T]>` тепер потребує лише `T: Clone замість T: Copy`

* Прибраний баунд T: `Send на SendError<T>`, `TrySendError<T>` та `SendTimeoutError<T>`

* Стабілізації деяких методів` NonZeroI*, CStr::is_empty, BuildHasher::hash_one` та інше

Cargo

* Метадата cargo тепер включає в себе дефолтні пакети воркспейсу

* Тепер cargo буде обирати крейти по найбільш підходящій (встановленій) версії расту якщо вона вказана в інформації про крейт

* При створенні нового проекту через `cargo new`/` cargo init` у воркспейсі будуть успадковані його поля

Документація

* Новий лінт для документації '#![warn(rustdoc::unescaped_backticks)]` який попереджає про незакриті backticks

* Закреслення в документації тепер пишиться одинарними тільдами (`~~old~~` vs. `~new~`)
🎉15