• Автоматическое соединение двух абонентов - Asterisk или Yate?

    IgorG
    @IgorG
    VoIP разработчик
    Kazoo для таких целей перебор ИМХО. Лучше просто использовать FreeSWITCH, который и используется внутри kazoo, Хотя и старичок Asterisk очень даже справится с такой задачей и нагрузкой не хуже остальных.
    Ответ написан
    Комментировать
  • Как запустить машинный код?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    $ cat > hello.S <<'EOF'
            .data
    .Lhello:
            .ascii "Hello, world\n"
    
            .text
            .global _start
    _start:
            movl    $1, %ebx
            leal    .Lhello, %ecx
            movl    $13, %edx
            movl    $4, %eax
            int     $0x80
            movl    $1, %eax
            xorl    %ebx, %ebx
            int     $0x80
    EOF
    $ gcc -m32 hello.S -nostdlib -o hello
    $ ./hello
    Hello, world
    $


    С голым машинным кодом будет сложнее, т.к. нужно будет согласовать адреса закодированные в нём с тем, что будет прописано в заголовках ELF. Можно сделать примерно такой исходник:
    .text
            .global _start
    _start:
    .incbin "code"

    в файл code поместить голый машинный код. Компилировать как в первом случае.
    Как вариант можно дамп вставить прямо в ассемблер:
    .text
            .global _start
    _start:
            .byte 0xbb, 0x01, 0x00, 0x00, 0x00, 0x8d, 0x0d, 0xb8, 
            .byte 0x80, 0x04, 0x08, 0xba, 0x0d, 0x00, 0x00, 0x00, 
            .byte 0xb8, 0x04, 0x00, 0x00, 0x00, 0xcd, 0x80, 0xb8, 
            .byte 0x01, 0x00, 0x00, 0x00, 0x31, 0xdb, 0xcd, 0x80, 
            .byte 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, 
            .byte 0x6f, 0x72, 0x6c, 0x64, 0x0a


    Можно зайти с другой стороны и научить линукс выполнять голые бинарники. См. https://www.kernel.org/doc/Documentation/binfmt_mi...
    Ответ написан
    3 комментария
  • Зачем использовать CMS 1C Битрикс?

    laska
    @laska
    PHP/JS разработчик
    А у нас на этот счет две мысли.
    1. Вы пишете что там есть интеграция с 1С. Но она там так себе, в тоже время для интеграции Битрикс не нужен, она легко пишется сама. Словом, интеграция с 1С совершенно не уникальный плюс Битрикса.
    2. А вот самый важный плюс Битрикса вы пропустили. Предположим, я заказчик, и у меня есть 100 тысяч бюджета на сайт, за которые я отвечаю головой перед начальством. Сначала я встречаюсь с вами, и вы мне пытаетесь доказать, что вы напишете мне такую штуку, которая будет с MVC и крутой шаблонизацией. А потом я встречаюсь с представителем Битрикса, и он мне показывает самую коммерчески успешную систему в России, показывает готовую админку, показывает множество готовых шаблонов и работающих сайтов. На какую лошадку я поставлю, как вы считаете?
    Ответ написан
    5 комментариев
  • Xinetd видит только часть конфига, как это исправить?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Есть мнение, что эту задачу стоит решать при помощи iptables
    iptables -t nat -I PREROUTING --src $SRC_IP_MASK --dst $DST_IP -p tcp --dport $portNumber -j REDIRECT --to-ports $rediectPort
    Ответ написан
    3 комментария
  • Какой ЯП лучше всего подойдёт для данной задачи?

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

    nowfine
    @nowfine
    сисадмин 30+ левел
    Привет, Бро.
    Чтобы тебе не геморроиться:

    node.js ставь только через nvm, далее пакеты через npm
    с другими языками старайся поступать так же.

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

    В остальном вообще не имеет значения, какой дистр ты выберешь. У генту сисек больше, но и борода будет пушистее.
    Ответ написан
    1 комментарий
  • Как вернуть управление bash после обрыва ssh?

    Dimitriys
    @Dimitriys
    возьмите привычку делать "долгие" операции под "screen" ... и все .... или "nohup"
    Ответ написан
    Комментировать
  • Как правильно настроить PostgreSQL?

    @DrunkenMaster
    Postgres поддерживает множество схем аутентификации. В любом случае пользователь должен быть создан в БД. Но есть режим peer, в котором текущий пользователь ОС может подключиться к БД как одноименный пользователь БД. Очевидно, это работает только для локальных подключений и служит в первую очередь для каких-то административных задач. Для подключения приложений к БД лучше использовать аутентификацию по паролю.

    Так что вопрос не в правильности, а в задачах.
    Ответ написан
    4 комментария
  • Erlang. Как передать поток от одного процесса другому?

    begemot_sun
    @begemot_sun
    Программист в душе.
    в gen_server есть обработчик
    handle_call(Msg, From, State) ->
    PidBa ! { Msg, From },
    { noreply, State };

    вот этот From -- это есть указатель на того, кто ожидает.
    Т.о. вы в Ба должны каким то образом передать этот From.
    Далее Ба может ответить:
    gen_server:reply(From, Answer).

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

    P.S. handle_call вызывается с помощью gen_server:call(Pid, Msg, Timeout).

    Более подробно почитать можно тут:
    www.erlang.org/doc/man/gen_server.html
    а в более популярной форму тут:
    learnyousomeerlang.com/clients-and-servers
    или по русски в районе этого:
    https://github.com/dyp2000/Russian-Armstrong-Erlang
    Ответ написан
    9 комментариев
  • Как вывести значение поля таблицы INNER JOIN ?

    На выходе все поля таблицы выдаются одним массивом, без разделения по таблицам.
    В вашем случае `artists`.`aName` перекрывает `albums`.`aName`.
    Чтобы иметь возможность оперировать данными по отдельности, можно в SELECT дописать (после звёздочки) , `albums`.`aName` as `albumsName`
    тогда вы к нему можете обратиться как $albom = $searchr['albumsName'];

    Если нужны данные только одной таблицы, можно писать так SELECT `albums`.* FROM ...
    А вообще лучше строить базу так, чтобы названия полей в ней не дублировались.
    Ответ написан
    Комментировать