Задать вопрос
  • Использовать ли геттеры в классе где объявлены приватные свойства?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    геттеры и сеттеры именно для этого и нужны - чтобы далеко далеко в будущем, когда будет много других классов, и которым нужны эти данные, и вдруг тип данных нужно будет поменять (например перейти от int32 к int64), то будет достаточно просто поменять тип приватных данных, поправить геттеры, чтобы они конвертили в int32 для старых зависимостей и сделать два новых 64-битных геттера для новых.
    И потом уже все кто лазили за данными, либо будут потихоньку переходить на новые геттеры, либо сидеть на старых, но с ограничением.

    Если у вас 2.5 класса, можете делать как угодно. Смысл геттеров и сеттеров изначально именно в том, чтобы обеспечить совместимость на десятилетия вперед.

    Если вы уверены, что как бы ваш софт не разросся в будущем, можете хоть вообще без классов писать, все в одну простыню.

    Все зависит от приоритетов. Нужна скорость - делаете одно. Нужна совместимость - делаете другое. Нужно и то и то - ищете архитектурный подход, где от геттеров все зависит мало.
    Ответ написан
    1 комментарий
  • CMS или Framework?

    vfreelancer
    @vfreelancer
    php
    в сms много всего готово - но вам оно не надо в этом проекте, а конкретно под вашу задачу придется писать плагин с нуля. поэтому фреймворк - не будет ничего лишнего
    Ответ написан
    Комментировать
  • Какой linux поставить на современный ноутбук?

    Anatolios
    @Anatolios
    Новичок в IT. Инженер технической поддержки
    Ответ написан
    Комментировать
  • Какой linux поставить на современный ноутбук?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если надо, чтобы все работало из коробки - то ставьте Windows. С линуксом на ноутбуке, в зависимости от производителя, можно получить как немножко, так и очень-очень много секаса по настройке того или иного оборудования, установке драйверов и прочего. Вероятно придется попробовать разные дистрибутивы - начать можно с проверки с помощью live-usb. Я бы порекомендовал Debain + xfce как наиболее стабильную и наименее проблемную ОС. А с линуксом в терминал придется лезть в любом случае, если хотите его использовать в повседневной жизни.
    Ответ написан
    2 комментария
  • Какой linux поставить на современный ноутбук?

    @Drno
    linux mint
    Ответ написан
    Комментировать
  • Что не так с запросом?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    С запросом все ок, а вот с тем кто составлял могу сказать что не так:
    Если не читать документацию, а ориентироваться на свою "и так понятно" логику, то ничего хорошего не выйдет.
    Хинт: Помогите Даше найти логику в строке:
    WHERE name='Nikolai' AND name='Katerina'
    Ответ написан
    4 комментария
  • Как понять что делает данный код php?

    v3shin
    @v3shin
    Веб-шаман
    Навскидку код развернулся в
    <?php
    $OO000O0000 = file(preg_replace("@\(.*\(.*$@", "", __FILE__));
    if (preg_replace("@\(.*\(.*$@", "", __FILE__) == __FILE__ or preg_replace("@\(.*\(.*$@", "", __LINE__) != 3)
        die("<tt>ERROR");
    function OOOO0000O0($a, $b)
    {
        if ($b == 162) {
            $d = substr($a, 1303, 8);
        } elseif ($b == 13) {
            $d = substr($a, 973, 330);
        } elseif ($b == 40) {
            $d = trim(substr($a, 1311));
        }
        return $d;
    }
    eval(base64_decode(OOOO0000O0($OO000O0000[0],13)));
    eval(OOOO0OOO0O(OOOO0000O0($OO000O0000[0],40),OOOO0000O0($OO000O0000[0],162),$OO000O0000));
    __halt_compiler();
    [binary]

    Дальше, как я понял, скрипт вырезает, декодирует и выполняет куски из [binary], туда я не лез. В общем, можете покопаться, но ЗАПУСКАТЬ НЕ СОВЕТУЮ.
    Ответ написан
    Комментировать
  • Какую оперативную память выбрать?

    xez
    @xez
    TL Junior Roo
    Однозначно надо брать 2х16.
    https://ru.msi.com/Motherboard/B450-A-PRO-MAX/supp... - тут можно посмотреть проверенные варианты.
    Одни и те же планки памяти могут в 4 слота работать медленнее чем в 2 (т.е. просто не заработают на заявленной частоте XMP профиля и все)
    Ответ написан
    5 комментариев
  • Какую оперативную память выбрать?

    @ewgenc
    Два по 16 ставьте, потом проще будет апгрейд до 64.
    Ответ написан
    Комментировать
  • Проблема с модулями crontab, какое решение лучше?

    hint000
    @hint000
    у админа три руки
    P = subprocess.Popen("/usr/local/bin/python3 /Users/User/script2.py ", text=True, shell=True)
    Ответ написан
    Комментировать
  • Как написать чат на php?

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

    Newto
    @Newto
    Ну конечно можно. Звоните владельцу сайта, говорите "алло, дайте мне доступ к вашему серверу". Он вам отвечает - "Да, конечно!" и высылает root ssh доступ. Заходите на сервак и всё скачиваете. А потом еще раз перезваниваете и просите к трубке админа, что бы он вам объяснил как это всё установить, что бы заработало. Profit! :)

    А если серьёзно, то есть в вебе два ключевых значения -- "frontend" и "backend". Вот "frontend" это всё то, к чему имеет доступ, непосредственно, ваш браузер. Это html код, картинки, скрипты(на разных языках) и css стили(про всякие xml и прочее говорить не буду даже). А всё то, что работает с базами данных, делает всякие хитрые операции на СЕРВЕРНОЙ стороне, то есть на БЭКЕ, всегда скрыто от браузера, т.е. от вашего непосредственного доступа. Браузер отображает лишь результат, который БЭК посылает на ФРОНТ, т.е. в ваш браузер с сервера. Поэтому никакими программами (если это не супер-мега-хакерская прилага из для взлома особо слабозащищенных и плохо написанных сайтов) вы бэкенд не скачаете.
    Ответ написан
    Комментировать
  • Имею базу в формате txt размером 2gb, как отсортировать по количеству символов на строку?

    @rPman
    Для таких операций уже несколько десятилетий в linux существует утилита awk со своим языком программирования (он достаточно простой хоть и странный), так же можно соорудить регулярное выражение и с помощью утилиты sed или grep, несколькими проходами пройти по файлу, и сначала вывести все короткие строки, вторым проходом все длинные.

    так же можно написать приложение на любом языке программирования, построчно читать файл, измерять длину строки или какое тебе нужно условие и записывать в нужный файл, кода строк на 5-6
    Ответ написан
    Комментировать
  • Выборка записей где значение больше чем у родителя?

    iMedved2009
    @iMedved2009
    Не люблю людей
    select 
      people.* 
    from people 
    join people as parent on people.parent_id = parent.id 
    where people.size > parent.size;
    Ответ написан
    Комментировать
  • Как хранить информацию в БД о поставщиках когда они могут являться разынми сущностями?

    Vindicar
    @Vindicar
    RTFM!
    Это, по сути, наследование. Абстрактный класс-предок (поставщик) и конкретные классы-потомки (физлицо, ИП, организация). Наследование обычно выражается в структуре БД так: создаётся таблица "Поставщик", содержащая общие для всех классов поля и имеющая свой ключ.
    Затем под каждый класс-потомок создаётся отдельная таблица, содержащая сведения, уникальные для этого класса. В этой таблице первичный ключ одновременно является внешним ключом, ссылающимся на таблицу "Поставщик". Иными словами, в таблице-потомке могут быть только записи с ключами, которые есть в таблице "Поставщик", а для каждой записи в "Поставщик" будет не более одной записи в таблице-потомке.

    В таблице "Поставщик" также может быть поле, указывающее на конкретный тип поставщика (физлицо, ИП, организация), т.е. в какой таблице искать остальные данные. Наличие или отсутствие этого поля - вопрос вкуса. В принципе, если нам нужны сведения о конкретном типе поставщика, мы можем попытаться сделать INNER JOIN с нужной конкретной таблицей. Это отсеет все записи других типов.
    Такой подход (без поля типа) позволяет избежать противоречий, когда запись находится в одной таблице-потомке, а поле указывает на другую. Но с другой стороны, если мы не знаем, какой конкретный тип у данного поставщика, нам придётся либо перебирать таблицы-потомки в рамках нескольких запросов к БД, либо делать LEFT JOIN со всеми таблицами-потомками, и смотреть, какие поля не будут NULL.

    Слабая сторона такой схемы в том, что связь по внешнему ключу не запрещает существование записей в нескольких таблицах-потомках, ссылающихся на одну и ту же запись в "Поставщике". Это придётся контролировать отдельно, триггерами или хранимыми процедурами.
    Ответ написан
    4 комментария
  • Перенести коммиты с локали в удаленный репозиторий?

    @res2001
    Developer, ex-admin
    Добавите в локальную репу URL удаленного репозитория с помощью git remote add ...
    Или, если надо изменить старый URL, то git remote set-url ...
    Для справки git remote --help
    Дальше пушите в добавленную репу.
    Ответ написан
    Комментировать
  • Каким софтом просматривать список функций исполняемого файла в Linux?

    @res2001
    Developer, ex-admin
    dumpobj, nm - просмотр импорта/экспорта
    ldd - зависимости от библиотек
    Ответ написан
    2 комментария
  • Какую книгу прочитать про SQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Изучать SQL как сферический язык в вакууме - нет особого смысла. Особенно если ты спрашиваешь про хинты. Хинты - это опция конкретной реализации DBMS. У Оракла - свои хинты. У Microsoft - свои. И знания между ними - совершенно не переносимые. И сами хинты кажется не стандартизированы в SQL стандарте. Здесь я могу ошибаться - пускай знающие подскажут.

    Вобщем если ты где-то уже работаешь и вы используете конкретную БД - то бери и читай по ней.

    Я в своё время тоже искал теоретическую литературу по оптимизации SQL. Нет толком ничего. Есть Ден Тоу. Настройка SQL для профессионалов. Он пытается подогнать под оптимизацию свою теорию. Считает селективности и кардинальности для суб-запросов и рисует "облачки" - диаграммы пытаясь вывести формулу cost. Но это всё не работает. Это разбивается о практику. Ни одна практика Oracle/PG/MSQL/MySQL не подрверждает эффеткивности диаграмм Тоу. Вобщем я зря потратил время на чтение этой книги. И тебе не советую.

    Бери конкретные книги от вендора и по ним смотри.

    И в твоём вопросе не хватает еще одного хеш-тега.
    Ответ написан
    Комментировать
  • Как вывести данные из базы данных в инлайн кнопки?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1. Разделяете задачу на более мелкие пункты до тех пор, пока их можно разделить.
    2. Ищите реализацию пункта в документации/гугле.
    3. Пишите.
    4. Если в процессе не получается что-то конкретное - задаете вопрос гуглу или здесь.
    Ответ написан
    3 комментария