Местоположение
Россия, Москва и Московская обл., Москва

Наибольший вклад в теги

Все теги (12)

Лучшие ответы пользователя

Все ответы (12)
  • Почему после установки пакета nvidia система не грузится?

    HighTechLowLife
    @HighTechLowLife Автор вопроса
    Решил. Надо было прописать ibt=off
    Due to FS#74886/FS#74891, nvidia doesn't boot on Linux 5.18 on systems with Intel CPUs. Until this is fixed, a workaround is disabling the Indirect Branch Tracking CPU security feature by setting the ibt=off kernel parameter from the bootloader. This security feature is responsible for mitigating a class of exploit techniques, but is deemed safe as a temporary stopgap solution
    Ответ написан
    Комментировать
  • Почему выводится другое значение вместо ожидаемого?

    HighTechLowLife
    @HighTechLowLife
    https://en.cppreference.com/w/cpp/language/eval_order

    2) If a side effect on a memory location is unsequenced relative to a value computation using the value of any object in the same memory location, the behavior is undefined.

    cout << i << i++; // undefined behavior until C++17
    a[i] = i++;       // undefined behavior until C++17
    n = ++i + i;      // undefined behavior
    Ответ написан
    Комментировать
  • Что означает «код не как у сениора»; и как его подтянуть?

    HighTechLowLife
    @HighTechLowLife
    Если опустить паттерны / SOLID и прочую архитектуру и открыть любой рандомный php-файл, то сразу можно увидеть хороший код или шляпу. Обычно у меня такие критерии последнего:
    1. Отсутствие кодсайла PSR или другого. Убогое форматирование. Двойные-тройные пустые строки; Лишние пробелы; Или, наоборот, код слеплен без единой пустой строки, которая логически бы отделяла блоки.
    2. Отсутствие scrict-сравнения; Всегда стараюсь писать через ===, declare(strict_types=1), добавлять true в конец in_array и подобных;
    3. Отсутствие type-hint'ов; хотя бы в phpdoc; Отсутствие указания области видимости метода / поля / константы;
    4. Неадекватные названия переменных и методов, по которым непонятно, что это. Лишние переменные. Или отсутствие пемененной, где она была бы полезной, для улучшения понимания кода;
    5. Тупые и очевидные комментарии ради комментариев;
    6. Длинные портянки. Если метод, условно, больше 80 строк, то, мб, надо задуматься о декомпозиции;
    7. Куча параметров в сигнатуре функции
    8. Неиспользуемые переменные / константы / методы "на будущее".
    9. Закомментированный код;
    10. Хард код. Какие-нибудь api url прям в коде в переменной, вместо конфига или хотя бы константы.
    11. Забивание на работу с ошибками. unserialize вернул false? Да неее, такое точно не произойдёт


    Ну, это что на первый взгляд бросается. Потом видишь неоптимальный код. Какой-нибудь INSERT в бд по одной строке в цикле foreach.
    Ответ написан
    Комментировать
  • Как за 1.5 месяца максимально подготовиться к собеседованиям php на высокую зарплату?

    HighTechLowLife
    @HighTechLowLife
    К перечисленному советую почитать книжку по DDD. Перестраивает мозги.
    Ответ написан
    2 комментария
  • Как избегать foreach внутри foreach?

    HighTechLowLife
    @HighTechLowLife
    1. Если подмассивы имеют одинаковый формат, то можно сделать что-то вроде
    $stockNames = array_column($arr, 'stock_name', 'id');

    Потом обращаться как echo $stockNames[$stockId] ?? '';

    2. Если разный, то смысла в этом нет. Тут только два foreach'a (ну, не будем брать во внимание `array_filter`, `array_map`).
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (9)