• Какой конфигурацией должна обладать вычислительная нода для большого числа виртуальных машин (VPS)?

    @redakoc
    pagee:
    тогда какая вам разница? к вам прямо завтра не придет 100500 заказчиков.
    ставите сервер.
    приходят заказчики.
    видите, что ресурсы заканчиваются: ставите еще сервер. к тому времени будете уже знать статистику.
    в общем случае - память важнее, я уже написал.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Вставка - не такая уж частая операция. Но длину можно узнать ОДИН раз, а потом сто раз использовать, а не хранить её ВСЕГДА рядом, занимая память под это.

    1. Кого это волнует в наше время? Вон вы замахиваетесь на строки длинной в миллиард символов? Сколько нужно байт на этот миллиард для хранения длинны?

    2. Если вам нужно ОДИН раз УЗНАТЬ, но чтобы 100 раз ИСПОЛЬЗОВАТЬ, то все равно нужно ХРАНИТЬ то, что вы уже узнали. Так зачем же тратить время на перебор миллиарда символов, если можно просто сразу хранить.


    Ну, достижение, значит. Это огромный плюс, что он передаёт только адрес (ссылку), а потом 100500 раз читает размер.


    Так всегда было, какой достижение? Сдается мне ваши познания про то какие бывают строки ограничены весьма маленьким мирком.

    1. Программа с строками С-стиля тоже 100500 раз читает размер, если это ей надо по алгоритму. Только в качестве дополнительных накладных расходов добавляется еще то, что этот размер нужно подсчитать еще.
    2. Программа с строками стиля Паскаль, если ей по алгоритму этого не нужно, может прекрасно также НЕ ЧИТАТЬ уже определенную длину.
  • Как организовать работу удаленных программистов?

    @redakoc
    Liquidos:
    На здоровье.
    Я не верю в то, что не работая вообще - можно работать.
    Сотрудники мозги время на иммитацию деятельности.....
  • Не выходит вывести деньги с Upwork: что делать?

    @redakoc
    Yaxoo:
    Лишь бы вам полегчало.
    Я вообще прочитал только после того как вывел деньги первый раз.
    Все эти системы - медленные.
    Если выводить через Skrill - то там еще задержка. Готовьтесь.
  • Создание не используемой переменной, зачем?

    @redakoc
    Александр Павлюк:
    То есть оставить мусор нужно еще постараться в Go.
    В большинстве других языков - тебя не напрягает автоматика, но и мусора ты оставляешь больше.
  • Как организовать работу удаленных программистов?

    @redakoc
    Дмитрий Беляев:
    "Зашел в тупик и нечего не делаю, обсуждаю в курилке с коллегами Танчики, а сам думаю" - не эффективно.
    Если не пытаться думать именно по теме, - думание мало эффективно.
  • Как организовать работу удаленных программистов?

    @redakoc
    Дмитрий Беляев:
    Я программист с охренеть сколько-летним стажем. Я все понимаю.
    Также я и руководитель с опытом - когда вы быстро начинаете сворачивать браузер и имитировать бурную деятельность, когда я прохожу мимо - это прекрасно видно.
  • Создание не используемой переменной, зачем?

    @redakoc
    Александр Павлюк:
    "забываю удалить заглушку" - это и есть мусор.
    просто мусор, без специальных принятых программером мер, Go просто не допускает в код.
  • Создание не используемой переменной, зачем?

    @redakoc
    Именно поэтому Go затрудняет программистам подобные фокусы, домагая своими проверками.
    Таким образом можно оставить кучу мусора.
    В других языках - проще. Забыл и забыл.
  • Как организовать работу удаленных программистов?

    @redakoc
    Дмитрий Беляев: хоть IDE открывают вместо покера. Может, здравая мысль придет в голову.
  • Как организовать работу удаленных программистов?

    @redakoc
    > Почасовая оплата, выгодно сотруднику, а не работодателю.

    Почасовая работа упрощает жизнь работодателя. Потому выгодна работодателю.
    Разумеется, никто не будет платить почасовку, если это сумма не по карману.

    Есть такие работники - "у меня 10 долларов за час. Я на вершине успеха"
    Хрень полная. Заказчика ваши копейки никак не напрягают.
    Ему просто удобнее так ставить вам задачу.
  • Как организовать работу удаленных программистов?

    @redakoc
    Выгоднее нанимать высококвалифицированных на отдельные проекты/задачи.
    Если речь идет о постоянной работе, то все ни так.
  • Как организовать работу удаленных программистов?

    @redakoc
    Начальство ходит мимо - хоть вид делают что работают... )))

    С удаленными такого психологического эффекта нет.
    Хотят дополнительно контролировать.
    Физическое общение уже дисциплинирует.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    redakoc:
    Зато можно работать с данными напрямую, без заморочек с размером. Можно нарезать их прямо с середины. В любом месте можно встать и поставить начало внутренней строки (подстроки).


    1. Для чего придется сдвинуть ВПРАВО на 1 байт вторую получившуюся подстроку.
    2. Единственное что можно сделать быстро - выделить первую подстроку. Методом Паскалевских строк что тоже делается так же.
    3. Что вы будете делать с памятью выделенной под вторую часть строки.
    4. Самый быстрый метод разрезания строк (без сдвигов) - гигантская (без 0) строка. И отдельный каталог, содержащий определения (адреса и размеры) виртуально порезанных подстрок.
    А этот метод поближе все же именно к ПАСКАЛЕВСКИМ строкам.

    Вот там есть пример в библиотеке - strtok() - когда строку можно нарезать на слова, сохраняя указатели на них. Можно и интереснее операции делать - ограничений нет. С размером этой возможности нет, там всё тупо и ограничено.


    Методом добавления 0 разрезать строку на подстроки, сохраняя указатели на них, невозможно.
    Так как уже вторая подстрока должна быть сдвинута на 1 байт вправо, третья подстрока на 2 байта вправо и т.д.

    Если до вас не дошло, то сдвиг этот требуется, чтобы добавить 0.

    Если этого не сделать, а оставить старый указатель, то или теряется один символ в первой строке (последний) или то вторая подстрока будет указывать ровно на 0, то есть станет пустой (и третья подстрока потеряет 1 символ из начала).
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Да и что под них приспособлено там, когда везде используются размерные строки?

    Взаимодействие с ОС. Вызовы API.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    И что она даёт, эта ненужная проверка длины, когда не нужна длина?

    Длина строки (или другим способом определить ее окончание) нужна в подавляющем большинстве случаев:

    Чтение строки,
    Сложение строк (там то же чтение внутри),
    Вставка в середину (чтобы быть уверенным что не выходишь за пределы строки),
    Поиск в строке,
    Проверка длины строки (довольно частая операция).

    Если при каких то этих операция тебе не нужно знать конца строки, то ты просто уже знаешь ее длину косвенно.

    Можно обойтись только при создании новой строки.

    Я передаю строку в функцию - передаётся адрес начала. Я так могу передавать много раз, при этом передаётся только адрес начала.
    А тут как минимум надо передать адрес И ДЛИНУ.


    Не надо. В Паскале также передается ТОЛЬКО адрес начала.


    Умножаем на миллиард - получаем общее замедление.


    На передаче строк разницы нет вообще, так как передается все тот же указатель.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Речь-то идёт не только об этих затратах памяти, речь идёт об операциях, которые потом используют этот размер повсеместно по 100500 раз, потому что всё сделано потом с учётом этого размера. Просто прочитать до нуль-символа такую строку нельзя.

    Просто прочитать длину строки (1-2-4 байта)
    Просто найти конец строки 0 в строке "hello, world" = прочитать 15 байт, дурачина.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Конечно, проходить по всей строке с проверками на нуль-символ, - способ неправильный. Зато можно работать с данными напрямую, без заморочек с размером.

    Нельзя.
    При выполнении операции, нужно быть уверенным, что ты не выходишь за пределы выделенной под строку памяти.


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

    Как раз наборот, дурачок.
    При разрезании строки твоим методом вставки нуля в середину - нужно СДВИГАТЬ всю последующую часть строки на один байт.
    А вот наличие отдельной структуры, хранящей длины виртуально нарезанных строк позволяет разрезать строки без массовых ненужных перемещений в памяти.
    )))
    Тупачок, успехов в говнокоде.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Да я могу хоть каталог файлов так сохранить один за другим. Маркерная система - это обычная система, которую придумали ещё до C. В данном случае маркер конца данных - нуль-символ. У тебя нет таких навыков, поэтому все мысли только через размер данных идут.


    А как ты там файлы искать будешь?
    "Миллиард файлов длинной миллиард байтов", как ты выразился.
    Сколько займет времени поиск, скажем, файла номер 500 001 из такой сплошной структуры.
    В таких случаях используют каталог вложенных файлов, а где каталог - там и размеры.