Задать вопрос
  • Возможно ли win10 сделать приоритет Wi-Fi вместо Ethernet?

    @Akina
    Сетевой и системный админ, SQL-программист.
    при подключении провода подключение Wi-Fi автоматически гаснет.

    Что значит "гаснет"? физически отключается адаптер? логически отключается привязанный к нему сетевой интерфейс? Старайтесь использовать более вменяемые термины, Вы же технический специалист.

    Железка имеет DHCP, сразу выдаёт адрес

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

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

    Windows 10 игнорирует метрики, в зарубежных гайдах говорят "Перестала уважать метрики". Т.е. нет никакой разницы, если поставить "999" метрику на Ethernet и "1" на Wi-Fi

    Явная и откровенная глупость. Абсолютное непонимание того, что есть метрика интерфейса и как она влияет на маршрутизацию.
    Ответ написан
    5 комментариев
  • Поставить индексы на каждое поле?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Если я на каждый столбец, который используется в WHERE добавлю одиночные индексы, не ухудшит ли это производительность?

    Абсолютно бессмысленное мероприятие - одна копия таблицы может использовать только один индекс. Так что надо делать композитные индексы. Немного - иначе просядут модифицирующие запросы, а композит может использоваться и по префиксу, и как покрывающий.

    пока не понятно, какие индексы нужны, а какие нет.

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

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что мешает после получения всех элементов просто взять размер полученного массива?
    Ответ написан
    6 комментариев
  • Какая разница между пакетами, зависимостями, extensions, модулями?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Обычно это одно и то же в контексте дополнений к php или библиотек в ОС, от которых зависят эти дополнения.
    Тут на реддите был интересный топик, который раскрывает нюансы
    What's a difference between PHP extension and PHP ...
    Ответ написан
    Комментировать
  • Как получить список из массива без дублей?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    CREATE TABLE categories (
    	id int auto_increment primary key,
      	name varchar(64)
    );


    <?php
    function getRightCategories($db)
    {
    	$result = $db->query('SELECT id, name FROM categories');
    	return $result->fetchAll(PDO::FETCH_KEY_PAIR);
    }
    
    $categories = getRightCategories($pdo);
    
    print_r($categories);


    Test PDO fetch online
    Ответ написан
    Комментировать
  • Как получить список из массива без дублей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не могу разобраться, как получить список категорий из массива без дублей.

    Получать нужно из базы нормальный список, без дублей. В вашем случае это будет запрос с дистинкт, как написал roswell, однако:
    1) Запросы с дистинкт будут перебирать всю таблицу, что плохо и медленно
    2) Если у вас категории пишутся в таблицу ньюс, значит у вас лажа со структурой бд. Категории должны лежать отдельной справочной таблицей, выборка из которой будет во первых в разы быстрее, а во вторых будет удовлетворять третьей нормальной форме (3NF).
    3) Текущая структура не позволяет задать более 1 категории на новость.

    Есть еще куча проблем с таким хранением, но это уже другой вопрос.
    Ответ написан
    5 комментариев
  • Код не хочет обновлять данные, что делать?

    Armrisch
    @Armrisch
    Full Stack Developer
    Поставь debug поочерёдно по строчкам кода пойми где всё ломается и сам найдёшь решение.
    Ответ написан
    7 комментариев
  • Почему INSERT вставляет 2 строки вместо одной?

    @galaxy
    Скорее всего, потому что два раза дергается скрипт index.php.
    Он ведь у вас любой url обрабатывает?
    Смотите в браузере Network в Developer tools - наверняка там какой-нибудь запрос на favicon
    Ответ написан
    Комментировать
  • Как работают PHP-потоки (stream)? почему они не загружаются полностью в память?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Эту инфу нужно искать в отрыве от языка, это уровень операционной системы.
    Один из ответов на SO:
    What is Under the Hood in a Stream in Programming?
    Upd. Еще есть пересекающаяся тема как http streaming,
    я когда-то для себя шпаргалку писала (ссылка)
    Ответ написан
    1 комментарий
  • Что такое MVC и как его использовать?

    MVC - это про разделение логики на три основных куска:
    1. View - отвечает только за формирование html - как пользователь будет видеть страничку
    2. Model - отвечает за непосредственно логику по работе с данными, работает с базой данных и другими внешними сервисами. Именно тут следует реализовывать всякую валидацию, CRUD и прочее.
    3. Controller - обрабатывает http запрос, подготавливает данные из него, чтобы их могла обработать Model, а потом передаёт их во View (опционально), либо самостоятельно формирует HTTP ответ из результата.

    PS: это не книжное определение, а чисто моё, как я в большинстве случаев вижу реализацию MVC
    Почему надо использовать именно MVC, а не напрямую с предзапросом и экранированием надо делать?

    Не понял, про какое такое экранирование и предзапросы идёт речь, но MVC нужно просто для удобства расширения и изменения.
    Ответ написан
  • Как изменить GET запрос на фильтрах?

    romandkoz
    @romandkoz
    Формируй фильтры в массиве, а в ссылку добавляй через http_build_query(), тогда не нужно думать о порядке & и ?
    Ответ написан
    Комментировать
  • Как чаще всего бывает на практике?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    На данный момент учу php, а именно: ООП, интерфейсы и трейты.
    ООП, интерфейсы и трейты напрямую к пхп отношения не имеют, это общие принципы построения кода.

    Недавно узнал, что в php есть фишка рендеринга страниц (создаем метод, допустим, render() и вызывает каждый раз его, когда хотим отобразить какую либо php/html страницу).
    Круто, про то как происходит "рендеринг" конечно знать не надо, ну есть и есть...

    В свободное время листаю вакансии php программиста
    Надеюсь что пока это чисто академический интерес, судя по вопросу вы не сильно тяните на, допустим, стажера...

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

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

    KickeRocK
    @KickeRocK
    FrontFinish
    Вы пытаетесь реализовать пагинацию заново?
    Гуглится так: "#название_языка Pagination"
    Ответ написан
    3 комментария
  • Как отправить JSON данные POST-запросом на PHP?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Попробуйте так:
    <?php
    
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    
    $data = [
        "host" => "www.example.com",
        "key" => "EdD8dkmdNLlxREi2LkhJjYOH2kyQbJqM3cBKT5fX",
        "keyLocation" => "https://www.example.com/myIndexNowKey63638.html",
        "urlList" => [
            "https://www.example.com/url1",
            "https://www.example.com/folder/url2",
            "https://www.example.com/url3"
        ]
    ];
    
    $data_string = json_encode($data);
    
    $result = file_get_contents('https://yandex.com/indexnow', null, stream_context_create(array(
                'http' => array(
                    'method' => 'POST',
                        'header' => array(
                            "Content-Type: application/json; charset=utf-8\r\n" .
                            "Content-Length: " . strlen($data_string) . "\r\n" .
                            "Host: yandex.com"
                        ),
                    'content' => $data_string
                )
            )
        )
    );
    
    header('Content-Type: application/json; charset=UTF-8');
    echo $result;
    Ответ написан
    9 комментариев
  • Как производить переиндексацию в таблице SQLite?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега SQL
    Седой и строгий
    Во-первых, индексация - это не то, что вы описали. Во-вторых, смысл идентификаторов как раз в том, чтобы они никогда не менялись.
    Ответ написан
    Комментировать
  • Как перехватить любое исключение в php?

    thewind
    @thewind
    php программист, front / backend developer
    Ловите \Throwable $e
    Это интерфейс всех исключений
    Ответ написан
    4 комментария
  • Насколько целесообразно разбиение на функции и классы?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Посмотрите на имена функций, если по ним сразу понятно что делает каждая, то все нормально.
    Ответ написан
    Комментировать
  • Собеседование php программиста, какие технологии, кроме php/sql/фреймворка нужны?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Какие ещё фреймворки? Джун должен знать алгоритмы, структуры данных
    Ответ написан
    1 комментарий
  • Как посчитать ФИО в колонках с неправильным порядком?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Пример реализации для MySQL 8+:
    WITH 
    cte1 AS ( SELECT id, col1 val FROM test UNION ALL 
              SELECT id, col2 FROM test UNION ALL
              SELECT id, col3 FROM test ),
    cte2 AS ( SELECT id, GROUP_CONCAT(val ORDER BY val) FIO
              FROM cte1 
              GROUP BY id )
    
    SELECT test.id, test.col1, test.col2, test.col3, GROUP_CONCAT(cte2_2.id) ids
    FROM test
    JOIN cte2 cte2_1 USING (id)
    JOIN cte2 cte2_2 USING (FIO)
    GROUP BY test.id, test.col1, test.col2, test.col3

    Вывод:

    id	col1		col2		col3		ids
    1	Иванов		Иван		Иванович	1,2
    2	Иван		Иванович	Иванов		1,2
    3	Петров		Сергей		Алексеевич	3,4,5
    4	Петров		Сергей		Алексеевич	3,4,5
    5	Сергей		Алексеевич	Петров		3,4,5
    DEMO

    Если нужна ещё и нормализация (т.е. строго в col1 сунуть фамилию, в col2 имя...) - наилучшим вариантом считаю загрузку справочников имён, отчеств и фамилий (вполне доступные справочники) и их использование для категорирования. 99% записей будут полностью обработаны по ним, а оставшийся десяток записей (где два или все три значения отсутствуют в справочниках) можно и вручную обработать, вернее, пополнить справочник, чтобы при втором запуске все 100% были распознаны и категорированы корректно.

    выполняться будет на MS SQL Server, версию не могу сказать.

    Для MS SQL вместо GROUP_CONCAT будет STRING_AGG(column) [WITHIN GROUP ( ORDER BY column)]. https://docs.microsoft.com/ru-ru/sql/t-sql/functio...
    Ответ написан
    3 комментария