Задать вопрос
  • Как работает веб-сервер и cgi скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Веб сервер запускает CGI программу и передает в нее переменные окружения с данными, которые в HTTP запросе передавал клиент.
    В зависимости от того, на чем написан CGI это можно извлекать.
    Клиенту отправляется инфа просто - CGI скрипт ее просто пишет в stdout, веб сервер отправляет клиенту.

    Например для скриптов на perl, данные от клиента доступны через $ENV{'VAR_NAME'}, где VAR_NAME имя определенной переменной. Список можно глянуть www.oreilly.com/openbook/cgi/ch02_02.html

    Вывод скрипта должен начинаться с content-type, если вы выводите html-контент, то например
    print "Content-type: text/html\n\n";
    Затем обычный html.
    Ответ написан
    Комментировать
  • Почему btrfs сжимает не все?

    TrueBers
    @TrueBers
    Гуглю за еду
    Перед сжатием куска определённого размера происходит проба: берётся чанк много меньшего размера, чем сжимаемый, его пробуют сжать. Если коэффициент сжатия достаточно низкий, то остальной кусок не сжимается, а пишется сырым.

    А свободные/занятые данные разве не показывают команды btrfs fi du / и btrfs fi df /?
    Ответ написан
    1 комментарий
  • Гик паранойя: чем опасно фото с паспортом в руках?

    Jump
    @Jump
    Системный администратор со стажем.
    Делаете ли вы фотографии своих данных, селфи с паспортом в руках и т.д, когда сервисы просят это?
    Разумеется нет.
    Во первых я вообще селфи не делаю - это ж идиотизм, в жизни есть более интересные занятия.
    Во вторых я не отправляю свои фото кому попало - например разным сервисам.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Все проще.
    Интернет-провайдер покупает интернет у аплинкеров и продает его абонентам.
    На этом основная суть как он работает закончилась.

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

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

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

    Ваш вопрос тянет не на вопрос а на небольшую диссертацию.

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

    Минимальное требование - у тебя есть инет? подключи соседа любым способом но за деньги, зарегистрируйся как юридическое лицо, плати налоги - и ты уже провайдер. Да, и лицензию получить (зависит от страны, правда).
    Ответ написан
    4 комментария
  • Как настроить общение между компьютерами через Интернет?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Все дело в том, что соединив компухтеры/сеть через vpn, вы в результате получаете ту же самую локальную сеть, или несколько локальных сетей, соединенных друг с другом. За что все и любят vpn. А уж на чем вы его будете делать, на openvpn или чем-то другом, без разницы.
    Ну и один из самых простых путей, совсем не использовать vpn. Я вам сейчас расскажу, подключите оба компухтера к ipv6, провайдеров для этого полно, и работайте по реальным ipv6 адресам!
    Ответ написан
    Комментировать
  • Как увеличить размер / в Ubuntu 16 server?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Судя по характерному имени блочного устройства - у вас система стоит на LVM.
    Соответственно помимо увеличения блочного устройства и расширения ФС необходимо сказать LVM, что блочное устройство стало побольше и сказать увеличить логический том.
    pvresize /dev/sda5
    lvextend -l +100%FREE /dev/mapper/ubuntu--vg-root

    Затем уже resize2fs
    Ответ написан
    1 комментарий
  • В каких случаях оправданно использование связки LVM + BtrFS?

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

    Если используете docker, то будете приятно удивлены, т.к. он задействует subvolume/snapshot для хранения образов, тем самым избавляясь от оверхеда и ограничений оверлеев (конкретно в aufs было ограничение на количество слоёв и повышенная тормознутость).

    Зачем под этим нужен LVM? Ну если вам нужны другие файловые системы, то может и есть смысл. Если вам нужен другой дистрибутив поставить (например), то лучше использовать subvolume.

    Лично я от LVM в последствии отказался, т.к. все его основные возможности присутствуют в btrfs. Но если вам нужен RAID, то сначала проверьте поддержку нужной схемы, т.к. в btrfs ещё не всё реализовали.
    Ответ написан
    Комментировать
  • Помните сайт - список задач по сетям для Linux?

    @quramolt Автор вопроса
    А всё, сам нашёл. На тостере в похожих вопросах вывелось - nodesquad.blogspot.ru/2013/04/blog-post.html
    Ответ написан
    Комментировать
  • Что из себя представляет постоянная память?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Почитайте к примеру вот это, или гуглите по запросу "энергонезависимая память"
    Ответ написан
    2 комментария
  • Почему Python используют для написания нейронных сетей, а Ruby/Php/Perl нет?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Я бы мог сейчас начать перечислять длинный список преимуществ Python перед остальными языками и разжечь лютый холивар, но не буду. Самое главное преимущество Python перед другими языками - это предельно простое взаимодействие между кодом на Python и кодом на C\C++. Это даёт возможность писать простую и изящную логику в скриптах, а тяжёлые вычисления выносить в нативный код.
    Ответ написан
    Комментировать
  • Почему Python используют для написания нейронных сетей, а Ruby/Php/Perl нет?

    Stalker_RED
    @Stalker_RED
    Потому, что для питона есть уже довольно большое количество готовых библиотек ориентированных на нейронные сети.
    Ответ написан
    5 комментариев
  • Почему cron не отправляет http запрос?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Скорее всего он не находит wget
    Укажите полный путь к wget
    Ответ написан
    Комментировать
  • Почему cron не отправляет http запрос?

    @Fixid Куратор тега Linux
    создайте command.sh и вызывайте * * * * * bash /root/command.sh
    Ответ написан
  • Что будет если забьется swap и оперативная на сервере ubuntu?

    mannaro
    @mannaro
    Умею профессионально гуглить
    В таком случае будет убито какое-либо приложение, дабы освободить оперативную память.
    Ответ написан
    1 комментарий
  • Может кто объяснить, что происходит при кликании ярлыка программы на физическом уровне?

    @Mercury13
    Программист на «си с крестами» и не только
    1. Мышь посылает команды «Я нажата» и «Я отпущена». Считаем, что мышь USB’шная — тогда диспетчер шины 125 раз в секунду даёт мыши таймслот, и она за это время посылает 8-байтовый пакет, и в нём есть поля «сдвиг по X, сдвиг по Y, нажатые кнопки». Сама ОС ведёт счёт координатам курсора мыши. Отображение курсора мыши — это отдельная функция графического драйвера (из-за требовательности к скорости).
    2. ОС из этих команд генерирует событие «Двойной щелчок по координатам (X, Y)» и посылает текущей программе (в данном случае — оболочке Windows, explorer.exe, он же Проводник).
    3. Рабочий стол — это сильно модифицированный ListView из comctl32.dll (если я правильно назвал эту библиотеку). Впрочем, событие «двойной щелчок» обрабатывается самим Проводником, и если какой-то элемент выделен, он говорит: запусти файл, библиотека shell32.dll, функция ShellExecute с глаголом «open».
    4. Библиотека оболочки shell32.dll имеет специальную ветвь кода для запуска ярлыков. Она разбирает файл ярлыка и вызывает более низкоуровневую функцию CreateProcess.
    5. Ядро Windows делает всё, что нужно, чтобы создать процесс, завести под него отдельное «пользовательское» адресное пространство, отдельный стек вызовов, потоки ввода-вывода и т.д. Сам EXE-файл и его библиотеки становятся частью системы подкачки Windows, и если какая-то страничка сегмента кода будет выброшена, она подгружается прямо из EXE/DLL. Разрешает динамические адреса, которые становятся известны только при загрузке программы (т.н. relocations). Процесс загрузки программы — дело сложное, с ним я незнаком.
    6. Считаем, что программа GUI’шная. Тогда при загрузке, как ни странно, ничего внешне не происходит (только трещит винт, подкачивая данные в оперативную память). Сама программа говорит WinAPI: мне нужно создать такое-то окно, с такими-то кнопками в заголовке, с отображением на панели задач.
    7. Система сама посылает окну события: «Я изменяю свой размер», «Я показываюсь», «Я перерисовываюсь». Программа может перехватить эти события и сделать по ним что-то своё. Если у окна есть неклиентская часть (заголовок, рамка), показывает их сама Windows.
    8. За перерисовку клиентской части окна (то есть того, что внутри рамки) отвечает одна из нескольких подсистем Windows. Наиболее распространённая — GDI (интерфейс графических устройств), хотя всё чаще используют библиотеки аппаратного ускорения — DirectX/OpenGL/Vulkan.
    9. Как только сработали события перерисовки — внутренние Windows и пользовательские — мы видим на экране окошко!
    Ответ написан
    2 комментария
  • Как переключаться между пользователями по ssh, если ключи были сгенерированы в PUTTY?

    ololopishpishrealne
    @ololopishpishrealne
    one|line|mega|pipe|ninja
    А ты точно добавляешь ключ тому пользователю (home/username/.ssh/authorized_keys)?
    Ну и чтобы работать от разных пользователей не обязательно каждому генерить ключ и конектиться. Можно переключатся в текущей сессии с помощью:
    :~$su username
    Ответ написан
    3 комментария
  • Как защитить данные на экране от снимка фотокамерой?

    @Fixid
    Никак. Максимум можете установить ватермарк или скрытые метки.
    Все что видит пользователь, увидит и камера. Ну можно заставить пользователя наклеивать поляризационную пленку и одевать спец очки и не забывать пристегивать его к батарее в подвале
    Ответ написан
    2 комментария