Pull to refresh
53
0
maeris @maeris

User

Send message

Я даже и не знал, что кто-то перехватил эстафету у CHM, и сейчас активно поддерживается.

var используется там, где нужна производительность. На создание дополнительных областей видимости для let/const нужны ресурсы.

W3schools не имеют никакого отношения к w3c, например.

Я знаю только о тех, кто пошёл в школу раньше на год, и имеющаяся на руках статистика не в их пользу.

Да полно вам, у нас тут в дурке тепло и уютно.

AssemblyScript и его возможности компиляции TS в WASM напрямую я не верю

И правильно не верите. Они там не поддерживают даже замыкания.

Например, в одном случае это выглядело бы так

type Hero = {name: string};
const Hero = (name = 'Default'): Hero => ({name});
const log = ({name}: Hero) => console.log(name);
const asyncLog = (hero: Hero) => setTimeout(() => log(hero), 5000);

const batman = Hero('Batman');
log(batman);
asyncLog(batman);

А в другом как-то так:

const subscribe = (hero: Hero) => {
	const logMe = () => log(hero);
	const elements = [...document.querySelectorAll('button')];
	for (const element of elements) {
		element.addEventListener('click', logMe);
	}
};

А так у вас получается что-то странное:

  • getElementsByTagName создаёт живой список элементов по тегу, и если у вас нет намерения создавать новые кнопки в процессе итерации по другим кнопкам, его использовать, пожалуй, не стоит.

  • let elements = ... как бы говорит нам, что мы собираемся elements где-то мутировать, но нигде этого не происходит

  • в i < elements.length на каждой итерации length не бесплатный, он действительно идёт в DOM перезапрашивать текущее количество тегов, хотя, казалось бы, зачем тормоза разводить, если можно посчитать один раз

  • мы всё равно итерируемся по элементам и не пользуемся индексами, но зачем-то используется legacy цикл

  • this.log.bind(this) зачем-то создаёт новые идентичные объекты на каждой итерации с разными ссылками

А если не пользоваться var, this, call, apply, bind, function и class, то можно из "весьма оригинального" языка сделать даже production-ready язык! Даже IIFE расставлять не нужно, когда переменные адекватно к областям видимости принадлежат. Правильный набор ключевых слов для такой статьи был бы где-то такой: arrow function, closure, TDZ, spread operator, rest parameters. Содержимое статьи относится к разработке на JS только в случае, если вы сениор, которому нужно разгрести какое-то древнейшее legacy.

разрешает пользоваться NFC только тем банкам, которые платят компании, а Vipps представляет собой онлайн-кошелёк

Кто-нибудь понимает, что тут подразумевается? Нужна пояснительная бригада.

теперь всё возвращается на "доковидный" уровень.

Так оно и есть. Это как бы не десятая статья на хабре с паникой про падение продаж какой-нибудь электроники с далекоидущими выводами, и в десятый раз об этом пишут в комментариях вместо статьи.

const value = {[Symbol.toStringTag]: "Map"};
Object.prototype.toString.call(value) === "[object Map]" // true

Я вот вроде бы на реакте давно пишу, а всё равно не понял, как между микротиками может пролезть клик. Точно так может быть?

Там места много. Мы столько двигателей не сделаем, чтобы на фоне солнечной радиации хоть какой-то эффект видно было.

Если бы кто-нибудь с серьёзным лицом сказал, к примеру, что повар должен уметь работать на грязной кухне, или что врач должен уметь работать в грязной операционной, он был бы немедленно поднят коллегами на смех. Когда кто-то на собеседовании проверяет умение лавировать вокруг банановых шкурок, свежего помёта птицы додо и наваленных граблей, это вызывает недоумение, и должно его вызывать. Не понимаю, как случилось, что среди программистов многие не понимают, что помойка это не нормальное состояние для рабочего пространства, и что в такой ситуации уборка в приоритете над всеми остальными задачами.

На десктопе производительность одного ядра интересна, потому что никто не собирается переписывать однопоточный код. При переходе на существенно отличающуюся архитектуру под шумок можно переписать многопоточно, если речь не идёт про какой-нибудь трудноподдерживаемый блоб на 10 миллионов строк кода вроде фотошопа. Если вдруг случится так, что на десктопах выгорит переход с х86 на что-то ещё, производительность на ядро будет чуть меньшей проблемой, чем может показаться.

Как-то я посмотрел на эти задачи, и... если у вас в проде null + 1 и мутация объектов в useEffect это норма, я бы не хотел у вас работать.

(Конкретно на этот вопрос правильный ответ: на initState забыт readonly, FC почему-то берётся из неймспейса руками, useCallback потерян, export default запрещён линтом, код не проходит ревью.)

Если вы читаете такие вещи где-то в медиа, то стоит рассмотреть несколько вариантов:

  • Это нужно, чтобы пробировать реакцию населения. Выбирается козёл отпущения, который будет якобы от своего имени вбрасывать идею, а если народу сильно не понравится, на него грозно помашут пальчиком и выдадут премию.

  • Это нужно, чтобы выработать толерантность к идее. Каждые месяца два кто-нибудь околовластный, но не совсем, вбрасывает идею немедленно призвать айтишников, и какое-нибудь минцифры под утомлённые и облегчённые вздохи обязательно скажет "нет". До того дня, пока оно не скажет "да", конечно.

  • Это нужно противоборствующей стороне, чтобы из тупого высказывания раздуть целый медиаповод, дабы побольше айтишников сбежало.

Где тут "хорошие" не совсем понятно. Не думаю, что от этого сильно меняется план действий для отдельно взятого айтишника.

Можно не менять, просто выплатить все открытые на этот паспорт мошенниками кредиты и всё.

То, что можно поменять паспорт с утёкшими данными, не изображая из себя идиота, постиравшего паспорт в стиралке, совершенно естественно. Делать это придётся каждые пару месяцев из-за полного отсутствия у бизнеса интереса в том, чтобы персданные не утекли.

Об этом писали ещё под первой статьёй про выдачу брони.

Ну туповаты эти ребята, многоходовочки за полгода видно.

Вы не обижайтесь на комментатора выше, он не в обиду. Дело в том, что это один из необходимых навыков для выживания в качестве предпринимателя, и совершенно неудивительно, что у вас он есть.

Information

Rating
Does not participate
Registered
Activity