• Если заменить условный оператора полиморфизмом в чём суть?

    Stalker_RED
    @Stalker_RED
    Суть в том, что ООП - это подход для того, чтобы уменьшить сложность СЛОЖНЫХ программ.
    Поэтому когда вы берете простой пример с тремя птичками или "cat says meow, doggy says bark", то разница не видна. В особо тяжелых случаях ООП код будет даже казаться более сложным, чем обычный if или switch.

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

    И если написать это на ООП, то у вас будет класс Unit с общими методами, и несколько десятков классов
    Paladin extends Unit
    GoblinTechies extends Unit
    GoldenDragon extends Unit
    в каждом из которых учтены особенности конкретного типа юнитов.

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

    Vindicar
    @Vindicar
    RTFM!
    Вариант А: Если на сайте есть функция "рандомное видео", научиться делать запрос к ней.
    Вариант Б: Стырить Соскрапить с сайта список всех интересующих видео, выбрать рандомное из этого списка. Список можно обновлять время от времени.
    Ответ написан
    Комментировать
  • Имя 'user_id' не определенно, что делать?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Тут какая то порнография с отступами, методами и их параметрами.

    def process_shot(user_id):
        global cur, con
        return True
        return False
    success_rate = get_upgraded_success_rate(user_id)


    Это вот вообще как? Зачем? Метод то закончился, откуда user_id возьмется
    Ответ написан
    Комментировать
  • Нормальная ли практика начинать название переменной с её типа?

    Это венгерская нотация.
    Как правило, сейчас её не применяют
    Ответ написан
    4 комментария
  • Как исправить ошибку в этом коде?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Вы не смогли перевести текст ошибки?
    64250a173e58f641881098.png
    Ответ написан
    Комментировать
  • В каком виде, хранятся записи в БД, подобные постам в соц.сетях?

    Stalker_RED
    @Stalker_RED
    что-то по лучше, чем MySQL
    а что получше - феррари, карьерный самосвал или метро?
    Феррари вроде как быстрее, но не может перевезти 500 тонн за один рейс. Карьерный самосвал перевезти может, но расход горючки сумасшедший. А у метро фича - гоняет без пробок, но только там, где рельсы заранее проложили.

    Все хорошо у MySQL с ресурсами.
    У вас сейчас нет соцсети с миллионами юзеров, поэтому вам не нужна никакая навороченная сверхпроизводительная архитектура и бигдата.
    Когда упретесь в производительность вы сперва подкрутите настройки того-же мускула, потом распараллелите, потом часть данных вынесете в какой-нибудь редис, и только когда и этого будет мало, вот тогда вы задумаетесь о смене основной БД.
    К этому времени вы уже будете иметь представления какие у вас посты, сколько их, где у вас в архитектуре узкие места, и будете неплохо представлять какие есть альтернативы.
    Альтернативы конечно и сейчас есть, но они вам не нужны в данный момент - больше мороки с ними, чем пользы. Ну выберете вы сейчас метро, например, будете инвестировать скиллы и время в рельсы, а в тоге окажется что вам нужно не метро и не самоствалы, а больше подошли бы нефтеналивные танкеры. Вы заранее не можете предсказать что и как у вас будет устроено.

    Целиком в БД сохраняют с тегами HTML, или Объектом JSON

    Начать можете с подхода "храним в том виде в котором пришло с клиента, перед показом чистим".
    Это позволит на лету подправлять тот функционал что перед показом, и заплатите вы за это только некоторым количеством процессорной нагрузки.
    Когда он окончательно утвердится, можно перейти на "чистим пред сохраннением в БД", что сэкономит ту самую нагрузку (очистка ровно один раз), но сразу упадет гибкость, так как данные, которые вы удалили при чистке уже не восстановить.

    Тяжелые медиа, типа видеороликов, вы довольно скоро вынесете в отдельное хранилище, как только заметите что у вас этих одинаковых роликов тысячи, и неплохо бы к ним дедупликацию прикрутить.
    А как хранить эмоджи - практически не важно.
    Ответ написан
    Комментировать
  • Почему цикл не добавляет переменную в словарь(список) Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Потому что написавший его разработчик ничего не знает об областях видимости.
    Ответ написан
    3 комментария
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Неправильно.
    Названия переменных и функций должны быть говорящими, чтобы их назначение сразу было понятно. Урезать названия до пары символов, лишь бы было покороче, - очень плохо.
    По пробелам, пустым строкам, отступам и пр. есть стайлгайды - рекомендации по оформлению кода. Например, PSR-1 и PSR-12 для PHP, Google Style Guide и Airbnb Style Guide для JS. В компании может быть принят и какой-то свой стайлгайд.
    Ответ написан
    Комментировать
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Не правильно.

    Код должен быть читаем и понятен человеку. Причем, не только автору, но и «злому маньяку тим-лиду, который вооружен и знает, где вы живёте», как говорится в шутке программистов.
    Для этого пустые строки между блоками кода бывают полезны. Как и комментарии, и длинные осмысленные наименования переменных и фукций.
    Компилятор потом всё равно всё перелопатит по-своему в ацкие бинарные инструкции )

    Как форматировать код — договариваются. Есть общепринятые стандарты форматирования кода (coding style). Например, стандартный для PHP. Или принятый в компании AirBnB для JavaScript.

    Хороший-удобный редактор кода всегда подскажет, где накосячили со стилем вашего кода, почему, и как исправить.
    Ответ написан
    Комментировать
  • Как вытаскивать данные из бд и выводить их в таблицу по ID?

    @fbi_agent26
    SELECT * FROM table_name ORDER BY id ASC запрос sql для получения всех полей с сортировкой начиная с самого мелкого Id.
    Как засунуть результат запроса в теги - ЗНАЕТ РАЗРАБОТЧИК ТВОЕГО САЙТА.
    Все сайты сделаны на разных CMS , а некоторые вообще самодельные, логика работы везде разная, тут не кто не скажет ответа на то не знаю что
    Ответ написан
    Комментировать
  • Какую задачу можно задать, чтобы быстро обучиться linux?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Просто сделать линух своей повседневной операционной системой.
    Ответ написан
    Комментировать
  • Python авто-ответчик для Telegram. Какие модули нужны?

    SoreMix
    @SoreMix
    yellow
    1) Умеющие работать с клиентом телеграма, e.g. https://github.com/LonamiWebs/Telethon
    2) Умеющие получать список рабочих процессов, e.g. psutil
    Ответ написан
    Комментировать
  • Где хранить проекты Android Studio?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Хранить проекты нужно в репозиториях.
    Для максимального быстродействия все должно быть на ссд.
    Когда проект не требуется, удаляете с ssd.

    Свой HDD можете использовать в дополнение к внешнему хостингу в режиме зеркала.
    В общем ваш HDD винт для архивов.
    Ответ написан
    Комментировать
  • Возможно ли совмещать работу фронтендера (уровень джун или мидл) и учёбу в институте на очном?

    iglebov
    @iglebov
    Backend-разработчик
    По своему опыту скажу, что учиться в университете и одновременно работать разработчиком реально.

    В моём случае руководитель пошёл на встречу: я устроился на полставки (20 часов в неделю) + работа дистанционно.

    Так что главное 1) решить что важно для тебя, 2) уметь договариваться.
    Ответ написан
    Комментировать
  • Откуда программа должна знать id для поиска обьекта c его помощью?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    А мы откуда должны это знать?
    Ответ написан
    Комментировать
  • Как получить длину JSON объекта?

    JSON это просто текст. это никакой не объект. чтобы с ним работать как с объектом, его нужно сначала спарсить в этот объект
    Ответ написан
    Комментировать
  • Что делать при ошибке CSRF token missing?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    Читать документацию, конечно. Там это описано.
    Ответ написан
    3 комментария
  • Некорректная работа sqlite. Работа с параметрами. Что мне делать?

    Vindicar
    @Vindicar
    RTFM!
    Во-первых, проверить структуру таблицы eBase, какие столбцы там есть.
    Во-вторых, никогда не использовать форматирование строк для составление запросов.
    Для этой цели есть parametrized queries.
    Ответ написан
    5 комментариев
  • Бесплатный python хостинг?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Использование для своих корыстных не учебных целей сервисы вроде https://replit.com/ - это своего рода пробежка по граблям и нецелевое недобросовестное использование хорошего сервиса. Даже не буду вам рассказывать способы, которыми можно эксплуатировать уязвимости таких сервисов и преодолевать их ограничения. Считаю это неэтичным. Да и полно таких инструкций в сети, ищите сами, если хотите.

    Но я почитал ваши комментарии к другому ответу и вот что я вам скажу. Если ваш код работает на домашнем компе, а не работает на хостинге, это скорее всего проблема именно вашего кода и очень маловероятно, что это как-то связано с ограничениями хостинга.

    Часто код бывает не правильно написано в плане кроссплатформенности, использует какие-то глобально установленные библиотеки, которые вы забвли поставить на хочтинге, неправильно работает с кодировками или файловой системой.

    Для таких задач как ваша надо брать VDS. Подойдёт самая дешевая баксов за 5. А ещё у таких VDS есть бесплатный пробный период. Обычно это сутки, но я сталкивался и с недельными интервалами. Вот поищите https://poiskvps.ru/
    Там они не бесплантые, но есть тарифы с бесплатными пробными периодами. Однако, повторюсь, скорее всего не хостинг плохой, а ваш код косой.
    Ответ написан
    Комментировать
  • Как будет работать 2 домена на одном сервере?

    Без кода нельзя точно сказать, что именно не так.
    Ответ написан
    4 комментария