• Запуск js скрипта в фоновом режиме через команду nohup?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    failed to run command 'script.js': No such file or directory

    Попробуйте перевести.
    Ответ написан
    2 комментария
  • Как получить последнюю актуальную строку таблицы при параллельных запросах?

    rozhnev
    @rozhnev Куратор тега SQL
    Fullstack programmer, DBA, медленно, дорого
    Нет смысла в прибавлении - нужно хранить только разницу А сумму получать при выборке данных:
    SELECT 
    	id,
    	diff,
    	SUM(diff) OVER (ORDER BY id ASC)
    FROM t;


    MySQL fiddle here
    Ответ написан
    2 комментария
  • Почему не отправляется письмо? (php)

    Чтобы функция mail(); работала, у вас как минимум должен быть установлен SMTP служба на сервере, а также настроена обратная зона. Если для вас это сложно, то попробуйте такой вариант:

    1. Качайте: swiftmailer.org/download
    2. Напишите такой скрипт, который будет отправлять почту через ваш GMAIL аккаунт

    <?php
    // если была нажата кнопка "Отправить" 
    if($_POST['submit']) {
    $title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); 
    $mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
    $phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 1000000); 
    // $to - кому отправляем 
    $to = 'demo@demo.com'; 
    // $from - от кого 
    $from='test@test.ru'; 
    // функция, которая отправляет наше письмо
    
    // подключаем swift_required.php который вы скачала и п.1
    require_once '/path/to/swift-mailer/lib/swift_required.php';
    
    // создаем письмо
    $message = Swift_Message::newInstance()
      ->setSubject($title)
      ->setFrom(array($from))
      ->setTo(array($to))
      ->setBody($mess);
    
    // настраиваем подключение к gmail
    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
      ->setUsername('username@gmail.com')
      ->setPassword('password');
    
    // отправляем
    $mailer = Swift_Mailer::newInstance($transport);
    $mailer->send($message);
    Ответ написан
    3 комментария
  • Как подключиться к БД чужого сайта?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Никак.
    Ответ написан
    Комментировать
  • Как установить Dev и Prod режимы в php.ini?

    SagePtr
    @SagePtr
    Еда - это святое
    Это рекомендации. Причём я лично с ними не всегда соглашаюсь: например, для прода выставляю тоже E_ALL (но display_errors Off как и полагается), чтобы отлавливать редкие проблемы, не выявленные при разработке.
    Ответ написан
    Комментировать
  • Как составить запрос на удаление строк из двух таблиц в MySQL?

    rozhnev
    @rozhnev Куратор тега SQL
    Fullstack programmer, DBA, медленно, дорого
    Как вариант:
    START TRANSACTION;
    delete from gift_certificate_to_tag_relation where gift_certificate_id = 1;
    delete from gift_certificate where id = 1;
    COMMIT;


    MySQL fiddle
    Ответ написан
    Комментировать
  • Почему цикл не останавливается?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сильно сомневаюсь, что бесконечно. У вас написано полное декартово произведение таблиц. Значит число строк на выходе будет равняться произведению числа строк в первой таблице на число строк во второй таблице.
    Ответ написан
    3 комментария
  • Как передать массив в объект класса и распаковать его?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    class Test {
        public function __construct(array $input)
        {
            foreach ($input as $key => $val) {
                $this->{$key} = $val;
            }
        }
    }
    
    $test = new Test(['id' => 5, 'name' => 'root']);
    
    var_dump($test->id);
    var_dump($test->name);


    Если задача просто сконвертировать массив в объект то можно так
    $std = (object)['id' => 5, 'name' => 'root'];
    var_dump($std);
    var_dump($std->id);
    var_dump($std->name);
    /*
    object(stdClass)#2 (2) {
      ["id"]=>
      int(5)
      ["name"]=>
      string(4) "root"
    }
    */
    Ответ написан
    Комментировать
  • Существует ли какой-то общепризнанный подход к обработке ошибок в контексте API, где его можно посмотреть?

    @jazzus
    В Ларавел все коды с ошибками автора статьи высылаются автоматом при использовании форм валидации и апи ресурсов.
    Ответ написан
    Комментировать
  • Не могу передать метки в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Опять 25... Учимся искать свои косяки:
    0)
    Есть форма, я вставил туда код чтобы брать метки
    В коде у вас нет формы...

    1) проверяем что поля формы содержат нужные данные (открываем страничку с меткой, смотрим форму инспектором, проверяем что в нее что-то вообще попало)

    2) Открываем в браузере инструменты разработчика, вкладку нетворк, при отправке формы смотрим что форма отправила все данные нужным методом и с нужными данными.

    3) На сервере через var_dump() проверяем какие переменные пришли постом/гетом

    Но метки не приходят
    Из чего такой вывод? Не вижу чтобы вы их как-то проверяли, там чисто присвоение.

    PS: утм метки обычно пишутся один раз при заходе с ней в куку/сессию, чтобы не приходилось вот так их тащить через жеппу, а иметь к ним доступ в любой точке кода, и трекать что юзер делал после перехода на сайт.
    Ответ написан
  • Как добавить к дате несколько определенных дней?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Любая подсказка:
    1. опередите, на какой день недели приходится 04.10;
    2. определите, в какой день будет ближайшая тренировка;
    3. прибавьте разницу в днях к 04.10 и полу́чите дату следующей тренировки;
    4. повторите нужное количество раз.
    Ответ написан
    Комментировать
  • Когда нужно писать имя таблицы в запросе?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Каждый сам творец своего геморроя.

    Настоятельная рекомендация. Если источником записей запроса (всего, целиком) является только одна таблица - имена полей можно не указывать. Во всех остальных случаях - указывайте алиас таблицы для абсолютно каждого поля (включая имена обобщённых полей в USING и при NATURAL JOIN), кроме имён полей выходного набора, используемых в пост-группировочных выражениях. Это позволит гарантировать отсутствие неоднозначностей.

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

    ---

    В некоторых диалектах указание алиаса может быть обязательно и по причине интерференции имён из разных пространств.

    Например, в хранимых объектах MySQL при совпадении имени поля таблицы с именем локальной переменной обращение без указания алиаса - это всегда обращение к переменной. Поэтому для MySQL правило ещё строже - алиас указывай всегда.

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

    @Den18 Автор вопроса
    MYSQL, JS хобби
    Вопрос решен.
    pool.query(`SELECT TIME_FORMAT(TIMEDIFF(date_next, date_added), '%H ч, %i мин, %s сек') as time from moneys WHERE UserID = ${interaction.user.id} AND GuildID = ${interaction.guild.id}`, async function (err, result, fields) {
        if (err) throw err;
        const data = {
              time: result[0]["time"]
        }                                                                                           
        return interaction.reply({ content: Попробуйте снова через \`${data.time}\``)
        });
    Ответ написан
    Комментировать
  • В 40 лет планирую поменять сферу деятельности с 1С на Android? Сколько на старте смогу зарабатывать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Открой вакансии, посмотри сколько зарабатывают джуны на Андроиде.

    Неужели за 18 лет активной ИТ деятельности не наработались навыки гугления дорожных карт? Или есть мысли что на тостере составят индивидуальный гороскоп с учетом личных привязанностей? 40 лет, а вопросы как у 15-летнего.

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

    На 40летних смотрят нормально. И вообще эта тенденция о малолетних сеньорах существует только в СНГ, где коммерческая разработка более-менее началась после 2000-2005, а не в 1980-м и раньше, как зарубежом.
    Поэтому разработчиков, которые до этого момента что-то активно разрабатывали за деньги очень немного, еще и большинство из них уехало. Вот и выходит что, скажем, 50-летних разработчиков, которые сразу начали именно как разработчики и уже 30 лет как разрабатывают - в xUSSR ну может пару тысяч. Но это потихоньку меняется - подрастают люди, стареют.

    Практику в Андроид получить очень легко.
    Берешь и пишешь софт. Андроид купить несложно, время найти после работы - это уже неизвестно, ваше личное.
    Можно джава, можно котлин, я бы ратовал за джаву - в случае чего всегда можно в ентерпрайз сдвинуться.
    И берешь юнити и пишешь для своих же детей развивающие игрушки, или что-нить еще, в зависимости от возраста. Так первый опыт и получишь.
    Ответ написан
    13 комментариев
  • Почему в MySQL8 тип DECIMAL неупакованный?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Во-первых, упаковка там несколько другая. Каждые полная девятка цифр занимает четыре байта, неполная меньше (есть таблица). Целая и дробная части упаковываются отдельно. Ваш формат 13,6 должен занимать 7 байт.
    https://dev.mysql.com/doc/refman/8.0/en/precision-...

    Во-вторых, функция LENGTH принимает на вход строку, так что значение DECIMAL приводится к строке, отсюда и 14 символов.
    https://dev.mysql.com/doc/refman/8.0/en/string-fun...
    Ответ написан
    4 комментария
  • Как узнать, сколько лет и месяцев?

    v3shin
    @v3shin
    Веб-шаман
    $a = ['08', '16'];
    $diff = (new \DateTime())->diff(new \DateTime("20$a[1]-$a[0]-01"))->format('%yy %mm');

    https://www.php.net/manual/en/datetime.diff.php
    https://www.php.net/manual/en/dateinterval.format.php
    Ответ написан
    1 комментарий
  • Как достать из текста данные в таком виде с помощью PHP?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Еще один вариант:
    $str = '[id618892552|Victoria Tran]';
    
    list($id, $name) = explode('|', trim($str, ']['));


    Run PHP code
    Ответ написан
    2 комментария
  • Функции uasort и json_encode c массива делаю объект?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы используете uasort, который сортирует ассоциативный массив, соответственно меняя положение и данных и ключей.
    Используйте вместо этого usort.
    Ответ написан
    Комментировать
  • Не работает функция in_array php?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Функция in_array() делает не то же самое, что array_key_exists().
    Ответ написан
    Комментировать
  • Как попасть в менеджмент в IT?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Во мне интересно, как Вы будете чем-то там управлять, не имея никакого авторитета? :) Добро, когда программисты иже с ними - примерно одного возраста, а если там дядьки, которые в отцы годятся? Они же просто скажут "Малчик, брысь" - и все :)
    Нет, конечно, и в управлении проектами в крупных конторах есть позиции клайменоле, которые ходят и собирают данные о том, как продвигается тот или иной проект и вносят их в конторский трекер :)
    Как Вы будете планировать работу программиста, если не знаете ее специфики? Ушлые программеры тут же прорубят, что тут можно ездить по ушам - и будут ездить и еще игогокать при этом :)
    Ответ написан
    3 комментария