Тут есть нюанс, при использовании такой "фабрично кнопки", у вас будет тянутся код всех кнопок, даже если вы используете только одну-две. И какой-нибудь tree shaking тут тоже не поможет
Ууууууф, честно говоря, сложновато. Предложил бы сначала "на кубиках" объяснить общие понятия и концепции работы, а уже потом погружать в поля, классы, код. А то сейчас не очень складывается понимание, что там происходит
Как выглядит и работает очередь задач? Как расставляются приоритеты? Это как рассказывать eventlooop описывая только сигнатуры всяких requestAnimationFrame
На кого будет восстановлен пароль, когда в форме восстановления пароля будет введено "pewpew"
На ту почту которая привязана к аккаунту "pewpew", почему вы решили, что вк не будет делать ни каких проверок только потому что логин у почты/странички совпадает?
Прочитал статью и не совсем понял, как все это ложиться на нынешние концепции SPA? В примерах используют компонент Note, который берет данные прямо с сервера. Но как он возьмет данные когда мы поменяем id уже на клиенте, c помощью навигации? Ведь SPA не подразумевает загрузку страницы на каждый роут. Нужно ли будет загружать целые компоненты по сети? Придется ли реализовывать оба способа получения данных?
Ну и судя по ограничениям, каждый компонент на серверный не переведешь, не получится ли так на практике, что эта "оптимизация" при затраченных ресурсов не дает значимого прироста?
Субъективная у вас конечно "человекочитаемость", все эти лесенки, стрелочки. По мне так, наоборот, читаемость, это когда операнд сам по себе говорит что он делает, читаешь в слух и осмысленные предложения получается сразу. А тут сиди запоминай в какую сторону стрелочки рисовать.
Покажи тот же jsчеловеку, который вообще поверхностно знаком с программированием, он уже сможет приблизительно понять, что происходит. Где функция, где цикл. Покажи ваш язык и… в общем спорно
Будущее: классы, экземпляры которых сравниваются по значению?
Тут бы отлично подошли кортежи/записи + символы. Например, ввести символ Symbol.equal, который вызывается при сравнения ===. Тогда можно было бы определять этот символ в экземпляре и там возвращать кортеж/запись
Как бы могло выглядеть
class Test {
[Symbol.equal]() {
return Record({
a: this.a,
b: this.b,
c: this.c
});
}
constructor(a, b, c) {
this.a = a;
this.b = b;
this.c = c;
}
}
const test1 = new Test(1, 2 ,3);
const test2 = new Test(1, 2, 3));
console.log(test1 === test2);
В статье пишут, что при скачивании gastby качаются еще и остальные пакеты. Если посмотреть на package.json то там все зависимости в devDependencies, почему и зачем тогда они скачиваются? Щас лично проверил, что бы точно убедиться и установка yarn add gatsby качает еще и бабели, пакеты для тестов и так далее
Тут есть нюанс, при использовании такой "фабрично кнопки", у вас будет тянутся код всех кнопок, даже если вы используете только одну-две. И какой-нибудь tree shaking тут тоже не поможет
Ууууууф, честно говоря, сложновато. Предложил бы сначала "на кубиках" объяснить общие понятия и концепции работы, а уже потом погружать в поля, классы, код. А то сейчас не очень складывается понимание, что там происходит
Как выглядит и работает очередь задач? Как расставляются приоритеты? Это как рассказывать eventlooop описывая только сигнатуры всяких requestAnimationFrame
Хотел спросить про другие вопросы, а потом понял, что это перевод) В общем, интересно, конечно, есть ли объективный профит от всей этой затеи
Пара вопросов
Как в итоге повлиял этот переход на скорость загрузки и работу сайта? Есть ли объективные цифры/замеры?
Сколько в итоге у вас получилось серверных компонентов? 10%? 20%?
Есть ли какие то практик, как быстро оценить, какая часть приложения доступна для перевода, чтобы сразу понять, что это того стоит?
Все вызовы к localStorage лучше оборачивать в try-catch, иначе можно поймать различные багули с доступом, например, в FF
О какой связности речь? И какую логику хотите от отображения отделить?
На ту почту которая привязана к аккаунту "pewpew", почему вы решили, что вк не будет делать ни каких проверок только потому что логин у почты/странички совпадает?
Прочитал статью и не совсем понял, как все это ложиться на нынешние концепции SPA? В примерах используют компонент
Note
, который берет данные прямо с сервера. Но как он возьмет данные когда мы поменяемid
уже на клиенте, c помощью навигации? Ведь SPA не подразумевает загрузку страницы на каждый роут. Нужно ли будет загружать целые компоненты по сети? Придется ли реализовывать оба способа получения данных?Ну и судя по ограничениям, каждый компонент на серверный не переведешь, не получится ли так на практике, что эта "оптимизация" при затраченных ресурсов не дает значимого прироста?
Субъективная у вас конечно "человекочитаемость", все эти лесенки, стрелочки. По мне так, наоборот, читаемость, это когда операнд сам по себе говорит что он делает, читаешь в слух и осмысленные предложения получается сразу. А тут сиди запоминай в какую сторону стрелочки рисовать.
Покажи тот же
js
человеку, который вообще поверхностно знаком с программированием, он уже сможет приблизительно понять, что происходит. Где функция, где цикл. Покажи ваш язык и… в общем спорноМожно глянуть Апгрейд выглядит, конечно, как серия Черного Зеркала и не столь многобюджетный, но я бы сказал, что довольно хороший фильм.
https://github.com/willianjusten/awesome-audio-visualization есть вот такая сборка, кому интересны примеры интерактивные
Жесть, что теперь на медиуме какой-то лимит на кол-во статей бесплатных для чтения в месяц и сейчас каждый раз требуют проапгрейдить акк(
Cкорее просто неудачное название. В статье говорится, что плохо менять прототипы глобальных объектов, например
Array.prototype
, что справедливо.https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator есть как раз таки плагин бабеля
Добро пожаловать в 2020, что
pipe operator
, чтоrange
уже есть в пропозалах https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D0%B9%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80Тут бы отлично подошли кортежи/записи + символы. Например, ввести символ
Symbol.equal
, который вызывается при сравнения===
. Тогда можно было бы определять этот символ в экземпляре и там возвращать кортеж/записьКак бы могло выглядеть
Чего чего, а такого в коде я увидеть точно не хочу
А зачем вам вообще тогда аккаунт? "Просто посмотреть" можно и без него ( будет плашка о предложении войти, но она скрывается )
В статье пишут, что при скачивании
gastby
качаются еще и остальные пакеты. Если посмотреть на package.json то там все зависимости вdevDependencies
, почему и зачем тогда они скачиваются? Щас лично проверил, что бы точно убедиться и установкаyarn add gatsby
качает еще и бабели, пакеты для тестов и так далее