Задать вопрос
  • Как запустить три асинхронных функции последовательно через Callback?

    @rPman
    Какое то эпическое непонимание проблемы, а есть ли проблема?
    эм
    function first() {
      setTimeout(() => {
        second();
        console.log("первая ended");
      }, 300);
    }
    Ответ написан
    Комментировать
  • После перезапуска, не запускается пк.(Видеокарта, ОЗУ). Что делать?

    @rPman
    несите в сервис, прямо всю коробку, иначе убьете крохотный шанс что смогут починить дешево.
    Ответ написан
    Комментировать
  • Minecraft не запускается через дискретную видеокарту, что делать?

    @rPman
    Бывает на компе несколько версий java, возможно нужно указать другие (все) javaw в панели управления ati, либо к примеру можно принудительно указать в ярлыке запуска именно ту что уже настроили (это если запускаете jar файл), правда скорее всего у вас какой-нибудь лянчер, топайте в его настройки где указывается путь до java и смотрите там.
    Ответ написан
  • Гугл проиндексировал то, что скрыто в роботс.тхт?

    @rPman
    Не выкладывать страницы, которые не хотите чтобы были доступны поисковикам доступными HTTP GET запросами, кстати и даже это может не быть гарантией, были же скандальчики что расширения-панельки-бары к браузеру, которыми одно время все кому не лень пичкали браузеры пользователей, так вот они ради аналитики собирали все странички, в т.ч. POST запросы
    Ответ написан
  • Почему VMWare Workstation показывает несколько вариантов загрузки ОС?

    @rPman
    Это не виртуальная машина делает а сама ОС, в загрузчике находятся записи по последнему ядру, предыдущему и пункт для загрузки в cli режим восстановления. Если система завершена корректно, эти пункты не показываются
    Ответ написан
  • Как структурировать данные категорий при парсинге?

    @rPman
    Сначала нужно задаться очень важным вопросом, а как именно у вас будут использоваться категории? А то наворотите многоуровневую систему, а потом поверх этого будете реализовывать почти поиск по ключевым словам и не больше (т.е. только по названию категории без учета ее уровня вложенности).

    Базу данных необходимо в первую очередь строить исходя не из того что там хранится, а как это будет использоваться!

    К примеру мне нравится система, когда категория - это всего навсего метка/тег/ключевое слово, которое приписывается объекту, т.е. :
    справочник категорий (id,name,level,..)
    == 1-M ==
        V
    категории объектов(id_категория,id_объекта)
        ^
    == M-1 ==
    объекты (id,...)

    числовое поле level может находиться не в справочнике, а в таблице категории_объектов, если одна и та же категория может находиться у разных объектов на разных уровнях (либо придется заводить несколько одноименных категорий, каждую для своего уровня)

    Тут же можно в/рядом со справочником категорий хранить информацию по лимитам, взаимосвязей категорий и требованиям (например количество категорий всегда 3 или возможны объекты только с 1 корневой?)
    Ответ написан
    Комментировать
  • Насколько вредны разряды статики для внешней периферии?

    @rPman
    статика для электроники - первый убийца

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

    p.s. у вас корпус ноута металлический? когда на зарядке? заземление и статика не спасут ситуацию конечно
    в розетке у зарядкника к 220 сети два контакта или три? если три контакта, то подсуетитесь чтобы розетка была подключена к земле а не весела в воздухе.
    Есть практика зануления, т.е. подключения земли к нулевому проводу (в домах с двумя контактами так делают в щитке) но это плохая практика, мало того она еще хуже если вы сделаете это в самой розетке, правильно надо вести землю к каждой розетке...
    Ответ написан
    Комментировать
  • Можно ли роутер подключить к POE маршрутизатору?

    @rPman
    Стандарт требует чтобы PoE порт детектировал что на другой стороне есть кому эту энергию получать и только в этом случае подавать напряжение.
    Для гарантии, поищите информацию про это в мануале на свой PoE маршрутизатор
    Ответ написан
    Комментировать
  • Как экспортировать DataTables в Excel без округления чисел?

    @rPman
    экспортируйте в csv а уже его в эксель

    p.s. есть там настройки экспорта, может поиграть с методом customizeData может если возвращать данные типа так param=''+param;
    Ответ написан
  • Как обойти перезатирание строк при большом количестве вызовов скрипта, создающего новые строки?

    @rPman
    Попробуй хранить количество записей (точнее первую пустую строку после таблицы) в этой же таблице. Таким образом получай строку, в которую нужно сохранять запись и увеличивай значение в одной строке (не то чтобы это было атомарно но наверняка это значительно уменьшит вероятность коллизий)
    var seq=sheet.getRange("A1");
    seq.setValue((newRowNum=seq.getValue())+1);

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

    либо ищи другое место хранения этого сиквенса, в котором есть атомарная операция seq_id=seq++
    Ответ написан
    1 комментарий
  • Горизонтальное масштабирование. С чего начать?

    @rPman
    Все вышеописанное отлично поможет вам с горизонтальным масштабированием... но почти наверняка, к сожалению, линейно, т.е. увеличилась нагрузка в 2 раза - удваивайте количество серверов.

    ---------- не воспринимайте как наезд ---------------
    дальше нижеописанное можно сказать одним словом - переписывайте ;)

    В первую очередь я бы избавился от корневых проблем, которые почти наверняка у вас сидят из-за основы Yii - http rest технология (кстати не факт) и построение представления на сервере.

    Если вы начнете переносить все связанное с отображением и построением внешнего вида на клиент, вы почти наверняка поднимите скорость на порядок, отложив необходимость масштабирования на большой срок, но тогда непонятно, зачем вам Yii :) т.е. вместо разработки приложения на сервере на php вам лучше писать все связанное с интерфейсом пользователя на javascript, а сервер пусть обрабатывает логику и держит базу данных. Т.е. выносите view наружу (фактически ваши view превратятся в просто поток данных в виде json а ui переносите на client js).
    Ответ написан
  • Как результат вызова команды php exec поместить в переменную или файл?

    @rPman
    Потому что это stderr и его перехватить можно либо с помощью пайпов и proc_open либо меняйте командную строку запуска nodejs так чтобы она возвращала ошибки в стандартный вывод или куда вам удобно простым перенаправлением в файл:
    exec("capture-website https://yandex.com --output=img.jpg 2>capture-website.err", $out);
    $err_str=file_get_contents('capture-website.err');
    Ответ написан
    Комментировать
  • Может ли сломанный процессор открыть окно входа в Windows 10?

    @rPman
    Вы уверены что речь идет о процессоре? Ведь ждут то они по вашим словам материнку! Или там вообще все запаяно (что нормально у большинства low-end железа)? В этом случае уже не важно что сломалось, перепаивать никто за бесплатно не будет, а стоит обычно это под половину стоимости железа и проще заменить чем ремонтировать.

    С большой вероятностью могла глючить видеокарта или тот ее блок, который внутри процессора или связанные с ним внешние компоненты.
    Ответ написан
    Комментировать
  • Какова стоимость и сроки создания браузера?

    @rPman
    Абсолютно все сказанное умеют современные движки, под вопросом только ваше абстрактное 'подмена отпечатка'. Например gpu подменить очень сложно.

    Писать свой браузер глупо, берете исходники уже существующего движка - webkit (chromium) или gecko (firefox), и подменяете ответы и поведение как вам необходимо.

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

    @rPman
    Все зависит от контента и размера помещения, в котором будете его смотреть. Еще выбор зависит от того как именно будете смотреть - сидя и ничем не занимаясь или же фоном, не глядя на экран.

    Если помещение маленькое, и сидеть вы будете в паре метров от экрана максимум, то берите 22" и радуйтесь высокой четкости картинки. Если же помещение большое и монитор находится от вас на 3-5 метров, то лучше взять 32" и выше, и качество изображения кстати уже будет не так важно.

    Если ваш контент в основном HD, то думать что FullHD даст вам что то красивое - неправильно, с другой стороны мало ли вы захотите подключить мышку с клавиатурой и в интернете посидеть, т.е. у вас такая возможность будет в принципе, когда как с HD телевизором это некомфортно, хоть и возможно.
    Ответ написан
    Комментировать
  • Стоит ли учить программирование по старой книге?

    @rPman
    Лишней книга не будет, но из-за устаревшей парадигмы и стандартов у вас возможно (не видел книгу) возникнут проблемы с компиляцией примеров.

    С другой стороны получите основы без современной шелухи, которая помогает решать задачи но часто мешает решать проблемы, если они возникают с готовыми решениями.
    Ответ написан
    Комментировать
  • Какой RAID контроллер выбрать для сервера?

    @rPman
    Вендорлок такого железа - норма.
    К сожалению универсальные софтварные могут заметно уменьшить скорость или надежность (поищите были же софтварные драйвера для чтения рейдов без железа, речь не идет о высокой производительности, а только о работе с данными на время перехода на другой формат).

    Такова селяви.

    Протестируйте на ваших нагрузках софтварный рейд или даже btrfs/zfs и если вам хватит - переходите на него.
    Ответ написан
    2 комментария
  • Как лучше сравнить два файла изображения?

    @rPman
    В http стандарте есть заголовки, отвечающие за размер и время изменения файла
    посмотрите на ваш файл в своей программе или с помощью утилит curl -I http://.... сам файл при этом не загружается.

    Такие заголовки как Content-Length или Date или ETag, не всегда они есть но если они есть и изменились - значит файл изменился, иначе загружать весь не обязательно.
    Ответ написан
  • Многопоточность vs асинхронность?

    @rPman
    Различия в подходах работы соответствующих методов, чья работа должна выполняться долго и чего то ждать (например сетевое взаимодействие но не обязательно само собой).

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

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

    Многопоточное - в разрезе выше описанной задачи, это подход запуска одновременно нескольких синхронных методов, которые готовы к такому запуску (эта оговорка требует примечаний километра на два текста) в отдельных потоках (треды и/или процессы) - специальных сущностях операционной системы, работающих независимо и одновременно (точнее псевдоодновременно, к примеру у вас 16 ядер процессора а у вас 100 одновременно работающих потоков, чтобы они работали одновременно система сама периодически перекидывает активные потоки между ядрами на короткое время - миллисекунды, замораживая остальные, создавая иллюзию одновременной работы), таким образом ваши методы работают одновременно, но приходится тратить силы на синхронизацию.
    Ответ написан
    Комментировать
  • За счёт чего спутники и космические станции удерживаются на орбите?

    @rPman
    Кто вам сказал что спутники не падают? весь смысл в том что они именно падают, и чтобы не встретились с планетой их разгоняют до первой космической скорости, в результате они пролетают мимо земли с той же скоростью с какой на нее падают - при достижении баланса этих скоростей получается что спутники летят вокруг земли по круговой траектории, бесконечно падая но так и не встречаясь с землей.

    Веселее всего на геостационарной орбите -скорость движения спутника равна скорости оборота планеты вокруг своей оси, получается спутник висит над одной и той же точкой на планете.

    При превышении скорости или изменении вектора скорости круговая траектория меняется и становится вытянутой, вплоть до ухода от планеты (вторая космическая скорость)

    Чтобы спутники не сталкивались - за ними следят и рассчитывают траекторию полета чтобы этого не случилось (или наоборот случилось специально - это уже было)
    Ответ написан
    Комментировать