Задать вопрос
  • Как выполнить shell-команду из php по ssh и вернуть ее результат?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. ssh user@95.1.1.95
    Чтобы сразу соединить с пунктом 4 - пользуйтесь rsh или remsh - выполнить одну команду на удаленном сервере
    rsh user@95.1.1.95 "asterisk -rv 'sip show registry'"

    2. password
    Вот это не нужно, настройте авторизацию по ssh ключам, чтобы было и безопаснее и вводить пароль вручную было не нужно.

    3. asterisk -rv 'sip show registry'
    через rsh или remsh

    4. Закрываем ssh
    через rsh или remsh

    Возвращаем значение
    $result=exec("rsh user@95.1.1.95 \"asterisk -rv 'sip show registry'\"");
    print "$result"
    Ответ написан
    Комментировать
  • Как с помощью find выбрать файлы из диапазона?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    подучите маски файлов (wildcards)
    В баш это будет такая команда:
    cp [2-4].txt anotherdir/

    или
    ls [2-4].txt | xargs echo
    Ответ написан
  • Есть ли сервис или база данных по зависимым доменам самых популярных сайтов в мире?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    это не публичная база и не сервис. И google.com и gstatic.com принадлежат гуглу, как и множество других доменов.
    Это инфраструктура крупных веб-систем, и она не публикуется. Смысл отслеживать подобные связи совершенно отсутствует, так как это не предназначено для использования посторонними, следовательно ненадежно, может измениться, и опираться на это не нужно.
    Опираться можно на публичный API
    Ответ написан
    Комментировать
  • Как подобрать на замену экран к ноутбуку?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Обратитесь в частный сервис по ремонту ноутбуков. У них обычно достаточно большая база совместимых контроллеров и интерфейсов.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    mkdir - создать каталог
    cd - перейти в каталог.

    Есть команды для перехода в каталог с запоминанием куда ты перешел, и возможность затем вернуться назад.
    pushd directory
    popd

    например
    /home/user1$ pushd /home
    /home$ pushd /
    /$ popd
    /home$ popd
    /home/user1$
    Ответ написан
  • Почему зависает ПК при движении мыши?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Похоже все-таки как все пишут, проблема с железом, а именно с USB контроллером, USB портом или USB контроллером самой мышки.

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

    Примерные варианты решения:
    1. Попробовать с другой мышкой - если проблемы уйдут, значит дело или в мышке или ее драйверах.
    2. Попробовать вашу мышку в другом компе - если на другом компе проблем нет, значит проблема или в USB порту на материнки, или все еще в драйверах.
    3. Удалить драйвера мышки и поставить заново.
    Ответ написан
    Комментировать
  • Почему в программировании столько математики?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Копирование файлика на уровне ОС - элементарная математика (байты перенести из одного места в другое), все числа целые, адресация простейшая.

    Программирование контроллера, который будет копировать данные - высшая математика, ибо нужен контроль целостности данных (алгоритмы хеширования или банальных контрольных сумм), алгоритмы коррекции ошибок, шифрование.

    Программирование передачи данных по сети - плюс ко всему прочему шифрование, протоколы передачи данных, асинхронная передача.

    Программирование в 2д или 3д - геометрия разного порядка. Вычисление стандартных вещей - можно ли пройти из точки А в точку Б и можно ли увидеть из точки А точку Б, а также как это отрисовать с минимальными ресурсами - ужас.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Сетевое администрирование
    software engineer
    "Реально ли, например, примонтировать диск с первого севрера на второй? Если да, то кто такую услугу опять же может предоставить?"

    У вас же VDS, зачем вам услуга - это делается просто средствами самой ОС. У вас администратор есть?
    NFS - готовое из коробки решение для Линукса.
    Шарить папки в винде менее удобно, но тоже можно.
    Ответ написан
    2 комментария
  • С помошью чего быстро искать по файлам 40 гб+?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Поиск в текстовом редакторе вешает потому что большинство редакторов пытаются загрузить файл в память целиком.
    Пользуйтесь утилитами поиска, типа grep или find (виндовый), которые читают текстовые файлы построчно, тогда проблем с памятью не будет. Но для поиска такие утилиты будут читать все 40 гб файла.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Нельзя в двух словах сказать зачем нужны парадигмы программирования, потому что для этого нужно иметь опыт программирования, чтобы вы могли усвоить ответ.

    Например, ваше представление: "ООП удобен для бизнеса, можно разделять программу на модули" - неверно.
    Модульность появилась задолго до ООП. Бизнес появился задолго до программирования, и ООП и бизнес не слишком и связаны.

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

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

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

    И напоследок - полиморфизм и все другие фичи ООП - это уже следствие того, что парадигму стараются сделать максимально гибкой.
    Самая главная суть ООП заключается в следующем:

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

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Хватит читать книжки, пишите код. Много кода.

    Для трудоустройства джуниором нужен уровень джуниора. Это же элементарно, Ватсон.

    Что такое уровень джуниора - открываешь вакансии на джуниора и читаешь описание требований. Они могут варьироваться в РАЗЫ, в зависимости от компании.
    Ответ написан
    1 комментарий
  • Как сделать установщик программы через терминал Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Пользуйтесь zip или tar+gzip, в чем проблема?
    Ответ написан
    Комментировать
  • Как включить в zsh регулярные выражения?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Это не регулярные выражения, это маски файлов - баш поддерживает *, ?, ~ и простой перечень с диапазонами квадратных скобках []
    Но это НЕ регулярки, оно ни под один стандарт регэкспов не подпадает. Тех же квантификаторов нет.
    Ответ написан
  • Как удалить из наименования файла определенные символы в убунту?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    for NAME in *.mp4; do CHANGENAME="${NAME#*Урок}"; mv "$NAME" "$CHANGENAME"; done
    Ответ написан
  • Как определить ip через bash скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    У сервера может быть несколько IP адресов, несколько интерфейсов, и работать они могут с разными маршрутами.
    Вы что именно хотите?
    ifconfig пропарсить? или ip addr show?

    Если внешний интерфейс один, то подойдет обычный
    hostname -I
    Ответ написан
    Комментировать
  • Как создаются современные сети компаний?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Какой сервер? Какая современная компания?

    Все сети компаний создаются на основе требований. Если это небольшая контора на 20 компов, хватит и маршрутизатора. Если это контора, в которой должен быть свой централизированный учет пользователь - ставится решение на базе MS AD или LDAP или еще что-то свое.
    Если это контора, у которой сеть разветвленная - есть разные офисы, которые необходимо объединить одной сетью, с единой телефонией - настраиваются и сервисы и маршрутизаторы.

    Ваш вопрос не имеет смысла, потому что все зависит от.
    Вы бы привели конкретную контору с конкретной технической проблемой и спросили "как лучше всего решить такую проблему".
    А на общий вопрос "как быть лучше всех", ответа не будет
    Ответ написан
    1 комментарий
  • Иду в школу учителем хотелось совета по теме?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Разберите например разные стандарты USB, и почему один USB кабель работает только для зарядки а другим можно подключать устройства, а третьим подключать USB 3.0 устройства.

    Будет полезно. Но тут вопрос, разбираетесь ли вы в этой теме сами.

    А вообще, на 10 минут - разобрать историю любого разъема.
    например - VGI - DVI - HDMI - DisplayPort, Добавить еще скарт и стандартный тюльпан, пояснить разницу между аналоговым и цифровым сигналом.

    IDE-33, IDE-66, IDE-100 - SATA - SATA2 - что там еще появилось

    разницу между дискетами, между HDD, между SSD

    КУЧА тем. Было бы желание что-то рассказать и сориентироваться на интерес учеников.
    Ответ написан
    2 комментария
  • Как сделать, чтобы программа работала, пока пользователь ее сам не выключит?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Для чего вам именно консольная программа, если вам не нужна консоль?
    1. Напишите программу, котрая не будет создавать ни консольное ни гуишное окно, можете добавить иконку в трей, в которой сделать завершение работы и все.
    2. Напишите сервис, который будет запускаться в фоне, и два ярлыка, которые будут его останавливать и запускать.

    То есть не очень понятно почему вам нужно, чтобы в фоне висело именно консольное приложение - при помощи winapi даже консольное приложение запускает консоль, с соответствующими контролами для управления консолью.
    Ответ написан
  • Из принтера выходит дымок что это может быть?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Лучше в сервис.
    2. Если пыль попала в печку, может дымить. Но если по запаху горит пластик - то в сервис сразу.
    Ответ написан
    Комментировать
  • Почему папка весит 0 байт?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. зависит от файловой системы.

    2. 0 байт вам показывает кто? Не каждая программа ковыряет на таком уровне, чтобы учитывать размер всего, где лежит информация про файл и про папку. Попробуйте другие программы. В Линуксе стандартный ls сразу будет показываьт, что папка занимает как минимум 1 блок (сейчас это обычно 4 кб).

    3. Для файлов - тоже самое, если у вас есть файл в 5 байт, у него где-то есть название, аттрибуты доступа, сектор в котором он лежит, но ваша программа это не показывает.

    Вывод, пустая папка весит не 0 байт, но подобная информация не для пользователя, а для администратора, который учитывает занятое место специальными программами, с учетом понимания как устроена файловая система.
    Ответ написан
    Комментировать