• Как сделать категории в интернет магазине?

    @alexalexes
    Пишется один рекурсивный запрос одного из видов (или оба вида, чтобы два раза не вставать).
    1) Получения списка детей, если известны параметры родителя (до определенного уровня, с пропуском неважных уровней).
    2) Получения списка предков (до определенного уровня, с пропуском неважных уровней), если известны параметры ребенка.
    Выносите эти запросы в секцию with, даете им понятные псевдонимы.
    Далее ниже по тексту пишите уже привычные запросы, используя эти псевдонимы, словно это view или кеш-таблицы.

    PS: Если иерархическая выборка нужна в подзапросе, и она зависит от изменяемых в ходе выборки входных параметров ребенка/родителя, то тут нужно выносить 1 и 2 в хранимые функции, где результат функции будет табличный курсор. При использовании результата этого курсора, обычно, делают преобразование результата функции в тип "таблица" через выражения cast.
    Ответ написан
    Комментировать
  • Как работать с меню, где нет сетевых дисков?

    @alexalexes
    Можно создать на одном из дисков символическую ссылку на сетевой диск. С точки зрения такого проводника она будет восприниматься как каталог.
    Ответ написан
    Комментировать
  • Можно ли идентифицировать человека по измененному голосу?

    @alexalexes
    У речи помимо звуковых характеристик есть еще и другие.
    Скорость произношения, паузы между словами, ударения, дефекты произношения, акцент, говор.
    Если анализировать среди малой группы людей, то при детальном анализе речи, а не голоса, изменение голоса не поможет замаскироваться.
    Ответ написан
    Комментировать
  • Как сделать регулярное выражение на проверку телефона и замену первой цифры на 7?

    @alexalexes
    Любым способом посимвольного перебора строки чистите ее по такому принципу:
    1) Первый символ может быть + или цифра.
    2) Второй и последующие символы - только цифры.
    Далее, если в начало входит 8, значит заменяете на +7. И вообще, можете применить любое форматирование: где-то поставить скобки, где-то дефисы.
    Если у вас только российские номера, можете ругнуться, если что-то вначале идет не на 8 и не +7 (и не на 9, если пользователь не стал писать код, а сразу перешел к префиксу оператора, тогда автоматом нужно дописать +7).
    Ответ написан
    Комментировать
  • Как скрыть строку *?

    @alexalexes
    Припаркую свой велосипед.
    $input = 'Привет мир!';
    $input_len = mb_strlen($input);
    $output = join('', array_map(function($index, $char) use ($input_len)
                                 {
                                 	return $index > 1 && $index + 1 < $input_len ? '*' : $char;
                                 }, array_keys(mb_str_split($input)), mb_str_split($input)
                                )
                  );
    echo $output;
    Ответ написан
  • Как правильно округлять числа меньше нуля?

    @alexalexes
    Выводить с заданной точностью:
    printf("%.1f", c);
    Ответ написан
  • Какую подобрать видеокарту по таким параметрам?

    @alexalexes
    Из более-менее новых карт, и народных по распространенности - 1660 можно без super.
    Можно с ali, но осторожно.
    Все остальные более ранние карты - уже музейные экспонаты, или уже доживают свой ресурс.
    Ответ написан
    Комментировать
  • Обтекание блочного элемента: как реализовать?

    @alexalexes
    Если отсутствие поддержки Internet Explorer не пугает, то можете воспользоваться свойством shape-outside.
    htmlbook.ru/blog/vvedenie-v-css-shapes
    https://developer.mozilla.org/en-US/docs/Web/CSS/s...
    Ответ написан
    4 комментария
  • Что такое выражение в SQL?

    @alexalexes
    Выражение, это значит, что в месте между, например, select и запятой может не только выбираться значение столбца (выполняться тривиальное действие):
    select col1, -- извлекли содержимое колонки - вполне тривиальное действие
               col2 from table1

    Но выполнятся более функциональное действие, требующее от планировщика запросов разобрать что-то, что находится до селекта и запятой (почему что-то? - это и есть выражение))) ):
    select (col1 + col2) * 10 as result, -- а тут уже применили ариф. операции - написали выражение
               col2 from table1

    В аргументах функции вы можете передавать не только значения, которые содержатся в колонках, но и как-то предварительно их вычислять с помощью арифметики, склеивания строк, преобразования типа, выбора логического варианта с помощью case, вставлять другую функцию и т.д.
    Ответ написан
    Комментировать
  • Как получить все id подписчиков в VK через API?

    @alexalexes
    Давайте методом аналогии.
    У вас есть путь в 204938 мм, его нужно промерить линейкой в 1000 мм, чтобы "пощупать" каждый мм?
    Можно выставлять ноль линейки на offset количество мм, но нельзя удлинять линейку.
    Нужно взять линейку поставить ноль на 0 мм пути (offset = 0), сделать замер (выборку подписчиков) и переставить ноль линейки на 1000 мм вперед (offset = 1000), опять сделать выборку, потом опять переставить на тоже расстояние вперед (offset = 2000) и так, пока у вас offset не станет >= 204938, или пока вам API не запретит делать следующий замер.
    Ответ написан
  • Как найти максимальную мощность WiFi точки доступа?

    @alexalexes
    Есть к примеру airodump-ng но не отображается имя сети и нет графика который бы показывал мощность сигнала во времени.

    ESSID - же? Если имени сети нет, то оно скрыто настройками точки доступа и в трафике вы его не увидите. Если свою точку анализируете, то вы легко определите BSSID и ни с чем его не спутаете.
    График? А зачем вам рюшечки? Статистика и так собирается в реальном времени и обновляется в консоли - этого достаточно.
    Чтобы сделать более активный сбор статистики, то заставьте работать свою точку более активно. Включите, например, youtube, на другом устройстве, которое тоже подключено к вашей точки доступа, и точка доступа будет активно обмениваться пакетами и в мониторинге это будет видно.
    Ответ написан
    3 комментария
  • Блок Питания начал жестка шуметь, варианты?

    @alexalexes
    Несите свой ПК на обслуживание. Пусть мастер посмотрит что с вентиляторами. Может пора смазать или заменить вовсе, или банально убрать валик волос и пыли, или закрепить получше кабели, чтобы не провисали на лопасти.
    Ответ написан
    1 комментарий
  • Можно ли использовать две переменные в switch case?

    @alexalexes
    У true программистов всегда было много вопросов к switch (как в свое время к go to). Поэтому в любой непонятной ситуации используйте цепочку if else, так вы будите ближе к строгим стандартам.
    if(a > b) {
      alert(a + b)
    } else if(a < b) {
        alert('Lorem Ipsum terebismum')
    } else {
        alert('Isn"nt number')
    }
    Ответ написан
    Комментировать
  • Нет изображения на мониторе, ноутбук samsung rv509 a02kz?

    @alexalexes
    Нужно подкидывать матрицу где-нибудь у ремонтников, и настраивать переключение мониторов.
    Если никто не заморачивался с корректной установкой видео драйверов и Fn менеджера, то редко бывает так, что будет работать переключение, просто подключив кабель.
    Ответ написан
    Комментировать
  • Почему в SQLiteStudio так мало типов данных?

    @alexalexes
    Потому что, это Lite. У локальных СУБД должно быть минимум функционала и максимум переносимость в любую среду разработки.
    Ответ написан
    2 комментария
  • Закругление для фото HTML?

    @alexalexes
    Гуглите border-radius.
    1. border-radius делаете >= 50% и у вас получается круг.
    2. Закругление можно делать по отдельным сторонам блока.
    Ответ написан
    Комментировать
  • Как нанести одно изображение на другое?

    @alexalexes
    выдает только фон

    $image = imagecreatefromjpeg('/banner/png');
    Символ около расширения файла не смущает? И расширение png для метода *jpeg?
    PS: если вы var_dump-ните $image, то обнаружите false - значит, что-то с путем к файлу или его отсутствие.
    Ответ написан
    Комментировать
  • Какое отличие имеет USB 2.0 и USB 3.0 по передаче интернета?

    @alexalexes
    В цепочке Телефон -> ПК интерфейс usb будет беспокоить в последнюю очередь в плане надежности и скорости.
    Чтобы начать беспокоиться насчет usb, вам нужно гонять трафик не менее 1 Гбит/с или иметь отклик не более 1 мс.
    Либо если у вас между телефоном и ПК более 5 метра провода.
    Ответ написан
    Комментировать
  • Почему запрос медленно выполняется MariaDB?

    @alexalexes
    Очень принципиально по производительности имеет значение количество атрибутов в строке выборки, и есть ли там бинарные типы данных или длинные строки - это именно то, что будет просаживать производительность при попытке сделать большую выборку.
    Если в реальной системе из этой таблицы выбираются сначала "легкие" атрибуты в тысячи записей, а потом по конкретным записям дозапрашиваются "тяжелые" атрибуты (бинарные данные, длинные строки).
    То синтетический тест:
    SELECT * FROM articles LIMIT 1000
    к реальной жизни не будет иметь никакого отношения, потому, что вы выбираете все атрибуты (*), при наличии "тяжелых" атрибутов, в здравом уме никто не будет делать такие большие выборки. Разве что, если это не импорт/экспорт - но это сам по себе процесс затяжной.
    Ответ написан
    Комментировать
  • Как удалить определённое словосочетание в значении MYSQL?

    @alexalexes
    1. Нужно знать что такое Update.
    2. Уметь работать с Update, не обнулив все подряд (семь раз select-ть с таким же where - один раз update-ть!)
    3. Некоторые строковые функции, например, replace.
    4. Режим работы транзакций и уровень изоляции таблиц при выполнении транзакций. Чтобы не было сюрпризом, когда работаете с выключенным autocommit-ом (это касается desktop программ - менеджеров СУБД), что данные не сохранились, когда забыли объявить commit после изменения данных, или уметь откатываться rollback-ом, если не объявили commit. Еще доступ к таблице будет заблокирован, пока вы принимаете решение после изменения данных - фиксировать их или нет, если у вас уровень изоляции транзакции на всю таблицу и вы работаете без autocommit.
    update superbase.table1
    set theme = replace(theme, 'комплект', '')
    where theme like '%комплект%'
    Ответ написан
    1 комментарий