• Почему сайты на сервере работают медленно?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    На скриншоте LoadAverage около 8 при 48 ядрах и полно свободной памяти, то есть сервер не нагружен, если при этом приложение работает медленно, можно предположить, что оно ожидает чего-то. Может оно обращается к внешнему API которое медленно отвечает?

    Рекомендую проверить настройки DNS и убедится, что используется локальный кеширующий DNS сервер, а не публичный - дело может быть в том, что публичные DNS серверы тротлят если к ним часто обращаются, так что если приложению надо обращаться к внешнему API оно будут часто резолвить имена, что приведёт к задержкам.
    Ответ написан
    2 комментария
  • Можно ли настроить сеть от одного абонента к другому посредством wi fi направленных антенн?

    @TheBigBear
    СтарОдмины мы
    Если прямая видимость - без проблем можно до 500 Мбит до 11 км вытянуть используя диапазон 5 ГГц и спецоборудование, например Микротик. Всё утыкается в бюджет
    Вопрос другой - а зачем?
    Что мешает на роутере правильно QoS настроить? Тогда ничего лагать не будет - роутер сам будет приоритеты трафика разруливать
    На компе, что торренты качает - с самом торренте ограничение на 50 Мбит поставь - хватит выше крыши
    По секрету скажу, FullHD трансляция - это около 5 Мбит
    4K При частоте 24 – 30 кадров в секунду – порядка 35 – 45 Мб/с.
    4K При частоте 40 – 60 кадров, битрейт составляет 58 – 65 Мб/с.
    У меня на работе полсотни человек сидит на 100Мбитном канале. Если верить Zabbix - средняя нагрузка Интернет канала - 22 Мбит в рабочее время с редкими скачками
    Ответ написан
    4 комментария
  • Как безопасно перезагрузить службу внутри PHP скрипта?

    @pantsarny
    У тора есть управляющий порт, в котором можно делать Реконнект для смены айпи
    Ответ написан
    Комментировать
  • Как передать переменную в JSON.stringify()?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Если я правильно понял, то
    JSON.stringify({[element]: true})
    Ответ написан
    4 комментария
  • Создание классов в цикле?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    Подобную ерунду можно делать с помощью eval(), но гораздо лучше разобраться с задачей и решить её нормальным способом.

    В качестве попытки угадать задачу, могу предложить функцию class_alias.
    Ответ написан
    8 комментариев
  • Где можно скачать точные IP диапазоны?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Вот самый точный алгоритм:
    1) берем список ASN по стране отсюда https://bgp.he.net/country/RU
    2) для каждой ASN делаем whois -h whois.ripe.net -- -T route ASN -i origin
    Ответ написан
    4 комментария
  • Как подобрать драйвер для RAID Controller для старого сервера с новой ОС?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Поставьте Proxmox, а внутри любую ОС на ваш выбор.
    Ответ написан
    Комментировать
  • Где найти просмотрщик фото без рамок и меню?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    IrfanView - просто лучший. Есть все что нужно, а чего не нужно - нету (т.е. это не комбайн, а просто приложение для просмотра фоток без лишнего мусора). Работает - быстрее не бывает. В настройках легко настраивается режим просмотра по клику по картинке - есть опция просмотра в полный экран.
    Ответ написан
    3 комментария
  • Как именно передаються данные по интернету? Более детальное объяснение нужно. Каков весь путь от моего устройства к другому?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1) Отправляю https запрос (GET) сайту
    2) Это сообщение сначала с помощью волн ( 2,4 ГГц ) передаётся моему роутеру. С помощью сетевой карты? Или сокета? Или с помощью чего передаются данные? | Это, насколько я понимаю, у нас канальный уровень (в OSI это и физический и канальный)

    Ты молодец, что ты решил так детально изучать физику процессов. Но по моему слишком глубоко копнул. WIFI тоже имеет свои протоколы связи и ты еще с пол-года на них застрянешь. Вообще науки лучше изучать в "ширину" а не в глубину. Остановись на каком-то уровне.

    А то дойдешь до физики суб-атомного уровня а там еще конь не валялся...
    Ответ написан
    9 комментариев
  • Как разрешить доступ клиенту на OpenVPN server на Windows?

    @Drno
    включить NAT
    но лучше поднять это на линукс серваке
    Ответ написан
    2 комментария
  • Имеет ли смысл писать на Хабр статьи с рецензиями прочитанных книг?

    neuotq
    @neuotq
    Прокрастинация
    Советую попробовать в любом случае. Особенно если затрагивать контекст АйТи и разработчиков, в том смысле что зачем им подобное и почему стоит обратить внимание. Ведь мы все тоже люди. Ну, а если что можно всё это приправить соусом развития софт скиллов, чтобы душнилам критикам нерелевантного контента проприглушать рот ;-)
    Ответ написан
    Комментировать
  • Что эффективнее использовать: SELECT COUNT или rowsCount() (PDO)?

    toxa82
    @toxa82
    Это разные вещи, поведение PDOStatement::rowCount() для операторов, создающих наборы результатов, таких как SELECT, поведение не определено и может быть различным для каждого драйвера.
    Ответ написан
    Комментировать
  • Почему запускается деструктор в данном примере?

    @vanyamba-electronics
    Просто у вас ошибка в этой строке
    MyString MyString::Copy(const char *string) { }
    Вы возвращаете копию объекта. Он нигде не используется:
    MyString::MyString(const char *string)
    {
      Copy(string); // Вот здесь
    }

    И для этой копии вызывается деструктор.

    А должно быть так:
    MyString& MyString::Copy(const char *string) { }
    В этом случае метод вернёт ссылку на объект.

    Но тогда вам следует объявить этот метод как статичный и назвать его не "копировать", а "создать":
    class MyString {
       MyString(const char* string);
       static MyString* Create(const char *string);
    };
    
    MyString::MyString(const char *string)
    {
      m_length = StrLen(string);
      m_string = new char[m_length + 1];
    
      if (m_string != nullptr) {
         for (size_t i = 0; i < m_length; ++i)
           m_string[i] = string[i];
    
           m_string[m_length] = '\0';
       }
    }
       
    MyString* MyString::Create(const char *string)
    {
      return new MyString(string);
    }

    Обратите внимание - мой метод возвращает указатель. Это такое правило - никогда не возвращайте по ссылке объект, который создаётся внутри функции. Иначе потом будете рефакторить весь код.

    В C++ нет стандартного соглашения, как должен поступить компилятор с объектом, возвращённым из функции по ссылке. Одни компиляторы такие объекты просто тихо удаляют, другие - нет.
    И вот, у вас объект в памяти есть, вы его не удаляли, и он даже доступен. Всё работает.
    Но потом вы создаёте какой-то новый объект, и у вас крашится программе при попытке доступа к прошлому объекту.
    Что такое? Почему компилятор сгенерил код, который затирает память? Куда подевался объект в том месте программы, в котором раньше всё работало?
    Просто физически нереально отыскать место возникновения ошибки через неделю, за которую вы написали ещё 30 тысяч строк кода.
    Поэтому всегда возвращайте объект из функции только по указателю.
    Ответ написан
    Комментировать
  • Как работать с файлом SQL объемом 20 ГБ?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Маленькое уточнение к предыдущим ораторам, ответы которых дают целый спектр годных решений.

    Вполне возможно что таблица которая вам нужна (пользователи?) не занимает много места и, на самом деле, является лишь малой частью файла, а остальное ненужные данные. Стоит проверить данный тезис и далее выделить в отдельный файл скрипт загрузки только этой таблицы. Как работать с этим куском уже дело вкуса - искать как в файле или импортировать в бд. ИМХО бд в этом плане удобнее и практичнее.
    Ответ написан
    Комментировать
  • Сохранится ли лицензия Windows, если установить Linux Ubuntu?

    @Pavstyuk
    Запустите LiveUSB и станет понятно работает датчик отпечатка пальца или нет. Обычно перед покупкой ноутбука нужно все протестировать таким образом, а потом спокойно покупать ноутбук без ОС.
    Ответ написан
    2 комментария
  • Болят глаза через 5-10 минут, что можно сделать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сходи к врачу. Боль в глазах может быть связана с внутричерепным давлением. У меня после Covid было такое что я видел вспышки в левом глазу. Все это - последствия чего-то там.

    Вобщем глаза - твоё здоровье и не слушай советы дилетантов по поводу монториов или шрифтов. У тебя - медицинская проблема и ее надо решать с медициной.
    Ответ написан
  • Вопрос по ассемблеру во встраиваемых микропроцессорах и одной истории про это. Как пытался осуществить парень такую штуку?

    какой именно ассемблер мог использовать тот парень

    Очевидно тот, который используется в микропроцессоре конкретного его кардиостимулятора.
    Не от x86-64 же.

    И как он мог удалённо получить доступ к микропроцессору кардиостимулятора, чтобы перепрошить?

    У кардиостимуляторов есть интерфейс для питания и настройки. Вероятно - через этот же интерфейс он нашёл способ перепрошивки.

    И что именно он вообще пытался сделать с этим микропроцессором кардиостимулятора?

    Не читал рассказ этот, но тут два варианта:
    1. Добавить ещё одно устройство рядом с ним, которое бы меняло параметры работы кардиостимулятора
    2. Изменить программу в самом кардиостимуляторе
    Зачем? Чтобы например при физических нагрузках, когда нужен более высокий пульс, кардиостимулятор поддерживал этот повышенный пульс.

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

    Вообще в реальной жизни я бы не пытался это провернуть, тк идея абсолютно суицидальная.
    Ответ написан
    Комментировать
  • Аналог unset в ООП?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Вы неверно поняли.
    Unset - удаляет переменную
    __destruct выполняется когда все ссылки на переменную освобождены
    <?php
    
    class User {
    
    public $name = "Bankai", $age = 40;
    
    function show(){
    echo "$this->name:$this->age <br>\n";
    }
    
    function __destruct(){
    echo "Деструктор \n";
    }
    };
    
    $obj = new User();
    $obj->show();
    
    $obj2 = $obj;
    unset($obj2);
    var_dump("__destruct not calling");
    unset($obj);
    var_dump("__destruct called");

    Результат:
    Bankai:40 <br>
    string(22) "__destruct not calling"
    Деструктор 
    string(21) "__destruct called"


    Освобождение ссылок на переменную не означает вызов деструктора так как ссылка объект может быть еще в других переменных.

    Деструктор невозможно переписать в процедурном стиле, это чисто объектное поведение.
    Ответ написан
    6 комментариев
  • Насколько полезно писать велосипеды?

    xez
    @xez
    TL Junior Roo
    Думается, что при написании велосипедов и использовании только нативных возможностей языка и браузера, при конструировании приложения лично сталкиваешься с проблемами, эффективным решением которых занимаются готовые библиотеки. И вот тогда суть улавливается.

    Хорошо сказано.
    Пишите в качестве пэт-проекта, демо или пруф-оф-консепт. В прод велосипеды тащить не надо.

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

    @tukreb
    1. Вы задаёте этот вопрос значит вы не разбираетесь и у вас нет денег.
    2. Замена впаяемого ЦПУ - дорогая процедура и это лотерея, а где не лотерея будет дороже, но где лотерея в итоге выйдет ГОРАЗДО дороже.
    3. Нетбук х101 - мусор и вам дороже обойдётся замена ЦПУ, чем покупка нормального быстрого ноутбука.
    Итог - скупой платит дважды, а лох всегда.
    Не будьте ни тем, ни этим, а просто купите нормальный ноутбук.
    Ответ написан
    6 комментариев