Задать вопрос
  • Могут ли возникнуть проблемы при одновременном чтении и записи в разных потоках переменной?

    @rPman
    без использования синхронизации стандарт говорит что будет неопределенное состояние.

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

    А еще есть кеши процессора, переупорядочивание инструкций или к примеру простой цикл может быть размножен на несколько операций (например четыре повторения но цикл уменьшится в 4 раза), если это будет эффективнее для процессора, и соответственно реально записывать переменную только на каждый шаг цикла, ну а соседний поток будет считывать значение только по по каждому шагу цикла

    Ну и конечно же, внезапно, может все работать как ожидается, без глюков.

    p.s. если size_t не укладывается в битность текущей архитектуры, например будет занимать два слова вместо одного, то и записывать в память будет неатамарным способом, и возможна ситуация, когда соседний поток считывает число из двух половинок, одну с одной итерации цикла, а другую с другой, получив что то типа 0000 9999 -> 0001 0000 число 0000 0000
    Ответ написан
    2 комментария
  • Rust как подключить внешний файл в модуле?

    fenrir1121
    @fenrir1121
    Начни с документации
    Я уже 3ч маучаюсь с этой ошибкой...
    А мог за 15 минут прочитать 7 главу растбука, где все разобрано.
    Ответ написан
    5 комментариев
  • Почему не нужно менять тип при использовании devServer в webpack.config?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Почему не нужно менять тип при использовании devServer в webpack.config?


    Потому что вот
    Ответ написан
    Комментировать
  • Cargo и npm код компилируется, но почему программа ui не запускается?

    fenrir1121
    @fenrir1121
    Начни с документации
    А где хоть строчка кода связанного с запуском приложения?
    Минимальный код запуска выглядит как-то так
    fn main() {
        tauri::Builder::default().run(tauri::generate_context!()).unwrap();
    }

    Раз идет работа с БД, стоит заглянуть в доку по State management и посмотреть как дергать бэк с фронта и фронт с бэка
    Ответ написан
    2 комментария
  • HeadHunter наоборот. Где найти?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Смысла в таких сервисах не особо много. И дело не только в прибыли самого сервиса. Дело в самом пользователе.

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

    Затем идут уже более опытные (мидлы). Но вот тут опять незадача - резюме подобных полно на "старомодных" сайтах. Портфолио есть и по нему скорее всего понятно, чего человек хочет и что умеет.

    Когда речь заходит о сеньорах, то к ним стучатся не на сайтах по поиску работу, а в телеграмме, который он оставил на последнем слайде своего доклада с конференции.

    Как по мне, подобный сайт подходит больше поиска групп по интересам. Но для этого можно использовать что угодно другое.
    Ответ написан
    2 комментария
  • HeadHunter наоборот. Где найти?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Тоже hh.ru, как и любой другой подобный сервис, только когда соискатель опытный. Выкладываешь резюме и к тебе по 2-3 рекрутёра в неделю сами ломятся с предложениями. Я например, последний раз сам искал вакансии в 2006-м.
    Ответ написан
    3 комментария
  • Простой счётчик без БД (допустим на основе txt файла)?

    @alexalexes
    Простое решение - ничего не добавлять, а просто правильно смотреть access_log, группируя ip адреса при просмотре и сортируя по частоте появления в логе.
    Ответ написан
    2 комментария
  • Раздвоение интернет кабеля провайдера. Можно ли разделить интернет кабель провайдера на два разных WI-FI роутера?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Протянуть кабель от второго дома до первого и разместить в нём второй роутер в режиме стандартного ретранслятора/свитча, а кабель в первом доме подключив кабель в первый, основной роутер.
    Кабель провайдера -> Роутер 1 в доме 2 -> Свой кабель между домами -> Роутер 2 в доме 1

    Протягивать кабель лучше всего под землёй в стандартной ПНД трубе - 30 метров всего ничего. Глубины достаточно на два-три штыка лопатой и желательно хоть немного песочком присыпать - как снизу так и сверху. Легко за день копается в неспешном темпе, если грунт не каменистый или не глина, конечно же.
    Ответ написан
    3 комментария
  • Не будет ли конфликтов между виндой и линуксом, если линукс поставить второй системой?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Если вам для учебных целей или просто пощупать - то ставьте VirtualBox, в него устанавливайте линукс и будет у вас прекрасная игровая площадка, которую не жалко сломать и от которой не зависит ваша основная система. А вот ставить линукс второй системой имеет смысл только если вам в линуксе нужен 3D и графика. А ещё лучше ставить только в случае, если вы знаете или хотите изучить механизмы работы загрузки нескольких разных ОС и их взаимодействие на собственном опыте. Или есть хороший знакомый, который это всё знает и умеет чинить. Проблема двух ОС в том, что у разных разработчиков разных ОС и разных дистрибутивов свои понятия о том, как должны взаимодействовать несколько ОС, плюс разные конфигурации оборудования - всё вместе это даёт такой дикий коктейль возможностей, что никогда не угадаешь, что может пойти не так. При установке ОС установщик может: проигнорировать существующий загрузчик и добавить его запись в свой загрузчик, добавить запись о новой ОС в существующий загрузчик, заменить его своим и добавить запись о старой ОС в свой список (или не добавить), не ставить вообще никакой загрузчик для целевой ОС, может просто удалить его, может полностью удалить существующую ОС и т.п. Плюс существует еще куча всяких конфигураций железа и ПО: BIOS, UEFI, MBR, GPT, SATA, NVME, разные виды разделов, установка ОС на один диск или на несколько, может быть больше двух разных ОС и т.п. и т.д. А ещё современные ОС периодически при обновлении лезут в загрузчики свои и как результат, при любом обновлении любой ОС всё может поломаться (увы, реальный факт из практики - что винда, что линукс уже не раз так делали).

    В целом рекомендация будет следующая:
    1. Отключить в винде быструю загрузку (FastBoot)
    2. Физически отключить диск с виндой от ПК
    3. Выбрать в БИОС загрузку с диска, куда будете ставить линукс
    4. Установить линукс
    5. Подключить диск с виндой обратно
    6. В загрузчик линукс добавить запись загрузчика винды
    7. Загрузиться в винду
    8. Добавить в загрузчик винды запись линукса
    9. В BIOS выбрать загрузочный диск основной ОС

    Т.о. у каждой ОС будет свой независимый загрузчик на своём диске и когда одна из ОС или диск сломается - у вас будет вторая независимая ОС, которая всё ещё будет работать.

    Альтернативный вариант - использовать как основной загрузчик что-то типа Clover. Но там тоже есть свои нюансы.
    Ответ написан
    4 комментария
  • Как интегрировать python код в tauri?

    fenrir1121
    @fenrir1121
    Начни с документации
    Есть два пути
    - Использовать pyo3
    - Использовать sidecar в tauri (пример с питоном)

    Оба способа на мой взгляд сложнее и труднее поддерживаются, чем переписать. Код для авторизации лежит прямо в examples в oauth2-rs
    Ответ написан
    Комментировать
  • Возвращение двух типов Rust?

    fenrir1121
    @fenrir1121
    Начни с документации
    В вашем случае достаточно возвращать Result<Client>. А вообще вернуть несколько значений можно при помощи кортежа.
    Ответ написан
    Комментировать
  • Неправильный тип данных Rust?

    vabka
    @vabka Куратор тега Rust
    Мне кажется, тебе достаточно явно написали в сообщении, что тебе пришёл Result, а не str, как того ждёт serde_json.
    Обработай ошибку, достань Message, и из него уже строку доставай.

    Я понимаю, возможно мой вопрос глупый. Но разве сложно рассказать как это делается или дать ссылку на соотвествующие материалы. Спасибо.

    Да пожалуйста) https://doc.rust-lang.org/book/ch09-02-recoverable...
    Ответ написан
  • На чём создать прогу для обработки больших данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? В общем случае - на том, что знаете или что интересно было бы изучить.
    Ответ написан
    2 комментария
  • Какая точность у float чисел IEEE754? Значение какое, число какое, без текста?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    У 32-битового вещественного числа в IEEE754 точность ~7 десятичных разрядов. То есть, для числа 500 это будет 499.9999 и 500.0001.
    Значение ε при сравнении вещественных надо вычислять исходя из значений самих чисел. Примерно так:
    bool function isEqual(float a, float b) {
        float eps = 1e-6 * max(fabs(a), fabs(b));
        return fabs(a - b) < eps;
    }
    Ответ написан
    Комментировать
  • Как получить доступ к локальной переменной?

    @Everything_is_bad
    Я понимаю, что нет доступа к переменной signup, пытался сделать её глобальной - ничего не меняется. Что я упускаю?
    нет, ты вообще не понимаешь причину. А причина проста, что будет в signup, если self.cursor.execute вернул в result пустой итератор? Поэтому всем ботописцам и тыкаем, учи сначала основы питона, порешай простые задачи, а только потом пиши ботов.
    Ответ написан
    8 комментариев
  • Как открыть локальный проект с телефона?

    @rPman
    запускай веб сервер
    php artisan serve --host=0.0.0.0
    а подключайся по ip адресу компьютера, на котором стоит веб сервер
    Ответ написан
    Комментировать
  • Как открыть локальный проект с телефона?

    dev server надо на адрес 0.0.0.0:8000 (или на адрес ноутбука в локальной сети), а подключаться к нему по адресу ноутбука.
    Ответ написан
    Комментировать
  • Как правильно собрать сеть в квартире?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Нужен один мощный роутер Keenetic на arm64, можно на даже входе, лучше конечно в комнате в центре квартиры. И от него несколько жгутов витой 6 категории, либо если дешевле, то 5е. Главное, чтобы от роутера была витая пара в другие концы квартиры, чтобы подключить один или два ретранслятора в mesh сеть. Скорее всего они вообще не понадобятся.
    Идея с коммутатором и 3 роутерами выглядит донельзя странной. Либо вы что-то не договорили, либо есть фундаментальное непонимание. Ибо как минимум загадить и так забитые в МКД диапазоны WIFI, особенно 2.4 тремя источниками на разных каналах вместо одного - очень и очень плохая идея.
    Ответ написан
    9 комментариев
  • Реально ли студенту найти работу, связанную с сетями?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, вполне реально. Находите подходящую вакансию, проходите собеседование, начинаете работать. Самый простой вариант - линейный монтажник любого провайдера вашего города или ближайшего крупного города/райцентра к вашему частному дому, если живёте за городом. Там даже опыт обычно не требуется.
    Ответ написан
    Комментировать