Пишем на Rust расширение для SQLite, чтобы научить его работать с файлами Excel
В этой статье я расскажу как на Rust написать расширение для SQLite. В частности мы поговорим о том, что такое виртуальные таблицы, и как мы можем их реализовать на Rust.
Rus https://habr.com/ru/post/677418/
Eng https://sergey.khabibullin.com/sqlite-extensions-in-rust/
В этой статье я расскажу как на Rust написать расширение для SQLite. В частности мы поговорим о том, что такое виртуальные таблицы, и как мы можем их реализовать на Rust.
Rus https://habr.com/ru/post/677418/
Eng https://sergey.khabibullin.com/sqlite-extensions-in-rust/
👍4
Media is too big
VIEW IN TELEGRAM
Rust Tutorial Full Course
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
#RustTutorial #Rust #RustProgramming
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
#RustTutorial #Rust #RustProgramming
👍5
Консольный UI и отказ от асинхронного кода в idewave-cli
С выходом версии 1.0.1 я решил осветить некоторые аспекты технической стороны моего проекта. В этой статье я расскажу про использование библиотеки tui-rs и про нюансы использования библиотеки tokio-rs, а так же постараюсь рассказать, что же было исправлено и почему так, как было раньше делать не надо. Добро пожаловать в статью - возможно, кому-то она поможет на тернистом пути погружения (или восхождения) в Rust.
https://habr.com/ru/post/681556/
С выходом версии 1.0.1 я решил осветить некоторые аспекты технической стороны моего проекта. В этой статье я расскажу про использование библиотеки tui-rs и про нюансы использования библиотеки tokio-rs, а так же постараюсь рассказать, что же было исправлено и почему так, как было раньше делать не надо. Добро пожаловать в статью - возможно, кому-то она поможет на тернистом пути погружения (или восхождения) в Rust.
https://habr.com/ru/post/681556/
Асинхронный Rust: проблемы и способы их решения
В 2013 году я открыл для себя Rust и сразу решил изучить его, сделав своим основным языком программирования.
Через четыре года я переехал в Берлин и присоединился к компании Parity в качестве разработчика Rust. В первые несколько месяцев моей задачей было создание библиотеки rust-libp2p с использованием технологии peer-to-peer на асинхронном Rust (на данный момент она насчитывает ~89 тысяч строк кода). Впоследствии я интегрировал ее в Substrate (~400 тыс. строк кода) и с тех пор являюсь специалистом по сопровождению сетевой части кодовой базы.
Я подумал, что было бы неплохо изложить некоторые проблемы, встречавшиеся мне в работе на протяжении всего этого времени.
Внимание: я пишу эту статью не от имени своего работодателя Parity. Это мои личные замечания по итогам работы над наиболее асинхронными частями проектов, связанных с Parity. Но я никому их не показывал перед публикацией этой статьи, так что мнения других разработчиков этой компании могут не совпадать с моим.
Rus https://nuancesprog.ru/p/13146/
Eng https://tomaka.medium.com/a-look-back-at-asynchronous-rust-d54d63934a1c
В 2013 году я открыл для себя Rust и сразу решил изучить его, сделав своим основным языком программирования.
Через четыре года я переехал в Берлин и присоединился к компании Parity в качестве разработчика Rust. В первые несколько месяцев моей задачей было создание библиотеки rust-libp2p с использованием технологии peer-to-peer на асинхронном Rust (на данный момент она насчитывает ~89 тысяч строк кода). Впоследствии я интегрировал ее в Substrate (~400 тыс. строк кода) и с тех пор являюсь специалистом по сопровождению сетевой части кодовой базы.
Я подумал, что было бы неплохо изложить некоторые проблемы, встречавшиеся мне в работе на протяжении всего этого времени.
Внимание: я пишу эту статью не от имени своего работодателя Parity. Это мои личные замечания по итогам работы над наиболее асинхронными частями проектов, связанных с Parity. Но я никому их не показывал перед публикацией этой статьи, так что мнения других разработчиков этой компании могут не совпадать с моим.
Rus https://nuancesprog.ru/p/13146/
Eng https://tomaka.medium.com/a-look-back-at-asynchronous-rust-d54d63934a1c
👍5
Window Tiling For The Win
Оконный менеджер с черепичной структурой, написанный на языке Rust
https://github.com/Kintaro/wtftw
Оконный менеджер с черепичной структурой, написанный на языке Rust
https://github.com/Kintaro/wtftw
Какую модель памяти следует использовать в языке Rust?
В этой статье рассматривается несколько альтернативных моделей памяти для языка Rust. Надеюсь, эта дискуссия будет ценна всему сообществу Rust – но, в конце концов, это их язык, поэтому и выбор модели памяти тоже за ними.
В этой статье рассматривается несколько альтернативных моделей памяти для языка Rust. Надеюсь, эта дискуссия будет ценна всему сообществу Rust – но, в конце концов, это их язык, поэтому и выбор модели памяти тоже за ними.
👍4
Как при помощи Rust в 150 раз ускорить код на Python
Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода.
Перепишем часть Python-кода в Rust и импортируем этот код в виде пакета Python в проект. Получим сверхбыстрый пакет Python, который сможем импортировать и использовать, как любой другой пакет. В качестве бонуса добавим многопроцессорность и в итоге получим функцию, которая примерно в 150 раз быстрее обычного кода на Python.
https://habr.com/ru/company/skillfactory/blog/718894/
Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода.
Перепишем часть Python-кода в Rust и импортируем этот код в виде пакета Python в проект. Получим сверхбыстрый пакет Python, который сможем импортировать и использовать, как любой другой пакет. В качестве бонуса добавим многопроцессорность и в итоге получим функцию, которая примерно в 150 раз быстрее обычного кода на Python.
https://habr.com/ru/company/skillfactory/blog/718894/
Хабр
Как при помощи Rust в 150 раз ускорить код на Python
Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода. Перепишем часть Python-кода в...
👍6
Rust vs C#: два способа решить проблему ссылок в структурах
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая ссылку? И не явно, а через вызов другого метода? Как понять, где у нас явный "провис ссылки", а где нормальный код? Звучит как какая то "дичь", но подобный кейс - вполне реальная боль для авторов языков программирования.
Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.
https://habr.com/ru/post/718424/
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая ссылку? И не явно, а через вызов другого метода? Как понять, где у нас явный "провис ссылки", а где нормальный код? Звучит как какая то "дичь", но подобный кейс - вполне реальная боль для авторов языков программирования.
Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.
https://habr.com/ru/post/718424/
Хабр
Rust vs C#: два способа решить проблему ссылок в структурах
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая...
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Rust Programming
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
•
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
•
👍6🤔1
Не так страшен Rust, как его излагают
Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?
Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.
https://habr.com/ru/articles/677978/
Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?
Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.
https://habr.com/ru/articles/677978/
👍6
Media is too big
VIEW IN TELEGRAM
Самоучитель по Rust Полный курс
Rust - это язык, который выбирают те, кто ищет высокую производительность, безопасность памяти и все инструменты, необходимые для написания безошибочного кода с легкостью. В этом учебнике я создал полный курс по программированию на Rust. Временные метки ниже позволят вам быстро перейти к тому, что вас интересует.
GitHub https://github.com/derekbanas/Rust-Tutorial
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
источник
👉 @Rust
Rust - это язык, который выбирают те, кто ищет высокую производительность, безопасность памяти и все инструменты, необходимые для написания безошибочного кода с легкостью. В этом учебнике я создал полный курс по программированию на Rust. Временные метки ниже позволят вам быстро перейти к тому, что вас интересует.
GitHub https://github.com/derekbanas/Rust-Tutorial
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
источник
👉 @Rust
👍6
Rust Programming Tutorial
#1 - Introduction To Rust Programming
#2 - Using Rust Tools (cargo, rustfmt)
#3 - Variables, Constants and Shadowing
#4 - Data Types
#5 - Console Input
#6 - Arithmetic and Type Casting
#7 - Conditions and Control Flow (if/else if/else)
#8 - Functions, Expressions & Statements
#9 - Memory Management, Heap & Stack
👉 @rust_lib
#1 - Introduction To Rust Programming
#2 - Using Rust Tools (cargo, rustfmt)
#3 - Variables, Constants and Shadowing
#4 - Data Types
#5 - Console Input
#6 - Arithmetic and Type Casting
#7 - Conditions and Control Flow (if/else if/else)
#8 - Functions, Expressions & Statements
#9 - Memory Management, Heap & Stack
👉 @rust_lib
👍5❤2