Задать вопрос
  • Как использовать импортированный пакет без дублирования импорта?

    shurshur
    @shurshur
    Артем Прохоров, нет, конечно. Это просто область видимости для компилятора. Реально пакет линкуется к программе один раз, и это так в целом в любом языке.
  • Есть хороший онлайн просмотрщик документов для интеграции с сайтом?

    shurshur
    @shurshur
    Как самое простое решение, можно конвертить документы в pdf (см. unoconv) и вставлять через iframe. Сейчас многие браузеры поддерживают pdf.js.
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    FanatPHP, не надо говорить глупости, всё я читал. Ты берёшься оскорблять человека, который спросил вещь, которую тебе не понравилась, а потом оскорбил его за то, что он у кого-то ещё это спросил (хотя это, вообще-то, нормально - спрашивать то, чего тебе не понятно, в том числе и у разных людей в разных местах).
  • Динамически добавить elif ветки в функцию?

    shurshur
    @shurshur
    BadCats, вообще-то у этой задачи есть прекрасное решение: словарь функций. Например

    func_map = dict()
    def some_func(func_number:int, arg1, arg2)
        return func_map[func_number](arg1, args)
    
    func_map[1] = lambda x,y: x+y
    print (some_func(1, 2, 3)) # выдаст 5
    print (some_func(2, 3, 4)) # вызовет exception, так как func_map[2] не определено
    func_map[2] = lambda x,y: x-y
    print (some_func(2, 3, 4)) # выдаст -1


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

    shurshur
    @shurshur
    FanatPHP, ты патологоанатом, чтобы определять наличие или отсутствие ума по пикселям на экране?

    Если человек спрашивает, почему деревянная киянка не очень хорошо забивает гвозди, ему простительно, если он вообще впервые в жизни видит хоть какой-то инструмент и до этого даже не подозревал, что молотки делают не только из дерева. В конце концов, очень многие вещи становятся очевидными, когда их знаешь, но человечество до них могло дойти далеко не сразу. А ты сразу идиотом обзываешь человека.
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    FanatPHP, про отсутствие ума начал писать ты. Ты был первый, кто перешёл на оскорбления. Увы.
  • Как добавить определённое количество пустых строк в бд?

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

    shurshur
    @shurshur
    FanatPHP, не надо унижать человека за то, что его уровень знаний по узкому вопросу, вероятно, отличается от твоего.
  • Как организовать обновление файлов игры?

    shurshur
    @shurshur
    estluced, если там тысячи файлов - то может как раз работать не очень эффективно.
  • Как организовать обновление файлов игры?

    shurshur
    @shurshur
    estluced, обычно всё же делают не так. У игры есть сборка в виде архива с версией в имени, и launcher при запуске запрашивает у сервера актуальную версию. Если локальная версия ниже серверной - архив скачивается и распаковывается. Если там много данных (текстуры там всякие, например), можно делить на части, например, отдельно код, отдельно данные, отдельно текстуры, отдельно звуки, отдельно фоновая музыка... И каждое может иметь свою версию, чтобы изменения кода не приводили к перекачиванию музыки.
  • Где писать на Assembler-е?

    shurshur
    @shurshur
    ANYJT, условно говоря нет. Потому что "ось" как бы должна уметь управлять памятью, переключать процессы, общаться с периферией, да и процесс её загрузки из BIOS требует некоторых действий. Так что какое-то хотя бы небольшое количество ассемблерного кода для настоящей операционной системы необходимо. Ядро Linux в целом написано на C, но ассемблерные вставки там есть.

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

    А так-то да, программа на C представляет из себя исполняемый файл под текущую операционную систему (которую эта система умеет запускать, в том числе выполняя динамическое связывание), в хвост и в гриву использует интерфейсы текущей оси (например, printf в конце концов выполняет системный вызов, исполняемый ядром) и вообще не может без неё работать.
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    FanatPHP, проблема не столько в том, что хочет автор, проблема в том, как он это формулирует. Явно ведь в начале пути, вообще не в курсе, как и что работает, ну и спрашивает всякие странные вещи. Но говорить ему, что "пустых строк не должно быть", тоже может быть опасно. Он из этого может подумать, что NULL в элементах принципиально возбраняется. Вот есть NULL, а использовать нельзя. Или что нельзя создавать строки, заполненные лишь частично, с последующем дополнением данных.
  • В каком порядке происходит лицензирование ПО при покупке ключей (в частности - Windows)?

    shurshur
    @shurshur
    Василий Банников, я начал писать в скобках пояснение к этому факту, но потом всё же решил убрать :) Так-то они много чего производили и производят, клавиатуры, например. Но мы же понимаем, что речь не об этом...
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    FanatPHP, тогда лучше прямо его спросить, чего он хочет, а то он сейчас подумает, что в базе не бывает NULL-значений воообще...
  • «Новый» подход к рекурсии?

    shurshur
    @shurshur
    denny_cat, в реальном программировании никто не делает рекуррентные функции, которые не содержат начальных условий. Поэтому вопрос вообще непонятен, причём тут "новый подход"? Ну, например, функция fib для начальных значений будет возвращать результат явно, а не рекурсивным вызовом:

    def fib(n:int):
        assert n>=0
        if n < 2: return 1
        return fib(n-1)+fib(n-2)
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    FanatPHP, мы не знаем, что он пишет. Например, если он пишет онлайновый табличный редактор (а ля google sheets), то добавить пустую строку в таком сценарии может иметь смысл. Но, конечно, смысл добавлять строку с одним лишь только идентификатором встречается крайне редко, поэтому я и написал это как минимальное требование, а на практике чаще всего нужны и другие not null поля (например, имя/пароль и дата создания в таблице users).
  • Как добавить определённое количество пустых строк в бд?

    shurshur
    @shurshur
    Абрам Петерс, строка не должна быть полностью пустой. У неё должен быть как минимум уникальный идентификатор, чтобы отличать её от других строк и точно указывать в запросах на последующие изменения.
  • В каком порядке происходит лицензирование ПО при покупке ключей (в частности - Windows)?

    shurshur
    @shurshur
    ivanivanov15122021, Microsoft, вообще говоря, не производит компы. Он производят софт. И лицензируют его использование. Зачем им лицензировать использование компов?
  • Как добавить перенос строки?

    shurshur
    @shurshur
    Разве решение (я не про то, которое с textwrap) подходит под вопрос? Надо вставить перенос не в фиксированную позицию, а в следующий за ней пробел.
  • Где писать на Assembler-е?

    shurshur
    @shurshur
    ANYJT, надо понимать, что ассемблер - это не такой язык, как другие. Это по сути прямые машинные инструкции, записанные текстовыми псевдонимами, и немного синтаксического сахара, чтобы не вычислять пальцем адреса участков памяти. Тут вместо IDE достаточно текстового редактора, можно даже с подсветской синтаксиса.

    Сама сборка приложения - это вызов компилятора, а потом линковщика. С nasm я дела не имел, в своё время что-то писал на Turbo Assembler, там для этого использовались команды tasm и tlink. Беглое гугление показывает nasm+ld, вот пример https://cs.lmu.edu/~ray/notes/nasmtutorial/ , но, как и ожидалось, в Windows нужно линковать с помощью link, а не ld из binutils https://habr.com/ru/post/326078/

    Тут предлагают Code::Blocks https://www.wikihow.com/Run-NASM-on-Windows Но в целом, как я сказал, IDE
    для ассемблера не требуется. Можно использовать любой текстовый редактор (в том числе с возможностью вызова внешних команд, либо запускать сборку отдельным скриптом) или любую IDE общего назначения (типа vscode).

    Помимо использования ассемблера для написания всей программы, можно использовать ассемблерные вставки в код на C или линковать написанные на ASM объектные файлы с кодом на других языках.