• Откуда берется /*!40001 SQL_NO_CACHE */ в запросе при создании дампа?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Отвечу всё же на заданный вопрос:
    Откуда это берется вообще? /*!40001 SQL_NO_CACHE */ и как это убрать?

    Это - комментарий с фрагментом запроса, специфичным для MySQL.

    Помещается в тело запроса (в т.ч. в дамп) для того, чтобы запрос, использующий какую-либо специфичную для MySQL конструкцию, мог быть выполнен в другом SQL-диалекте без внесения изменений в текст запроса. Т.е. MySQL обрабатывает содержимое такого комментария так, словно этот фрагмент не закомментирован, тогда как другие СУБД проигнорируют этот фрагмент как комментарий.

    Опциональное пятизначное число указывает минимальную версию MySQL, начиная с которой содержимое комментария должно обрабатываться (в показанном фрагменте - это версия 4.00.01), на более младшей версии комментарий останется комментарием. При его отсутствии (используется только /*!) - код из комментария обрабатывается любой версией.

    Убрать - в случае дампа никак. Да и не нужно это - эти комментарии специально добавляются для того, чтобы можно было корректно развернуть дамп на более младшей версии MySQL. Впрочем, далеко не все специфичные конструкции так комментируются - скажем, если в теле хранимой процедуры имеется обращение к функции, отсутствующей в младшей версии, то это обращение не комментируется и при разворачивании на младшей версии приведёт к ошибке. Но тут уж, как говорится, на каждый чих не наздравствуешься...
    Ответ написан
    Комментировать
  • Откуда берется /*!40001 SQL_NO_CACHE */ в запросе при создании дампа?

    karabanov
    @karabanov
    Системный администратор
    man mysqldump

    --where='where_condition', -w 'where_condition'

    Dump only rows selected by the given WHERE condition.
    Quotes around the condition are mandatory if it contains spaces or other characters that are special to your command interpreter.

    А ты в WHERE подставил SELECT
    mysqldump -u root database table \
    --where "article='263203A001' or article='OP570' or article='OC90'" \
    > dump.sql
    Ответ написан
    Комментировать
  • Определение оператора сотовой связи и региона по номеру мобильного телефона, как сделать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В России есть Россвязь, которая распределяет номерную ёмкость по операторам. Эта информация публична, можно скачать машиночитаемые выгрузки у них на сайте: https://rossvyaz.gov.ru/deyatelnost/resurs-numerac...

    Далее, в России есть MNP, позволяющий переносить мобильный номер от оператора к оператору. Но только в пределах региона. Поэтому если задача по номеру определять только регион, то она надёжно решается указанными выше выгрузками. Оператора по ним определять ненадёжно, так как ежедневно много номеров меняют оператора, и любые данные быстро устаревают.

    Оператором базы данных перенесённых номеров (БДПН) является ЦНИИС, на его сайте можно получить текущего оператора только по конкретному номеру: https://zniis.ru/bdpn/check/ а обновляемый доступ ко всей базе простым смертным не получить.

    Чтобы понимать масштаб проблемы, сейчас в России ~14.7 млн. перенесённых номеров, за вчерашние сутки ~9.5 тыс. номеров поменяли оператора и ~1.5 тыс. вернулись из списка перенесённых к своему родному оператору.

    Таким образом, никакого смысла в подобном сайте без обновляемого доступа к БДПН (а она обновляется каждые 2 часа) нет.

    Что касается технической реализации, то тут всё достаточно просто, если у тебя есть доступ к БДПН. ЦНИИС публикует раз в сутки Numbering_Plan, аналогичный выгрузке DEF-9xx.csv Россвязи (формат отличается, но смысл тот же - диапазоны, каждый назначен оператору+региону), также публикует раз в сутки Port_All с полным списком MNP. Если не нужно поддерживать (для простоты) частые (каждые 2 часа) обновления, то этого достаточно. Любой номер сначала проверяем на наличие в Port_All, если не нашёлся - ищем подходящий диапазон в Numbering_Plan.
    Ответ написан
    Комментировать
  • Как он наложил такой градиент на пилу в фотошопе?

    DarkWood
    @DarkWood
    Вот ваш "специальный" градиент. Просто скопирован с картинки.

    61520fded3785627599450.png
    Ответ написан
    9 комментариев
  • [ИИ] Как предсказывать на сутки вперед?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    7 комментариев
  • Как найти автора шрифта bradley hand bold?

    hint000
    @hint000
    у админа три руки
    Шрифт: Richard bradley hand bold
    Внимательно смотрите за моими руками. Ахалай-махалай!
    https://www.google.com/search?q=Richard+bradley+ha...
    Первая же ссылка. Сим-салабим!
    https://docs.microsoft.com/ru-ru/typography/font-l...
    Licensing and redistribution info
    https://docs.microsoft.com/en-us/typography/fonts/...
    Абра-кадабра!
    Can I sell things I print from Windows or make using these printouts, say a book, logo, advertisement, report, t-shirt, or crafts that use fonts that come with Windows?

    Unless you are using an application that is specifically licensed for home, student, or non-commercial use, we do not restrict you from selling the things you print and make using the Windows-supplied fonts.
    Ответ написан
    4 комментария
  • Как будет на одном ip и на одном 80 порту работать два сайта?

    Браузер, запрашивая сайт, шлёт заголовки запроса. В числе прочих, заголовок Host, в котором домен запрашиваемого сайта.

    Веб-сервер, получая запрос, видит этот заголовок и принимает решение, какой контент отдать — сайт с соответствующим доменом, или, к примеру, заглушку по-умолчанию.

    Как, упрощённо, выглядит диалог браузера с сервером:
    // юзер вводит адрес http://qna.habr.com/
    // браузер ресолвит это имя в IP адрес и подключается к нему по порту 80
    // браузер шлёт запрос:
    GET / HTTP/1.1
    Host: qna.habr.com
    Accept-Language: ru
    
    // сервер, видя такое дело, соображает, что речь про сайт qna
    // и что надо отдать корневую страницу
    // отдаёт контент QnA

    Запрос на этот же порт на этом же IP для, скажем, сайта freelance.habr.com выглядел бы похоже:
    // юзер вводит адрес http://freelance.habr.com/
    // браузер ресолвит это имя в (тот же) IP адрес и подключается к нему по порту 80
    // браузер шлёт запрос:
    GET / HTTP/1.1
    Host: freelance.habr.com
    Accept-Language: ru
    
    // сервер понимает, что речь про сайт freelance
    Ответ написан
    Комментировать
  • Как называются элементы CLI в NodeJS и какие их комбинации возможны?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    command line interface уже давно выработал очень простой стандарт.

    Есть команда (внутренняя команда оболочки или внешняя утилита, вроде nodejs)
    Есть аргументы к команде
    Аргументы логически делятся на опции и параметры.

    Опции обычно начинаются с дефиса или двух (в POSIX стандарте один дефис для коротких опций, вроде -h, -e, два дефиса для длинных опций, вроде --help, --environment)
    Некоторые опции могут требовать параметр (--environment prod), некоторые нет.

    Параметры - это сами данные - названия файлов, устройств, другие данные в виде текста

    По стандарту POSIX короткие опции, которые не требуют дополнительного параметра, могут объединяться под одним дефисом ( пример: rm -rf )

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

    Ну и еще в CLI есть перенаправления, это отдельная лекция.
    Ответ написан
    1 комментарий
  • Договор о непереманивании: можно ли обойти?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Есть договор. В Европе. Можно как-то обойти?

    На любой подобный вопрос ответ один - нужен текст договора и юрист, шарящий в ваших юрисдикциях. В угадайку играть смысла нет. Кто-то может и был в похожей ситуации, но конкретно ваши договоры - это конкретно ваши договоры, а не какие-то похожие на них. Плюс, помимо формальных законов есть эффект редиски. Если кто-то ведет себя как редиска, с ним никто не хочет иметь дел. Может быть ваш стартап по закону и не будет должен денег аутсорсу, но аутсорс потом этот стартап пошлет куда подальше, а им это может не нужно. И снова, мы не знаем ваших конкретных деталей и мотиваций участников конфликта.
    Ответ написан
    1 комментарий
  • Почему может тормозить Samsung 980 PRO?

    @Wexter
    Так написано же что он подключен по 3.0 x2, вместо 4.0 х4. Поэтому и скорость низкая
    614875a62a9cb853215420.png
    Ответ написан
    7 комментариев
  • Кажется окончательно убил Windows 10?

    lukoie
    @lukoie
    позвонил другу, потыкали там всякие кнопки

    мда... информативно...
    Вы реально расчитывали что на тостере результат будет более продуктивным?
    Грузитесь с любой загрузочной флешки.
    Заходите в папку ц\виндовс
    copy setch.exe setch2.exe (то есть бекапим файл setch.exe)
    copy cmd.exe setch.exe (то есть вместо файла setch.exe перезаписываем файл cmd.exe)
    перегружаетесь.
    При входе в винду, там где не помните пароль, жмете пять раз клавишу Shift. Откроется окно коммандной строки. Там пишете
    net user admin Qwerty
    при условии что админский логин был admin у Вас установится новый пароль Qwerty
    если не помните какой был юзер, пишите
    net user sokolar Qwerty /add
    так создастся пользователь sokolar с паролем Qwerty
    Ответ написан
    Комментировать
  • Кажется окончательно убил Windows 10?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    *facepalm* Ну да ладно...
    1. Пароль от учетки MS нельзя сбросить через сайт, если твой комп не подключен к интернету. Следовательно там всё тот же старый пароль. И он будет синхронизирован при первом же подключении к сети.
    2. Пароли в BIOS - это пароли на BIOS (удивительно, правда? А не сразу поймёшь).
    3. Пароль в BIOS так же убирается как и ставится. Либо же сбрасывается BIOS.
    4. Пароль можно сбросить через сторонний софт. Например, Active Password Changer, который есть на LiveCD или например Hiren's.

    Если не умеешь и не понимаешь и, судя по всему, не умеет и не понимает твой друг, то нужно дать это сделать тому, кто знает и умеет. В нормальных "мастерских", это будет стоить 500р, если это не мошенники. Во избежании потери данных, я советую отдать это в сервис.
    Ответ написан
    4 комментария
  • Почему 192.168.1.0/23 и 192.168.0.0/23 одно и то же?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы просто не понимаете смысл короткой записи маски.
    /23 означает, что первые 23 бита маски равны единице, а последние 32-23 = 9 бит равны нулю.
    Таким образом маска будет 11111111.11111111.11111110.00000000 = 255.255.254.0
    Теперь разложим побитно ваши адреса:
    Маска:   11111111.11111111.11111110.00000000 = 255.255.254.0
    Адрес 1: 11000000.10101000.00000000.00000000 = 192.168.0.0
    Адрес 2: 11000000.10101000.00000001.00000000 = 192.168.1.0
    Чтобы преобразовать эти адреса в сети надо выполнить побитовый логический AND адреса с маской. Получим
    192.168.0.0 & 255.255.254.0 = 192.168.0.0
    192.168.1.0 & 255.255.254.0 = 192.168.0.0
    Таким образом, оба адреса входят в одну сеть размера /23.
    Правильное обозначение этой сети 192.168.0.0/23.
    Ответ написан
    1 комментарий
  • Как записать Windows на флешку из-под Linux?

    @rPman
    В режиме UEFI на флешку, отформатрованную FAT32 достаточно скопировать содержимое ISO образа, и все должно работать, так как биос будет искать в корне флешки каталог EFI итам boot...

    Но вот в legacy режиме, когда нужен бут сектор, могут возникнуть нюансы. Например на старых машинах, у меня не удавалось загрузитьс я с флешек объемом больше 8Гб. Так же могут быть проблемы, если флешка подключается через картридер (например это карта памяти).

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

    p.s. можно загрузиться в установщик windows, загрузившись сначала в linux grub (ты говоришь проблем с linux нет), нажимаешь C чтобы войти в командный режим grub
    ls (hd0,1)/

    покажет содержимое диска 0 раздела 1, перебирая цифры найди раздел флешки, где развернут установщик windows
    set root=(hd0,1)
    chainloader +1
    boot


    p.p.s. можно первый этап установки, до первой перезагрузки, провести в виртуальной машине, подключив физический диск как диск виртуалки, это 100% работало всегда и позволяет вообще не делать загрузочный диск windows, т.е. хватит iso образа
    Ответ написан
    Комментировать
  • Что здесь не так?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    ['name'].';

    Если не описка, то не закрытая скобка. Включите вывод ошибок в пхп
    Ответ написан
  • Как быстро отбирать качественные видео на ютубе для реализации конкретных но совершенно новых задач?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ответ вроде уже на поверхности, но вы не желаете его видеть - не следует учиться по видео, если это не какой-то практический навык вроде разборки ноутбука

    Скорость извлечения информации из текста по сравнению с видео у среднего человека пятикратна. У подготовленного этот показатель еще лучше. И да, быстрая перемотка здесь не поможет.

    Если вам проще воспринимать информацию на слух чем на глаз, подумайте над тем, а ту ли профессию вы выбрали.

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

    Далее

    Усилия на продакшн видео, как правило, превосходят те, которые нужны для того, чтобы подготовить текст.

    СЮРПРИЗ

    Для хорошего видео тоже нужен текст. Видео, записанное без подготовки и слайдов, это беее, меее, плохая структура и прочий шлак.

    Вывод - первичным источником информации всегда является текст.

    Учитесь по текстам.
    Ответ написан
    4 комментария
  • Нужна ли формам семантика?

    @asmodeus13th
    Семантика нужна не только для удобства слепых и любителей TAB клавиши. Почитай статьи, как это влияет на поиск в гугле, восприятие плагинами, дополнениями и ботами. Даже тот же ИИ настраивают под семантику. В эту тему можно нырнуть на очень большое время, но основа (вкратце) - возможность понимать друг друга. Время , потраченное на создание архитектуры проекта, может быть больше, чем на написание кода. Зачем? А это самое интересное! Во- первых, ты уберегаешь себя и коллег от возможных багов и позволяешь легко ориентироваться по файлам, не зависимо от размера и познания в проекте. Хороший код - тот, который можно легко читать. Зачастую приходиться уступать производительностью ради читабельности. Придерживаться семантики - значит писать в едином стиле со всеми разработчиками. Даже если опустить архитектуру, то семантика нужна и для различных ботов. Вот написал я плагин для хрома, который делает мини-навигацию по форме (на самом деле ничего я не писал, просто привожу пример) и ориентируется поиск по тегу с формой, а у тебя на странице такого даже нет и всё, плагин работать не будет. А теперь представь какую фичу ты упускаешь, когда прячешь разметку от гугловских ботов. Любые таблицы, правила, списки и прочие семантические данные выводятся на странице поиска. Попробуй загуглите какую-то страну или инструкцию для, например, убунту. Гугл выведет информацию из Википедии или другого ресурса, не заходя на сайт. Думаешь, Телеграм не использует семантику? Вот весь такой оптимизирован благодаря ей. Посмотри на ютубе семинары от HTML Academy по семантике. Там всё доступно объясняют (что очень большая редкость для онлайн курсов). Понятное дело, что собирая сайт через фреймворки или путем встраивания html из js, боты не увидят эту семантику, а просто один тег с Id=“root”. Если взять в пример Figma, то семантики ты не увидишь, так как это не задумывалось как сайт, а скорее как приложение. Не придумали в html ещё таких тэгов как «рисовать пером» или что-то вроде «шаблон шаблона страницы». В общем семантика должна быть там, где она уместна. Если тебе не нужны привилегии семантической разметки или это соло проект без развития или вообще ты делаешь проект на оте*бись для плохого заказчика за 5$, то можешь не заморачиваться. Но в остальных случаях хорошей практикой, да и просто для себя, будет уместно и очень полезно использование семантики.
    Ответ написан
    1 комментарий
  • Написать программу редактирующую страницу в wordpress?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Мне приходилось писать подобные приложения.
    Вам необходимо работать с Wordpress REST API.
    Есть Java клиент.
    Используйте эту либу:
    https://github.com/Afrozaar/wp-api-v2-client-java
    Также на ВП сайт установите этот плагин, чтобы можно было авторизовать сторонний клиент
    https://github.com/WP-API/Basic-Auth
    Если вам нужно редактировать метаданные на сайте ВП, то установите этот плагин на сайт
    https://github.com/Afrozaar/wp-api-v2-client-java-...
    Можете также глянуть на:
    https://github.com/Afrozaar/wp-api-v2-afrozaar-extras

    При необходимости вы можете использовать другой фреймворк:
    Apache Camel + Apache Camel WP Component
    https://camel.apache.org/
    https://camel.apache.org/components/3.4.x/wordpres...
    Ответ написан
    Комментировать
  • Нормально ли я отрефакторил if-else?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Я бы посоветовал оставить начальный вариант, т.к. если сделаете banchmark'и - вы увидите, что он будет быстрее вашей реализации.
    Т.к. в начальной реализации нет доп. вызова функции, а в вашей есть getRulesResult.
    Чтобы вызвать функцию - нужно положить значения в стек, а по завершению извлечь.
    За счёт этого ваша реализация будет работать медленнее.
    Но это замечание справедливо только для функций, скорость выполнения которых критична, как сортировка например.

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

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

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

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

    Обычно, код, который нужно рефакторить выглядит во много раз непонятнее, это может быть простыня на несколько экранов монитора :)), а когда в такой простыне еще и цикломатическая сложность огромная (вложенность if'ов и for'ов большая) - такой код вообще очень трудно понять :)
    Вот тут самое то для рефакторинга.
    Ответ написан
    3 комментария
  • Стоит ли подписывать согласие на обработку персональных данных до того как прислали оффер?

    part_os
    @part_os
    Сложное в простом
    а что вас смущает? у вас есть данные, их нужно вносить в программу например hr сканер, уже идёт обработка. люди в компании начинают их смотреть. паранойя должна быть контролируемой, ваши данные уже давно у всех есть, это формальность.
    Ответ написан
    6 комментариев