Задать вопрос
  • Как исправить сортировку в MySql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    У SUBSTRING_INDEX накладные расходы великоваты. Я бы использовал
    SELECT *
    FROM table_name
    ORDER BY 0 + SUBSTRING(column_name FROM 2)

    А для совсем ускорения, если такая сортировка используется часто, можно создать индекс по соотв. выражению, а то и generated column с соответствующим индексом.
    Ответ написан
    3 комментария
  • Как обнулить IP адрес?

    @Akina
    Сетевой и системный админ, SQL-программист.
    По договору с провайдером у меня динамический IP. Услугу статического IP я не подключал. Однако мой IP не меняется уже месяц.
    [skipped]
    Что делать и каким способом обнулить время аренды DHCP IP-адреса? Как вернуть динамический IP?
    Для начала - не путайте тёплое с мягким. Да, с цветным тоже не путайте.

    Динамический IP означает, что Вам не нужно прописывать настройки, что все настройки Вы получите от оборудования провайдера по DHCP. Это всё.

    Повторяю - ЭТО ВСЁ! Больше ничего эта фраза в договоре не означает. Она не устанавливает, публичный адрес у Вас будет или приватный (белый или серый), не устанавливает, будет ли адрес всё время один и тот же, или будет периодически либо регулярно изменяться...

    Далее. Время аренды адреса - это параметр, которым оперирует DHCP-сервер провайдера. Он напрямую связан с МАС-адресом Вашего оборудования (сетевая карта, роутер), подключенного к провайдеру, и выделенным для этого МАС IP-адресом. Соответственно "обнулить время аренды" можно двумя способами:

    1) Выключить своё оборудования на время более текущего времени аренды. Ненадёжно - на DHCP соответствие будет сохраняться, пока этот IP не будет выдан кому-то ещё (что в случае проводных провайдеров событие маловероятное).

    2) Сменить МАС-адрес на своём оборудовании. Не будет работать, если у провайдера имеется привязка по порту (причём может быть как привязка клиентского МАС, так и выделяемого IP).

    Многие сайты считают меня ботом и не пускают. Иногда дело доходит до апсурда, и меня в гугле банят. Что искать в Google надо проходить проверку "я не робот", а это очень тяжело, особенно когда приходится две или три попытки делать.


    Эта проблема вообще слабо связана во всем остальным. Тут надо скорее разбираться, откуда такое счастье. Скорее всего, у тебя приватный адрес, а публичный адрес прова используется для выхода в Инет не только тебя, но и ещё кучи клиентов. Тогда все проблемы ожидаемы, а реакции других сайтов - скорее всего, обоснованы.

    Если отсутствие интерференции с другими клиентами действительно важно - следует приобрести у провайдера услугу выделенного реального IP-адреса. В данном случае:

    "выделенный" - присвоенный только тебе, одновременно с тобой с этого адреса никто работать не может.

    "реальный" - он же белый, адрес, маршрутизируемый в Инете.

    И да - этот адрес вполне может оставаться динамическим и изменяемым. В твоём случае это почти безразлично. Кроме случая очень злопамятных сайтов, которые помнят айпишники "ботоводов" неделями и месяцами. Тогда заказывай постоянный выделенный реальный IP (постоянный - не изменяющийся со временем).
    Ответ написан
    9 комментариев
  • Как собирать статистику по разным промежуткам времени?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Используйте условное агрегирование.
    SELECT `id_user`, 
           SUM(`sum`) `sum_month`, 
           SUM(`sum` * (`date` >= NOW() - INTERVAL 1 WEEK)) `sum_week`, 
           SUM(`sum` * (`date` >= NOW() - INTERVAL 1 DAY)) `sum_day`, 
           users.name 
    FROM `balance_history` 
    INNER JOIN `users` ON `id_user` = users.id 
    WHERE `date` >= NOW() - INTERVAL 1 MONTH
      AND `type` = 'plus' 
    GROUP BY `id_user`, users.name 
    ORDER BY `sum` DESC


    Выражения-аргументы SUM() - это упрощённое выражение типа

    SUM(CASE WHEN {some condition}
             THEN {some value}
             ELSE 0
             END)


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

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT html, REGEXP_REPLACE(html, '<nav>[^<]*</nav>', '')
    FROM test;

    fiddle
    Ну и соответственно
    UPDATE test
    SET html = REGEXP_REPLACE(html, '<nav>[^<]*</nav>', '');
    Ответ написан
    5 комментариев
  • Как написать запрос для вывода классов в которых только отличники?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT DISTINCT class
    FROM tablename t1
    WHERE NOT EXISTS ( SELECT NULL
                       FROM tablename t2
                       WHERE t1.class = t2.class
                         AND t2.mark != 5 )

    Запрос предполагает, что нет записей, где оценка отсутствует (mark IS NULL).
    Ответ написан
    Комментировать
  • Кто удалил файл?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Теоретически - аудит, как уже сказано ранее. Практически - это надо сидеть и постоянно чистить логи аудита, иначе никаких дисков не хватит.

    Из практики - в 90% случаев файл или каталог не удалён. Просто какое-то нерадивое чмо неловким движением мыша переместило его в какой-то каталог. Обычно - даже не заметив этого (оно само, случайно, зацепилось). Опять же из практики - подобное пропадание на Window Server - минимум 2-3 раза в месяц, а на столь же интенсивно использовавшемся Novell Netware, где подобное перемещение было запрещено соотв. атрибутом файловой системы - 2 или 3 раза за более чем 10 лет.

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

    @Akina
    Сетевой и системный админ, SQL-программист.
    причем в самой программе при просмотре в реальном времени Дата и время отображаются

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

    @Akina
    Сетевой и системный админ, SQL-программист.
    Есть ... сетевые розетки. И есть патч-панель, куда всё это дело идёт


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

    У меня лежит заранее настроенный коммутатор (конкретно DES-3200-52), в котором все 52 порта настроены на 52 разных VLAN, и во всех имеется подключение к интерфейсу управления. И полсотни метровых патч-кордов. Соответственно я просто подключаю все порты патч-панели к коммутатору, а потом иду по розеткам с ноутом (у которого на интерфейсе более широкая сеть, накрывающая все адреса коммутатора). Там подключаюсь к розеткам по одной и скриптом быстро пропинговываю все адреса внутреннего интерфейса коммутатора (1 пинг, 100 мс тайм-аут, всё занимает максимум 11 секунд, а если даже коммутатор стормозит и на первый пинг не ответит - смотрим текущую ARP-таблицу), и по тому, какой адрес ответил, понимаю, к какому порту патч-панели приходит данная розетка.

    И бегать туда-сюда не нужно, и делается всё вполне успешно без напарников. Конечно, при этом не будут определены проблемные розетки (с неисправной линией, или просто подключенные к другой патч-панели).
    Ответ написан
    Комментировать
  • Почему с подключенным статичным IP, на 2ip показывает один адрес, а в роутере wan адрес другой?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Статический адрес и постоянный адрес - это в общем-то слегка разные вещи. Хотя это скорее вопрос терминологии и её интерпретации. Но по смыслу "статический" - это назначаемый на оборудовании вручную (при этом провайдер обязан передать настройки - как минимум адрес, маску и шлюз,- для такого адреса), а "постоянный" - назначаемый по DHCP, но всегда один и тот же (привязка по клиентскому порту оборудования провайдера либо аппаратному адресу оборудования клиента).

    Причём если в первый раз он был из "белого" диапазона, то после перезагрузок стал "серым".
    А вот это уже похоже на нарушение условий договора.

    Специалист представился инженером и сообщил, что мне нужно зайти на 2ip.ru и именно то, что на нём отображается и является моим статичным публичным ip адресом.
    То ли он тебя не понял (не понял, что у тебя подключена услуга "белого адреса"), то ли намеренно ввёл в заблуждение. Услуга "публичный адрес" однозначно предполагает, что этот адрес будет иметь оборудование в твоей зоне ответственности (в данном случае шлюзовое - WAN роутера). Услуга "постоянный публичный адрес" дополнительно предполагает, что этот адрес не будет изменяться во времени.
    Ответ написан
    5 комментариев
  • Как дать доступ пользователю только к одной папке и ее содержимому в сетевой шаре?

    @Akina
    Сетевой и системный админ, SQL-программист.
    мне необходимо чтобы он попадал туда из диска S, папки_А и т.д. и при этом не видел содержимое попутных папок.

    В рамках идеологии назначения прав в NTFS приемлемого решения Вы не найдёте. Чтобы "увидеть" подпапку в папке, но при этом не "видеть" файлы этой папки, Вам необходимо, чтобы и на папку, и на подпапку были прямо назначены права, причём в случае папки - применяемые только к этой папке. Что говорит о том, что Вам придётся использовать прямое назначение прав на папки Департамент_1, папка_А, папка_B и папка_C. Подобный подход - прямой путь к горе прямых назначений и итоговому бардаку.

    Навскидку вижу два решения.

    Первое - создание отдельного DFS-узла, выводящего непосредственно в целевую папку. Как по мне - самое логичное решение. Право на узел даётся группе, пользователь включается в группу - и всё. Если кому-то ещё понадобится дать право - его тоже в эту группу. Папка при этом будет корнем, и "подняться" из неё некуда.

    Второе - вывод пользователя непосредственно в эту папку средствами файловой системы. Ярлык, симлинк... Чем плохо - тем, что при этом у пользователя отображается полный путь папки, и он может попытаться "подняться выше", с весьма логичным сообщением об ошибке доступа.
    Ответ написан
    Комментировать
  • Как решить проблему копирования архива?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Сталкивался несколько раз.

    Чаще всего проблема была в разного рода антивирусах/файрволах.
    Реже - в неисправной/нестабильной памяти.
    Один раз - в контроллере доступа к диску (который буквально через пару дней умер - по счастью, на матери было два контроллера, второй после этого работал достаточно долго без проблем).
    И несколько раз найти причину не удалось.

    Рекомендую начать с выполнения той же операции из другого инстанса ОС - просто чтобы понять, аппаратная или программная часть шалит.
    Ответ написан
    Комментировать
  • Как оставить работать только 1 приложение на win7?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Нереально.

    1. ICQ не имеет режима "всегда на полный экран".
    2. Ничто не мешает через настройки достучаться до окна выбора какого-нибудь файла (там выбор фона или ещё какая ерунда), а там запустить explorer или иное приложение.

    Всё это доступно и в случае, когда приложение запускается как shell.

    Также нерешаемо, если использовать браузерную онлайн-версию ICQ https://web.icq.com/ запуском IE в режиме киоска - мало ли куда можно убрести по ссылкам.
    Ответ написан
    Комментировать
  • В чем разница switch expression и switch statement?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Switch statement - это инструкция ветвления направления исполнения кода в зависимости от условия.

    Switch expression (хотя правильнее было бы назвать Switch function) - это фактически функция, которая выбирает одно из альтернативных выражений для вычисления значения в зависимости от условий.
    Ответ написан
  • Можно ли открыть порты с не статическим Ip-адресом?

    @Akina
    Сетевой и системный админ, SQL-программист.
    А связь-то какая? можно, конечно.

    Другой вопрос, как внешние клиенты будут узнавать нужный в текущий кол времени адрес... хотя для этого существуют сервисы динамического DNS. При условии, что Ваш внешний адрес - маршрутизируемый в Интернете (белый), конечно.
    Ответ написан
  • Может ли провайдер изменить протокол на транспортном уровне и прочитать ваш трафик?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Может ли провайдер изменить ... https на http

    Внутри своей сети - запросто, хоть на что угодно (нафига бы только ему это?). Но на выходе из своей маршрутизирующей сети ему придётся вернуть всё как было - иначе у тебя с тем сервером, к которому ты обращался, никакой любви в виде соединения не случится.

    и снифером словить ваш трафик?

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

    Во-вторых, даже если провайдер преобразует трафик из HTTPS в HTTP, это вовсе не означает, что он этот трафик каким-то волшебным образом расшифрует. Как была шифрованная нечитаемая лабуда, так и останется. Так что не жадничай - пусть снифит, если ему заняться нечем, твоих секретов это не раскроет.
    Ответ написан
    Комментировать
  • Как указать ttl в утилите ping?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Вы видите TTL ответного пакета. Поставьте не 15, а, скажем, 5 - получите отлуп в связи с преждевременной смертью.
    Ответ написан
    1 комментарий
  • Обязательно ли иметь два жестких диска, чтобы поставить Linux вместе с Windows?

    @Akina
    Сетевой и системный админ, SQL-программист.
    нужно чтобы на одном пк было две операционные системы Винда и линукс
    Ставите десятку. Ставите WSL2. Имеете и то, и другое - причём в рамках одной ОС. И работает оно не медленнее, а даже скорее немного быстрее, чем в виртуалках. См:

    https://docs.microsoft.com/ru-ru/windows/wsl/insta...
    https://docs.microsoft.com/ru-ru/windows/wsl/compa...
    https://habr.com/ru/news/t/516054/

    и т.п.
    Ответ написан
    Комментировать
  • В компонентах Windows нет Microsoft .NET Framework 4, как его включить/переустановить?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Установите сразу .NET 5.0.
    Даже если вдруг с текущим фреймворком есть какие-то проблемы - они пофиксятся.
    Ответ написан
  • Пример испольования IPv4-адресов из блока 0.0.0.0/8 и 127.0.0.0/8 (не считая 0.0.0.0/32 и 127.0.0.1/32)?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Сеть 127.0.0.0/8 (и любая её подсеть) - это адреса IP-стека локальной машины. Обращаясь по любому адресу из этой сети, Вы обращаетесь к локальному хосту. Любой сервис может слушать любой из этих адресов, работая соответственно на нём как локальный сервер (это, кстати, позволяет решить проблему одновременной работы на одном хосте двух разных сервисов/приложений, использующих один и тот же порт) - но надо помнить, что такой адрес следует указывать как IP, ибо имя localhost всегда разрешается в 127.0.0.1 (если иное не задано в файле HOSTS - но так лучше не делать, может привести к неприятным последствиям).

    Что же до сети 0.0.0.0/8, то её лучше вообще не использовать в прикладных целях.
    Ответ написан
    1 комментарий
  • Почему оператор сотовой связи предоставил ip адрес не по местоположению?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Оператор связи / провайдер, согласно договору, предоставляет тебе доступ в Интернет. Но стопудово в договоре нет ни полслова о том, через какой именно шлюз он это сделает. И если провайдеру так проще, дешевле, или просто у него так организовано - он в своём праве. Да вообще ты можешь ходить в Инет через высокоанонимный прокси.

    Я уж не говорю о том, что блок адресов выдан LIR-у и изначально описан по его местоположению. И если тот не соизволит уточниться по геопривязке суб-блока (а для своей внутренней сети - нафига бы ему это надо?), то будешь ты думать, что адрес - в штаб-квартире LIR-а, а он на самом деле в тьмутаракани.
    Ответ написан
    Комментировать