Задать вопрос
  • Можно ли вместо env() всегда использовать массив $_ENV?

    pxz
    @pxz
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    В приложении вообще не должно быть вызовов env() или $_ENV, кроме конфигов.

    После кэширования конфигов (artisan config:cache) env() всегда будет возвращать пустой результат.

    Это сделано для того, чтобы каждый раз не читать файл .env при старте приложения.
    Ответ написан
    Комментировать
  • Современные ОСи так делают? Компрессия кода в оперативке?

    Jump
    @Jump
    Системный администратор со стажем.
    что сейчас в многоядерных системах RAM бывает вся занята, а процы - отдыхают
    Бывает и так, бывает и по другому, это просто один из вариантов.

    А вот интересно, эта память RAM занята сжатыми данными (кодом, данными)?
    Такое бывает иногда.

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

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

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

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

    Сейчас норма для комфортной офисной работы - это 8Гб оперативной памяти и SSD диск под систему.
    Ответ написан
    Комментировать
  • Linux: echo $$ возвращает неправильный PID, почему?

    @Wexter
    Потому что exec запускает его в оболочке
    5afe88973d532713241107.png
    Ответ написан
    Комментировать
  • Linux: echo $$ возвращает неправильный PID, почему?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    echo $$ вам возвращает pid оболочки, которую exec запустил. То что число находится рядом с искомым - совпадение.

    Для получения pid'а собственного процесса в php существует соответствующая функция getmypid
    Ответ написан
    1 комментарий
  • Как на 100% отключить доступ в интернет?

    @sazhyk
    Мнда. Знатно вас тут тролють.
    В BIOS материнской платы зачастую есть возможность отключить модуль Wi-Fi, LAN, USB порты. Если ваша материнская плата эти возможности поддерживает, то отключаете вышеозначенные модули и ставите пароль на вход в BIOS. Из плюсов - точно не смогут подключиться, так как интегрированные модули будут отключены, а подключать внешние будет некуда - usb также отключены. Из минусов - usb отключены (флешку уже не сунешь). Ещё один минус, но это не точно, кажется последние редакции винды умеют обратно включать модули вафли на ноутбуках прямо из операционки. Тут надежный способ - выключить их физически, разобрав корпус.

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

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Выпаять разъем и вайфай-адаптер. Хотя в таком случае тот кто сядет за устройство может впаять их обратно.
    Ответ написан
    Комментировать
  • Почему массивы не равны?

    EreminD
    @EreminD
    Кое-что умею
    Потому что это два объекта и вы сравниваете ссылки

    var a = [];
    var b = [];
    a === b //false
    JSON.stringify(a) === JSON.stringify(b) //true


    повеселитесь

    var a = [];
    var b = a;
    a === b //true
    Ответ написан
    2 комментария
  • Как избавиться от: "an upstream response is buffered to a temporary file"?

    @Reversaidx
    Это не ошибка, просто файл не поместился в память, и использовался временный файл, смысл крутить настройки для больших файлов нет, т.к это не имеет значения(производительность наоборот может упасть)
    Ответ написан
    3 комментария
  • Как работать с очень длинными списками в JavaScript (angular, react, vuejs)?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    Слишком абстрактные вопросы. Сделайте с вашей вёрсткой и оцените производительность. Целиком перерисовываться ничего не будет. У каждой подобной библиотеки свои механизмы улучшения производительности. В варианте с вью, у вас скорее всего произойдёт просто добавление в список одного элемента и сравнение других элементов на изменение. И далее перерисовка того, что изменилось.
    Ответ написан
    Комментировать
  • Как работать с очень длинными списками в JavaScript (angular, react, vuejs)?

    alvvi
    @alvvi
    export default apathy;
    (angular не использует vdom, для него история другая)
    перерисует целиком свой виртуальный dom

    Давайте немного проясним: виртуальный DOM - это грубо говоря js объект содержащий другие объекты.
    При добавлении нового сообщения туда добавится новый объект и весь DOM сравнится со старой версией с помощью diff-алгоритма специфичного для конкретного фреймворка.
    И только результат этого сравнения добавится в реальный DOM.
    Работа с объектом значительно быстрее работы с самим DOM-ом, поэтому чтобы оно начало работать заметно медленее у вас должен быть дикий уровень вложенности или очень большой DOM.

    100 сообщений и 50 контактов - это небольшие цифры, с таким любой из упомянутых фреймворков справится без просадок.

    Вот пример бенчмарков с большим количеством объектов(1000+) для многих фреймворков на примере незамысловатой таблицы:
    www.stefankrause.net/js-frameworks-benchmark6/webd...
    (там же есть ссылка на репо чтобы увидеть как она выглядит)
    Как видите, там в таблицу уже содержащую 10 000 добавляется еще 1000(!) объектов, и многие фреймворки впонле с этим справляются.

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

    longclaps
    @longclaps
    Ну, если только 2 значения:
    UPDATE provodka SET code = 41003 - code; # 20501 + 20502 == 41003

    М - моск )
    Ответ написан
    Комментировать
  • Почему не сохраняется одно поле из 12?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Потому что его нет в fillable?

    Не говоря уж про то что отправляется departamen_id, а во всех других местах departament_id
    Ответ написан
    1 комментарий
  • Как определить темное фото или светлое?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    rgb - средний цвет изображения (или необходимого участка):
    function getContrastLum(rgb) {
            var luminance = 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];
            return luminance < 110 ? 'f0f0f0' : '020202';
    }
    Ответ написан
    5 комментариев
  • Какую архитектуру выбрать для вэб приложения?

    Stalker_RED
    @Stalker_RED
    Отправлять и принимать GET-запросы сейчас даже некоторые холодильники и утюги умеют.

    Берите тот язык который вам знаком, либо доверьте выбор тому, кого вы наймете. В идеале это человек, который уже разрабатывал игры.

    Описание механики у вас не особо подробное, но вполне вероятно, что достаточно будет написать небольшой конечный автомат, или просто пачку if-ов с проверками условий.
    Ответ написан
    Комментировать
  • Как правильно сохранять сессию в куки?

    Stalker_RED
    @Stalker_RED
    Неправильно.
    Лучше не играйтесь с безопасностью, если не понимаете как это работает. Используйте стандартный sessionid, и ничего больше в куки не нужно писать.

    php.net/manual/ru/session.examples.basic.php
    Ответ написан
    8 комментариев
  • Хотите задать вопрос администрации Тостера?

    Bandicoot
    @Bandicoot
    Вась-программист
    Добавьте раздел "Треп" или "Общение", куда будут перемещаться вопросы, удаленные из основной ленты по причине 'Ведет к дискуссии или спору'. Сейчас они удаляются физически, а зря - могли бы добавить посещаемости ресурсу)

    Тостер так и останется техническим ресурсом и вопросы не будут смешиваться, но появится новый веселый раздел)
    Ответ написан
    6 комментариев
  • Хотите задать вопрос администрации Тостера?

    @sir_Maverick
    Хотелось бы видеть в профиле не только список своих ответов, но и комментариев.
    Ответ написан
    2 комментария
  • Хотите задать вопрос администрации Тостера?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Было бы хорошо иметь возможность закреплять у себя в профиле не самые залайканные ответы, а те, которые сам выбрал. Чтобы там были серьезные ответы на сложные вопросы (которые не так много людей могут заценить), а не философские размышления и удачно подобранные ссылки.
    Ответ написан
    6 комментариев
  • Хотите задать вопрос администрации Тостера?

    longclaps
    @longclaps
    Встречаются ошибочные (либо ну очень кривые) ответы, помеченые решением.
    Никакого инструмента повлиять на это нет - только язвительные и бессильные комментарии (
    Доколе?
    Ответ написан
    23 комментария
  • Как передать аргумент в обработчик?

    0xD34F
    @0xD34F Куратор тега React
    Во-первых, параметр state функции, переданной в setState, перекрывает параметр state, передаваемый в modalRun. Во-вторых, второй параметр функции, передаваемой в setState - это props, а вовсе не state. В общем, дурацким выбором имён параметров сами себя в заблуждение вводите. Делайте так:

    modalRun = (modalState) => {
      this.setState((prevState) => {
        return {
          modal: {
            ...prevState.modal,
            state: modalState,
          },
        };
      });  
    }
    Ответ написан
    2 комментария