Задать вопрос
  • Как вычислить виновника из-за которого отваливается интернет с какой-то периодичностью в маленькой сети?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Такого рода проблемы все и всегда решаются однотипно.
    1. Необходимо сформулировать критерии наличия проблемы.
    Как именно пропадает интернет, насколько часто, как надолго. Это нужно для диагностики. поиска причины и определения ушла ли проблема после принятия каких либо мер.
    2. Делить проблему на части и проверять части по отдельности.
    Самый эффективный способ делить - это пополам. Отсекаем часть сети и проверяем наличие проблемы в обеих частях (если есть возможность) или в одной из частей.
    3. Когда найден минимальный проблемный участок, который уже нельзя или бессмысленно делить - заменяем его.
    4. Помним, что чаще всего сложные проблемы - это композиция нескольких более простых. которые по отдельности могут не проявляться. В вашем случае может быть проблема, связанная с нагрузкой на роутер, например, которую создает один из услов из-за плохого контакта обжима и большого объёма биттых пакетов. Устранив одну из причин, вы, может быть, сделаете проявления проблемы реже, но не устраните её полностью. К примеру, если замените ротуер, битые пакеты будут всё равно будут нагружать вашу сеть и портить ее производительность, но это будет не так очевидно. Переобжав коннектор вы избавитесь от части нагрузки, но еслив ваш ротуер работал на переделе, то лишний вафай-клиент или тяжелый видос в сети сможет его снова нагрузить до критического снижения производительности.

    Итак, пробежимся по перечисленным пунктам сначала.
    1. Критерии. Поиск критериев - это часть решения. Обычно в этом случае нуно сорать необходимую статистику. Есть куча софта, который это умеет делать, но пинг есть всегда под рукой.
    Для этой тулзы есть две полезных опции: ключ для бесконечного пинга и размер пакета.
    В разных ОС эти ключи немного разные, поэтому ищите их отдельно, у меня нет винды под рукой, поэтому не стану на этом заострять.
    Скаж лишь, что пинговать лучше большими пакетами, жалетально превышающими размер TTL, прописанный в роутере. Тогда такой пинг будет реже проскакивать в периоды хорошей связи, то есть выловит больше пролблем.
    Пинговать нужно в отдельных окнах сразу несколько хостов:
    - ya.ru - этот хост всегда отвечает на пинги и выявит проблемы с DNS
    - 8.8.8.8 - это гугловый DNS-сервер, тоже всегда отвечает на пинги, покажет, что связь с инетом есть даже если DNS, прописанныйна компе не правильно работает.
    - 192.168.0.1 - или какой там IP у вашего роутера. Нужно. чтбы отделить проблемы с инетом от проблем с внутренней связностью до роутера
    - 192.168.0.x - ip одного из компов в сети. Я обычно пингую несколько компов, доступных через баксимальное число потенциально проблемных узлов - ethernet-розеток, свичей, вайфай-соединений... Этот пинг поможет понять где проблема, во внутрисетевой связности или в последней миле.

    Учтите, что проблемы часто бывают комбинированные и каждое сочетание симптомов будет свидетельствовать о раных проблемах.
    Да, тревожным принаком может служить не только пропадание пакетов, но и скачки в длительности их возврата, особенно если такие длительности достигают 500мс и выше. Но и скачки от 3мс до 250мс тоже будут свидетельствовать о каких-то проблемах.

    Запускать пинг на всех компах лучше одновременно и на некоторое время. Например минут на 20. Потом по статистике будет видно сколько где пакетов пропало.

    2. Если критерии наличия проблемы позволяют, то можно попробовать отрубать части сети и смотреть наличие проблемы. Это я в том смысле, что если проблема происходит в среднем раз в пару-тройку часов, то отрубать на многие часы части сети при диагностикем ожет быть неприемлемым.
    Редкеи пробемы дольше отлавливать. Но напоминаю, что критерии можно детализировать, ведь если пакеты у вас пропадат относительно редко, то скачки времени их возврата могут случаться чаще и подсвечивать проблему. Также можно сделать рамер пакета близким к максимальному, это должно тоже в некоторых случаях участить проявление проблемы.
    Иногда не мешает нагрузить сеть комированием по локалке большого файла. В линуксе можнно с помощью утилиты tc послать большой поток рандомных байт на любой сокет..
    3. Плавающие проблемы случаются из-за плохого обжима, перебитого жверью кабеля, перегрызенного UTP в плинтусе, из-за умиращих конденсаторов в блоке питания роутера (БП может не выдавать необходимого при нагрузках тока, но вольтметром такая неисправность не будет различима без нагрузки). Вообще старые (да и не только) роутеры могут страдать поплывшими электролитическими конденсаторами не только в блоках питания.
    Хорошо, когда можно подменить роутер.
    4. ну с четвертым пунктом ничего не пососветуешь, только разделать и тестировать все по отедльности и в разных сочетания и да поможет нам ктулху.

    А для тех, кто дочитал этот опус до конйа - интересная задачка. Что пингуют эти команды, как и почему?
    ping 1.1
    ping 2130706433

    Тех, кто знает, попрошу не спойлерить=)
    Пусть для кого-то будет сюрпризом этот дивный мир=)

    UPD. Простите за адское количество опечаток в тексте. Писал в спешке и с непривычной клавиатуры. Исправлю всё попозже. Не ожидал, что многим ответ придётся по душе. Вроде ж накапитанил как мог.
    Ответ написан
    5 комментариев
  • Может ли конфигурация системного блока (в частности процессор + материнская плата) влиять на производительность видеокарты?

    Нет, на производительность видеокарты мп и процессор не влияют.
    НО:
    1. В некоторых ситуациях, комбинация мать+процессор может давать слишком мало линий pcie, либо может быть старая версия pcie, что в экстремальных случаях (pcie 2.0 x4 например) не позволит видеокарте работать на 100%, из-за низкой пропускной способности.
    2. В некоторых случаях, программе нужен и процессор и видеокарта (например в играх), и тогда при слишком слабом процессоре видеокарта будет простаивать, тк процессор не будет успевать подготавливать достаточное количество данных для отрисовки очередного кадра.

    Так что:
    1. Убедись, что ты вставил видеокарту в pcie 3.0 x16 слот (обычно самый верхний)
    2. Убедись, что какие-то другие устройства не забирают линии pcie
    3. Убедись, что контакты на видеокарте и МП не грязные и все на месте.
    4. Убедись, что в тестах у тебя нет упора в процессор или диски
    Ответ написан
    Комментировать
  • Почему в цикле выводит еще одно значение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Здравствуйте, у меня такая проблема, когда я создаю цикл в php у меня выводится еще одно значение
    Ох уж эти циклы проказники, бывает...

    Допустим у меня в БД есть 2 поле
    2 поле это что? Насколько видно из скринов, в структуре таблицы у вас 5 полей, и 2 записи в таблице. Вы про записи?

    и при выводе на страницу я получаю 4
    Смотрим глазками в разметку, считаем на пальчиках сколько раз мальчик написал test в одной итерации цикла? Загибаем 3 пальчика. Записываем в тетрадку 3 палочки. Далее смотрим что нам вывел цикл? Загибаем пальчики 3 на одной ручке, 3 на другой... Сколько ручек? 2! Пишем в тетрадку - вывелось 2 раза по 3. Вроде пальцы с палочками сошлись...
    Ответ написан
    2 комментария
  • Автоматизация установки ПО на Windows?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Как уже выше сказали Group policy и WDS
    Вы создаете структуру AD делаете OU по какому либо признаку, к нему прикрепляете политику с набором программ спецефичных для данного организационного подразделения.
    В WDS настраиваете профили установки, это кастомизированные образы со встроенными драйверами и предустановленными программами.

    В итоге вновь запущенная машина стартует и используя режим PXE Boot устанавливает ос, дальше при вводе в домен применяется политика
    Ответ написан
    Комментировать
  • Автоматизация установки ПО на Windows?

    Adler_lug
    @Adler_lug
    Если локально (не по сети), то гуглите MInstAll и MInstAll By Andreyonohov (то что гуглится как "официальный сайт", есть сомнения, что он им является, авторскую сборку можно найти на nnmclub.to).
    Если по сети, то Windows Deployment Services
    Ответ написан
    Комментировать
  • Для чего нужен жёлтый провод в вентиляторе/кулере?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Жёлтый - датчик оборотов.
    Регулировка скорости вентиляторов с двух- и трёхконтактными разъёмами выполняется за счёт напряжения питания. При стандартных 12В будет максимальная скорость вращения.
    Ответ написан
    Комментировать
  • Как внутри javascript'а запустить php код?

    @sl0
    Ответ на эти и другие вопросы в ищите в нашей книге "Никак".
    Но это и не нужно, а нужно сделать ajax-запрос к серверу, на котором уже и будет выполняться php код. Инфы по этому вопросу в гугле навалом. А вот если будет не получаться, то уже можно будет задавать конкретные вопросы.
    Ответ написан
    Комментировать
  • Можно ли использовать код PHP в таблице mysql?


    Для того чтоб не грамоздить код if/elseif

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


    Тоесть в зависимости от ситуации и вводимых данных пользователем использовать разный сценарий

    Звучит как "стратегия"


    а использовать базу для веток.


    Ну в теории ты конечно же можешь запихнуть код в БД и вызывать его потом через eval, да только это твою проблему не решит, а добавит ещё больше новых
    Ответ написан
    3 комментария
  • Что будет если hdd просто положить в корпус?

    @Drno
    ничего не будет. в идеале конечно на резину положить... или любой изолятор
    и не "Ложить", а класть
    Ответ написан
    Комментировать
  • Можно ли совмещать isset() и оператор "равно"?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первый и второй варианты имеют совершенно противоположный смысл.

    Первый вариант выполнит код внутри {}, если элемент массива $data[26] НЕ существует.

    А второй вариант выполнит код внутри {}, если элемент массива $data[26] существует, но не равен 1.
    Ответ написан
    1 комментарий
  • Как в mysql ускорить запрос с GROUP BY?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT *
      FROM `posts`
      WHERE `id` IN (
        SELECT `id_post`
          FROM `tags_rel`
          WHERE `id_tag` IN (1,2,3)
        ) AND `status` = 1
      LIMIT 0, 50
    Ответ написан
  • CMS или Framework?

    vfreelancer
    @vfreelancer
    php
    в сms много всего готово - но вам оно не надо в этом проекте, а конкретно под вашу задачу придется писать плагин с нуля. поэтому фреймворк - не будет ничего лишнего
    Ответ написан
    Комментировать
  • Как написать заявление о увольнении, с указанием статьи безграмотного руководства?

    @TheBigBear
    СтарОдмины мы
    Уважаемый, Вы уж определитесь, что конкретно Вы хотите
    - Уволиться? Так увольняйтесь! Причем рекомендую "по-хорошему", без оскорблений и "хлопанья дверью" так как с нового места работы могут позвонить за рекомендацией. Мне звонили например, даже через пять лет после увольнения программиста. Да и велик шанс что с Вами не захотят расстаться, увеличат зарплату или большой начальник захочет узнать причину.
    - Нагадить начальникам? Не получится! Пусть они будут трижды "бездарями", высшее руководство или владельца это устраивает. Сужу по своему опыту. (с компьютерами в 1986 года) Я был когда-то программистом FoxPro, БЭСТ 4, 1С 6.0, 1С 7.7, потом так получилось что стал сисадминить, поднялся до руководителя IT отдела. В какой-то момент - когда стали переходить на 1С 8 принял для себя решение, что даже не буду вникать в неё - других забот выше крыши. И для нанятого нового программиста я стал тем самым "бездарем" который "не понимает как оно всё работает, а только указания раздаёт". И он даже не раз ходил к владельцу Компании. Результат - я всё еще работаю, а он нет.
    - навести порядок в цепочке "задание - результат"? Проще простого! После получения задания описываем этапы и ли ТЗ и передаём на подпись (бумага, почта, ЭДО) с обязательным указанием, что без подтверждения ТЗ Вы и пальцем не пошевелите для выполнения. Возникли вопросы или нюансы, которые от Вас не зависят? Также бумажка или эл.письмо с обязательным указанием остановки работы без получения ответа. Далее просто тыкаем всех этими бумажками. Очень часто руководство вчера хотело одно, сегодня второе, а завтра третье. Это нормально. Руководству вообще не нужно знать матчасть - его задачаа другая - денег заработать
    - "в планах доделать всю работу для организации и уволиться с легкой совестью." - это утопия.
    Пример: Внедрение 1С 8 заняло год, затем доводка, дописывание отчетов еще год. Прошло несколько лет, а мы всё еще обращаемся с программистам для доделок своих хотелок.
    У меня есть несколько подработок по созданию и обслуживанию сетей и оборудования. Вылизанных! Работающих стабильно без моего участия месяцами. В одной такой конторе ВСЕ сотрудники кроме владельца, меня никогда в глаза не видели! Мне что - уволиться с легкой совестью и лишать себя подработки и денег на "ничегонеделание"?

    "Топнуть ножкой" Вы всегда успеете.
    Ответ написан
    Комментировать
  • С чего начать системному администратору в школе?

    @Drno
    1. - беги оттуда... работы дохера, денег нифига
    А по теме -

    надо создать "карту" сети, где будут ПК которым нужен доступ, спланировать прокладку сети.
    далее можно поделить участки на "квадраты", чтобы приводить туда 1 кабель и ставить свитч, а не вести кучу проводов до каждого ПК
    после этих подсчетов возвращайтесь - будем подбирать оборудование
    Ответ написан
    10 комментариев
  • Почему кнопка ДАЛЕЕ игнорирует REQUIRED?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Ну даже не знаю, потому-что внутри кнопки - ссылка?
    Ответ написан
    2 комментария
  • Почему кнопка ДАЛЕЕ игнорирует REQUIRED?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Потому что происходит переход по ссылке, а не отправка формы.
    Кто вас надоумил внутрь кнопки положить ссылку? Вам бы основы html изучить сначала...
    <form action="reverse.php">
      <div class="group">
        <center><button>Далее</button></center>
      </div>
    </form>
    Ответ написан
    Комментировать
  • ООП в php - не понимаю объекты, неправильно передаю ссылки?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Здесь неправильно не то что всё, а даже больше.
    Потому что ёще до того как вы взялись писать этот "класс", не выучив даже базовый ООП синтаксис, код вашей "функции" уже был очень плохой.

    Я сейчас напишу минимально приемлемый вариант, но повторять его не надо. Потому что всё равно непонятно будет.
    Надо забыть временно про классы и учить базовый синтаксис РНР. Просто потому что сначала надо выучить базовые понятия - работу с БД, обработку ошибок, разделение ответственности:
    - работа с переменными в запросе ведётся через параметризованные запросы
    - код класса не должно тошнить прямо на экран сообщениями об ошибках
    - метод getArray не должен возвращать объект класса mysqli_result. он должен возвращать массив
    - код, который будет в дальнейшем работать с результатом вызова метода getArray, не должен ничего знать про базу данных

    Про сам же код ООП надо хотя бы один раз посмотреть его в учебнике, а не писать на основе чистой фантазии.
    class CProducts
    {
        private $link;
        public function __construct(mysqli $link) {
            $thi->link = $link;
        }
        public function getArray($lim) {
            $query = "SELECT * FROM products ORDER BY DATE_CREATE DESC LIMIT ?";
            $stmt = $this->link->prepare($query);
            $stmt->bind_param("s", $lim);
            $stmt->exeсute();
            $result = $stmt->get_result();
            return $result->fetch_all(MYSQLI_ASSOC);
        }
    }
     
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $db = new mysqli($host, $user, $pass, $dbname);
    $db->set_charset('utf8mb4');
    $db->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
      
    $product = new CProducts($db);
    $result = $product->getArray(3);
    Ответ написан
    Комментировать
  • Как массово скачать файлы по списку?

    GavriKos
    @GavriKos
    curl
    Ответ написан
    Комментировать
  • В чем разница object и array в json_decode()?

    DevMan
    @DevMan
    например, мне удобнее в основном декодировать в объект: предпочитаю писать ->value, а не ['value'].

    хотя, конечно, это вкусовщина.
    Ответ написан
    Комментировать
  • Как составить запрос MySQL?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    просто дописать джойны всех трёх таблиц
    Ответ написан
    8 комментариев