• Безопасно ли использовать секретный поддомен для dev версии проекта?

    @remzalp
    Программер чего попало на чем попало
    В общем случае секретный домен не секьюрно, можно тупо перебором натолкнуться. Плюс за поисковиками замечалось, что они через встроенные в браузеры инструменты мониторинга отслеживают обращение на новые сайты и втихую добавляют их в поисковый индекс.
    А DEV версия обычно страдает огромным количеством дебаговой информации, поэтому обезопасить желательно.

    Если авторизация чем-то мешает, то просто можно средствами веб-сервера блокировать доступ не с ип адресов разработчика (.htaccess, nginx.conf), либо организовать cookies, которая будет проверяться перед отдачей контента.
    Ответ написан
    3 комментария
  • Почему со временем windows начинает проседать по производительности в играх?

    @remzalp
    Программер чего попало на чем попало
    Берём инструмент
    https://docs.microsoft.com/en-us/sysinternals/down...
    и смотрим, чем же у нас система занимается. Лишние автозапускаемые вещи проверяем - насколько нужны.

    Второй вариант - только в случае с SSD - изучите:
    https://ru.wikipedia.org/wiki/TRIM
    Ответ написан
    8 комментариев
  • Какой SSD для сервера подойдет?

    @remzalp
    Программер чего попало на чем попало
    По сути эта плата лишь райзер (переходник), соответственно на выходе будет PCI-e интерфейс.
    М2 SSD такие в природе бывают и может даже заведется.

    Но лучше писать не в спортлото, а в техподдержку SuperMicro, например с вопросом "а заведется ли 1024 ГБ SSD M.2 накопитель Intel 660p Series [SSDPEKNW010T801]?"
    Ответ написан
    Комментировать
  • Как правильно задать запрос?

    @remzalp
    Программер чего попало на чем попало
    (a = '888' OR b = '444') AND c <> '12'
    Ответ написан
    1 комментарий
  • Оптимизация поиска по БД?

    @remzalp
    Программер чего попало на чем попало
    В своё время неплохо ускорил процесс поиска Sphinx, у него другая организация индекса, поэтому скорость резко отличается. Если на сервере мощности достаточно, то можно попробовать.

    ну и базовая оптимизация - LIKE "%...%"работает в разы медленнее, чем LIKE "...%"
    Вы мало сказали про состав типичной строки в БД и по какой её части планируете искать.

    Если что, то запрос "explain select ...." полезная штука
    Ответ написан
    2 комментария
  • При подаче электричество на БП, просто начинают работать куллеры и все экран темный?

    @remzalp
    Программер чего попало на чем попало
    Если пищалка на материнской карте подключена, раздаётся один писк после включения - всё нормально с компьютером, ищите проблему вокруг видеокарты и монитора - разъемы, кабель, сам монитор (включать пробовали?), сама видеокарта - могло выборочно что-нибудь убить статикой.

    Если писк не раздаётся - подключайте пищалку, считайте звуки, ищите по описанию материнской карты - что оно значит.
    Ответ написан
    Комментировать
  • Не запускается exe созданный pyinstaller'om в Windows. Почему?

    @remzalp
    Программер чего попало на чем попало
    Алексей Р, Я посмотрел приложение, какой-то чрезмерный оверкилл
    QT сам по себе толстенный, всё запихивается в бинарник, при запуске распаковывается в TEMP и только после этого запускается. На медленном жестком диске и под антивирусом еще дольше всё будет. После завершения - всё старательно распакованное удаляется.

    Поэтому рекомендации
    1. Посмотрите в сторону интерфейса на TKinter, он более мелкий, писать чуть сложнее, но стартовать будет лучше, плюс идёт из коробки
    https://python-textbok.readthedocs.io/en/1.0/Intro...

    2. В случае с PyInstaller посмотрите в сторону "Bundling to One Folder", там ничего перераспаковывать при каждом запуске не придётся, производительность повысится.
    Да, приложение будет представлено в виде бинарника и набора файлов, но какая разница? Если хочется красивый установщик - используйте NSIS, самое простое из бесплатного, что использовал
    https://nsis.sourceforge.io/Main_Page

    А рекомендация в комментариях от Сергей Горностаев на самом деле решила изначально задававшуюся проблему в посте
    Ответ написан
    1 комментарий
  • Существует ли аудиоредактор, в котором можно удалять фрагменты дорожки по по списку интервалов, который задан в текстовом или табличном виде?

    @remzalp
    Программер чего попало на чем попало
    Если немного повозиться, то ffmpeg/avconv из командной строки может всё это сделать.
    На любом скриптовом языке (питон, перл, рнр) набрасывается взаимодействие совсем легко.
    Или даже экселем команды для командной строки нагенерить...
    Пример:
    ffmpeg -ss 00:00:15 -i song.m4a -t 00:00:30 -acodec copy sample.m4a

    -ss 00:00:15 - стартовое время
    -t 00:00:30 - ДЛИНА
    -acodec copy - копируем без перекодирования.

    Логика - сначала насохраняли все отрезки отдельными фрагментами, потом собрали в один большой файл

    Под Windows:
    https://ffmpeg.zeranoe.com/builds/
    линуксовые и сами найдете
    Ответ написан
    Комментировать
  • Как обнаружить причину ошибки 500?

    @remzalp
    Программер чего попало на чем попало
    Используйте https://xdebug.org/
    и что-то, что умеет дебагать удаленно https://xdebug.org/docs/remote

    Настраиваете слушать локальный порт сервера, через SSH пробрасываете порт на свой локальный комп, свою IDE настраиваете цепляться к локальному порту.

    А ПОТОМ ПОШАГОВО ДЕБАГАЕТЕ.

    Можете заодно спрофилировать скрипт, может сразу видно будет, если отсортировать по времени работы.

    Благодаря тому, что порт XDEBUG наружу не торчит, обеспечивается хоть какая-то секьюрность. После завершения работ отключаете это расширение, потому что тормозов оно хоть и немного, но добавляет.

    Включая своего внутреннего пророка предсказываю - это программист, долгое время писавший на чем-то типа битрикс, сделал запрос вида:
    foreach ($results as $item) query("SELECT * FROM table WHERE ID={$item[id]}");


    В идеале сделать копию данных, запустить у себя и мучить локально. Если совсем тяжело, то ... сервер все-равно нормально не работает...
    Ответ написан
    Комментировать
  • Как дэтэктить metasploit reverse shell?

    @remzalp
    Программер чего попало на чем попало
    По дешману - не получится.

    Варианты:
    1. Доскональный шмон трафика с помощью систем, анализирующих потроха пакетов и поднимающие тревогу при любых отклонениях.
    За копанию это подразумевает требование расшифровывать любой https трафик, то есть еще та немного веселая задачка. Если трафик не удалось расшифровать или внутри не то, что ожидалось - РЕЗАТЬ.
    Очень дорогой вариант. Потребует железа и софта или бесплатного + крутого админа или платного и не очень крутого админа.

    2. Белые списки - куда можно коннектиться.

    на 6:
    чаще всего это будет напоминать типичную работу системы, поэтому проблемно.
    Ответ написан
    Комментировать
  • Как создать VHD контейнер не из-под виндовса?

    @remzalp
    Программер чего попало на чем попало
    xgu.ru/wiki/qemu-img
    https://linux.die.net/man/1/qemu-img
    qemu есть под всё. Поддерживает создание и конвертацию много чего
    raw, qcow2, qcow, cow, vmdk, cloop, vpc (VHD).
    Возможно даже vhdx уже подвезли.
    Ответ написан
    Комментировать
  • Невосстановимое удаление данных - как?

    @remzalp
    Программер чего попало на чем попало
    Что остаётся от файла:
    1. При обычном удалении остаётся всё, в кластерах на диске всё еще, в таблице размещения файлов файл помечается "удалён", при этом название файла и информация о адресах кластеров, где он лежал - сохраняется.
    Может быть затёрто при любой операции записи, которой захотелось записать в кластер, ранее занимаемый файлом. А может быть и не затёрто...

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

    3. При перезаписывании файла поверх случайными данными будет сохраняться остаточная намагниченность - в лабораторных условиях можно будет с приличной вероятностью предположить, что там было раньше. Многократная перезапись хорошо устраняет следы.

    4. При работе с файлом в том же %temp% или еще каких каталогах могут оставаться резервные копии, промежуточные данные, которые поддаются восстановлению без больших проблем.

    5. При изменении размера файла в сторону уменьшения или перезапись файла меньшего размера поверх - в конце кластера может остаться прежнее содержимое.

    Итого: хочешь с гарантией удалить данные - карборановая кислота.
    Ответ написан
    9 комментариев
  • Как реализовать такую структуру?

    @remzalp
    Программер чего попало на чем попало
    init.php:
    include "functions.php";
    include "index.php";
    Ответ написан
    Комментировать
  • Смена пароля windows по расписанию? Как это сделать?

    @remzalp
    Программер чего попало на чем попало
    В стандартной поставке есть net.exe:

    NET USER [имя_пользователя [пароль | *] [параметры]]
    Команда NET USER позволяет создавать и изменять учетные записи пользователей на компьютерах. При выполнении команды без параметров отображается список учетных записей пользователей данного компьютера. Сведения об учетных записях пользователей хранятся в базе данных учетных записей пользователей.

    имя_пользователя
    Имя учетной записи пользователя, которую необходимо добавить, удалить, изменить или просмотреть. Длина имени учетной записи пользователя не должна превышать 20 символов.
    пароль
    Назначает или изменяет пароль учетной записи пользователя. Длина пароля не должна быть меньше минимально допустимого значения, определяемого параметром /MINPWLEN команды NET ACCOUNTS. Кроме того, длина пароля не должна превышать 14 символов.
    Ответ написан
    Комментировать
  • Как сделать функцию, корректно обрабатывающую и кириллицу и латиницу?

    @remzalp
    Программер чего попало на чем попало
    php.net/manual/ru/function.mb-split.php
    корректно работает и с уникодовыми многобайтовыми символами.
    Ответ написан
  • Есть ли недочеты в коде?

    @remzalp
    Программер чего попало на чем попало
    Есть всего 3 значимых исхода:
    разница в днях = 0 - сегодня
    разница в днях = 1 - вчера
    разница в днях > 1 - писать дату.
    Зачем какие-то монстроидальные строки писать?

    Дальше - работаем с Unixtimestamp?
    Разница в датах: (int) ($date2 - $date1) / 86400
    без всяких лишних преобразований
    Ответ написан
    2 комментария
  • Как на сайт через PHP вставить значения из другой БД MySQL на другом сервере?

    @remzalp
    Программер чего попало на чем попало
    Вариант 1: просто коннектишься к удаленной БД, вместо localhost в настройках подключения пишешь IP сервера.
    Но с той стороны сервер БД должен быть настроен слушать не только localhost, а 0.0.0.0 или актуальный ип сервера. Плюс в настройках фаерволла разрешить доступ к серверу БД с ип первого сервера.

    Вариант 2: реализуешь на втором сервере на php какой-то примитивный api (google rest api). Пишешь скрипт, который на определенный запрос через веб генерирует запрос в БД, отдаёт результат в формате JSON.
    Из своего скрипта через curl или просто
    $obj = json_decode(file_get_contents("https://server2/api.php?id=$id"));

    и уже с этим объектом делаешь что нужно.
    Ответ написан
    Комментировать
  • Почему не компилится код на си с подключением к бд?

    @remzalp
    Программер чего попало на чем попало
    Скорей всего администратор не ставил пакет с заголовочными файлами для разработки.
    Конкретно в этом случае требуется libmysqlclient-dev, как он зовётся в дебиане/убунту

    Как обойти? скачать руками, разложить локально, править пути, но тут я не силён.
    Ответ написан
    Комментировать
  • Ошибка Row size too large?

    @remzalp
    Программер чего попало на чем попало
    Длина всей строки получается:
    id=4+last_access_time=4+34x255=8 678 байт.
    упёрлись в технические ограничения.

    Можно вылечить как советуют
    ALTER TABLE `user_settings` ROW_FORMAT=DYNAMIC;

    Ключевой вопрос - А ВАМ НАДО СТОЛЬКО ХРАНИТЬ ОДНОЙ ТАБЛИЦЕЙ?
    Исходя из чего выбиралась такая длина данных?
    varchar может быть использовать?
    Ответ написан
    4 комментария
  • Как настроить переадресацию пакетов внутри локальной сети?

    @remzalp
    Программер чего попало на чем попало
    1. Аппаратный. Потребуется достаточно умный роутер, настроить там приём VPN, на DHCP раздавать адреса из диапазона локальной сети. Учитель цепляется по VPN в локалку школы.
    2. Программный - поднять OpenVPN на сервере, аналогично - адреса из локальной сети.
    Учитель ставит клиент OpenVPN, получает от Вас конфиги, цепляется.

    UPD: отвечал на аналогичный вопрос, если идти в сторону Teamviewer или аналогов:
    Альтернатива Teamviewer для машин за NAT с серым IP?
    Ответ написан
    Комментировать