УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6941
прекрасное6443
говно5904
говнорашка5512
хуита4710
anime3065
linux2651
music2633
bnw2601
рашка2565
log2354
ололо2166
дунч1821
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1417
дыбр1238
гімно1158

Красота, через три месяца в релизе: https://play.rust-lang.org/?gist=80cf2488c9daaedf43c73181a9bf2edb&version=nightly
#QXR9RF (0+1) / @o01eg / 2634 дня назад
НИ ЕДИНОГО СЕГФОЛТА!!!! https://habrahabr.ru/company/erlyvideo/blog/334912/ "А чего там про Rust Вот как раз стример у нас ржавый. Целая пачка unsafe кода, автогенеренного из сишного кода SDK с помощью bindgen, подпатченый биндинг к libc (постараемся залить патч в апстрим) и дальше реализация RTSP на tokio. Даже уже есть возможность посмотреть видео с камеры в обычном браузере — это недостижимая роскошь для китайских камер, которые поголовно требуют установку ActiveX. Структура очень непривычна после эрланга: ведь тут нет процессов и сообщений, есть каналы, а с ними всё становится немножко по-другому. Как я уже выше писал, современно написанный код с правильной организацией дает возможность раздавать видео не 2-3 клиентам, а более 50 без какой-либо просадки производительности. Важный момент: за время разработки пока не случилось ни единого сегфолта. Пока есть стойкое ощущение, что Rust заставляет писать так, как в принципе пишут хорошие поседевшие сишники, повидавшие всякого нехорошего. Так что пока всё нравится. В течение августа есть планы закончить работу по базовому сценарию, так что есть вопрос к аудитории, который идет в опросе. Ну и задавайте вопросы, которые возникли."
#NGXQPU (0+1) / @o01eg / 2660 дней назад
https://spb.hh.ru/vacancy/21894554 "Требования Опыт backend-разработки на Rust не менее 2 лет."
#ZH5DRP (0) / @o01eg / 2684 дня назад
У меня одного метод https://docs.rs/tokio-postgres/0.2.3/tokio_postgres/struct.Connection.html#method.execute зависает в реакторе? query в асинхронной версии и execute в синхронной спокойно работают, а этот висит со статусом idle и не завершает свой Future.
#8PD492 (0+1) / @o01eg / 2697 дней назад
Хозяйке на заметку: let future_returns_db_connection = ...; let prog = future_returns_db_connection.and_then(|db_connection| { your_stream_wants_to_work_with_db.fold(db_connection, |also_db_connection, value| { also_db_connection.just_another_db_query_moveouts_connection_and_return_a_new_one() }) })
#MBJO51 (1) / @o01eg / 2705 дней назад
Хозяйке на заметку: fn main() { let mut core = Core::new().expect("Can't create Tokio Core"); let handle = core.handle(); // Use only one Ctrl+C signal. let ctrl_c = tokio_signal::ctrl_c(&handle).flatten_stream().take(1).map(|_| false); let interval = Interval::new(Duration::from_secs(1), &handle).expect("Cann't create timer").map(|_| true); // Process each ctrl-c as it comes in let prog = ctrl_c .select(interval) .take_while(|c| Ok(*c)) // stop when Ctrl+C .for_each(|c| { println!("{:?}", c); future::ok(()) }); match core.run(prog) { Ok(o) => println!("Finish: {:?}", o), Err(e) => println!("Error: {}", e), }; }
#LC4YX3 (2) / @o01eg / 2707 дней назад
https://blog.rust-lang.org/2017/06/08/Rust-1.18.html "What’s in 1.18.0 stable As usual, Rust 1.18.0 is a collection of improvements, cleanups, and new features. One of the largest changes is a long time coming: core team members Carol Nichols and Steve Klabnik have been writing a new edition of “The Rust Programming Language”, the official book about Rust. It’s being written openly on GitHub, and has over a hundred contributors in total. This release includes the first draft of the second edition in our online documentation. 19 out of 20 chapters have a draft; the draft of chapter 20 will land in Rust 1.19. When the book is done, a print version will be made available through No Starch Press, if you’d like a paper copy. We’re still working with the editors at No Starch to improve the text, but we wanted to start getting a wider audience now. The new edition is a complete re-write from the ground up, using the last two years of knowledge we’ve gained from teaching people Rust. You’ll find brand-new explanations for a lot of Rust’s core concepts, new projects to build, and all kinds of other good stuff. Please check it out and let us know what you think! As for the language itself, an old feature has learned some new tricks: the pub keyword has been expanded a bit. Experienced Rustaceans will know that items are private by default in Rust, and you can use the pub keyword to make them public. In Rust 1.18.0, pub has gained a new form: pub(crate) bar; The bit inside of () is a ‘restriction’, which refines the notion of how this is made public. Using the crate keyword like the example above means that bar would be public to the entire crate, but not outside of it. This makes it easier to declare APIs that are “public to your crate”, but not exposed to your users. This was possible with the existing module system, but often very awkward. You can also specify a path, like this: pub(in a::b::c) foo; This means “usable within the hierarchy of a::b::c, but not elsewhere.” This feature was defined in RFC 1422 and is documented in the reference. For our Windows users, Rust 1.18.0 has a new attribute, #![windows_subsystem]. It works like this: #![windows_subsystem(console)] #![windows_subsystem(windows)] These control the /SUBSYSTEM flag in the linker. For now, only console and windows are supported. When is this useful? In the simplest terms, if you’re developing a graphical application, and do not specify windows, a console window would flash up upon your application’s start. With this flag, it won’t. Finally, Rust’s tuples, enum variant fields, and structs (without #[repr]) have always had an undefined layout. We’ve turned on automatic re-ordering, which can result in smaller sizes through reducing padding..."
#2DINCJ (0+1) / @o01eg / 2717 дней назад

http://blog.japaric.io/quickstart/
↖ статья о том как модно писать на русте под stm32 на этой неделе.
tldr: берем пару крейтов для базового cortex-m, генерируем 200 килострок кода для работы с периферией из SVD (til есть репозиторий с машиночитаемыми описаниями регистров кучи мк), ..., выгода. даже дебагать гдбшечкой можно, для нормальной жизни не хватает только scheduler/rtos или чего-то подобного.
а вот zinc.rs на который я фапал некоторое время назад, кажется, помер.

#2OA42D (6) / @lexszero / 2757 дней назад
#3ABU4N (0+1) / @o01eg / 2762 дня назад
Это просто праздник какой-то: https://www.linux.org.ru/news/opensource/13294011 "Состоялся первый публичный релиз системы управления версиями Pijul 0.3, написанной на языке программирования Rust. Pijul объединяет в себе производительность git и простоту использования darcs. Основанная на модели теории патчей, система Pijul направлена на то, чтобы сделать операции слияния и забора определенных коммитов (cherry-pick) более интуитивным. Pijul можно установить при помощи Cargo (пакетного менеджера для Rust): команда cargo install pijul соберёт самую последнюю версию. Минимальная для сборки версия Rust — 1.15.1."
#786ED6 (4) / @o01eg / 2800 дней назад
#0XKJN3 (1) / @o01eg / 2800 дней назад
Вот и появился скриптовый язык моей мечты: https://github.com/gluon-lang/gluon "Documentation Gluon is a small, statically-typed, functional programming language designed for application embedding. Features Statically typed - Static typing makes it easier to write safe and efficient interfaces between gluon and the host application. Type inference - Type inference ensures that types rarely have to be written explicitly giving all the benefits of static types with none of the typing. Simple embedding - Marshalling values to and from gluon requires next to no boilerplate, allowing functions defined in Rust to be directly passed to gluon. UTF-8 by default - Gluon supports unicode out of the box with utf-8 encoded strings and unicode codepoints as characters. Separate heaps - Gluon is a garbage-collected language but uses a separate heap for each executing gluon thread. This keeps each heap small, reducing the overhead of the garbage collector. Thread safe - Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel (example)* * Parallel execution of gluon programs is a recent addition and may still have issues such as deadlocks."
#BVKY0B (3+2) / @o01eg / 2801 день назад
https://blog.rust-lang.org/2017/03/16/Rust-1.16.html "The largest addition to Rust 1.16 is cargo check. This new subcommand should speed up the development workflow in many cases." Мощно: "When slicing a &str, you’ll see better errors. For example, this code: &"abcαβγ"[..4] Is incorrect. It generates this error: thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not a char boundary; it is inside 'α' (bytes 3..5) of `abcαβγ`' The part after the ; is new."
#OPCW47 (0) / @o01eg / 2801 день назад
Градостроительный симулятор, который мы заслужили: http://cityboundsim.com/ "The city sim you deserve. Cities are complex and that's why you love them. Experience a true city: millions of interactions between people, companies and neighborhoods. Follow detailed daily lifes, see businesses struggle in the local economy and be mesmerized by the traffic simulation. Each citizen is simulated individually, their behaviour is realistic and adorably human. Think and plan as the urban developer that you are. Prepare changes to your city by creating the perfect plan. Use the most powerful and yet intuitive drawing tools in any city sim ever. Create the craziest roads and intersections, lay out custom parks or even airports. Juggle projects, set priorities and recover from bad situations. Create a city that looks like a city. Let your city grow across a beautiful landscape, without boundaries. Enjoy detailed control over zones that curve along roads. Be surprised by procedural architecture that uniquely adapts to the available space and the local circumstances. What style and flavor will your city have? Humble beginnings, ambitious goal. Anselm Eickhoff builds Citybound. It gained attention as a small prototype, then became his fulltime dream project. Now he is chipping away at the impossibility of the task. Cutting edge tech and latest research. The solid foundation: a custom geometry toolset, high-performance microsimulation framework and economy model - based on and inspired by countless papers and theses. We are getting there - be a part of the process. Citybound is developed completely open source. In addition, I regularly update my community about my progress, we discuss all kinds of aspects and even invent stuff together! My funding model is honest and sustainable: I make every new prototype available to everyone and fans pledge a monthly contribution of their choosing."
#5VCSU0 (2) / @o01eg / 2807 дней назад
Я получаю ссылку на мутабельный экземпляр структуры. У структуры есть внутри три вектора — `prev`, `next` и `curr`. На каждой итерации алгоритма `next` рассчитывается по `prev` и `curr`. Это интегрирование Верле, если что, но не важно. Хочется не выделять память много раз, а просто держать их постоянно, циклически переставляя **ссылки** (а не данные, которых много, естественно) после каждой итерации: `prev <- curr <- next`, а `prev -> next`, чтобы не болтался. Единственное, что я осилил сделать с ними, вот: std::mem::swap(&mut self.curr, &mut self.next); std::mem::swap(&mut self.prev, &mut self.next); При попытке юзать `std::mem::replace` или рисваивать как-то руками, я жестоко обламываюсь. Т.е. взять эти самые три ссылки разом, запиать в три идентификатора и потом присвоить трём полям структуры — это уже я не осилил. Как бороть?..
#GRUN3I (3+2) / @dluciv / 2821 день назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.