Задать вопрос
  • В чём разница между статическими либами и пакетами?

    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
    DBA для вашего PostgreSQL?
    Сначала выяснить, что это за комп, какой рейд и как именно собран, какой именно из дисков отказал. Затем имея эти данные предметно выяснить как именно на этом контроллере/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})?$
    Ответ написан
    Комментировать
  • Регулярное выражение php длина строки?

    Fragster
    @Fragster
    помогло? отметь решением!
    \d{8}|\d{12}
    Ответ написан
    Комментировать
  • Как отобразить картинку на сайте из MySQL используя Spring?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Я хочу, получив изображение из бд отобразить его на сайте через тег IMG, есть ли возможность на данный момент?
    Конечно есть. Вопрос только в подходе.
    есть 2 основных варианта:
    1) Передавать в шаблон бэйс64 строки вместо байтов. Как написал Дмитрий, вы можете это сделать прямо в модели, добавив метод кодирующий блоб в бэйс64. Или делать это в контроллере, не суть.
    Минусы - вы утяжеляете шаблон, так как бэйс64 где-то на 30% больше по объему, и блокируете загрузку шаблона до полной прорисовки изображения (так как картинка "вписана" в хтмл, и пока вы ее не получите, последующие блоки просто неоткуда брать). Если их много, нагрузка будет весьма значительной.

    2) Передавать линк на изображение. Естественно, линк будет вести на скрипт, а не на реальную картинку. Делаете роут для изображений, в контроллере ловите ключ картинки (айди или другой уникальный ключ из таблицы), по ней создаете модель и отдаете на клиент обычный байтовый поток. Естественно перед отправкой нужно отправить заголовок что "сейчас будет картинка". Тогда изображения будут загружаться отдельно от хтмл и грузить клиента вообще не будут.
    Минусы - надо писать роут и контроллер... ну и вроде все.

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

    Во вторых - второй описанный метод является весьма распространенным и обыденным, в то время как первый, в силу указанных недостатков, используется только в крайне редких случаях, например для вывода очень мелких изображений.
    Ответ написан
    6 комментариев
  • Как отобразить картинку на сайте из MySQL используя Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день
    Вам необходимо byte{} перевести в base64.

    Чтобы получить массив байтов -
    String image = "this is base 64 image";
    byte[] photoByteArr = Base64.getDecoder().decode(String image);

    Чтобы получить base64
    String image = Base64.getEncoder().encodeToString(photo.getImage())

    А дальше гляньте, как вставить картинку в base64 - https://stackoverflow.com/questions/8499633/how-to...
    Ответ написан
    1 комментарий