Задать вопрос
  • ALTER TABLE IF NOT EXISTS выдаёт ошибку?

    rozhnev
    @rozhnev Куратор тега MySQL
    Fullstack programmer, DBA, медленно, дорого
    Метод
    ADD COLUMN IF NOT EXISTS
    реализован только в MariaDB, но не существует в MySQL 5-8.
    Итак, похоже, у вас есть MariaDB на вашем локальном хосте и MySQL на сервере.

    Для проверки точной версии БД запустите:
    SELECT VERSION();

    В SQLize.online вы можете протестировать свой запрос на разных БД.
    Ответ написан
    2 комментария
  • Почему wc -l выдает на 1 строку меньше?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Потому что считается количество переводов строки, а у вас последняя строка заканчивается концом файла, а не переводом.
    Ответ написан
  • Как указать тип возвращаемого значения абстрактного метода, если он должен возвращать объект класса унаследованного от другой абастракции?

    IvanU7n
    @IvanU7n
    nothing interesting here
    так и указывать Context\State

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

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Думаю обзавестися сертификатами по ИБ, подтянуть инглиш и идти на upwork

    Думаю, что на апворке ты нахрен никому не впилился. Тем более, что в РФ апворк давно уже не работает (а если ты не в РФ - то довольно глупо спрашивать здесь).
    Получать его не хочу, слишком долго и слишком мало мне это даст.

    Ага, типичный продукт пятилетней давности. Когда палка и пионер, когда апворк лежа под пальмой... С разморозкой, человече! Мир давно уехал черт-де куда, а ты и не заметил...

    В ИБ, где все строго и регламентировано, в ИБ, где как правило ответственность делегируется (потому что не
    можно управлять системой, будучи внутри ее) - тебе никогда не вырасти никуда с подходом
    нет высшего образования. Получать его не хочу, слишком долго

    Вышка - это такой тест на способность самостоятельного решения задачи. Знания, которые при этом типо получаются - вторичны, хотя некоторые пригождаются. Но в основном вышка - это про умение учиться :) Да-да, вышка учит учиться и не более того. Не одолел - ну вот провалил первый тест на профпригодность. В ИБ, где люди как правило работают на доверии, таких точно не берут (ну разве что в крупных конторах на самые низовые должности)
    Могу написать скрипты для PowerShell и Bash, но с chatGpt

    То есть "освоил Ctrl-C/Ctrl-V, но смысла не понимаю, ибо абизьян
    В целом, могу поднять и настроить любую прогрумму или сервер на Win и Unix.

    По данному заявлению сразу можно сказать, что уровень джуна не преодолен.
    Год не выпускаю из рук ноутбук с KaliLinux,

    Ты ничего не говорил, мы ничего не слышали. Никогда не говори про это в серьезной компании - оборжут и затроллят
    Думаю, что как сисадмин Windows/Linux я почти Middle,

    Ты ошибаешься :)
    Ответ написан
    16 комментариев
  • Какой отечественный linux выбрать для веб-разработки?

    @AlexVWill
    Какой отечественный linux выбрать для веб-разработки?

    Никакой. Для web-разработки абсолютно фиолетово какой у тебя Linux, отечественный или нет. И если нет какой то особой осознанной нужды в использовании именно отечественных изделий, то лучше держаться от них подальше.
    Ответ написан
    4 комментария
  • Что неправильного в моем коде?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Вы получили простое задание, но это не значит, что код нужно написать абы как, лишь бы результат был =). Элементарные вещи стоило бы использовать,как то: автозагрузка классов, шаблонизация.

    0. Код на облачном диске. Почему не гитхаб? Это же удобнее (и плюс в карму=).
    1. Инклуд файлов, вместо автозагрузки классов. Написать автозагрузчик - дело пяти минут. Даже одна минута, если использовать composer.
    2. Разделение мух и котлет. Код отдельно, html-разметка отдельно. Простейший php-шаблонизатор - это тоже пять-десять минут.
    Вот так вообще нельзя писать: echo '<tr><th scope="col">Первый круг</th></tr>';
    3. Разделение обязанностей. У вас один класс и файлы загружает, и читает загруженные, и турнирную таблицу рассчитывает и рендерит ее.
    4. range(0, 19); Почему 20 элементов? Почему не 30? Откуда это число взялось? Его не должно быть в коде.
    5.
    $probablePairsArr[] = range(0, 19);
    $probablePairsArr = $probablePairsArr[0];

    Интересный финт. В чём его сакральный смысл - не ясно. Да и использование локальной переменной здесь не требуется. Можно сразу создавать массив в свойстве класса.

    Наверное всё. Больше там ничего нет.
    Ответ написан
    7 комментариев
  • Что неправильного в моем коде?

    Как минимум, Вы не вникли в задачу. Я вот в футболе практически не разбираюсь - получив такое задание, я пошёл бы в гугл узнавать, как проводятся матчи в турнирах, когда команда играет на своём поле, а когда - нет. Даже по своим скудным знаниям могу кое-что предположить:
    1) Первый круг: команды надо разбить на пары случайным образом. Это shuffle() + array_chunk() . У Вас этого нет.
    1.1) Учесть ситуацию, когда команд - нечётное количество. Этого тоже нет.
    2) в парах какую-то команду назначить хозяином. Соответственно, в выводе в колонке "Хозяева" должно быть не повторение "Хозяева", "Хозяева", "Хозяева", а имена команд
    3) дальше надо смотреть, на каких условиях проводится второй круг, кто в него попадает, на своём поле играют или на чужом..

    Получается, из этого:
    загружать через форму файл json со списком команд, а потом сводить эти команды в турнируную таблицу с условиями (гость, хозяин), круг 1, круг 2 и еще 5-6 условий, которые влияют на список
    Вы выполнили только "загружать через форму файл json", причём зачем-то этот файл сохраняете на диск, а потом немедленно читаете обратно.

    Сергей Вам справедливо указал на "разделение обязанностей", то бишь первую букву в SOLID - Single Responsibility Principle. Даже если оставить на месте выверт с сохранением на диск, получается:
    1. Repository - хранилище данных
    2. метод контроллера, отвечающий за приём данных именно в виде сабмита формы и сохранение их Repository
    3. Генератор текущего круга
    4. View, который отвечает за генерацию html-разметки круга,
    5. метод контроллера, который может извлечь данные из Repository, скормить их генератору, получить результат и скормить его во View.


    И не факт, что методы из 2 и 5 пункта принадлежат одному классу.
    Ответ написан
    Комментировать
  • Как эффективно перейти на c++ при опыте работе с php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Посоветуйте, как можно было бы максимально безболезненно восполнить утраченные знания, а также наверстать упущенные новшества в языке?

    так это...
    Сейчас хочу попробовать реализовать научный проект.
    Собсно практика - лучший учитель, садитесь и пишите. Если базу уже знаете реализация не станет проблемой. По ходу решения текущих задач проекта познакомитесь со всеми нужными изменениями и практиками, сегодня на любой чих есть дока, туториал, видео и чатжпт. Двух зайцев двумя плюсами, так сказать...
    Ответ написан
    Комментировать
  • Как запустить скачанный PhpStorm в Ubuntu командой phpstorm?

    @Giperoglif
    alias phpstorm='{path to phpstorm}/bin/phpstorm.sh'


    чтобы он был постоянным - добавить в .bashrc домашней директории юзера
    Ответ написан
    Комментировать
  • Не запускается Ubuntu 10.10 на intel 14 поколении?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ставите современную ОС на ваш ПК, далее ставите VirtualBox, а в нём спокойно ставите то, что вам нужно.
    Ответ написан
    Комментировать
  • Не запускается Ubuntu 10.10 на intel 14 поколении?

    @Everything_is_bad
    чуваку уже давно всё объясняли Как установить самый новый совместимый firefox для ubuntu 8.10? можно удалять вопрос
    Ответ написан
    Комментировать
  • Отказоустойчивость web-сервиса - DNS Failover, SQL, PHP. Правильно ли мыслю?

    Sanes
    @Sanes
    2. Два VPS сервера в разных локациях (например Москва и Казань)

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

    @Fedoresko1
    Согласен с коллегами которые недоумевают насчет хранения разницы. Хранить её крайне вредно - это дупликация данных, которая вызывает дополнительные сложности с поддержанием консистентности. Разница легко вычисляется при чтении, именно так и нужно поступить.
    Ответ написан
    7 комментариев
  • Как организовать хранение покупок при продаже услуг с разными характеристиками?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Самый простой способ просто вынести общие параметры, такие как [конец действия] в отдельную таблицу [услуг]. А далее все таблицы, что нужно соединить с ней в формате one-to-many

    customizations
     - id:uuid unique
     - image_name:varchar
     - image_extention:varchar
     - site_url:varchar
     - service_fk:uuid unique
    
    coupons
     - id:uuid unique
     - discount:float
     - ticket_count:integer
     - restaurant_fk
     - service_fk:uuid unique
    
    accesses
     - id:uuid unique
     - file_url:varchar
     - service_fk:uuid unique
    
    services:
     - id:uuid unique
     - date_start:timestamp
     - date_end:timestamp


    При выборке делаете просто JOIN и получаете нужные таблицы в связке
    Ответ написан
    3 комментария
  • Возможны ли инклюды в /etc/hosts?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    Много лет назад уже изобрели DNS, именно для такой задачи. Кто вам мешает использовать это решение сейчас?
    Ответ написан
    5 комментариев
  • Как сделать редирект в nginx?

    IvanU7n
    @IvanU7n
    nothing interesting here
    try_files
    а именно что-то типа
    try_files $uri /index.php;

    ПЛЮС: и это не совсем редирект, по которым обычно подразумевается посылка ответа с кодами 3XX
    Ответ написан
    Комментировать
  • Как с помощью функции strpos отфильтровать js-код?

    @Everything_is_bad
    Тебе уже отвечали, не нужно изобретать свой велосипед. нужно подключить санитайзер. Как на сервере проверить строку на отсутствие в ней js-кода?
    Ответ написан
  • Почему появляется ошибка при получении SSL-сертификата certbot?

    @Everything_is_bad
    Detail: DNS problem: NXDOMAIN looking up A for oo.dev - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for oo.dev - check that a DNS record exists for this domain
    А начни с того чтобы прочитать текст ошибки, там тебе явно описали проблему
    Ответ написан
    7 комментариев
  • PHP: Почему 'mb_convert_encoding' не конвертирует простую строку?

    @alexalexes
    $str = 'Привет 2019 Мир!'; // написано в той кодировке, в которой сохранен файл (хрустальный шар говорит, что utf-8)
    $str = mb_convert_encoding( $str, 'windows-1251', mb_detect_encoding( $str ) ); // конвертируем в cp1251
    header('Content-Type: text/html; charset=windows-1251'); // Откуда трабла с кодировкой? - не соответствие сообщаемой кодировки в http-заголовке от сервера, с выводимым контентом от сервера. Исправляется явным указанием заголовка
    var_dump( $str ); // выводим в той кодировке, что выводит заголовок charset сервера в браузер (хрустальный шар говорит, что до указания header() было charset=utf-8)
    Ответ написан
    2 комментария
  • PHP: Почему 'mb_convert_encoding' не конвертирует простую строку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - var_dump( $str );
    + echo bin2hex($str);
    Получаем cf f0 e8 e2 e5 f2 20 32 30 31 39 20 cc e8 f0 21
    Открываем таблицу cp1251 и смотрим
    cf - П, f0 - р, e8 - и, e2 - в, e5 - е, f2 - т, 20 - пробел, 32 - 2, 30 - 0, 31 - 1, 39 - 9, 20 - пробел, cc - М, e8 - и, f0 - р, 21 - !
    Привет 2019 Мир!
    Всё вполне сконвертировалось.
    Ответ написан
    Комментировать