Задать вопрос
  • Как завершить запущенную утилиту в bash скрипте?

    paran0id
    @paran0id
    Умный, но ленивый
    Вам не нужно эмулировать нажатие клавиш. Ctrl-C посылает процессу сигнал SIGINT. Вам нужно послать сигнал запущенному процессу, для этого нужно знать его PID. PID можно получить из pid-файла, если та консольная утилита его создает, либо через переменную $! (yourcommand & echo $!), либо грепнув по процессам (см. pgrep). Рассмотрите также сигналы SIGTERM и SIGKILL.
    Ответ написан
    Комментировать
  • Какой БД выбрать для ERP-систему, SQL или NoSQL?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    NoSQL а рекомендуют многие, говорят бистре чем SQL

    Производительность можно оценить только в конкретном сценарии использования, который будет уникален для каждого проекта. Заявления про скорость без контекста нужно оценивать как пустословие и хайпожорство.

    сейчас проект работает на Postgresql

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от того, как устроен вирус. То есть как его автор задумал, так он и работает. Например, если вирус заражает только то, что открыл пользователь, то можно просто ничего не открывать. Но откуда тебе знать, как работает данный конкретный вирус? В теории вирус может сам открывать всё то же, что можешь открывать ты (тем более без пароля), и делать те же действия, что и ты, не спрашивая разрешения и не дожидаясь сигнала.

    Если тебя судить по всей строгости, то ты не должен был подключаться к сети с заражённого компьютера. Дело даже не в заражении других компов, а в утечеке каких-то данных в интернет (пароли, фотки, что угодно ценное и/или секретное).

    Реально же более опытный не может точно знать, твои ли действия привели к заражению или чьи-то другие. Ты был не осторожен, но был ли причиной - это узнать очень сложно, разве что по времени создания файлов как-то пытаться установить, но всё равно это неточно и сложно.

    Кроме того, когда ищут причину чего-либо, ищут главную причину. Когда ищут виноватого, ищут главного виноватого. Кто, например, виноват в том, что стакан разбит: тот, кто его задел, или тот, кто его поставил на край стола? Однозначного ответа нет. Скажем так, зависит от того, насколько близко был стакан к краю стола и от многих других факторов, и всё равно вердикт выносится на глазок. Также и здесь, вину вполне можно свалить на того, кто не ставит пароли на свои папки, не использует антивирус, фаерволл и т.п.

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

    Так вот все вышеописанное работает хорошо но до того момента как наш комп не уйдет в спящий режим, и тогда , примерно через 30 сек вебсокет соединения разрывается

    По вполне понятной причине:
    Вебсокет работает поверх TCP. Когда в рамках TCP-соединения не передаются никакие сообщения - оно разрывается, причём вроде аж на уровне провайдера.

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

    toxa82
    @toxa82
    Вы разницу между одинарными и двойными кавычками в php знаете?
    $q = mysql_query('SELECT * FROM `keys_constructor` WHERE `number` = "$login" AND `password` = "$password"');

    Тут одинарные кавычки, значит переменные $login и $password не подставляются а используются как литералы, поэтому ничего не находит.
    Ответ написан
    Комментировать
  • Почему cron не выполняет задания?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Сделайте
    /sbin/shutdown -r now >>/tmp/log.log 2>&1
    Ответ написан
    5 комментариев
  • Насколько большую роль в IT-карьере играют связи?

    Нет связей - тебе придется трудно.

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

    Adamos
    @Adamos
    Инкапсуляция действительно защищает - мозг программиста от переполнения. И только.
    Машинный код после компиляции класса, в котором методы и члены объявлены private или public - один и тот же.
    Они нужны только для автоматической проверки компилятором - не ошибся ли программист.
    А инкапсуляция - это не столько собирание в одну кучу того, что работает вместе, сколько обрывание любых связей с остальным кодом. За исключением реально необходимых. После чего класс становится вещью в себе, и вам можно работать с ним, не задумываясь о прочем коде, и работать с прочим кодом, не думая о потрохах этого класса.
    Ответ написан
    4 комментария
  • Не редактируется БД через PHP. Что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $id = $_GET['id'];
    $_id = mysqli_real_escape_string($link, $id);
    Ок, то что мы не умеем в подготовленные выражения вместо бредового "экранирования" пол беды, и даже не страшно что операцию так то можно в 1 строку прописать, но далее
    $name = $_POST['name'];
    $age = $_POST['age'];
    $salary = $_POST['salary'];
    Ну типа, ид мы проверили, на этом наши полномочия все...

    Файл Update.php не выдает никаких ошибок после введения формы, но при этом данные не вносятся.

    Во первых - перестаньте называть файлы в разном регистре, если это не классы!!!
    Во вторых - смотрим доку по mysqli, в частности рекомендуемая процедура подключения:
    <?php
    /* Вы должны включить отчёт об ошибках для mysqli, прежде чем пытаться установить соединение */
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
    /* Установите желаемую кодировку после установления соединения */
    mysqli_set_charset($mysqli, 'utf8mb4');
    printf("Успешно... %s\n", mysqli_get_host_info($mysqli));
    После этого уже можно что-то смотреть, например что вернул print_r ($check);...
    Ответ написан
    2 комментария
  • Можно как то суммировать эти цифры использую цикл php?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    $sum = 0;
    for ($i = 9; $i <= 40; $i++) {
        if ($i % 2 === 0) {
            $sum += $i;
        }
    }
    echo "Сумма: $sum" . PHP_EOL;
    Ответ написан
    Комментировать
  • Изучаю ООП, как лучше обрабатывать форму?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Этот один человек профан и глупец, а PHP простой в изучении и использовании язык, который применяется в проектах с любым уровнем нагрузок.
    Ответ написан
    2 комментария
  • Как записать в файл json именно таким образом?

    @pr0l
    JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. Но при этом формат независим от JS и может использоваться в любом языке программирования.

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

    Обычно бэкенд никак от типа приложения-клиента не зависит. Так что разницы быть не должно.

    Но в зависимости от конкретных требований всё может очень сильно различаться, даже если не меняется тип приложения.
    Ответ написан
    Комментировать
  • Как создать свой PL?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    1 комментарий
  • Как создать свой PL?

    Vindicar
    @Vindicar
    RTFM!
    Даже для простого ЯП тебе придётся решить минимум четыре задачи:
    1. Лексический анализ. Входной текст нужно превратить в цепочку токенов, например z = x + y превратится в что-то типа
    [ (token.IDENTIFIER, 'z'), (token.OPERATOR, '=') (token.IDENTIFIER, 'x'), (token.OPERATOR, '+') (token.IDENTIFIER, 'y') ]

    2. Синтаксический анализ. Тебе нужно превратить цепочку токенов в древовидную структуру. Корень дерева - программа целиком, промежуточные узлы - элементы программы (функции, составные операторы, сложные выражения и пр.), листья - отдельные элементы сложных выражений и примитивные операции без параметров (типа pass в питоне).
    Например цикл while будет иметь два дочерних узла: выражение-условие и тело цикла.
    3. Области видимости. Тебе нужно иметь возможность сопоставить имя(идентификатор) и сущность (переменную, функцию и т.п.).
    Самый простой способ - позволить узлу дерева описывать идентификаторы, которые известны в этом узле. Тогда при раскрытии идентификатора достаточно подняться вверх по дереву, пока не найдёшь нужное имя.
    4. Выполнение. Так как ты хочешь интерпретируемый язык, то выполнение будет сводиться к обходу дерева в глубину. Некоторые операторы типа break могут вмешиваться в этот порядок. Это описывается паттерном Интерпретатор из набора Банды Четырёх.

    Отдельные задачи в этом списке вполне себе гуглятся, и могут решаться по-разному.
    Ответ написан
    1 комментарий
  • После перевода Битрикса на крон, появилась ошибка php?

    SagePtr
    @SagePtr
    Еда - это святое
    Похоже, вы скормили бинарник PHP интерпретатору PHP.
    Ответ написан
    Комментировать
  • Имеет ли смысл хранить в БД информацию о разных разрешениях картинки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В данной обобщенной постановке база вообще не нужна. У нас есть в одной руке уникальный индентификатор картинки. Например IMG0001. И мы по нему можем сформировать все 3 линки на дисковое хранилище с картинками.
    Ответ написан
    Комментировать
  • Какие есть меры стимулирования IT-компаний (специалистов) в РФ и других странах?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Обычно ИТ-компании стимулировать не требуется.
    Ответ написан
    Комментировать
  • Какие есть меры стимулирования IT-компаний (специалистов) в РФ и других странах?

    @Drno
    Главное и основное. Их не трогают и дают нормально работать.
    Остальное ИТ компании вполне сами могут сделать...
    Ну и создают условия, чтобы их не отрезали от мирового рынка.
    Так же для малого бизнеса делают вполне подъемные кредиты, под низкий процент

    По поводу эти стимулирующих мер - они по сути только на бумаги есть и доступны единицам... поищите на хабре, там это уже обсуждалось
    Ответ написан
    Комментировать