Задать вопрос
  • Почему выскакивает эта ошибка при INSERT INTO?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что group - зарезервированное слово в MySQL. Использовать его в качестве имени таблицы, колонки, индекса и т.п. можно только взяв в обратные апострофы.
    https://dev.mysql.com/doc/refman/8.0/en/keywords.h...
    Ответ написан
    Комментировать
  • Почему выскакивает эта ошибка при INSERT INTO?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Потому что одинарные кавычки имеют в программировании определенный смысл, и их надо писать только там, где надо, а не просто добавлять от балды в код?
    Ответ написан
    8 комментариев
  • В чём разница между статическими либами и пакетами?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Пакет - это набор файлов, распространяемых вместе. В пакете могут быть любые файлы, не обязательно библиотеки.
    $ dpkg -L libfftw3-bin
    /.
    /usr
    /usr/bin
    /usr/bin/fftw-wisdom
    /usr/bin/fftw-wisdom-to-conf
    /usr/bin/fftwf-wisdom
    /usr/bin/fftwl-wisdom
    /usr/bin/fftwq-wisdom
    /usr/share
    /usr/share/doc
    /usr/share/doc/libfftw3-bin
    /usr/share/doc/libfftw3-bin/copyright
    /usr/share/man
    /usr/share/man/man1
    /usr/share/man/man1/fftw-wisdom-to-conf.1.gz
    /usr/share/man/man1/fftw-wisdom.1.gz
    /usr/share/man/man1/fftwf-wisdom.1.gz
    /usr/share/man/man1/fftwl-wisdom.1.gz
    /usr/share/man/man1/fftwq-wisdom.1.gz
    /usr/share/doc/libfftw3-bin/NEWS.gz
    /usr/share/doc/libfftw3-bin/README
    /usr/share/doc/libfftw3-bin/README.Debian
    /usr/share/doc/libfftw3-bin/changelog.Debian.gz
    Как видите, в пакете бинарники, доки и маны.
    $ dpkg -L libfftw3-dev
    /.
    /usr
    /usr/include
    /usr/include/fftw3.f
    /usr/include/fftw3.f03
    /usr/include/fftw3.h
    /usr/include/fftw3l.f03
    /usr/include/fftw3q.f03
    /usr/lib
    /usr/lib/x86_64-linux-gnu
    /usr/lib/x86_64-linux-gnu/libfftw3.a
    /usr/lib/x86_64-linux-gnu/libfftw3_omp.a
    /usr/lib/x86_64-linux-gnu/libfftw3_threads.a
    /usr/lib/x86_64-linux-gnu/libfftw3f.a
    /usr/lib/x86_64-linux-gnu/libfftw3f_omp.a
    /usr/lib/x86_64-linux-gnu/libfftw3f_threads.a
    /usr/lib/x86_64-linux-gnu/libfftw3l.a
    /usr/lib/x86_64-linux-gnu/libfftw3l_omp.a
    /usr/lib/x86_64-linux-gnu/libfftw3l_threads.a
    /usr/lib/x86_64-linux-gnu/libfftw3q.a
    /usr/lib/x86_64-linux-gnu/libfftw3q_omp.a
    /usr/lib/x86_64-linux-gnu/libfftw3q_threads.a
    /usr/lib/x86_64-linux-gnu/pkgconfig
    /usr/lib/x86_64-linux-gnu/pkgconfig/fftw3.pc
    /usr/lib/x86_64-linux-gnu/pkgconfig/fftw3f.pc
    /usr/lib/x86_64-linux-gnu/pkgconfig/fftw3l.pc
    /usr/lib/x86_64-linux-gnu/pkgconfig/fftw3q.pc
    /usr/share
    /usr/share/doc
    /usr/share/doc/libfftw3-dev
    /usr/share/doc/libfftw3-dev/copyright
    /usr/lib/x86_64-linux-gnu/libfftw3.so
    /usr/lib/x86_64-linux-gnu/libfftw3_omp.so
    /usr/lib/x86_64-linux-gnu/libfftw3_threads.so
    /usr/lib/x86_64-linux-gnu/libfftw3f.so
    /usr/lib/x86_64-linux-gnu/libfftw3f_omp.so
    /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so
    /usr/lib/x86_64-linux-gnu/libfftw3l.so
    /usr/lib/x86_64-linux-gnu/libfftw3l_omp.so
    /usr/lib/x86_64-linux-gnu/libfftw3l_threads.so
    /usr/lib/x86_64-linux-gnu/libfftw3q.so
    /usr/lib/x86_64-linux-gnu/libfftw3q_omp.so
    /usr/lib/x86_64-linux-gnu/libfftw3q_threads.so
    /usr/share/doc/libfftw3-dev/NEWS.gz
    /usr/share/doc/libfftw3-dev/README
    /usr/share/doc/libfftw3-dev/README.Debian
    /usr/share/doc/libfftw3-dev/changelog.Debian.gz
    Опять же видим, что dev-пакет содержит файлы, необходимые разработчику - заголовки (.h), статические (.a) и разделяемые (.so) библиотеки.

    Библиотека - это отдельный файл для статической линковки или разделяемый (.so).
    Ответ написан
    1 комментарий
  • Как безопасно заменить умерший винт в зеркале raid?

    Melkij
    @Melkij
    PostgreSQL DBA
    Сначала выяснить, что это за комп, какой рейд и как именно собран, какой именно из дисков отказал. Затем имея эти данные предметно выяснить как именно на этом контроллере/fakeraid/softraid восстанавливать избыточность после потери диска и на что стоит обратить внимание по пути.
    Ответ написан
    5 комментариев
  • Может кто-нибудь дать реальную задачу на которой можно применить ООП?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    ООП очень тяжело заходит потому что совершенно непонятно для чего оно нужно.

    Ровно для того же, для чего нужно программирования без ООП. ООП - просто достаточно простая и удобная абстракция для программирования.

    Я так понял, что бы в этом всём разобраться нужно писать свою CMS на ООП.

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

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Это хороший вопрос, но однозначного ответа на него нет.

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

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

    В-третьих, все реальные примеры настолько замороченные, что по ним разобраться совершенно нереально. А упрощенные ничего толком не показывают. Только синтаксис.

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

    Это пример самой базовой и очень распространенной задачи - как сделать работу с SQL менее занудной и гарантированно безопасной. И начинать надо именно с таких задач, не замахиваясь на приложения целиком.

    Если говорить о приложении целиком, то стоит попробовать написать что-то примере фреймворка Symfony - это как раз даст понимание того, как ООП применяется на уровне приложения.
    Ответ написан
  • Какую выбрать СУБД, если в день может быть более 11млн записей?

    При такой постановке задачи лучшим вариантом СУБД будет та, которую знают и умеют обслуживать ваши админы.
    С таким объёмом вставок справится любая мейнстримная на правильно подобранном железе. Что ещё вы собираетесь делать с этими записями нам неведомо, посему на выбор повлияеть не может.
    Ответ написан
    1 комментарий
  • Функции хелперы, что это и зачем они нужны если и без них всё работает?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Бывает непреодолимое желание избегать повторяющихся кусков кода. Часто оно здраво и ведёт к правильному рефакторингу кода.

    Когда повтор происходит внутри одного класса, его можно выделить в приватный метод этого же класса.

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

    Для вдохновения и красивой архитектуры посмотрите на хэлперы в Laravel
    Ответ написан
    1 комментарий
  • Как бороться с рекламой в письмах при отправке формы?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Голова дана человеку не только для того, чтобы в неё есть.
    А код рекаптчи надо не просто добавить в файл, но ещё и как-то использовать

    В своем коде вы получаете $response, но никак не используете. Не останавливаете отправку письма при неверном вводе капчи. А просто продолжаете выполнение кода, который отправляет письмо в любом случае.
    Ответ написан
    Комментировать
  • Как разметить SSD при установке Ubuntu 22.04?

    xez
    @xez
    TL Junior Roo
    Если вы новичек - не парьтесь, пусть установщик разметит "автоматически" (или "по умоланию").
    Наберетесь опыта - сами поймете что и как размечать и монтировать.
    Ответ написан
    3 комментария
  • Как организовать валюту в Laravel?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Алгоритм же простой:
    Если есть кука
      то ставим валюту из куки
    Иначе
      детектим страну
      пишем куку
      ставим валюту

    В чем проблема-то?
    Ответ написан
    3 комментария
  • Можно ли совмещать isset() и оператор "равно"?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первый и второй варианты имеют совершенно противоположный смысл.

    Первый вариант выполнит код внутри {}, если элемент массива $data[26] НЕ существует.

    А второй вариант выполнит код внутри {}, если элемент массива $data[26] существует, но не равен 1.
    Ответ написан
    1 комментарий
  • Можете подсказать практичный список литературы по разработке драйверов для linux и вообще по работе в ядре?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    The Linux Kernel Module Programming Guide: https://sysprog21.github.io/lkmpg/
    Linux Device Drivers: lwn.net/Kernel/LDD3
    Understanding the Linux Kernel: https://doc.lagout.org/operating%20system%20/linux...
    Linux Kernel Development: https://raw.githubusercontent.com/jyfc/ebook/maste...
    Understanding the Linux Virtual Memory Manager: https://www.kernel.org/doc/gorman/pdf/understand.pdf
    Unreliable Guide To Locking: https://www.kernel.org/pub/linux/kernel/people/rus...

    Содержимое каталога Documentation в ядре.
    https://lwn.net/Kernel/Index/ для точечного погружения в отдельные топики.
    Каталог doc с kernel.org: https://www.kernel.org/doc/
    Ответ написан
    2 комментария
  • Как rsync сжимает при передаче данных?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Не будет ли он на сервере создавать какие то архивы?

    Нет. rsync -z сжимает на лету.
    Из man rsync:
    --compress, -z
                  With this option, rsync compresses the file data as it is
                  sent to the destination machine, which reduces the amount
                  of data being transmitted -- something that is useful over
                  a slow connection.
    Ответ написан
    Комментировать
  • Как исправить Fatal error: Uncaught Error: Call to undefined function mysql_fetch_assoc()?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    поменять на mysqli_fetch_assoc
    а, не
    поменять на какое-то $obj_sql->FetchAssoc()
    Ответ написан
    Комментировать
  • Можно ли вытащить все записи из базы данных Wordpress?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Смотря в каком формате тебе нужны данные. Если только тексты то можно в эксель перекинуть: https://solutioncenter.apexsql.com/how-to-export-i...
    Ну а так можно простенький скрипт на php сделать который выведет все записи.

    Еще можно установить голый Wordpress и подключить эту базу, что то будет коряво смотреться но блог выведешь. Затем ставишь плагины экспорта и вытаскиваешь через админку в нужном формате (скорее всего .CSV)
    Ответ написан
    Комментировать
  • Как исправить перезагрузку ПК?

    @Drno
    Предполагается что проблема в видяхе, а не в БП
    Ответ написан
    9 комментариев
  • Как собрать энергоэффективный и компактный NAS?

    @Drno
    ОС - OpenMediaVault, это если именно NAS надо.
    Впринципе подойдет и Некстклауд, если цеплять его везде по вебдав.
    И если Вы осилите все это собрать на голой убунту,вместе с VPN и piHole

    естесвенно функции роутера надо будет вынести, в виртуалку или типа того

    етественно собирать на мат плате, правда с учетом её охлада - будет дикий вой
    Для трансляции 4k (без перекодирования на лету) подходит любой фактически ЦП

    про повербанк (лол) - можете забыть сразу, с учетом 10 дисков)

    ну и вопрос - зачем ручка и нахрена этот сервак носить куда то?
    И не проще ли просто арендовать VPS...
    Ответ написан
    Комментировать
  • Регулярное выражение php длина строки?

    0xD34F
    @0xD34F Куратор тега Регулярные выражения
    ^\d{8}(\d{4})?$
    Ответ написан
    Комментировать