• Почему именно "root"?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Варианта два.
    1) Файловая система - древовидная, начинается с корня, и права на все есть только у суперпользователя. Вроде как у совсем старых юниксов, для суперпользователя даже не было отдельной домашней папки - использовался корень.

    2) Дерево процессов начинается с ядра системы (процесс init), который запущен от суперпользователя (root), который имеет доступ ко всем процессам.
    Ответ написан
    Комментировать
  • Почему именно "root"?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Выписка из Вики
    The name root may have originated because root is the only user account with permission to modify the root directory of a Unix system
    Ответ написан
    Комментировать
  • Что работает быстрее 10 потоков в 10 процессах или отдельные 100 потоков?

    @asd111
    Между потоками и процессам маленькая разница на уровне ОС.
    У процессов изолированная память, а потоки разделяют общую память внутри процесса.
    И это по сути вся разница.
    В плане производительности большая разница между потоками(процессами) и корутинами. Можно запустить 100_000 корутин и все будет работать, а 100_000 потоков скорее всего упадут с Out of memory.
    Ответ написан
    Комментировать
  • Как исключить дребезг живого поиска?

    @lloydbanks
    Ответ написан
    Комментировать
  • Как создать IT бизнес в регионе без программистов?

    Низкий уровень зарплат в регионе точно не является приемуществом в ИТ сфере, специалисты постоянно будут вырастать до определенного уровня и мигрировать в другие регионы с более высокой зарплатой.

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

    А так в принципе есть программисты которые любят работать удаленно из каких нить малых поселений, где относительно спокойная атмосфера без городской суматохи. Вот для таких надо создать условия: хорошее покрытие скоростного интернета и естественно хорошем плюсом будет если нахождение в регионе будет значительно дешевле чем в других регионах. У самого иногда возникает желание перебраться в какую нить деревушку и удаленно от туда работать :)
    Ответ написан
    1 комментарий
  • Как создать IT бизнес в регионе без программистов?

    Zoominger
    @Zoominger
    System Integrator
    низкий уровень зарплат.

    Хорошая заявка на успех среди веб-программистов.

    Есть ли подобные успешные примеры?

    Контор, которые заманивают сладкими сказками про 100 тыр/мес за JS+CSS лично я могу назвать с десяток. И они успешны, да.
    А что будет с лопушками, которые на это повелись, никого не волнует. Можете, кстати, сделать набор среди них, я серьёзно.

    Где то я читал,

    Где-то я слышал, что Земля плоская, а все шароверы - идиоты.

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

    Это просто мнение, если что.
    Ответ написан
    1 комментарий
  • Clickhouse и частые запросы?

    @CyberGrom
    Как вариант писать данные в redis, в качестве ключа использовать 5 мин интервалы времени, заодно проставив им время жизни 15 минут. Таким образом не придется вычищать вручную старые данные из промежуточного хранилища.
    Затем пишем простой скрипт, который запускается по крону раз в 3/5 минут, через redis-cli сформирует CSV или TSV файлы, запрашивая все данные по завершенному периоду (не текущие 5 минут, а предыдущие), который уже точно не пополняется новыми записями. И сразу же эти файлы добавляем в clickhouse.
    Ответ написан
    1 комментарий
  • Где можно порешать задачи по JavaScript?

    mbelskiy
    @mbelskiy
    Software Developer
    Русскоязычный сборник задач с автоматической системой проверки JavaScript решений:
    https://github.com/mbelsky/js-problems

    Там же в README есть англоязычные аналоги
    Ответ написан
    Комментировать
  • Где можно порешать задачи по JavaScript?

    Martovitskiy
    @Martovitskiy
    learn.javascript.ru есть куча задач
    Codecombat , есть русский.
    А вобще начните с англ, т.к. очень часто нужно обращаться к первоисточникам.
    Ответ написан
    5 комментариев
  • Какой встраиваемый язык выбрать: Lua или Python?

    Python решает практически любые задачи, по отношению к луа там огромнейшее кол-во библиотек и разного рода реализаций, когда Lua сама по себе чистая ВМ с минимальным функционалом (lua pipe, io и тд). Для встраивания лучше использовать Lua, потому что в ней нет ничего лишнего.
    Ответ написан
    1 комментарий
  • Какой встраиваемый язык выбрать: Lua или Python?

    icelaba
    @icelaba
    Знаю и умею всё
    lua а именно ее разновидность luajit имеет особенность которая выделяет luajit из всех скриптовых языков, а именно "халявное" взаимодействие с C чз ffi, не надо конвертить Cшные структуры - можно читать напрямую без потерь на конверсию во внутренние типы скриптового языка.
    luajit - очень очень быстрый, у меня на части задач он выдает производительность равную C шному коду

    Сама по себе lua если выкинуть парсер и как следствие использовать прекомпилированный lua код, очень мало увеличит размер вашего приложения - в случае android не больше чем на 50кб (там правда apk это zip)

    Собственно я использую luajit именно по причине ffi
    и невероятной скорости.

    Недостаток lua - меня коробят конструкции if then end do :-) - но только в эстетическом плане, сам по себе язык очень мощный и имеет все что надо - тупели, клозуры и тп :-)
    Ответ написан
    Комментировать
  • В чем отличие возвращаемого массива от объектов?

    mad_maximus
    @mad_maximus
    С коллекциями удобнее работать. Вы вот вспомните, что у вас в массиве, не заглядывая в код? А объект сам скажет, что у него внутри за счет публичных методов.
    Ответ написан
  • Какие преимущества использования классов вместо функции?

    rockon404
    @rockon404
    Frontend Developer
    На скриншоте пример неправильно спроектированного и переусложненного без необходимости кода.

    1. В ООП в данном примере нет особого смысла.
    2. query правильней предавать параметром в вызов метода getResults.
    3. key, proxy и base url в методе getResults не место. Перечисленные значения, скорей всего будут использованы в других местах. Ключи вообще отдельная тема, обычно они выносятся в env конфиги и не хранятся в репозитории.
    Ответ написан
    Комментировать
  • Какие преимущества использования классов вместо функции?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Ну, в данном случае, есть возможность создавать экземпляры класса с заранее заданным query. Тоже самое конечно можно сделать и через замыкание. Для такого функционала нет необходимости создавать класс, гораздо проще использовать функцию, а query передавать во время вызова функции.
    Но когда в вашем классе появится дополнительный функционал, например пагинация, то тут уже будет проще использовать класс, т.к. он проще расширяем. Но если реализовывать пагинацию внутри класса Search, то это уже нарушает принцип единственной ответственности, и я бы вынес функционал пагинации в отдельный класс.
    Но если как раз рассматривать саму пагинацию, то там удобнее использовать классы, вот примерно такую структуру я бы создал
    (пример на TypeScript)
    class Pagination {
        private currentPage: number;
        private countPages: number;
        public goToPage(page: number): void;
        public goToNext(): void;
        public goToPrev(): void;
        // ну, можно всякие геттеры для приватных полей.
    }

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

    @mr-troll
    // перебор массива Market и изменение кол-ва и цены. 
    foreach ($updMarket as $p) {
      $arLoadUpdProduct = [
        "amount" => $p["PROPERTY_56_VALUE"]+$p["PROPERTY_57_VALUE"]+$p["PROPERTY_58_VALUE"], 
        "price" => min([$p["PROPERTY_53_VALUE"], $p["PROPERTY_54_VALUE"], $p["PROPERTY_55_VALUE"]])
     ];
    }
    Ответ написан
    2 комментария
  • Как применять Vue, React, ... без изменения html-кода?

    SkiperX
    @SkiperX Куратор тега HTML
    им нужен корневой элемент вроде
    <body>
        <div id='app'></div>
    </body>

    и все
    html внутри они загенерят сами, на основе данных в json, которые пришли с сервера

    там свой язык шаблонов, и готовую верстку придется переделать
    Ответ написан
    Комментировать
  • Почему Android до сих пор так зависим от jvm?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    c# + Xamarin.Android оно про другое. Это возможность разрабатывать приложения под Android на языке C#, которые с точки зрения отрисовки UI будут являться нативными. Это не про отказ от jvm, хотя, конечно, в Xamarin.Android есть опции сборки AOT + LLVM)
    Ответ написан
    2 комментария
  • Как при редактировании текста сохранять его через определённые промежутки времени?

    0xD34F
    @0xD34F Куратор тега Vue.js
    throttle:

    computed: {
      text: {
        get() {
          // ...
        },
        set: _.throttle(function(text) {
          // здесь вызываете мутацию
        }, 2000),
      },
    },

    https://jsfiddle.net/hjub5swz/
    Ответ написан
    Комментировать
  • ООП, когда отрабатывают методы класса?

    DevMan
    @DevMan
    конструктор выполняется при создании объекта, остальные методы выполняются при их вызове.
    Ответ написан
    1 комментарий
  • Мутабельность в JavaScript?

    Xuxicheta
    @Xuxicheta
    инженер
    мутация (изменение) массива
    const arr = [1,2];
    arr.push(3);


    работа с иммутабельным массивом
    const arr = [1,2];
    const arr2 = arr.concat(3);


    Нужно для того, чтобы можно было следить за изменениями в сложных структурах.
    В первом случае arr тот же самый, чтобы обнаружить изменения нужно сравнить массив поэлементно.
    Во втором случае сразу arr !== arr2
    Ответ написан
    Комментировать