Задать вопрос
  • Как сделать аналог яндекс.диск или mail.cloud в локальной сети?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ответ написан
    Комментировать
  • Мониторинг температуры и состояния HDD?

    smartctl или hddtemp
    Ответ написан
    Комментировать
  • Маршрутизатор с 4-ю портами для 3G модемов или sim карт?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Подскажите цель такого мероприятия, чтобы было яснее, что советовать.
    Ради хохмы, можно конечно в любой агрегат на OpenWRT USB-хаб подключить (разумеется, активный [спасибо, Александр, за уточнение]), а в него натолкать модемов.
    Ответ написан
    2 комментария
  • Умирает ли жесткий диск?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Нормальная картинка для престарелого жесткого диска. Диск исправен. Дополнительно, можете глянуть S.M.A.R.T.
    Ответ написан
    3 комментария
  • Зачем нужны отдельные классы для работы с БД?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    На самом деле это интересный вопрос. А, точнее, два: зачем нужен такой класс, и зачем их пишут.
    Ответ на первый становится очевиден, когда начинаешь не смотреть на код, а писать его ;)
    Практически все библиотеки, представленные в РНР, представляют в пользование программиста довольно низкоуровневые функции, которые позволяют, с одной стороны, довольно гибко управлять процессом, но с другой - делают этот процесс ну очень многословным. Самый яркий пример - CURL. Никто, находясь в здравом уме, не будет писать все время эти бесконечные curlopt. Надо пилить библиотеку, которая реализует стандартные методы пост, гет за один вызов, и только для исключительных случаев позволяет задать кастомные параметры.

    То же самое касается и работы с БД. К примеру, очень часто нам бывает нужно получить из БД массив. Сколько строк нужно написать для этого? Классическим говнокодом - 5:
    $ret = array();
    $res = mysql_query();
    while ($row = mysql_fetch_assoc($res)) {
        $ret[] = $row;
    }

    И такой код надо написать раз 15-20 за приложение. У программиста сразу руки зачешутся уничтожить этот повторяющийся код и написать функцию, которой передаешь запрос, а получаешь массив. За 1 вызов. Вот для этого библиотеки и пишут.

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

    Возьмем для примера код примера из мануала. Даже выкинув из него очевидные глупости, мы получаем пол-дюжины строк кода. Это на ОДИН запрос.
    if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
        $stmt->bind_param("s", $city);
        $stmt->execute();
        $stmt->bind_result($district);
        $stmt->fetch();
    }

    И это все - чтобы получить единственную строчку!

    В то время как с помощью (нормальной) библиотеки вся работа с БД сведется к 1 (одной) строчке, а все необходимые телодвижения будут выполнены библиотекой автоматически:
    $distr = $db->getOne("SELECT District FROM City WHERE Name=?", $city);

    Теперь перейдем ко второму вопрос - зачем их пишут.
    Самый основной мотив - "шоб було!" "У всех есть - значит, и у меня будет!". При этом, подходя к написанию библиотеки, новички наступают на одни и те же грабли.
    Чаще всего, из-за недостатка опыта авторов, код сокращается только для самых примитивных запросов. Но при этом работа с нестандартными запросами превращается в ад. Но самое ужасное - практически никогда такие самописные библиотеки не поддерживают работу с подготовленными выражениями. А это должно быть их главной фичей, без которых ценность сразу стремится к нулю. А точнее, даже к минусу, потому что инъекции. Ну и по мелочи: к примеру, если в коде действительно написано $db->FetchArray(); - то это ужас, летящий на крыльях ночи, потраченной на отлов неочевидных ошибок .
    Ответ написан
  • Выбор файловой системы для сервера с видео?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, про XFS (и тем более SSD) вам уже написали... Я же немного с другой стороны подойду. Как обычно, подозреваю, что стоит веб-сервер, который это видео раздает на сайт, а со стороны клиентов стоит браузер с flash или подобное. Другими словами, у вас стриминг видео. Что делает плеер со стороны клиента, кроме того, что проигрывает видео? А он ещё его и кеширует! А как он его кеширует?! А кешируют эти сволочи на сколько у них ресурсов хватит, спользуя весь объем диска и всю полосу пропускания!!!
    Объясню на пальцах, клиент сморит ролик с битрейтом 3000килобит, а кешируется у него этот ролик на скорости клиентского подключения (100мегабит к примеру) и будет продолжать кешироваться до полной закачки всего файла. Теперь у нас 10 клиентов, которые тут же сожрали все ресурсы сервера и пропускной способности, на короткое время конечно, но пользователи прибывают например раз в 3 секунды, и вот они уже никаких ресурсов не получают вообще, пока первые 10 не докачают. А теперь представим, что первые 10 клиентов посмотрели только первые 3 минуты ролика и переключились на другой. Но мы то им отдали за эти три минуты двухчасовой ролик!
    Что делать? Да очень просто, ограничить скорость на клиента двойным максимальным битрейтом. Это можно сделать как iptables/tc , так и политиками на nginx например. Ну или отдавать в формате HLS или подобном, или ставить ПО видеосервера, что в общем почти одно и тоже...
    Вот как раз даже в примере есть (не просто так поди) www.nginxtips.com/how-to-limit-nginx-download-speed
    location ^~ /videos/ {
    ...
    limit_rate_after 1m;
    limit_rate 150k;
    ...
    }

    PS. И да, кодируйте видео в CBR для раздачи. VBR для этого не очень подходит...
    Ну, кажется все военные тайны раскрыл... Ну и дополнительно на HLS уходите!
    Ответ написан
    2 комментария
  • Не вредно ли ставить телефон, потребляющий 750 мА на зарядку от устройства, отдающего 2 А?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Да, можно. В смысле замены источников питания требования такие:
    • напряжение должно совпадать - это выполнено, у вас и там и там 5 вольт
    • мощность источника питания должна быть больше или равна мощности потребителя.
    Мощность рассчитывается как произведение силы тока (Амперы) на напряжение (Вольты). Так как напряжения совпали, допустимо подключать любой источник питания, выдающий 0.5А или больше.

    Есть также третий параметр - стабилизация напряжения. Так как в данном случае мы имеем дело с USB, стабилизатор присутствует в обоих источниках питания, так что с этим проблем нет.

    SHVV: Я привел общие условия. Для устройств с USB-подключением (не учитывая OTG) существуют такие правила:
    USB может обеспечить не менее 0.5А (USB-OTG - 0.15А)
    Для того, чтобы получать больше, устройство должно "договориться" с хостом. В стандарте USB3.0, например, оно должно указать свой класс энергопотребления. В младших стандартах применяются различные ухищрения при помощи резисторов и подобного - чтобы зарядник мог сообщить потребителю, что он может дать больше стандартных 0.5А. В противном случае, устройство не должно брать больше 0.5А

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

    Nidora
    @Nidora
    Бонус 200 руб всем новым клиентам! VDS - 149 руб
    Достаточно, что отмечают сами ответы. Комментарии - уже лишние.
    Ответ написан
    1 комментарий
  • Кто чем пользуется вместо wget под Windows Core?

    @AlexLIn
    Import-Module bitstransfer
    start-bitstransfer -source http://google/googe.tar -destination c:\google.tar
    Ответ написан
    1 комментарий
  • Есть ли ftp редактор для параллельного кодирования?

    sabramovskikh
    @sabramovskikh
    Есть для этого дела Git
    Ответ написан
    Комментировать
  • Микроконтроллер и bluetooth не слишком быстро "посадят" батарею?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Предлагаю вам самостоятельно найти ответы в этих документах:
    Описание попсовой батарейки CR2032 на википедии.
    Даташит на контроллер
    Даташит на bluetooth-трансивер
    Расчет подключения светодиода к источнику постоянного напряжения

    Начните с извлечения из этой документации нужной информации, дальше останется только вычислить, в чем я вам помогу.
    Ответ написан
  • Как вывести USB внутрь корпуса нетбука Asus X101H?

    Spetros
    @Spetros
    IT-шник
    Если больше подробностей нет, то ответ очевиден - при помощи паяльника.
    Ответ написан
    Комментировать
  • Можно ли писать на ассемблере под android/ios/blackberry?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Можно. Но это будет довольно затруднительно.
    Ответ написан
    Комментировать
  • Вредит ли 2 ОС жесткому диску?

    @misc1
    Нет
    Ответ написан
    Комментировать
  • Какую OS лучше поставить в качестве "мини" сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    навиду проблемы с железом. Дело не в ОС.
    Надо решить проблему железа, из-за которого комп стабильно перезапускается.

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

    Можно поставить ОС, сделать полный бэкап раздела, и в случае чего быстро восстанавливать.
    Ответ написан
    1 комментарий
  • Как увеличить продуктивность ПК, используя файл подкачки?

    @suslik2015
    не надо отключать файл подкачки. Некоторые программы (такие как sql сервера) резервируют память прозапас. Эту зарезервированную память не видно в таск менеджере. Кроме того адресное пространство файла подкачки служит для отображения разделяемых областей памяти и сброса неиспользуемых страниц. Без файла подкачки эта ерунда будет располагаться в оперативке.
    СТандартный размер файла подкачки 2х объема оперативы если ее меньше 4гб, или 4гб если своп получается больше 4гб. Однако для некоторый программ нужно устанавливать своп гораздо больше. Так для М$ SQL нужно 3х размера ОЗУ. Т.е. если на сервере 16гб ОЗУ то файл подкачки 48гб)
    Ответ написан
    Комментировать
  • Ubuntu 14.04 и DIR-300?

    @t3mp
    /etc/network/interfaces
    auto eth0
    iface eth0 inet dhcp


    /etc/init.d/networking restart
    Ответ написан
    Комментировать
  • Чем восстановить поврежденные сектора?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    Что-то похожее бывает со стукнутыми/стряхнутыми внешними и ноутбучными дисками. Головки "чиркнули" по поверхности.
    Потом вы неделю старательно добивали диск.
    Если информация того стОит - прекратите эксперименты и несите диск к специалистам.
    Если нет - продолжайте в том же духе. Может что и получится...
    Ответ написан
    Комментировать