• Modx подходит для высоконагруженного проекта с распределением нагрузок по серверам?

    @redakoc
    7. "Настоящая цена за подобную работу, по прикидкам Витали Дощенко из modstore.pro, примерно 200к рублей." - это нормальная такая цена за переделку на нормальном уровне, при наличие уже имеющегося старого сайта, который можно рассматривать как прототип (для облегчения работы над ТЗ). Но 200 000 рублей - это даже рядом не цена хайлоад-решений. Еще раз обращаю внимание на пункт 5.
  • Modx подходит для высоконагруженного проекта с распределением нагрузок по серверам?

    @redakoc
    talas1234:
    1. Криво написать можно хоть на ассемблере, так что работать будет медленнее, чем на нешустром от рождения Ruby. Для фреймворка понятие "быстрый ли фреймворк" не существует вообще. Так как основные тормоза на сайтах - это внутренняя логика сайта, фреймворк вносит пренебрежимо незначительный вклад.

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

    3. Ваш пример описывает незаинтересованного говнокодера: "Его разрабатывал один местный программист и что-то дело начало буксовать — пропал интерес у разработчика", "Одна беда, нет чётких правил для работы в этой системе. Точнее, может они и есть, но разработчик сайта их не придерживался, а написал всё сам, руководствуясь собственным представлением о том, как сайт должен работать".

    4. Хайлоад - это как раз та задача где индивидуально написанное решение как раз то, что доктор прописал.

    5. Однако чаще всего бывает, что тормозной сайт с нагрузкой 10 000 человек в день считают необходимым переводить на технологии хайлоада, хотя это всего лишь рядовой плохо сделанный сайт.

    6. Именно помятуя про п. 5 я предложил для начала просто поработать над Modx. Вряд ли это хайлоад - у них даже нет своего постоянного специалиста, с которым можно было бы посоветоваться, если так, то это вовсе не хайлоад.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    4. А каким боком здесь про 0-терминированные строки? В Go встроенные строки - паскалеподобного типа.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Ну, вот в Go придумали свои, я тут Олежку пердуна валил, дал ему задание, он свинтил. Понтов было выше крыши. А почему? Потому что они нарушили POSIX и сказали "а вы просто нас не понимаете, это такая продвинутая реализация". Потому и надо там писать свой разборщик, хотя в библиотеке, поставляемой с компилятором, есть это их новаторское средство.


    1. Ты о чем? Это же другой язык программирования. Не С, даром что похож. Какую ты тут совместимость хочешь?

    2. Зачем? Ты как-то хотел использовать какую-то С-библиотеку для разбора параметров командной строки в Go? Но не знаешь как?

    3. Пакет "flag" не обязателен, господин школьник. Параметры командной строки в C-подобном стиле берутся из os.Args
  • Как лучше брать оплату за работу (фикс за объем / фикс за время / почасовая)?

    @redakoc
    mitekgrishkin:
    Никто не будет платить за многочисленные ТЗ в стартапе - ибо тогда 80% затрат будут совершенно не продуктивны.

    Одно большое неизменное и точное ТЗ на большой проект - да, это возможно, что оплачивается.
    Но таких больших неизменных и точных ТЗ в стартапах "которые не знают что хотят" быть не может.
  • Как лучше брать оплату за работу (фикс за объем / фикс за время / почасовая)?

    @redakoc
    mitekgrishkin:
    Если речь о стартапе, где "сами не знают что хотят", то составление каждый раз строго тех. задания (а иначе невозможно зафиксировать объем работ на зафиксированную сумму) неприемлимо. Они экономят время на всем. А требования к ПО меняются часто.

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

    @redakoc
    abcd0x00:
    А на коротких строках, пример - "hello", нуль-терминированные эффективнее размерных, потому что размер не нужен вообще.


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

    В решениях общего назначения, сюрприз, никого не волнует экономия отдельных байтов. Используются универсальные строки, не подбираются идеальные решения под короткие или длинные строки. Наоборот, в средства программирования (компиляторы и т.п.) встраиваются дополнительные проверки (реализуемые и за счет отдельных дополнительных байтиков), что позволяет ловить ошибки.

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

    @redakoc
    Конечно эффективнее, при хранении это экономит 4 гигабайта. При чтении разница только в проверках. А что больше времени происходит, хранение или чтение? Естественно, хранение.

    Все наоборот.

    Миллиард строк длинной миллиард хранится на диске, а не в оперативной памяти.
    На объеме хранения уже несколько десятилетий как не экономят байтики. Стоимость дисковой памяти ничтожна, скорость доступа к ней крайне мала.

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

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

    @redakoc
    Ну, я ж говорю, ты тупой. Есть непереносимые библиотеки. А функции - в библиотеках. Если программа линкуется с библиотекой, которой нет в другой операционной системе, это как называется? Речь же идёт о функциях разбора аргументов командной строки. Ты съехал просто, подменив их функциями для работы с любыми строками.


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

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


    1. Строковые функции чуть ли не первое, переносимостью которого озабочиваются разработчики. Нет там подобных проблем с встроенными (стандартными) и любыми серьезными библиотеками.

    2. Опять задачка из школьного курса информатики.

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

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

    Точнее причин существует ровно 2:
    а) обучение программированию
    б) неспособность реализовать что-то серьезное, которая выливается в вечное совершенствование примитивных алгоритмов и похвальбу этим. на этапе первых двух лет обучения программированию это еще понятно. но в 3-му году я бы ожидал о программиста, правильно выбравшего свою профессию, нечта большего.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Кто умер? Иди в школу.
    Строки типа Паскаль сейчас основные в современных языках программирования.
    С-подобные строки остались в межпрограммном обмене (только там они и удобнее, чем паскалевские строки) и исторически внутри того же С, к примеру.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    В том же примере касаемо сети ты просто никогда не писал сетевых программ, иначе хорошо бы представлял протоколы, в которые паскалевские строки никак не вписываютс

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

    @redakoc
    abcd0x00:
    Во-первых, это может быть непереносимо - когда для одной платформы есть библиотека, а для другой нет.


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

    @redakoc
    Так копия там ТОЛЬКО тогда, когда это необходимо.

    Копия на миллиард символов всегда неэффективно.
    Напоминаю исходные нашей беседы: твой довод, что "миллиард нуль-терминированных строк длинной миллиард символов эффективнее строк, чей размер хранится".
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Если ты проводишь над КОПИЕЙ то где твоя хваленая эффективность.

    Аргументы командной строки это точно миллиард символов обрабатываемый миллиард раз. Хороший пример. ))) Командная строка уже много лет как прекрасно нарезается готовыми библиотеками, многие системы программирования умеют это и стандартными (не дополнительными) библиотеками.

    Твои примеры на уровне задачек по программированию для школьников или студентов (первый год обучения программированию). В реальных задачах все по другому.
  • Как лучше брать оплату за работу (фикс за объем / фикс за время / почасовая)?

    @redakoc
    mitekgrishkin:
    для тех, кто "сам не знает что хочет" разбиение на маленькие подзадачки, которые еще можно разумно описать, обойдется в то, что 80% времени будешь заниматься согласованием, а 20% собственно работой.
  • Как лучше брать оплату за работу (фикс за объем / фикс за время / почасовая)?

    @redakoc
    mitekgrishkin:

    Смею предположить, что вы еще учитесь?

    Описание объема работ одна из нетривиальнейших подзадач, а тут даже и вообще все плохо.
    они сами не знают, что хотят.
  • Как лучше брать оплату за работу (фикс за объем / фикс за время / почасовая)?

    @redakoc
    Пума Тайланд: Вы работодателю по носу баблом, он вас по носу работой.
    Без конкретного описания работ фикс невозможен.
  • Как пользователи могут пожертвовать Хабру свои средства?

    @redakoc
    Евгений Вадрусов: https://habrahabr.ru/company/roem/blog/193488/
    Вы всерьез считаете, что 2000*1000 мотивирует Хабр отключить рекламу, если весь ресурс оценен в десятки миллионов долларов США?