Обновить
3
0
Fenex @Fenex

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

Отправить сообщение
Роскомнадзор отчитался в своем Telegram-канале

На этой фразе меня немного заклинило )
Для использования одного ускорителя на хосту и множества виртуальных машин — надо смотреть в сторону Nvidia vGPU, но производительность будет ниже само собой, ведь мощности ускорителя делятся на количество машин, плюс ещё дополнительные потери на некоторый код в драйверах систем.
`Result` это не исключения и не попытка на них походить. Это однозначное значение, которое описывает либо успех операции со значением (или без такового), либо провал с описанием что пошло не так (опять же, возможно и без самого описания).

Впрочем, вот чуть подправленный код с возвратом `Option` — для случая если нам не нужно знать в каком месте вводные данные некорректные.
pub fn parse_ip(ip: &str) -> Option<Vec<u8>> {
    ip
        .split('.')
        .map(|s| s.parse())
        .try_fold(vec![], |mut acc, octet| {
            octet.map(|item| {
                acc.push(item);
                Some(acc)
            }).ok().flatten()
        })
}


А если всё таки надо знать номер проблемного октета адреса, то достаточно добавить `enumerate()` перед `try_fold`. По идеи, надо сделать дополнительно проверку на количество октетов адреса, но её я опущу.
Можете думать что это сокращение от:
let _ = message;


Владение ресурсом переходит к переменной `_`, и далее обращение к `message` недопустимо (с оговоркой что `message` не реализует Copy).
Как мне кажется, даже в случае, если просто очень хочется писать на C# и решено делать некие конвертеры под самые разнообразные языки, то стоило попробовать изначально сделать для C\C++\Rust. А полученное уже можно было бы подключить и к php, python'у, и к чему угодно через FFI, сгенерировав заголовочные файлы для всех необходимых языков.

Да, понимаю, что для какого-нибудь C написать такой конвертер сложнее, чем для Java. Но теперь, если конвертер будет доделан на rust'е, то (наверное) особого смысла поддерживать такое большое количество языков нет, по крайней мере python и C прекрасно умеют в FFI.
Такая надпись выводится потому что я нажал на кнопку повышения кармы (тултип показывается потому, что я быстро перевёл курсор на другую кнопку, чтобы показать и уведомление, и тултип — это могло ввести в заблуждение). В случае нажатия стрелки вниз будет выдано уведомление с текстом «Недостаточно кармы для голосования».

Интересно то, что сейчас всё отображается как надо: обе стрелки серые, при нажатии сообщает о необходимости иметь карму выше текущей.
Класс, каким-то образом мой аккаунт проголосовал отрицательно в карму обоим авторам этой ветки, хотя технически с моего аккаунта вообще невозможно голосовать в карму по понятной причине: у меня нет ни одной публикации. Ну и как это безобразие понимать?
screenshot
image
Ну тут кому что быстрее и по душе. Либо спаять на N деталей больше, либо написать M строчек кода. Я к тому, что в простое надо делать отключение вентиляторов, и тогда ночью будет тишина.
Один биполярный транзистор и 10 строчек на питоне решают эту проблему полностью.
А ночью она что-то будет делать? Если будет находиться в простое, то и греться не должна. А значит вентиляторы можно отключать.
У меня при сборке одного проекта в 4 потока заканчивалась память ОЗУ и тоже намертво зависало на разных процентах сборки. Проблему решил указав ключами запуск сборки в один поток.

Ещё некоторые жалуются на зависания в следствие перегрева малинки (если нет активного охлаждения). У 3b+ с 60 сбрасывается частота, 80 градусов — это пик когда начинается троттлинг.
Есть мини-компьютеры фирмы Qotom, они на мобильных Intel процессорах и с пассивным охлаждением (весь корпус — это радиатор). Ноль шума и производительность достаточная для подавляющего большинства задач. Цена правда не сказать чтобы сильно маленькая.

Qotom Q500G6-S05
image
Возможно, что проблема в нехватке памяти на четыре потока, 1GB ведь всего на борту. Надо пробовать запускать компиляцию в однопоточном режиме. Мне именно переход на однопоточную компиляцию в своё время помог собрать проект на rust'e: без кулера RPi грелся до 80 градусов, начинал троттлить, но компилировал. При сборке в 4 потока вешался намертво даже порой не доходя до критических температур.
Все базовые сишные типы определены в std::os::raw::*, таскать за собой целый libc во многих случаях не обязательно.
Возможно, стоило не откатываться на 16.04, а просто поменять гном на юнити, делается одной командой: `sudo apt install ubuntu-unity-desktop`, и вауля: убунта 18.04, выглядящая как 16.04.

У меня, правда, гном не тормозил, я поставил интерфейс с прошлой убунты из-за банальной привычки. Не иду в ногу со временем, ех =(
Ещё можете посмотреть box-256.com (это правда не совсем сообщество, но игра интересная и похоже на то, что вы ищите)
Суть игры в том, что надо нарисовать на экране определённую картинку используя ассемблер. Можно соревноваться как в компактности кода (наименьшее количество инструкций в памяти), так и в быстроте программы (количество тактов необходимых для построения картинки).
Сомневаюсь, что можно придумать какую-нибудь реализацию политики работы расширений, с помощью которой можно было бы только удалять информацию со страницы сайта, но не добавлять. Что-то вроде такой ситуации: appendChild не доступен, зато removeChild — пожалуйста. Да и вообще, попахивает бредом немножко: вся суть расширений сведётся на нет :)

И потом, у расширений есть страница background, которая вообще не имеет никакого отношения к открытым страницам в браузере. Зато эта фоновая страница имеет доступ к скриптам content_script (и наоборот). Через фоновую страницу можно сделать любой ajax-запрос, а потом переслать информацию в content_script, который имеет доступ к необходимой странице (в частности, к DOM). В этом случае мы де-факто политику безопасности не нарушаем: с самой страницы никаких запросов не идёт.

Контроль расширений идёт именно при установке: выдача прав (указанных в «permissions») конечным пользователем.
Насколько я понимаю, чтобы URN заработал, предполагалось сделать некий аналог DNS, который бы возвращал по идентификатору ресурса (документа) место (или несколько мест), в котором находится искомый ресурс. Т.е. если документ будет удалён с сервера — конечно же битая ссылка останется битой: от этой проблемы никуда не деться; но вот если документ будет перенесён на другой сервер или адрес, то ничего поломаться не должно.

Хотя я сам не могу представить как это предполагалось сделать. Даже если предположить, что поисковые машины станут не только индексировать URL на располагаемую информацию по адресу, но и вычислять хэш ресурса и заносить это себе в базу, то понадобятся ключи-идентификаторы огромных размеров. Но даже в этом случае от коллизий в процессе хэширования никуда не деться.
Это именуется «динамикой». Многие «самоучки» именно так и набирают, и я в их числе. Если набирать на `йцукен`, то динамический набор позволяет существенно разгрузить указательные пальцы.

Информация

В рейтинге
6 539-й
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Server Administrator
Rust
Linux
SQL
MongoDB
C#
JavaScript