Pull to refresh
27
0
Aleksandr A @monolithed

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

Send message

Изменение состояния и рендер — разные вещи

Как бы вы не меняли местами названия файлов проблему нагрузки на ЦП и версионирования это не решает. Фигма отличный инструмент, но очень непродуманный для больших и закрытых проектов.
Cookie и localStorage в контексте заголовка отличаются лишь степенью доступности.
Если куки прочитать нельзя (выставив флаг HttpOnly), то зачем их сравнивать?

Содержимое статьи можно уложить в три предложения — храним сессию в куках с флагами secure, HttpOnly и SameSite. Выставляем заголовки X-Content-Type-Options, Strict-Transport-Security, X-XSS-Protection, X-Frame-Options, Referrer-Policy, Content-Security-Policy, Expect-CT, Feature-Policy и Cache-Control. Ну и не забываем про токен.
я с 2015 года вообще ни разу не работал с теми кто может в момент написания кода нагенерировать кучи ошибок, даже если ошибки появляются, их тут же видит разработчик

У вас искаженное восприятие о своих коллегах, и о себе в том числе.
За прошедшие полгода я провел свыше 160 технических интервью, из которых взял каждого 4-го и лишь единицы отправили на первое ревью код, который не ломал обратной совместимости или не вызывал ошибок.
Если вы не видите своих ошибок — это не значит, что их нет.

А какие есть настоящие аргументы в пользу unit тестов против тестировщиков на проекте?

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

писать авто тесты, то это опять же идиотизм ничем не обоснованый в реальной жизни и программист становится тестировщиком ручным в том числе, потому что только ручное тестирование выявляет 99% багов и 1% выявят автотесты

Начните писать тесты, чтобы было наоборот.

У меня было 2 крупных проекта на TS и того: профита 0, оверхед по временным затратам ощутимый, неоправданная головная боль и вынужденные костыли с типами для всех компонентов которые претендуют хоть на какую-то универсальность…

Если вы не справились с описанием типов для собственных же интерфейсов, то сложно представить, что вы там написали.
Первый раз в своей жизни воспользовался Почтой России… и не могу сказать, что 22 сортировки в московских отделениях меня порадовало. Что касается медицины, то средства, которые идут в ОФМС могут мне покрыть два ДМС!
Моя посылка путешествовала 22 дня по московским отделениям, но радует, что дошла :)
Можно еще короче:

new Intl.DateTimeFormat('ru').format(new Date());
let date = new Date();

date.toLocaleString('ru-RU', { day: 'numeric', month: 'numeric', year: 'numeric' });
Для работы с датами есть Intl.DateTimeFormat и Date.prototype.toLocaleString. Базовые потребности они удовлетворяют более чем.
Это когда есть уже готовый набор компонентов, которым можно задать различные значения и затем результирующий JSON вставить верстку:

<Block name="header" options={ header_json }>
     <Block name="menu" options={ menu_json }></Block>
</Block>


Тут все довольно примитивно и что-то еще упрощать смысла особого пока не вижу.
Пусть твой API поддерживает только один формат возвращаемых данных

JSON это, конечно, круто и его точно нужно поддерживать с самого начала. Но с развитием системы должна быть возможность выбора формата выходных данных, например, AtomPub.

Какое-то противоречие.

Причем, формат вывода должен определяться нативно, через заголовок HTTP Accept, а не через лишние конструкции вида ?format=xml.

Ну и какой профит это дает?
Не буду перечислять замечания, которых уже достаточно в комментариях, скажу следующее: если вы пишите статью с такими громкими заголовками, то она должна основываться на рассуждениях, противоречиях, проблемах и пр. личном опыте, который вы получили использую те или иным практики, инструменты и навыки, а не заканчиваться ссылкой на изучение основ HTML.
На данный момент меня устраивает практика когда дизайнеры переносят макеты из Sketch в Zeplin, а из последнего верстальщики переносят стили в конфигуратор блоков (не WYSIWYG разумеется), который выдает JSON. Причем когда элементов уже достаточно, то основным инструментом становится именно конфигуратор. К сожалению, сейчас порог внедрения такого рабочего процесса очень высок для большинства компаний и уж тем более фрилансеров.
А можно узнать о каких инструментах идет речь?
По личному опыту, в этом вопросе очень много противоречий, которые на данный момент не может решить ни один из существующих инструментов.
Я согласен только с одним замечанием — количество багов растет с каждым новым релизом. Регрессионное тестирование явно следует подтянуть.
Однако стоит отдать должное команде саппорта и инженерам — большинство багов они исправляют оперативно.
Единственное, что для меня остается непонятным, так это почему они не могут поддержать макросы для Node. 11 лет тикету! Почему в Java этой проблемы нет?
Если, да как бы..., для таких случаев есть даже термин — преждевременная оптимизация.

Преждевременная оптимизация — корень всех проблем в программировании (Donald Knuth).

studying && hardWork && luck есть в исходном примере, почему вы это называете perl-подобной конструкцией?
Похоже на обычный DI, тоже ничего криминального не вижу.
node program --foo=1


module.exports = new Proxy({}, {
	get (target, name) {
		for (let option of process.argv) {
			let [key, value] = option.split('=');

			if (key === `--${name}`) {
				return value;
			}
		}
	}
});


let options = require('./options');

options.foo; // 1


Правда тут есть нюанс с пустыми опциями, но это всего-лишь нюанс…
Эм. а почему в табличке нет argparse, у которого с 330k загрузок сутки?
Недавно моя поисковая выдача стала выглядеть так:

image

Очистка кук решает проблему!

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity