Как стать автором
Обновить
4
0
Александр Ганжа @Arilas

Пользователь

Отправить сообщение
Как написано в статье, TurboFan сейчас заточен на ограниченный перечень фич, который CrankShaft не может оптимизировать нормально. И постепенно Turbofan будет пополнять список этих фич, и заменит CrankShaft. Те тесты запускаются чито на TurboFan, без CrankShaft
В последнее время, важно чтобы был указан домен, на котором находится пользователь, потому что внутрисайтовая навигация в последнее время может не соответствовать текущей реальной странице (при перезагрузке страницы пользователь может оказаться не на той странице, где он был). Уже даже встречал сайты, что текущая страница хранилась в localStorage, а не в URL.

То-есть главное, чтобы нельзя было подменить домен (что мозилла блокирует вроде).
Вам бы сообщить параметры DPI вашего устройства (если в настройках выставленное увеличение), разрешение монитора(стандартное ли для вашего монитора), Видеокарту. Просто может у вас High-DPI монитор, и проблема именно с этим?
А при начале разработки, был ли рассмотрен вариант Open Source? Просто даже Microsoft открывает все больше и больше компонентов в Open Source, а тут чистая проприетарщина полностью построенная на OS (Chromium, React, etc). При этом, если у вас есть компоненты, распространяющиеся по GPL лицензии, то вы обязанны открыть исходный код(часть, либо полностью).
В Browserify можно, я дроблю так:
var dependencies = [
    'react',
    'react-router',
    'react-bootstrap',
    'react-router-bootstrap',
    'moment'
];
var watcher  = browserify({
        entries: [path.ENTRY_POINT],
        debug: options.development,
        cache: {}, packageCache: {}, fullPaths: false
    });
    watcher.external(dependencies);
//....
var vendorsBundler = browserify({
        debug: options.development,
        require: dependencies
    });
/....


То-есть я в одном говорю, что они внешние, в другом говорю, что подключи только их.
А почему не ES6 модули и классы? Зачем все файлы подключать? Зачем все в одном, когда в npm и так огромное количество готовых и удобноых библиотек/фреймворков.
Цветные вкладки — цвет берется на основании favicon.
Без включенного недавно оно было красным (любимый цвет многих людей, да и цвет самого браузера основной), сейчас сделали темно-серый, который вроде как глаза успокаивает, но четыре градации серого для одного элемента — это слишком (верхняя панель -> вкладка + панель -> фон выделенной кнопки -> кнопка), то-есть все серое с разными оттенками.
Вообще сейчас сами сайты съедают очень много, к примеру сайт, который сейчас разрабатываем съедает примерно 200 — 300 мб оперативы, и это для него нормально.

Я писал немного про другое, в *nix системах есть определенный предел, при достижении которого, приложения начинают уходить в своп. То-есть, если есть приложение, которое неактивно, и оно занимает память — его выгружают в своп, если память занята, допустим, на 65% (стандартное ограничение linux), для того, чтобы текущему приложению можно было разврернуться. Так как сейчас компьютеры не с 512 мб оперативы, это ограничение более не актуально (при 65%, оно начинается свапиться при 8.х гб занятых из 16гб). Если у вас Хром занимает в памяти более 3 Гб, и допустим запущено еще что-то, оно начинает свапиться без причины. То-есть достаточно просто изменить лимит vm.swappiness допустим на 95%
Если линукс, почитайте про swappiness, и отрегулируйте в /etc/sysctl.conf Если мак, там тоже подобное есть. И не будет уходить в своп
Хм, странно, на компьюетере, которому больше 11 лет, стоит Sempron 2500, на нем уже есть SSE2
Процессор без поддержки SSE2, это у вас Pentium 3? Потому что поддержка этих инструкций появилась очень и очень давно, и они используются повсеместно (для того, чтобы оптимизировать как скорость, так и стабильность, безопасность). Немного объясню, для поддержки старого оборудования, программа компилируется с ключами эмуляции этих инструкций, то-есть вместо использования нативной возможности процессора, генерируется машинный код, который эмулирует эти инструкции. Поэтому компилировать без поддержки SSE2 никто не будет (уж очень давно его ввели).
Как вернуть «вырвиглазный» нормальный красный цвет? Когда оно все стало серым, оно теперь смотрится не очень красиво. Добавьте возможность выбора цвета для этого варианта (из пресетов желательно, лазить по всей RGB палитре в поисках нужного это конечно гибко, но чаще всего не нужно).
Обожаю Hot Pursuit 2 старый, у него и графика была интересной
FRP, опечатался)
Это чем он оборот набирает? Тем что он представляет собой класический RFP без какой либо очереди изменений? Он вообще ничего не привнес нового, все уже было. Берем задачу, изменить 1000 элементов на странице, во время правок, нам нужно (допустим) делать синхронный запрос на сервер, что мы получаем? Правильно, юзер видит незаконченные данные на странице. Виртуальный DOM лучше обычной идеи «ячеек» тем, что он позволяет применять правки практически мгновенно, после всей логики, которая выполняется.
#picking 1,2,4,6,8

Вообще интересная статья, знакомые рассказывали, что британцы считают, что все грибы, растущие в лесу, это поганки, и их есть нельзя.
Давно уже можно так:
<?php
$a = $_POST['a'] ?: 'asdf';
var_dump($a);

И без всякого ??
Да, в данном случае сработало, но помойму это костыль, сразу через два null'а идти, напрямую дергать поля, а не методы, если у кого-то такое будет в коде — нужно по рукам сразу же :)
$obj->name()['abc'] ?? $smth

Оно разве отловит Exception о том, что мы пытаемся вызвать метод у null? Это Recoverable Exception, но все же в определении ?? не указано, что он Exception'ы отлавливает, если бы он так себя вел, то помойму использовать его вообще нельзя (если нужно наружу выкинуть Exception, то что тогда?)

Проверил:
<?php
$a = $obj->name()['abs'] ?? 'asfd';
var_dump($a);

Вывод:
Fatal error: Call to a member function name() on null in *** on line 2

То-есть он аналогичен js по поведению:
var a = obj.some() || 5

Uncaught ReferenceError: obj is not defined


Большинство php разработчиков пишет часто на js, сейчас такая специфика, очень много client-side кода, и разное поведение одного и того же функционала часто приводит к банальным ошибкам (в большом проекте всегда есть коммит, который фиксит strpos с === либо сравнение с -1 вместо false во многих случаях)
Если сравнить strict types с тем же HACK, то он обозначает, что в файле должны быть указаны все типы, для всех входящих/выходящих переменных, в PHP 7 strict_types просто отключает некоторые конвертирования типов (то-есть если указан int, а передается string, он не будет строку в int перегонять).

Я знаю как сделать чтобы код, который я скинул работал, проблема в другом, что все равно RFC очень поверхностные. Что дает strict mode в HACK:
1. Полный статический анализ кода, и типов каждой переменной (в hh_client можно узнать тип каждой переменной, указав номер строки и символа, также можно получить автодополнение в любой редактор для любой части кода)
2. Из-за того, что типы известны, есть экономия памяти, потому что не нужно делать структуру как в PHP для хранения значения
3. Исходя из пункта выше, JIT некоторые части кода после прогрева переводит в нативный код (если помните HPHPc, то он компилил тогда весь проект, здесь, только если может, и может отдельные части)

Что дает strict_types в PHP 7:
1. Дополнительные проверки в runtime для того, чтобы проверить, что переменная действительно нужного типа
2. Нельзя статически анализировать(нет полной картины типов, из-за отсутствия Nullable)

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность