Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

galaxy

  • 430
    вклад
  • 0
    вопросов
  • 563
    ответа
  • 46%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как выделить символы одной регуляркой?

    galaxy @galaxy
    U+0008

    так обычно обозначаются Unicode codepoints. Без задания кодировки это обозначение физического воплощения не имеет, вообще говоря (а строки в PHP ничего не знают о кодировках). Так что для начала разберитесь, в какой кодировке у вас исходная строка.
    В строке из примера кодировка UTF8, указанные символы просто из нижнего непечатного диапазона, их можно выделить так: [\x00-\x19]+
    Ответ написан вчера
    Комментировать
    Нравится 4 Комментировать
  • Слетело подключение к базе данных почему?

    galaxy @galaxy
    $currentArticleId = intval($_GET['id']);

    А что, $_GET['id'] - целочисленное?
    Судя по остальному коду, нет.
    Ответ написан 12 апр.
    9 комментариев
    Нравится 9 комментариев
  • Не понимаю как вывести все строки из одной таблицы?

    galaxy @galaxy
    Вы несколько JSON-ответов запихнули в один. Соберите ваши строки в массив сначала:
    $stmt->execute(['dateRecord' => $date]);
    echo json_encode($stmt->fetchAll());
    Ответ написан 12 апр.
    3 комментария
    Нравится 3 комментария
  • Почему не отправляется сообщение на почту через phpmailer?

    galaxy @galaxy
    $mail->Port = 993;
    993 - это порт для IMAP
    Для SMTP у них 465
    Ответ написан 09 апр.
    Комментировать
    Нравится 1 Комментировать
  • Как декодировать весь файл?

    galaxy @galaxy
    Это же CSV, прогони через csv.reader(), потом уже последнюю колонку через b64decode().
    Можно и без модуля csv обойтись, структура простейшая, хватит str.split()
    Ответ написан 08 апр.
    Комментировать
    Нравится Комментировать
  • Cv2.imread() не читает файл?

    galaxy @galaxy
    cv не умеет работать с не-ASCII путями
    Ответ написан 08 апр.
    5 комментариев
    Нравится 1 5 комментариев
  • Как вставить переменную в текст без соединения точками, если в тексте уже есть двойные ковычки?

    galaxy @galaxy
    Научитесь понятно формулировать свои вопросы.
    echo "content=\"$name\">";
    Ответ написан 08 апр.
    2 комментария
    Нравится 2 2 комментария
  • Как посчитать кумулятивную сумму уникальных пользователей?

    galaxy @galaxy
    Ну так примерно (если не смущает довольно избыточный self-join):
    select t.day_no, count(distinct t2.user_id)
      from t
      join t as t2 on (t2.day_no >= t.day_no)
     group by 1
     order by 1 desc


    sqlfiddle
    Ответ написан 07 апр.
    Комментировать
    Нравится 1 Комментировать
  • Нужно ли создавать аргументы для подфункции?

    galaxy @galaxy
    Работает, как надо? Значит, все ок.
    Почему сомнения возникли?
    Ответ написан 07 апр.
    4 комментария
    Нравится 4 комментария
  • Ассемблер: как присвоить значение в переменной?

    galaxy @galaxy
    Ну видимо:
    mov dword ptr ds:[ebx+474], 4
    Ответ написан 06 апр.
    3 комментария
    Нравится 1 3 комментария
  • Есть ли в триггерах уровня оператора переменные наподобие NEW и OLD?

    galaxy @galaxy
    Да, для AFTER STATEMENT триггеров есть:
    CREATE TRIGGER transfer_insert
        AFTER UPDATE ON transfer
        REFERENCING NEW TABLE AS newtab OLD TABLE AS oldtab
        FOR EACH STATEMENT
        EXECUTE FUNCTION check_transfer_balances_to_zero();

    В функции check_transfer_balances_to_zero будут доступны таблицы newtab и oldtab.

    (Согласно документации указывать REFERENCING можно и для ROW триггеров. Как в этом случае оно работает, не знаю)
    Ответ написан 03 апр.
    2 комментария
    Нравится 2 2 комментария
  • Как НЕ прерывать выполнение триггера после оператора RAISE? Или как по-другому вывести сообщение?

    galaxy @galaxy
    RAISE NOTICE что, не работает?
    Ответ написан 03 апр.
    7 комментариев
    Нравится 1 7 комментариев
  • Как в триггере вернуть одну удаленную строку в таблицу?

    galaxy @galaxy
    Опять занимаетесь удалением гланд через задницу?

    если делать BEFORE триггер FOR EACH ROW, то там просто проверять по таблице OLD значение ключевого поля, и если = 1, то просто ничего не делать, так?

    Да, только не "ничего не делать", а вернуть NULL из триггерной функции. Это правильный способ.

    а если с помощью AFTER?

    AFTER триггеры не предназначены для модификации или отмены операций, обычно они используются для аудита, подсчетов сумм в сводных таблицах и т.п.
    Отменить свершившуюся операцию AFTER триггер может, только вызвав исключение (да, откатится весь запрос INSERT/UPDATE/DELETE).

    или можно, но только через вставку (INSERT через OLD) этой строки обратно в таблицу просто?

    К сожалению, можно. Postgres позволяет ковырять таблицу из триггера на ней. Но это прекрасный способ выстрелить себе в ногу. Например, так можно вызывать бесконечный рекурсивный вызов триггеров. Можно получить неожиданные результаты: так, я, например, не уверен, какое именно состояние таблицы видит FOR EACH ROW триггер (есть сомнения и насчет FOR EACH STATEMENT) - на начало транзакции? операции? или уже после обработки некоторых строк? всех строк?
    Ответ написан 03 апр.
    2 комментария
    Нравится 1 2 комментария
  • BeautifulSoup. Как пропарсить страницу?

    galaxy @galaxy
    Через JS они там догружаются.
    curl 'https://www.banki.ru/products/currency/ajax/quotations/history/cbr/' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' -H 'Origin: https://www.banki.ru' --data-raw '{"currency_id":840,"from":1609362000}'

    {
      "currency_id": 840,
      "history": {
        "1609362000": 73.8757,
        "1609448400": 73.8757,
        "1610398800": 74.5157,
        "1610485200": 74.2663,
        "1610571600": 73.5264,
        "1610658000": 73.7961,
        "1610744400": 73.5453,
        "1611003600": 73.9735,
        "1611090000": 73.7243,
        "1611176400": 73.355,
        "1611262800": 73.3694,
        "1611349200": 74.3615,
        "1611608400": 74.8569,
        "1611694800": 75.6354,
        "1611781200": 75.04,
        "1611867600": 76.1854,
        "1611954000": 76.2527,
        "1612213200": 75.5053,
        "1612299600": 75.9051,
        "1612386000": 76.0801,
        "1612472400": 75.7293,
        "1612558800": 75.1107,
        "1612818000": 74.2602,
        "1612904400": 74.1192,
        "1612990800": 73.8526,
        "1613077200": 73.7579,
        "1613163600": 73.9378,
        "1613422800": 73.3092,
        "1613509200": 73.2895,
        "1613595600": 73.7669,
        "1613682000": 73.7755,
        "1613768400": 73.9717,
        "1613854800": 73.9833,
        "1614200400": 73.7532,
        "1614286800": 73.4747,
        "1614373200": 74.4373,
        "1614632400": 74.0448,
        "1614718800": 74.5755,
        "1614805200": 73.5187,
        "1614891600": 73.7864,
        "1614978000": 74.4275,
        "1615323600": 74.264,
        "1615410000": 74.0393,
        "1615496400": 73.4996,
        "1615582800": 73.5081,
        "1615842000": 73.2317,
        "1615928400": 72.9619,
        "1616014800": 73.1019,
        "1616101200": 73.6582,
        "1616187600": 74.139,
        "1616446800": 74.6085,
        "1616533200": 75.3585,
        "1616619600": 76.1535,
        "1616706000": 76.1741,
        "1616792400": 75.7576,
        "1617051600": 75.8287,
        "1617138000": 75.7023,
        "1617224400": 75.6373
      }
    }
    Ответ написан 31 мар.
    2 комментария
    Нравится 1 2 комментария
  • Почему с++ делит неправильно?

    galaxy @galaxy
    Уберите floor().
    У вас и так тут lineNumber / table.size() целочисленное деление (с отбрасыванием дробной части).
    С floor же происходит конвертация в double с потерей точности, потом снова в long long.
    Ответ написан 31 мар.
    1 комментарий
    Нравится 3 1 комментарий
  • Почему при сортировке 1 меньше, чем true?

    galaxy @galaxy
    Они равны (в том смысле, что 1-true == 0 и true-1 == 0).
    Сортировка в JS, вообще говоря, не stable, так что в отсортированном массиве они могут идти в любом порядке.

    [2,5,true,1].sort((a,b) => a-b)
    // [true, 1, 2, 5]
    Ответ написан 30 мар.
    2 комментария
    Нравится 1 2 комментария
  • Почему не отправляются данные, а выдаёт ошибку?

    galaxy @galaxy
    Ошибка, скорее всего, потому что тут кавычек нет:
    mysqli_query ($db, "INSERT INTO `users` (`id`, `login`, `email`, `password`) VALUES ('4', $login, $password)")

    надо:
    VALUES ('4', '$login', '$password')")
    Но лучше выбросили бы вы этот на ближайшую помойку и не копировали впредь всякую дрянь.
    Ответ написан 29 мар.
    7 комментариев
    Нравится 7 комментариев
  • Как принять html файл в python?

    galaxy @galaxy
    argv[1]
    Ответ написан 29 мар.
    Комментировать
    Нравится Комментировать
  • Почему изображение из формы не записывается в папку?

    galaxy @galaxy
    Потому что разуй глаза, что назывется:

    $uploadFile = $uploadDir . '\\' . basename($_FILES['photo']['name']);
    move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile);
    Ответ написан 28 мар.
    13 комментариев
    Нравится 3 13 комментариев
  • Почему postgre sql при INSERT требует вводить значения ключевого поля?

    galaxy @galaxy
    Он требует не ключевое поле, а просто поле. При INSERT без указания названий полей надо в VALUES передавать значения для всех колонок.
    а чтобы без указания можно было бы так добавлять - возможно сделать?

    можно
    INSERT INTO abonents
    VALUES (DEFAULT, 'Petrov', 'Pobeda 9, 1', '8909999231')
    Ответ написан 28 мар.
    3 комментария
    Нравится 2 3 комментария
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • dimonchik2013
    dimonchik2013
    • 11 ответов
    • 0 вопросов
  • Василий Банников
    • 10 ответов
    • 0 вопросов
  • cicatrix
    • 7 ответов
    • 0 вопросов
  • hottabxp
    Сергей Карбивничий
    • 7 ответов
    • 0 вопросов
  • Алексей Дубровин
    • 6 ответов
    • 0 вопросов
  • DevMan
    DevMan
    • 6 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации