Задать вопрос
  • Почему не включается компьютер?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Как минимум судя по фото, у вас обе планки памяти рядом во втором канале стоят. Стоит почитать инструкцию по эксплуатации материнской платы.
    В ней даже красным воскликательным знаком выделено про то, что установка важна в определенные слоты.
    Ответ написан
    1 комментарий
  • Как удалить файлы с карты памяти microSD 64 Gb, созданные видеорегистратором?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Убедитесь, что нет никаких переключателей записи ни на карте (на микроСД быть не должно), ни на переходнике (если он используется) и подключите карту к компьютеру.
    Затем возьмите программу для тестирования дисков, можете HDDScan, можете наш R.tester (обе бесплатные и идут в виде .ZIP-архива), или какую-то ещё, и запустите там полный тест записи.

    Он безвозвратно уничтожит всё содержимое, а заодно покажет вам состояние памяти.
    Если вдруг это не поможет, то хорошо было бы увидеть как карта определяется в программе - как минимум, название и объём.

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

    P.S.
    форматнуть, если ее не берет даже HDD Low Level Format Tool?

    Для карт памяти в качестве альтернативы лучше пробовать официальную утилиту: https://www.sdcard.org/downloads/formatter/
    Низкоуровневого форматирования нынче не существует даже для жёстких дисков, не говоря уже о флэш-устройствах.
    Ответ написан
    Комментировать
  • Как исправить ошибку?

    Vindicar
    @Vindicar
    RTFM!
    Объясняю на пальцах:
    UPDATE trial SET trialactive = 0 WHERE trialkey = 'vless:-test'
    - обновить запись, где столбец trialkey равен строке "vless:-test"
    UPDATE trial SET trialactive = 0 WHERE trialkey = vless:-test
    - обновить запись, где столбец trialkey равен столбцу vless:-test, а такого столбца у тебя нет.

    А причина - потому что ты не озаботился как следует посмотреть примеры работы с БД в питоне, и сразу побежал херачить текст запроса с помощью f-строк, хотя каждый первый туториал предупреждает что так делать нельзя, а нужно использовать placeholder'ы.

    Ссылку на https://docs.python.org/3/library/sqlite3.html#sql... тебе выше дали, разобрать её несложно.
    Первый пример кода (который помечен # Never do this -- insecure!) допускает ту же самую ошибку, что и твоё
    cursor.execute(f'UPDATE trial SET trialactive = 0 WHERE trialkey = {results}')
    и другие запросы.
    А второй пример кода показывает, как правильно.
    # This is the qmark style used in a SELECT query:
    params = (1972,)
    cur.execute("SELECT * FROM lang WHERE first_appeared = ?", params)

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

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Самое главное, чему надо научиться - это правильно формулировать свои проблемы.
    Судя по приведённому коду, вы прекрасно знаете, как добавлять данные. Но почему-то всё равно спрашиваете, как это сделать. "Где логика, где разум?"
    Судя по тексту вопроса, проблема ваша формулируется совсем по-другому: не "как добавить", а "почему не добавляется". Это два совершенно разных вопроса.

    А чтобы ответить на вопрос, почему код не работает, надо заниматься отладкой. Это отдельная дисциплина в программировании, которую надо освоить. Чтобы найти ошибку в своём коде, надо выполнить три вещи

    1. Убедиться, что в РНР включён вывод ошибок. Проверить можно тупо допустив ошибку синтаксиса. Если она выведется - очень хорошо, значит вы видите ошибки. Если нет, то включить, хотя бы через ini_set.
    1.2. Для древних, как гуано мамонта расширений, таких как sqsrv, надо проверять ошибки запросов вручную. Но делать это надо с умом, а не как в соседнем ответе. Ошибку SQL надо не тупо вываливать на экран вручную, а превратить в ошибку РНР, чтобы она выводилась так же и туда же, куда и остальные ошибки. Это можно сделать простым кодом вида
    if( $stmt === false ) {
        throw new Exception(print_r( sqlsrv_errors(), true));
    }

    2. Упростить свой код. Всегда проверять что-то одно. Вы что хотите проверить? Выполнение запроса на вставку? А зачем вам тогда форма вообще? Сделайте скрипт, который при обращении к нему просто записывает данные в БД, без всяких форм и прочего.
    Работает? Очень хорошо, переходите к формам. И если что-то не будет работать, то и вопрос будет совсем другой, "у меня не работает форма", который к "как сделать запрос" уже совсем никакого отношения не имеет.
    Не работает? Разбирайтесь с запросом, без всяких форм. Если вы проверяете что-то одно, то у вас и не работает что-то одно. А не десять разных потенциальных точек отказа.
    3. Контролировать ход выполнения своего кода.
    Например, вот вы разобрались с запросом, и перешли к обработке формы. И вот у вас есть условие, if (isset($_POST['signInButton'])). А вы проверили, оно хоть выполнилось? Если нет, то в базу никогда ничего не добавится, хоть обперегружайся. Поэтому добавляете временный вывод отладочной информации:
    echo "проверяем нажатие кнопки\n";
    if (isset($_POST['signInButton'])) {
        echo "проверка прошла успешно\n";
        createAccount($conn, $email, $password, $keepSignIn);
    }

    Если "проверка прошла успешно" не вывелось - значит никакого $_POST['signInButton']) в вашем скрипте нет, и надо разбираться - почему. Например, в форме не указан метод, или кнопка называется совсем по-другому. Чтобы разобраться с этим, надо
    3.1 Выводить содержимое используемых переменных. Делаете
    var_dump($_POST);
    после отправки формы, и смотрите. Если там совсем пусто, значит никакую форму методом POST вы не отправляли. Если там что-то есть - то смотрите, что именно, и насколько это соответствует вашим ожиданиям.

    Вот и всё. Эта нехитрая инструкция позволяет быстро решить любые проблемы с кодом. Главное потом не забыть удалить все отладочные сообщения. или научиться пользоваться пошаговой отладкой в IDE
    Ответ написан
    1 комментарий
  • Выбор между SQL и NoSQL документооринтированной базой данных?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Тут нет никакого выбора.

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

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

    Соответственно, если говорить про базу данных, то выбор очевиден - Постгрес.
    Но если речь про поиск, то так и надо формулировать - "что использовать для поиска по базе данных?". И тут ответ тоже будет очевидный - Эластик (ну или любой другой поисковый движок - солр, мантикора, и так далее). Который и будет искать по информации, хранящейся в базе данных.

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Нет. Всё, что попало в интернет - остаётся там навсегда. Особенно все изменения в git репозитории - копии его есть не только на сервере, который вам не принадлежит и в организации, в которой вы вряд ли админ/владелец, так еще и у всех остальных разработчиков тоже есть копия.
    Ответ написан
    1 комментарий
  • Как удалить бесконечную папку?

    @Zerg89
    rd /s "\\?\C:\full-path"
    Ответ написан
    Комментировать
  • Где на самом деле лежит и как называется файл hosts в windows?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Битность программ не совпадает с виндой. 32-битный Notepad++ не видит папку etc, 64-битный - видит.

    Ваша фраза: "новые (относительно) ищет", видимо, говорит о том же.

    В 64-битной версии Windows папка C:\Windows\System32 содержит 64-битные файлы и библиотеки. Однако, если вы запускаете 32-битное приложение, такое как 32-битная версия Notepad++, Windows перенаправляет запросы к этой папке в C:\Windows\SysWOW64, где находятся 32-битные версии библиотек.
    Это означает, что 32-битное приложение не сможет увидеть или получить доступ к файлам в C:\Windows\System32, включая папку etc, если оно пытается открыть ее через стандартный интерфейс.
    Ответ написан
    3 комментария
  • Как мошенники делают на Госуслугах красную табличку "Кабинет занят, с ним работает оператор" и как этому противодействовать?

    @alexalexes
    До того, как увидеть табличку на странице браузера с человеком аккуратно поработали соц. инженерией. Дали ссылку на расширение браузера, дали почитать письмецо с нужным наполнением, порекомендовали установить "свои" гос. услуги на комп/телефон...
    Магии в этом нет, все делается словами и убеждением. Госуслуги, да и любая система тут не причем.
    Ответ написан
    Комментировать