6
Karma
0.1
Rating

Пользователь

Вам есть что скрывать

+1

Это если рейтинг составляете Вы. Но в реальной жизни Вы можете оказаться на помойке т.к. "соседи-дебоширы" не захотят иметь в соседях зануду. Все люди разностороние личности и отсортировать их всех от плохих к хорошим по какому-то набору параметров это утопия. А границы поведения за которые нельзя выходить и так уже определены в законах.


И не надо все проблемы перекладывать на государство, тоталитарный режимы устраивали и 100 лет назад во вполне аналоговом мире, любые технологии можно использовать по разному.

Вам есть что скрывать

+3

Например есть медицинская тайна, но если трекать врачей к которым вы ходите и лекарства которые покупаете то она может перестать быть тайной. Конечно и без всяких жпс и интернетов можно приставить слежку за любым человеком, но масштабы уже дргуие. Вроде был рассказ на Хабре не так давно про пример таргетированной рекламы, мне понравился эпизод про контекстную рекламу детских кроваток после позитивного теста на беременность :)

Выпуск Rust 1.36.0: Трейт Future, стабилизация alloc и MaybeUninit<T>

+1

rust для gui пока полностью не готов (согласно версии самих разрабов). gtk-rs это же какие-то биндинги в полу-автоматическом режиме сгенерированные. Т.е. на си ожидаемо будет гораздо больше туториалов. Кстати extern crate не обязательно писать в 2018 версии.

Подборка @pythonetc, июнь 2019

0

Добавлю: кроме r'...' можно использовать R'...', во многих IDE подсветка для r идёт как regexp, а для R как для обычной строки.

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

0

Питон на основе подсчёта ссылок работает и деструктор вызывается сразу как объект покидает скоуп если счётчик стал равен нулю, а GC только для циклических случаев.
А на С/C++ подсчёт ссылок не нужен если иерархия владельцев ресурсов известна заранее.

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

0

Так это даже в языках с ручным управлением памяти прийдётся решать каким то своим пуллом объектов или умным аллокатором. Единственно что счётчики не будут вносить дополнительную нагрузку.

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

Я был в семи словах от того, чтобы стать жертвой таргетированного фишинга

Я был в семи словах от того, чтобы стать жертвой таргетированного фишинга

0

Нужны более гибкие политики разделения привилегий и удобный пользовательский интерфейс для них. Андроид в этом плане обходит дескотопный виндовс или линукс, но и там всё далеко от идеала.

Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом

0

С презентациями классно. А как на счёт верстки документов в css/html с наполнением через markdown, чтобы выглядело как отчёт или документация или например курсач?

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

+1

Так модули в С++20 обещают добавить а многие компиляторы уже имеют какую-то реализацию. Сайты clang/gcc и статьи за авторством Страуструппа это не внешняя пропоганда. И речь идёт об одной простой вещи заменить #include по сути макрос на что то лучшее. Сборки больших проэктов занимают время, и поэтому их разделяют на несколько файлов которые компилируются раздельно и паралельно. Без объявления публичного интерфейса в хедере как у вас так получится? Неужили Вcе ваши проэкты инклюдится в один cpp?

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

Основы указателей для начинающих

0

Если честно, то поначалу открыл статью чтобы почитать про очередную ардуинку в чайнике.

Досмотр электронных устройств на границе — необходимость или нарушение прав человека?

-5

Не помню откуда цитата но у плохих парней всегда проблема со временем. Все эти ухищрения требуют подготовки личного состава и соответствующего по.

Основы указателей для начинающих

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

0

Это сравнение интересно однокурсникам автора и самому автору для резюме. Без более детальных подробностей что то обсуждать сложно.

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

0

Спросил у автора (т.к. это был перевод). Вот его ответ:
"As far as I know my friend didn’t use the new visitor feature."
Вообщем там наверно обходились enum + switch + cast/union.

Подача авто-запросов на сайте ФНС в ЕГРЮЛ на python

0

А почему код картинкой? В Хабр можно легко вставить код с подсветкой.

VS Code Extension — Snippets — Я расскажу как сэкономить время

+1

Так snippets это не про это. Это не про использования кода, это про объявление кода. Например обявление класса, начинаешь писать cla... и тебе сразу объявлние класса вылазит, с конструктором, и только подставляешь значение имени класса один раз. Но это такой тривиальный пример. Или там try/except сразу парой. Возможно более сложные случаи, посмотрите гифку на сайте vscode.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

+1

unsafe используется:


1) я написал очень упрощённый вариант glibc функции strpbrk, которая векторизирует поиск скобочек в строке (после беседы с twinklede). Без этого будет по-моему 700ms (там можно раскоментировать вариант с enumerate). Тогда даже на такой простой задаче С++ не догнать по определению, если прочий код будет работать одинаково. (Хотя я подозреваю что потоковый парсер плюсов мы не догоним). Без unsafe вы не получите sse42.


2) Прямой доступ к памяти это Вы про mmap? Возможно он не обязателен. Кстати mmap там кросс платформенный используется. Но во многих примерах выше он тоже присутсвовал.


Да я не аккуратно писал с unsafe, надо было как то завернуть в модуль, обложить комментариями и т п. По сути инвариант там всего один (я надеюсь :), нам надо скармливать буфер определённого размера в векторный регистр. Если дадим указатель на меньше памяти чем надо, то привет UB, я использовал растовый итератор chunks_exact а не арифметику с указателями чтобы сделать это более явно.


Алгоритм мержа у меня тоже не правильный. Я думал над тем какой лучше, но походу зависит от характера входных данных. Для нашего датасета, логичнее всего по быстрому отбрасывать повторения. Поэтому думаю это не так важно для сравнения. Upd: Вообще я подумал задача довольно странная мы соревнуемся в том чтобы как можно быстрее отбрасывать данные. Какая-то ддос атака. Достаточно было бы сравнить скорость сериализации до получения DebtRec.


Решение на го действительно выглядит красиво, просто и работает быстро. На serde писать свои Visitor далеко не так приятно. Но если данные не "грязные" а следуют обычному формату то можно было бы обойтись #[derive]. Хотя в го коде есть всякие читики, типа резервация векоторов на 10 елементов и вектора вместо set, я не знаю на сколько это влияет.


Я к сожелению на go не смог построить heatmap через perf, т.е. я построил но имена функции все unknown. Кто подскажет?

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

+1

Кстати автор ещё не оценивал решения на предмет обработки ошибок. Добавил мусор в джсон:


  • C++: Assertion `IsObject()' failed. Aborted (core dumped)
  • Go: Вывело не правильный результат ничего не сказав
  • Rust: Error("expected value", line: 1, column: 69)

Понятно что можно это везде реализовать, но в раст у меня не получилось бы подругому, либо паника либо сообщение об ошибке и его обработка.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

+1

Написал потоковый (как на Гошке) парсер на расте, с аллокациями не заморачивался, думаю можно ещё ускорить. Результаты на моём i5, это однопоточка:


  • rust = 636ms
  • gcc = 653ms
  • go = 663ms
  • clang = 799ms

Бойлерплейта много слабонервным не смотреть: https://gist.github.com/technic/5f23603ac955d246a90a8421a667c8c2#file-main-rs (лицензия кода на rust MIT)


PS На гист так же залил исходники плюсов и гошки с которой сравнивал. Надеюсь авторы не против.


PPS Возможно это не самая быстрые версии на альтернативных языках, что удалось найти среди комментов.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

0

Тогда ТЗ не понятно, например HashSet для телефонов не нужен, достаточно общего HashMap. С учётом того что у нас там постоянно to_owned, выкидывание лишней строчки даёт ускорение на 10%. Например в последней версии на го вообще выкинули HashSet и всё в vector, что для десятка телефонов работает наверное быстрее с учетом константы. Но если телефонов тысяча тогда я уверен решение на го сольётся.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

0

Добавте ссылку в статью. или ссылку на код которым этот файл сгенерирован.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

0

Алгоритм не правильный.


Пример

[
{"company":"Рога и копыта", "debt": 800, "phones": [123, 234, 456]},
{"company":"Первая коллекторская", "debt": 1200, "phones": ["2128506", 456, 789]},
{"company":"Святой престол", "debt": "666", "phones": 666},
{"company": "Казачий спас", "debt": 1500, "phones": [234567, "34567", 789], "phone": 666},
{"company": {"name": "Шестерочка"}, "debt": 2550, "phones": 788, "phone": 789}
]


Должно объеденить всё в одного, но это не происходит. Я думаю этот неправильный алгоритм перекочивал во все примеры из комментариев, кроме многопоточки на С++ там подругому merge сделан.

Поддержка Visual Studio 2019 в PVS-Studio

0

Торт на картинке это офисный корпоратив в честь релиза или наглый фотошоп? Или надо статью целиком читать чтобы узнать?)

Python в Visual Studio Code. Апрельский выпуск

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

+2

Почему нет? Все лайфтаймы и заимствование ссылок описаны в объявлении функции. Далее есть код по одну сторону интерфейса (клиент) и по другую (библитека). Им ничего не нужно знать про друг друга — они работают через интерфейс. Есть время жизни 'static для каких-то синглетонов библиотеке. Safe Раст не возвращает голый указатель. Если мы возвращаем ссылку из функции то должны объявить её время жизни, которое зависит от времени жизни входных параметров. Или мы можем передать владение объектом наверх.


Если мы имеем дело с dll которая на Cи то нужно писать обёртку через unsafe. Ну тут серебрянной пули не существует. Либо жить на си/плюсах либо писать обёртки либо переписывать всё на раст. Очевидно что в зависимтости от ситуации и количества кода то или иное решение оптимально.

О жёлтом фосфоре и панической природе человека

+3

Но почему Донбасс и Палестина, когда есть примеры менее спорные.

Python в Visual Studio Code. Апрельский выпуск

0

Поддерживаются ли тайп аннотации через комментарии в питон 2? К сожалению иногда ещё приходится с ним работать.

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом

Введение в Python

+5

Мы присутсвуем при историческом событии. Это первый шаг: "ИИ прочитал статью по питону и написал об этом на хабр". Потом ещё пару книг прочтет и начнет писать код. Следите за новостями.

Как я узнал, что моя виза не готова, сообщением в Slack

0

А откуда автор заранее знал как будет выглядеть полученный PDF и в каком div будет лежать ответ на сайте? Это была не первая виза?)

Находим баги в LLVM 8 с помощью анализатора PVS-Studio

+4

Они же проверяют свой ког clang анализатором? Т.е это наглядно показывает что pvs находит больше или как минимум что то новое я правильно понял посыл статьи?)

Процесс разработки и тестирования с Docker и Gitlab CI

0

С докером при разработке чаще проблема в том, что не все IDE умеюют подключать интерпретатор/компилятор из контейнера а также нужные импорты/инклюды оттуда.

Я в восторге от IoT

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio?

0

Жаль, а почему не расскажете? Потому что гитлаб легко перенести потом на приватный хостинг? Спасибо за ответ.

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio?

Метапрограммирование в C++ и русская литература: через страдания к просветлению

0

А как же Qt с его moc? Можно обходить все сигналы слоты и property. Но нужно писать setter/getter для всех property, что немного не хочется когда они тривиальные, но наверное можно повесить это дело на макрос.

1 There