• Как правильно одновременно разрабатывать приложение на react и react native?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Если приложение переписывается на react, то одновременно держать react-native + react базу поможет react-native-web пакет, но там нет FlatList до сих пор, ждут давно.

    Для одинаковых компонентов - все просто, один файл. Если же для какого-то компонента требуется различный код, можно делать два файла xxx.web.js и xxx.ios.js (например), и на стадии сборки в сборку включать только те, что подходят под проверку (для веб собираете или для mobile).

    Общие компоненты (uikit - кнопки, надписи, стили и тд) - все можно вынести в отдельный пакет / отдельную директорию. Вы пишите, что у вас уже есть - ок, используйте, если они готовы для этого (но я думаю вряд ли, надо как минимум адаптировать/переписать будет)
    Ответ написан
    Комментировать
  • Какой вариант кода лучше?

    rockon404
    @rockon404
    Frontend Developer
    Хотя бы такой:
    function Modal(options) {
      this.el = (options && options.el) || document.body;
      // init some options (text, width, onClose, onConfirm, etc)
      this.init();
    }
    
    Modal.prototype.init() {
      // build and append modal
    }
    
    Modal.prototype.show() {
      // show modal and overlay
    }
    
    Modal.prototype.close() {
      // close modal and overlay
    }


    var modal = new Modal(options);
    var btn = document.querySelector('.btn');
    
    btn.addEventListener('click', function() {
      modal.show();
    });
    Ответ написан
    Комментировать
  • Ошибка миграции Laravel?

    titov_andrei
    @titov_andrei
    All my life I learn - and die a fool!
    Как указано в руководстве по миграции, чтобы исправить это все, что вам нужно сделать, это отредактировать
    AppServiceProvider.php файл и внутри boot метода установить длину строки по умолчанию:

    use Illuminate\Support\Facades\Schema;
    
    public function boot()
    {
        Schema::defaultStringLength(191);
    }

    После этого все должно работать нормально.

    https://laravel.com/docs/master/migrations#creatin...
    Ответ написан
    2 комментария
  • Как исправить ошибку аутентификации?

    ubukulov
    @ubukulov
    Веб-разработчик
    Вы пытаетесь авторизоваться через ИД.

    Соответственно для него есть метод:

    Auth::loginUsingId(1);

    Authenticate A User By ID

    To log a user into the application by their ID, you may use the loginUsingId method. This method accepts the primary key of the user you wish to authenticate:

    Auth::loginUsingId(1);

    // Login and "remember" the given user...
    Auth::loginUsingId(1, true);

    https://laravel.com/docs/5.6/authentication
    Ответ написан
    1 комментарий
  • Почему защита от массового назначения работает не везде?

    v_decadence
    @v_decadence
    Потому что второй вариант вызывает update на всей выборке, а не на конкретной модели. В этом случае не сработает защита, события, мутаторы и прочие плюшки Eloquent
    Ответ написан
    Комментировать
  • Запуск jquery скрипта по одному селектору для нескольких DIV. Как правильно поступить?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    Сперва надо найти источник ошибки. Тут ошибка не в том, что у вас много одинаковых классов, на которых надо инициализировать скрипт. Не важно сколько контейнеров - все они должны нормально отработать.
    Проблема у вас кроется в том, что скрипт не может отработать правильно пока в блоке не будут загружены изображения.
    Проверить загрузку изображений можно плагином типа такого:
    imagesloaded
    Уже по колбэку этого плагина инициализировать твентитвенти.
    Ответ написан
    Комментировать
  • Почему многие JS/jQuery "плагины" так много весят?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А проверьте теперь свой скрипт во всех браузерах, начиная с IE8. И под другими операционками. И в мобильных тоже. И встроенным в iframe. И в сочетании с другими плагинами.
    Большой объём - это плата за универсальность.
    Ответ написан
    Комментировать
  • Как передать массив из JS в PHP?

    @balamyt92
    ; select * from users; --
    https://secure.php.net/manual/ru/function.urldecode.php

    А вообще правильнее предавать как параметр, например:
    var res = [
                32,
                32,           
                132,
                13.2,
                118.8,
                'слово на русском'
            ];
            var  arr = JSON.stringify(res);
            location.href='http://INSPECTION/CALCMARsaveOk/?arr='+ arr;

    var_dump($_GET);
    Ответ написан
    1 комментарий
  • Можно ли вместо 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
    PostgreSQL DBA
    echo $$ вам возвращает pid оболочки, которую exec запустил. То что число находится рядом с искомым - совпадение.

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

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

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

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

    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

    М - моск )
    Ответ написан
    Комментировать