Оновлення в політиці торгової марки Rust
Нещодавно Фонд Rust зробили оголошення про те, що вони збираються оновити політику щодо торгової марки Rust - логотипів, назви та представлення.
Це не стосується талісману проекту - Ferris, бо вони, фактично, не володіють ним на правовому рівні.
Основні терміни оновленої політики:
- Якщо ви проявляєте підтримку Rust на своїх ресурсах на кшталт сайту, каналу на YouTube і т.п., ви маєте дотримуватися нової політики.
- Якщо ви створюєте навчальні матеріали, ви маєте явним чином сказати, перед першим абзацем, про те що ви не користуєтесь підтримкою Фонду Rust.
- Ви не можете використовувати торгову марку Rust на своїх аватарах, у назвах/іменах, якщо ви є комерційним продуктом.
- Ви не можете змінювати логотип Rust, ви можете лише змінювати його розмір. Зміна кольору, викривлення форми не дозволені. Кольорові варіації будуть створені окремо.
- Ви не можете мати крейт зі словом
- Ви не можете використовувати або зареєструвати цілком, або частково елементи торгової марки як частину вашої власної марки - торгової марки, сервісної марки, доменного імені, назви компанії, назви продукту.
- Ваш логотип має бути більше за розміром, ніж марки Фонду.
- Якщо ви відповідальні за певну спільноту "Rust-ентузіастів", то ви:
- не можете це робити доти, доки не створите і не впровадите надійний "Кодекс поведінки", який стверджує, що основним фокусом групи є програмне забезпечення на Rust.
- Група не може створювати коштовні продукти.
- Група не може отримувати прибуток ("profit").
- Якщо ви проводите конференцію, вона має бути в основному про Rust, не має бути прибутковою, не може показувати вогнепальну зброю (??), має дотримуватися місцевих правил охорони здоров'я, і мати надійний "Кодекс поведінки".
Нещодавно Фонд Rust зробили оголошення про те, що вони збираються оновити політику щодо торгової марки Rust - логотипів, назви та представлення.
Це не стосується талісману проекту - Ferris, бо вони, фактично, не володіють ним на правовому рівні.
Основні терміни оновленої політики:
- Якщо ви проявляєте підтримку Rust на своїх ресурсах на кшталт сайту, каналу на YouTube і т.п., ви маєте дотримуватися нової політики.
- Якщо ви створюєте навчальні матеріали, ви маєте явним чином сказати, перед першим абзацем, про те що ви не користуєтесь підтримкою Фонду Rust.
- Ви не можете використовувати торгову марку Rust на своїх аватарах, у назвах/іменах, якщо ви є комерційним продуктом.
- Ви не можете змінювати логотип Rust, ви можете лише змінювати його розмір. Зміна кольору, викривлення форми не дозволені. Кольорові варіації будуть створені окремо.
- Ви не можете мати крейт зі словом
rust у його назві. Тепер ця можливість буде зарезервована для Фонду.- Ви не можете використовувати або зареєструвати цілком, або частково елементи торгової марки як частину вашої власної марки - торгової марки, сервісної марки, доменного імені, назви компанії, назви продукту.
- Ваш логотип має бути більше за розміром, ніж марки Фонду.
- Якщо ви відповідальні за певну спільноту "Rust-ентузіастів", то ви:
- не можете це робити доти, доки не створите і не впровадите надійний "Кодекс поведінки", який стверджує, що основним фокусом групи є програмне забезпечення на Rust.
- Група не може створювати коштовні продукти.
- Група не може отримувати прибуток ("profit").
- Якщо ви проводите конференцію, вона має бути в основному про Rust, не має бути прибутковою, не може показувати вогнепальну зброю (??), має дотримуватися місцевих правил охорони здоров'я, і мати надійний "Кодекс поведінки".
X (formerly Twitter)
Rust Foundation (@rust_foundation) on X
From today through April 16, we invite you to review the current draft of the updated Rust Trademark Policy and share any feedback you might have using this form.
Your responses will help us ensure the Rust Trademark Policy is useful for all! 🦀
http…
Your responses will help us ensure the Rust Trademark Policy is useful for all! 🦀
http…
🤯19🤬8👍5
Друзі, ми це зробили! 8 квітня ми провели міжнародну Rust 🦀 конференцію та завдяки вам зібрали 311 тис. грн для наших ЗСУ 🇺🇦. 14 українських та іноземних спікерів із різноманітними доповідями та ваша активна участь допомогли зробити UA Rust Conference 2023 наймасштабнішою Rust подією в межах України цього року. А ще ми залучились підтримкою надійних партнерів, з якими продовжимо співпрацю задля розвитку нашої спільноти.
🎥 Усі, хто купив квиток, отримають запис конференції до кінця наступного тижня. Тож у вас ще є можливість докупити квиточок та переглянути конференцію в записі!
🔄 Також заохочуємо вас дати фідбек по організації заходу та залишити ваші контакти, якщо ви хочете спробувати себе у ролі спікера уже під час наступної конференції! Так-так, наступної! 😌
🎥 Усі, хто купив квиток, отримають запис конференції до кінця наступного тижня. Тож у вас ще є можливість докупити квиточок та переглянути конференцію в записі!
🔄 Також заохочуємо вас дати фідбек по організації заходу та залишити ваші контакти, якщо ви хочете спробувати себе у ролі спікера уже під час наступної конференції! Так-так, наступної! 😌
❤32🔥6👏2
Новий реліз Rust 1.69.0 🦀
Оригінальний текст статті тут 👈
Cargo тепер пропонує автоматично виправити деякі попередження
Починаючи з версії Rust 1.29.0, коли команда
Інформація для відлагодження тепер, за замовчуванням, не додається до build скриптів
Це було зроблено, щоб покращити швидкість компіляції. Однак, через це backtrace для build скриптів буде мати менше інформації.
Якщо вам потрібно відлагодити build скрипт, ви можете додати наступний фрагмент до вашого Cargo.toml:
Оригінальний текст статті тут 👈
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
Стабілізовані APICStr::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}blog.rust-lang.org
Announcing Rust 1.69.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
👍9❤3
Оголошується конкурс на менторів для наступної 🎓 навчальної групи, яка стартує в червні! Програма передбачає видачу професійного сертифіката учасникам, які завершать її успішно.
Від ментора потрібна компетентність та 4 години на тиждень протягом 2-3 місяців. За вами з напарником буде закріплена група до 15 вмотивованих людей відібраних тестуванням. В 4 години входять 2-ві зустрічі з учасниками та рев'ю їх коду. Лекції читати не треба, няньчитися теж не треба, всі учасники навчальної групи матимуть міцну базу. Програма чітка та випробувана багаторічним досвідом та дюжинами ітерацій поліпшень автором програми @tyranron й менторами та учасниками попередніх bootcamp'ів.
Наразі маємо 5 менторів. Якщо вас цікавлять привілегії 🔝 менторів тоді @wandalen_me той з ким можливо обговорити вашу участь в цій ролі. Комусь ваш внесок в популяризцію Rust в Україні точно змінить життя, а ліпший спосіб добре опанувати якесь уміння це навчити когось.
https://www.youtube.com/watch?v=1kDp2OXtV6I
Від ментора потрібна компетентність та 4 години на тиждень протягом 2-3 місяців. За вами з напарником буде закріплена група до 15 вмотивованих людей відібраних тестуванням. В 4 години входять 2-ві зустрічі з учасниками та рев'ю їх коду. Лекції читати не треба, няньчитися теж не треба, всі учасники навчальної групи матимуть міцну базу. Програма чітка та випробувана багаторічним досвідом та дюжинами ітерацій поліпшень автором програми @tyranron й менторами та учасниками попередніх bootcamp'ів.
Наразі маємо 5 менторів. Якщо вас цікавлять привілегії 🔝 менторів тоді @wandalen_me той з ким можливо обговорити вашу участь в цій ролі. Комусь ваш внесок в популяризцію Rust в Україні точно змінить життя, а ліпший спосіб добре опанувати якесь уміння це навчити когось.
https://www.youtube.com/watch?v=1kDp2OXtV6I
YouTube
Rust Bootcamp - Feedback
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
🎉13🔥6🥰1
Microsoft зайнята переписуванням основного коду Windows у безпечному для пам’яті Rust
https://www.theregister.com/2023/04/27/microsoft_windows_rust/
скоро на всіх БСОДах 🤯 світу:
https://www.theregister.com/2023/04/27/microsoft_windows_rust/
скоро на всіх БСОДах 🤯 світу:
PANIC: called Result::unwrap() on an Err value
The Register
Microsoft is busy rewriting core Windows code in memory-safe Rust
Now that's a C change we can back
😁25👍4🤣3🔥1🥰1
Повчальна історія про те, як проміжне програмне забезпечення на Rust допомогло Discord зекономити мільйони доларів на підтримці їх багатокористувацького чату. Ключовим компонентом системи є база даних з широкими колонками Cassandra. Discord використало асинхронний рантайм tokio для об'єднання подібних запитів на читання в базу даних з широкими колонками у один запит.
Також, для досягнення цілей Discord перейшов з Cassandra на ScyllaDB, що дозволило уникнути проблем, пов'язаних з призупиненням роботи внаслідок очищення сміття Java GC. Однак історія замовчує, чи є якісь інші переваги ScyllaDB над Cassandra.
Відеоогляд статті
Оригінальна стаття
Також, для досягнення цілей Discord перейшов з Cassandra на ScyllaDB, що дозволило уникнути проблем, пов'язаних з призупиненням роботи внаслідок очищення сміття Java GC. Однак історія замовчує, чи є якісь інші переваги ScyllaDB над Cassandra.
Відеоогляд статті
Оригінальна стаття
YouTube
How Discord Stores Trillions of Messages | Deep Dive
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
https://database.husseinnasser.com
Discord engineering goes into details of how they migrated from Cassandra to ScyllaDB, improved the performance of their reads and…
https://database.husseinnasser.com
Discord engineering goes into details of how they migrated from Cassandra to ScyllaDB, improved the performance of their reads and…
👍21🔥3🥰2
Forwarded from Kai Ren
Любите типчики? Тоді возрадуйтесь, бо в 1.71 компіляція типо-орієнтованого коду обіцяє стати відчутно швидшою, а місця під
https://github.com/rust-lang/rust/pull/111026
target/ буде потрібно трішки менше:https://github.com/rust-lang/rust/pull/111026
GitHub
Only cache typeck results if it's the typeck root by compiler-errors · Pull Request #111026 · rust-lang/rust
context: https://rust-lang.zulipchat.com/#narrow/stream/241847-t-compiler.2Fwg-incr-comp/topic/incr_comp_query_cache_promotion.20taking.20forever
Basically, typeck children just copy the typeck res...
Basically, typeck children just copy the typeck res...
👍13🔥5
Друзі, ми з радістю оголошуємо набір у 🏕 Навчальний Табір по Rust - Літо 2023!
❇️ Цей буткемп створений для тебе, якщо ти вже маєш якийсь досвід розробки та прочитав RustBook. Програма інтенсивна та розрахована на залученість у 20 годин на тиждень. Якщо не відчуваєш впевненості стосовно участі, переглянь фідбеки від учасників минулого буткемпу та запитай поради в нашому чаті.
❇️ Навчальний табір є повністю безкоштовним та проводитиметься онлайн. Старт буткемпу запланований на 26 червня, і триватиме він близько 3 місяців.
На тебе очікує:
- перевірена роками програма
- досвідчені ментори
- дружня атмосфера
А після успішного завершення передбачена професійна сертифікація, що зробить твоє резюме більш привабливим для роботодавців.
❇️ Реєстрація на курс вже відкрита, тож реєструйся на 🏕 Rust Bootcamp - Summer 2023 вже сьогодні! Не прогав можливість покращити 🔝 свої професійні навички, поліпшити свої кар'єрні перспективи та знайти друзів серед людей із подібними 🤓 інтересами.
❇️ Цей буткемп створений для тебе, якщо ти вже маєш якийсь досвід розробки та прочитав RustBook. Програма інтенсивна та розрахована на залученість у 20 годин на тиждень. Якщо не відчуваєш впевненості стосовно участі, переглянь фідбеки від учасників минулого буткемпу та запитай поради в нашому чаті.
❇️ Навчальний табір є повністю безкоштовним та проводитиметься онлайн. Старт буткемпу запланований на 26 червня, і триватиме він близько 3 місяців.
На тебе очікує:
- перевірена роками програма
- досвідчені ментори
- дружня атмосфера
А після успішного завершення передбачена професійна сертифікація, що зробить твоє резюме більш привабливим для роботодавців.
❇️ Реєстрація на курс вже відкрита, тож реєструйся на 🏕 Rust Bootcamp - Summer 2023 вже сьогодні! Не прогав можливість покращити 🔝 свої професійні навички, поліпшити свої кар'єрні перспективи та знайти друзів серед людей із подібними 🤓 інтересами.
🔥22❤3👍1🥰1
Друзі, підбиваємо підсумки Навчальної Rust Групи!
Анкету для участі у групі заповнило 66 учасників, 28 було зараховано і після інтенсивного навчання 9-ом з них вдалось успішно завершити курс та пройти сертифікацію, з чим ми їх і вітаємо 🥳
🔥 Наш Євангеліст Ярослав написав статтю на DOU про "Перший випуск навчальної групи з Rust".
У ній він розповів такі інсайти:
- цілі нашої навчальної групи
- навіщо вона взагалі потрібна розробникам, та які вимоги щоб потрапити у неї
- навчальну програму та формат
- як ми проводимо сертифікацію учасників
- відгуки перших учасників навчальної групи
- які висновки ми зробили та як будемо покращувати процес
Заохочуємо всіх переглянути статтю та підтримати її лайком 👍⭐️
📌 Також нагадуємо, що уже розпочався набір у Rust Bootcamp - Summer 2023, тож не зволікайте із реєстрацією!
Анкету для участі у групі заповнило 66 учасників, 28 було зараховано і після інтенсивного навчання 9-ом з них вдалось успішно завершити курс та пройти сертифікацію, з чим ми їх і вітаємо 🥳
🔥 Наш Євангеліст Ярослав написав статтю на DOU про "Перший випуск навчальної групи з Rust".
У ній він розповів такі інсайти:
- цілі нашої навчальної групи
- навіщо вона взагалі потрібна розробникам, та які вимоги щоб потрапити у неї
- навчальну програму та формат
- як ми проводимо сертифікацію учасників
- відгуки перших учасників навчальної групи
- які висновки ми зробили та як будемо покращувати процес
Заохочуємо всіх переглянути статтю та підтримати її лайком 👍⭐️
📌 Також нагадуємо, що уже розпочався набір у Rust Bootcamp - Summer 2023, тож не зволікайте із реєстрацією!
DOU
Перший випуск навчальної групи з Rust
Привіт, розпочався другий набір у групи для вивчення мови програмування Rust, а перший набір вже випустився.
В мене є можливість розповісти про
В мене є можливість розповісти про
🔥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.
- Після компіляції функцій
Повний апдейт ви можете прочитати тут.
Переконайтесь, що новили Rust компілятор до останньої версії, щоб скористатися всіма нововведеннями. Вдалої розробки на Rust!
Привіт, 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!
GitHub
Release Rust 1.70.0 · rust-lang/rust
Language
Relax ordering rules for asm! operands
Properly allow macro expanded format_args invocations to uses captures
Lint ambiguous glob re-exports
Perform const and unsafe checking for expressi...
Relax ordering rules for asm! operands
Properly allow macro expanded format_args invocations to uses captures
Lint ambiguous glob re-exports
Perform const and unsafe checking for expressi...
👍13❤4🫡4🔥3🥰1👌1
Forwarded from Max Grom
Не найсвіжіше, але комусь та пригодиться:
https://betterprogramming.pub/monitoring-a-rust-web-application-using-prometheus-and-grafana-3c75d9435dec
https://betterprogramming.pub/monitoring-a-rust-web-application-using-prometheus-and-grafana-3c75d9435dec
Medium
Monitoring a Rust Web Application Using Prometheus and Grafana
Actix + Prometheus + Grafana
❤11
🦀 Наш Євангеліст Ярослав випустив чергову статтю на DOU "Чому обирають Rust".
У цій статті розкрито такі питання:
- чому бізнес вибирає Rust
- чому фахівці обирають Rust
- для чого потрібен Rust Bootcamp
- агресивна стратегія для перекваліфікації на Rust та Альтернативи
🔥 Переходьте за посиланням та підтримайте статтю вподобайкою!
У цій статті розкрито такі питання:
- чому бізнес вибирає Rust
- чому фахівці обирають Rust
- для чого потрібен Rust Bootcamp
- агресивна стратегія для перекваліфікації на Rust та Альтернативи
🔥 Переходьте за посиланням та підтримайте статтю вподобайкою!
DOU
Чому обирають Rust
Привіт, в травні я готував статтю про перший випуск навчальної групи з Rust, зголосився готувати статтю за власним бажанням бо мені подобається Rust й звісно сама спільнот
🔥16❤4
DOU збирають респондентів для анонімного зарплатного опитування: https://dou.ua/goto/bnHM
Шукають ще 2 000 розробників, тож саме ваша анкета дуже важлива.
Проходження опитування займає всього 10 хв 🤌🏻
Приєднуйтесь!
Шукають ще 2 000 розробників, тож саме ваша анкета дуже важлива.
Проходження опитування займає всього 10 хв 🤌🏻
Приєднуйтесь!
Google Docs
Портрет і зарплатне опитування DOU, літо 2023
Не зраджуємо традиції і продовжуємо щопівроку збирати анонімні дані про зарплати українських IT-спеціалістів. Як завжди влітку, до зарплат додаємо ще опитування «Портрет ІТ-спеціаліста».
Якщо ви зараз знаходитеся в Україні або переїхали за кордон через…
Якщо ви зараз знаходитеся в Україні або переїхали за кордон через…
👏11👍2🎄1
Привіт, друзі! Раді представити одну із доповідей UA Rust Conference 2023 на тему “Using WebAssembly in the backend” 🔥
У цій доповіді Андрій Сокирко розповідає:
▪️ Що таке WASM
▪️ WASM для плагінів у вашому проекті
▪️ Альтернатива контейнерам
▪️ Bytecodealliance, Components Model
▪️ Чим запустити WASM (runtimes)
▪️ Популярні рантайми написані на Rust
Переходь за посиланням та став вподобайку!
У цій доповіді Андрій Сокирко розповідає:
▪️ Що таке WASM
▪️ WASM для плагінів у вашому проекті
▪️ Альтернатива контейнерам
▪️ Bytecodealliance, Components Model
▪️ Чим запустити WASM (runtimes)
▪️ Популярні рантайми написані на Rust
Переходь за посиланням та став вподобайку!
YouTube
Using WebAssembly in the backend
Speech 7
Topic: "Using WebAssembly in the backend"
Speaker: Андрій Сокирко
Language: ukrainian 🇺🇦
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/1whp7J9rPdnqxsxH_2PLSXY-fIzdJ-BxD/view?usp=share_link
About presentaion:…
Topic: "Using WebAssembly in the backend"
Speaker: Андрій Сокирко
Language: ukrainian 🇺🇦
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/1whp7J9rPdnqxsxH_2PLSXY-fIzdJ-BxD/view?usp=share_link
About presentaion:…
🔥24❤5
Що нового в Rust 1.71.0
Мова
* Виправлення лінтів `
Компілятор
* Прапірець компілятора який виводить інформацію про таргет деплою для Apple девайсів, їх версію та тип (macos, ios, watchos, tvos)
* Стабілізації ABIs (`extern "C"`) тепер доступні під фічею `
* Оновлення таргету `
* Фіча `flatten-format-args` для генерації оптимальнішого коду макросом `println!` тепер увімкнена по дефолту.
* Дефолтний CPU для таргету `
Новий таргет `
Бібліотеки
* Перероблена обробка рекурсивних панік (наприклад паніка в дропі після іншої паніки) що врятує від дедлоку при бектрейсі
* Баунд на `
* Прибраний баунд
* Стабілізації деяких методів`
Cargo
* Метадата cargo тепер включає в себе дефолтні пакети воркспейсу
* Тепер cargo буде обирати крейти по найбільш підходящій (встановленій) версії расту якщо вона вказана в інформації про крейт
* При створенні нового проекту через `cargo new`/` cargo init` у воркспейсі будуть успадковані його поля
Документація
* Новий лінт для документації '
* Закреслення в документації тепер пишиться одинарними тільдами (`~~old~~` vs. `~new~`)
Мова
* Виправлення лінтів `
{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~`)
GitHub
Release Rust 1.71.0 · rust-lang/rust
Language
Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool.
Uplift clippy::{drop,forget}_{ref,copy} lints.
Type inference is more conservative around constrained vars.
Use fulfillm...
Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool.
Uplift clippy::{drop,forget}_{ref,copy} lints.
Type inference is more conservative around constrained vars.
Use fulfillm...
🎉15
Раді вам представити Software Architecture fwdays'23 — це конференція, присвячена практичним питанням архітектури програмного забезпечення 🙌. Серед тем події: Solution Architecture, System Architecture, Cloud Architecture та DevOps.
На конференції будуть українські та міжнародні експерти у сфері розробки software architecture, дискусії з ТОП-спеціалістами, розбір актуальних кейсів💪
🗓 Дата: 19 вересня та 23 вересня
🗣 Формат: онлайн та офлайн (у Києві)
🎙 Мови доповідей: українська та англійська
Є два типи квитків:
✔️ONLINE TICKET (доступ та записи всіх ефірів, Q&A зі спікерами, приватний чат, сертифікат участі)
✔️FULL TICKET (всі опції з ONLINE TICKET, Offline участь у конференції, живий нетворкінг, смачний обід та кава-брейки)
Використайте промокод 79E0FFCDE7 та отримайте знижку 10%, читайте відгуки та деталі за посиланням 👉https://bit.ly/3pVTWOZ
Також команда Fwdays шукає спікерів та спікерок! 🤓 Маєте класний практичний досвід у розробці Software Architecture та хочете виступити на конференції? Будь ласка, заповніть форму до 7 серпня!
*На правах реклами від інформаційного партнера*
На конференції будуть українські та міжнародні експерти у сфері розробки software architecture, дискусії з ТОП-спеціалістами, розбір актуальних кейсів💪
🗓 Дата: 19 вересня та 23 вересня
🗣 Формат: онлайн та офлайн (у Києві)
🎙 Мови доповідей: українська та англійська
Є два типи квитків:
✔️ONLINE TICKET (доступ та записи всіх ефірів, Q&A зі спікерами, приватний чат, сертифікат участі)
✔️FULL TICKET (всі опції з ONLINE TICKET, Offline участь у конференції, живий нетворкінг, смачний обід та кава-брейки)
Використайте промокод 79E0FFCDE7 та отримайте знижку 10%, читайте відгуки та деталі за посиланням 👉https://bit.ly/3pVTWOZ
Також команда Fwdays шукає спікерів та спікерок! 🤓 Маєте класний практичний досвід у розробці Software Architecture та хочете виступити на конференції? Будь ласка, заповніть форму до 7 серпня!
*На правах реклами від інформаційного партнера*
Facebook
Software Architecture fwdays'23 conference
Networking event by Fwdays - Tech Events on Tuesday, September 19 2023
👏7
🎓 Шукаємо Rust викладача в університет!
Привіт, спільното! Одна з наших цілей - інтеграція Rust 🦀 в українські університети. Зараз ми ведемо переговори і маємо попередні домовленості з декількома з кращих ВНЗ-ів України щоб інтегрувати в навчальну програму Rust. Серед них: Києво-Могилянська академія. КНУТД, Київський політехнічний інститут, УКУ та інші.
Нам бракує 🔎 тих, хто мріє про те, щоб викладати в університеті улюблену мову програмування на 1/4, 1/2, 3/4 або навіть на повну ставку. 💼 Натомість ви можете отримати викладацький досвід, внести свій вклад у розвиток освітньої системи України, а працевлаштування на 3/4 ставки дає ще й імунітет від зони бойових дій.
Звертайтесь до @wandalen_me
Привіт, спільното! Одна з наших цілей - інтеграція Rust 🦀 в українські університети. Зараз ми ведемо переговори і маємо попередні домовленості з декількома з кращих ВНЗ-ів України щоб інтегрувати в навчальну програму Rust. Серед них: Києво-Могилянська академія. КНУТД, Київський політехнічний інститут, УКУ та інші.
Нам бракує 🔎 тих, хто мріє про те, щоб викладати в університеті улюблену мову програмування на 1/4, 1/2, 3/4 або навіть на повну ставку. 💼 Натомість ви можете отримати викладацький досвід, внести свій вклад у розвиток освітньої системи України, а працевлаштування на 3/4 ставки дає ще й імунітет від зони бойових дій.
Звертайтесь до @wandalen_me
❤16🤷♂4👍2🫡1
Друзі, раді опублікувати наступну доповідь “Fuzz testing in Rust” із UA Rust Conference 2023 🦀
Тут доповідач Григорій Гонта розповідає:
▪️What is fuzz testing
▪️When you need it
▪️Available tools
▪️Setup initial input
▪️Understand output
▪️Demo time
Переходьте за посиланням та ставте вподобайку!
Тут доповідач Григорій Гонта розповідає:
▪️What is fuzz testing
▪️When you need it
▪️Available tools
▪️Setup initial input
▪️Understand output
▪️Demo time
Переходьте за посиланням та ставте вподобайку!
YouTube
Fuzz testing in Rust / Fuzz тестування у Rust (Gregory Gonta)
Speech 4
Topic: "Fuzz testing in Rust"
Speaker: Григорій Гонта
Language: ukrainian 🇺🇦
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/1LNeUOVFq6X9_jl5io7mN30OviBHDuFsb/view?usp=share_link
About presentaion:
У доповіді…
Topic: "Fuzz testing in Rust"
Speaker: Григорій Гонта
Language: ukrainian 🇺🇦
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/1LNeUOVFq6X9_jl5io7mN30OviBHDuFsb/view?usp=share_link
About presentaion:
У доповіді…
🔥11❤4
Наступна 🎤 доповідь про “Property-Based Testing”, яка була на UA Rust conference 2023 від Сергія Потапова. У ній доповідач розповідає:
▪️Що таке property-based тести та як вони працюють
▪️У чому різниця між property-based тестами та fuzzing'ом
▪️Існуючі бібліотеки для property-based тестів та їх порівняння
▪️Наглядний приклад використання бібліотек
▪️На що варто звернути увагу
Переходь за посиланням та став вподобайку!
▪️Що таке property-based тести та як вони працюють
▪️У чому різниця між property-based тестами та fuzzing'ом
▪️Існуючі бібліотеки для property-based тестів та їх порівняння
▪️Наглядний приклад використання бібліотек
▪️На що варто звернути увагу
Переходь за посиланням та став вподобайку!
YouTube
Property based testing in Rust / Property based тестування у Rust (Sergiy Potapov)
Speech 3
Topic: "Property based testing in Rust"
Speaker: Сергій Потапов
Language: ukrainian 🇺🇦, english 🇬🇧
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/13rPFtlzuaiz-hKhS9DNftFrSdlxqhD6K/view?usp=sharing
About presentaion:…
Topic: "Property based testing in Rust"
Speaker: Сергій Потапов
Language: ukrainian 🇺🇦, english 🇬🇧
Subnoscripts: english 🇬🇧 , ukrainian 🇺🇦
Presentation: https://drive.google.com/file/d/13rPFtlzuaiz-hKhS9DNftFrSdlxqhD6K/view?usp=sharing
About presentaion:…
🔥10👌1
Forwarded from Kostyantyn Wandalen
Прекомпільований serde_derive макрос та ризики пов'язані з ним
З версії 1.0.171
Зі слів, dtolnay, це було зроблено з метою пришвидшення компіляції проєктів, які використовують `serde. Проте такий хід dtolnay, веде до порушення декількох умов контракту між розробником FOSS та користувачами, а саме:
- прозорість процесу компіляції - це безпекові ризики
- обіцяна кросплатформеність, - бо бінарник був зібраний лише для x64 систем.
- версіонування змін, зміна лише "патчу" 1.0.170 -> 1.0.171 порушує semver домовленість і потенційно ламає системи в продакшені ( саме так світ і дізнався про зміну сховану під капотом )
Створюється враження, що цією зміною
Навіть після відкату цих нововведень мейнтейнер
З версії 1.0.171
serde_derive використовує прекомпільований бінарник макросу. Процедурні макорси виконуються на машині розробника, як звичайна програма та генерують код на основі вхідних аргументів. serde дуже популярний крейт і це означає, що скомпільований автором бінарник буде виконуватися на мільйонах машин, що потенційно є загрозою безпеці, бо такий бінарник має повний доступ до середовища в якому збирається програма і якщо відбудеться підміна файла на сервері то середовище розробника разом із всіма його секретами стане доступним зловмиснику.Зі слів, dtolnay, це було зроблено з метою пришвидшення компіляції проєктів, які використовують `serde. Проте такий хід dtolnay, веде до порушення декількох умов контракту між розробником FOSS та користувачами, а саме:
- прозорість процесу компіляції - це безпекові ризики
- обіцяна кросплатформеність, - бо бінарник був зібраний лише для x64 систем.
- версіонування змін, зміна лише "патчу" 1.0.170 -> 1.0.171 порушує semver домовленість і потенційно ламає системи в продакшені ( саме так світ і дізнався про зміну сховану під капотом )
Створюється враження, що цією зміною
dtolnay намагався змусити мейтнейнрів crates.io зробити зміни, котрі необхідні для оптимізації швидкості збірки. І хоча такі мотиви загальнокорисні, але методи їх досягнення через нав'язування, а також тон спілкування лишають осад, а порушення договору робить появу форка serde ймовірною.Навіть після відкату цих нововведень мейнтейнер
serde стоїть на своєму, що можна зрозуміти зокрема із опису релізу 1.0.184.👾4🔥2😱1
Що нового в Rust 1.72.0
Мова
* Змінена поведінка
видаляє лише атрибути нижче себе
* Лінти clippy перенесено в Rust: undropped_manually_drops, invalid_utf8_in_unchecked, cast_ref_to_mut, cmp_nan
* Прибрана вимога мати асоційовані типи з
Компілятор
* Імена об'єктів які конфігуруються фічами тепер видно в діагностиці (наприклад використання
* Всі нативні бібліотеки тепер примусово лінкуються статично, якщо збирається статична бібліотека
* Виправлення відображення діагностичної інформації про 128-бітних enum'ів
Бібліотеки
* Детальніше розписана документація для
* Прибрані явні
* Повернення
* Додана імплементація
* Використання u128 для TypeId хешу замість u64
Документація
* Оновлена гарантія часу виконання
* Тепер пробіл можна використовувати як сепаратор шляху, так само як
* Тип об'єктів тепер видно в пошуку і текстом, а не просто кольором, як раніше
* Фіча пошуку в документації, як анбоксінг -
* Пошук слайсів та масивів тепер можна робити по
Cargo
* При запуску тестів документації поточна директорія ставиться на сам крейт в воркспейсах, а не увесь воркспейс
Мова
* Змінена поведінка
#![cfg(FALSE)] - раніше він видаляв всі атрибути з, а видаляє лише атрибути нижче себе
* Лінти clippy перенесено в Rust: undropped_manually_drops, invalid_utf8_in_unchecked, cast_ref_to_mut, cmp_nan
* Прибрана вимога мати асоційовані типи з
Self: Sized баундом на dyn Trait об'єктах Компілятор
* Імена об'єктів які конфігуруються фічами тепер видно в діагностиці (наприклад використання
Deserialize без фічі derive в serde буде краще описуватись) * Всі нативні бібліотеки тепер примусово лінкуються статично, якщо збирається статична бібліотека
* Виправлення відображення діагностичної інформації про 128-бітних enum'ів
Бібліотеки
* Детальніше розписана документація для
thread::{park, unpark}, HashSet::insert, io::Write::write * Прибрані явні
T: Sized баунди на BufReader<T>, BufWriter<T> та LineWriter<T> * Повернення
Ok при спробі вбити процес який вже завершився * Додана імплементація
PartialOrd на Vec для різних алокаторів * Використання u128 для TypeId хешу замість u64
Документація
* Оновлена гарантія часу виконання
select_nth_unstable з O(n) на O(n log n) * Тепер пробіл можна використовувати як сепаратор шляху, так само як
:: * Тип об'єктів тепер видно в пошуку і текстом, а не просто кольором, як раніше
* Фіча пошуку в документації, як анбоксінг -
Vec<i32> можна знайти по i32 * Пошук слайсів та масивів тепер можна робити по
[] Cargo
* При запуску тестів документації поточна директорія ставиться на сам крейт в воркспейсах, а не увесь воркспейс
Gist
rust-1.72.0.md
GitHub Gist: instantly share code, notes, and snippets.
👍5❤3🔥2