https://t.iss.one/rust_offtopic/52516
Alex Zhukovsky, [31.07.19 19:40]
есть вариант что это
Проблема в том, что единицей в моноиде должен быть пустой ренж, который всегда упорядочен по сравнению с любым другим
но сравнивать нужно по непустып ренжам в которых должны быть элементы
Короче, тут три кейса: пустой ренж, ренж из одного элемента (чтобы создать его) и все остальное
а для моноида должно быть два: база и индукция
Nikita Vilunov, [31.07.19 19:52]
Alex Zhukovsky, [31.07.19 20:09]
оно ведь не будет правильно работать
(3,(2,4)) != ((3,2),4)
Nikita Vilunov, [31.07.19 20:11]
🤔
Это получается ещё ловер баунд надо хранить
Alex Zhukovsky, [31.07.19 20:12]
да
как я изначально хотел
И в твоем случае еще учитывать что идентити может справа быть
Nikita Vilunov, [31.07.19 20:14]
Во, малаца
λоλторт, [31.07.19 20:18]
тогда так
Alex Zhukovsky, [31.07.19 19:40]
Use foldMap to detect whether a given IndexedSeq[Int] is ordered. You’ll need to come up with a creative Monoid.
foldMap это def foldMapV[A,B](v: IndexedSeq[A], m: Monoid[B])(f: A => B): B
я не решилесть вариант что это
Monoid[Option[(Int, Int, Boolean)]], но тоже не фактПроблема в том, что единицей в моноиде должен быть пустой ренж, который всегда упорядочен по сравнению с любым другим
но сравнивать нужно по непустып ренжам в которых должны быть элементы
Короче, тут три кейса: пустой ренж, ренж из одного элемента (чтобы создать его) и все остальное
а для моноида должно быть два: база и индукция
Nikita Vilunov, [31.07.19 19:52]
mapping = i => (i, true)λоλторт, [31.07.19 19:55]
def zero: (Int, Bool) =
(-INF, true)
def op((a, b): (Int, Bool), (c, d): (Int, Bool)) =
(c, b && d && (c >= a))
data Ordered n = Last n | Unordered | Mempty
deriving Show
*Main Lib> foldMap (Last @Int) [1, 2, 3]думаю с имплементацией моноида сам справишься
Last 3
*Main Lib> foldMap (Last @Int) [1, 2, 3, 1]
Unordered
*Main Lib> foldMap (Last @Int) []
Mempty
Alex Zhukovsky, [31.07.19 20:09]
оно ведь не будет правильно работать
(3,(2,4)) != ((3,2),4)
Nikita Vilunov, [31.07.19 20:11]
🤔
Это получается ещё ловер баунд надо хранить
Alex Zhukovsky, [31.07.19 20:12]
да
как я изначально хотел
И в твоем случае еще учитывать что идентити может справа быть
Nikita Vilunov, [31.07.19 20:14]
Во, малаца
λоλторт, [31.07.19 20:18]
тогда так
data Ordered n = Ordered n n | Unordered | Mempty
deriving ShowTelegram
Alex Zhukovsky in rust_offtopic
Use foldMap to detect whether a given IndexedSeq[Int] is ordered. You’ll need to come up with a creative Monoid.
Forwarded from ọzkriff
о, sova.dev/ru на крабоугодной Zola, оказывается - https://github.com/sergeysova/sova.dev - мило
https://t.iss.one/rust_offtopic/41416
Слава:
Вот у меня свежий пример.
Есть некая контора и продукт их, Ecompass. Они собирают данные по займам. Принимают на вход словари в виде json, простой формат имя-значение. В справочнике имен, в экселевском файле, около 8000 (восьми тысяч) строк. Описания к полям по сути нет, все очень кратко.
Если запрос с подобным словарём содержит что-то не то, то сервис просто возвращает ошибку разбора json. Без детализации - что не так.
Отлаживается это так: убираем по одному полю и смотрим, заработает или нет. Цикл запрос-ответ занимает секунд 20, полей в среднем 50 и больше.
Я считаю, что подобную контору надо оштрафовать. За уебанство. Что, нельзя было сделать нормальное сообщение об ошибке?
Слава:
Вот у меня свежий пример.
Есть некая контора и продукт их, Ecompass. Они собирают данные по займам. Принимают на вход словари в виде json, простой формат имя-значение. В справочнике имен, в экселевском файле, около 8000 (восьми тысяч) строк. Описания к полям по сути нет, все очень кратко.
Если запрос с подобным словарём содержит что-то не то, то сервис просто возвращает ошибку разбора json. Без детализации - что не так.
Отлаживается это так: убираем по одному полю и смотрим, заработает или нет. Цикл запрос-ответ занимает секунд 20, полей в среднем 50 и больше.
Я считаю, что подобную контору надо оштрафовать. За уебанство. Что, нельзя было сделать нормальное сообщение об ошибке?
Telegram
Слава in rust_offtopic
Вот у меня свежий пример.
Есть некая контора и продукт их, Ecompass. Они собирают данные по займам. Принимают на вход словари в виде json, простой формат имя-значение. В справочнике имен, в экселевском файле, около 8000 (восьми тысяч) строк. Описания к полям…
Есть некая контора и продукт их, Ecompass. Они собирают данные по займам. Принимают на вход словари в виде json, простой формат имя-значение. В справочнике имен, в экселевском файле, около 8000 (восьми тысяч) строк. Описания к полям…
Forwarded from Igor Bodnar
>Отдали клиенту сайт на англуря, те наняли каких то студентов, они взяли билд, разминифицировали и правили вот эти this._a=b.c.a(d.e)
>Теперь на сайте jquery поверх сбилженного ангуляр приложения
>Теперь на сайте jquery поверх сбилженного ангуляр приложения
Forwarded from Валентин Удальцов
У меня похожий кейс был на прошлой работе. Поставили клиенту на Symfony+Doctrine+... приложение. Им потребовалось что-то дешево и быстро допилить. Нанятый ими фрилансер в релевантных по его мнению файлах сделал require '../../tools.php', из которого обращался к бд через синглтон и mysqli_connect. А потом нас попросили поправить, потому что плохо работало 🙈
Forwarded from Sergey P
раз тут вечер охуительных историй о мастерстве... проходил мимо проекта... его начинали поляки - симфони там, апишки, все такое... а потом он достался индусам - скомпиленное реакт приложение выплевывалось через echo в контроллерах
Forwarded from Kai Ren
Не прошло и 10 лет:
https://blog.golang.org/why-generics
https://blog.golang.org/why-generics
Forwarded from Adv0cat
Т.е. нельзя сделать так, что все кто будет использовать трейт, должны иметь в структуре параметр
.name, а не функцию name() ?Forwarded from вафля 🧇🍓
Ещё можно как-то так:
trait
trait
Name {
fn name(&self) -> &str;
}
trait RunTrait {
fn run(&self);
}
impl<T: Name> RunTrait for T{
fn run(&self) {
println!("{}", self.name());
}
}Forwarded from Job for Go, Rust Developers
Вакансии в TR Logic LLC
🔹Junior Backend Developer 1К€
🔹Backend Developer 2К€
🔹Media Streaming Developer 1,5К€
🔹Rust Developer 2К€
TR Logic LLC — компания занимается разработкой и поддержкой интернет-проектов.
Удалённая работа.
Нужен опыт от года с одним из языков: Java, Scala, Kotlin, Go, Rust, C, C++, C#, F#;
Откликаться на GeekJob.ru
#rust #java #scala #kotlin #go #rust #c #cpp #cplus plus #csharp #fsharp #backend #developer #вакансия #remotework
🔹Junior Backend Developer 1К€
🔹Backend Developer 2К€
🔹Media Streaming Developer 1,5К€
🔹Rust Developer 2К€
TR Logic LLC — компания занимается разработкой и поддержкой интернет-проектов.
Удалённая работа.
Нужен опыт от года с одним из языков: Java, Scala, Kotlin, Go, Rust, C, C++, C#, F#;
Откликаться на GeekJob.ru
#rust #java #scala #kotlin #go #rust #c #cpp #cplus plus #csharp #fsharp #backend #developer #вакансия #remotework
https://t.iss.one/rust_beginners_ru/28051
Вафель:
А почему массивы ([T; n]) не имплементируют ни std::fmt::Debug, ни std::fmt::Display?
Pontiff Sulyvahn:
Потому что конст генериков не завезли
См. тут: https://doc.rust-lang.org/std/primitive.array.html
Оно заимплеменчено, но для конечного числа размеров
issue: https://github.com/rust-lang/rust/issues/44580
Andrey @ozkriff Lesnikov:
Display, кстати, не реализован ни для каких размеров массивов
Вафель:
А почему массивы ([T; n]) не имплементируют ни std::fmt::Debug, ни std::fmt::Display?
Pontiff Sulyvahn:
Потому что конст генериков не завезли
См. тут: https://doc.rust-lang.org/std/primitive.array.html
Оно заимплеменчено, но для конечного числа размеров
issue: https://github.com/rust-lang/rust/issues/44580
Andrey @ozkriff Lesnikov:
Display, кстати, не реализован ни для каких размеров массивов
Telegram
Вафель in Rust Beginners
А почему массивы ([T; n]) не имплементируют ни std::fmt::Debug, ни std::fmt::Display?
https://t.iss.one/rust_beginners_ru/28150
Kirill (Cykooz) Kuzminykh, [04.08.19 00:16]
У меня есть проект на Rust - враппер для C++ библиотеки (c С-шным интерфейсом). Есть ли возможность в CLion выполнить отладку Rust кода с заходом внутрь плюсового кода? У меня один вызов этой плюсовой либы падает с сегфолтом. Хотелось бы разобраться в чём дело.
Andrey @ozkriff Lesnikov, [04.08.19 00:18]
да в любом отладчике должно бы работать, лишь бы отладочная инфа и для раста, и для плюсов была и отладчик умел с ней работать
Andrey @ozkriff Lesnikov, [04.08.19 00:18]
https://www.reddit.com/r/rust/comments/97q7nt/can_you_debug_and_step_through_mixed_c_and_rust/
Kirill (Cykooz) Kuzminykh, [04.08.19 00:16]
У меня есть проект на Rust - враппер для C++ библиотеки (c С-шным интерфейсом). Есть ли возможность в CLion выполнить отладку Rust кода с заходом внутрь плюсового кода? У меня один вызов этой плюсовой либы падает с сегфолтом. Хотелось бы разобраться в чём дело.
Andrey @ozkriff Lesnikov, [04.08.19 00:18]
да в любом отладчике должно бы работать, лишь бы отладочная инфа и для раста, и для плюсов была и отладчик умел с ней работать
Andrey @ozkriff Lesnikov, [04.08.19 00:18]
https://www.reddit.com/r/rust/comments/97q7nt/can_you_debug_and_step_through_mixed_c_and_rust/
Telegram
Kirill (Cykooz) Kuzminykh in Rust Beginners
У меня есть проект на Rust - враппер для C++ библиотеки (c С-шным интерфейсом). Есть ли возможность в CLion выполнить отладку Rust кода с заходом внутрь плюсового кода? У меня один вызов этой плюсовой либы падает с сегфолтом. Хотелось бы разобраться в чём…
Forwarded from Alexander Chichigin
B-threads: programming in a way that allows for easier changes
https://medium.com/@lmatteis/b-threads-programming-in-a-way-that-allows-for-easier-changes-5d95b9fb6928
https://medium.com/@lmatteis/b-threads-programming-in-a-way-that-allows-for-easier-changes-5d95b9fb6928
Medium
B-threads: programming in a way that allows for easier changes
An intro to Behavioral Programming
Forwarded from ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
Any self-respecting software developer should be making use of inheritance on a daily basis to achieve code reusability. As I said earlier, inheritance perfectly models the real world. Cats, for example, always inherit their properties and behaviors from a single abstract real-world animal. Life has originated in the ocean a few billion years ago 🐟. Therefore all mammals (including the cats) have inherited the properties of the primordial fish, like garfield.fishHead, and their methods like garfield.swim and garfield.layCaviar. No wonder cats enjoy bathing and swimming so much! Humans are actually the same, we can easily start laying caviar if we want to!
Forwarded from Денис
считаю необходимым заметить, что вот прям совсем прямолинейный синхронный многопоточный сервер (но без тредпула) пишется на чистом расте очень просто и быстро))
TcpListener::bind(&addr).unwrap().incoming().try_for_each(|socket| {
let socket = socket?;
thread::spawn(|| handle(socket));
Ok(())
});Forwarded from Jack
язык не определяется наличием фич, он определяется толстотой по Тьюрингу
Forwarded from red75prime
mem::size_of_val(a_ref) - размер типа, на который a_ref ссылается, то есть размер i32. mem::size_of_val(&a_ref) - размер самой ссылки a_ref, то есть размер типа &i32