All streams
Search
Write a publication
Pull to refresh
11
0
Артем Березин @KhodeN

Веб-разработчик

Send message

Еще есть программа EAP (Early Access Program), но она не всегда действует(

А для этого есть GitHub и ссылка в package.json/repository. Это не настолько частая необходимость, чтобы оправдать раздувание node_modules.

если не указать явно список файлов (package.json/files), формирующих пакет, то по-умолчанию в пакет будут включены все файлы в каталоге. Например исходники не нужны при наличии уже собранного js файла.


Я лично разделаю package.json проекта и package.json пакета, формирующегося из проекта. В него попадает лишь необходимый минимум: собранный код, типы для TS, Readme.md. Также это даёт более явный контроль над зависимостями пакета.

image


Вот на этом скриншоте синие стрелочки туда-сюда открывают дифф для выбранного файла в отдельном окне (можно на весь экран)


Эти же стрелочки есть в окошке просмотра коммита в панели Git

По сравнению с 2019.3. В настройках найдите Commit, и отключите старый режим модального окна. После этого операция коммита станет похожей на VSCode — в боковой панели, сверху список (можно древовидный) изменившихся файлов, внизу окошка для ввода текста коммита. А diff теперь становится гораздо больше, ведь он открывается как обычная вкладка, а не пытается втиснуться в половинку нижней панели VCS, как раньше.


Казалось бы, изменения не столь значительные, но для меня они кардинально меняют взаимодействие.

Я бы еще отметил отличную переработку окна Commit и Git. Настолько удобным, что теперь отпала необходимость в сторонних клиентах для большинства операций.

Тут явно параметризованный запрос, SQL-injection не пройдет. (Если, конечно, внутри Query не sprintf)

Они как-то на нескольких аккаунтах вставляли разовый редирект на свою рекламу антивируса Касперского. Он происходил для всех http запросов до тех пор, пока не перейдешь и не выберешь отказаться или согласиться.
Общался с техподдержкой, высказывая своё "фи". Для них это норма: "нам же надо как-то знакомить пользователей с нашими выгодными предложениями"


Принципиально перешел от них к другим именно из-за этого скотского отношения. Влазить в мой трафик неприемлемо!

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

Это с лихвой окупается за месяцы и годы поддержки и развития. Может быть для MVP он кому-то и кажется лишним, но для больших проектов с длинным циклом — must have.


Да и если освоится, и в проекте типы и так есть, то на них не так уж много времени тратиться.

Обычно они DIY и крайне заморочистые (там нужно очень тонко выстраивать для достижения нужного качества).


Проще брать готовое, у тех, кто уже заморочился. Я беру у greg-3d, там доступно, особенно без катушек мотки.

Оффтоп: интересно, что за странное форматирование двумя разрядами вместо трёх для чисел больше 100.000

Как и в первой есть спорные моменты.


Замечания к первой части:


  1. Enum должны быть строковыми, числовые, особенно с неявными значениями (без знака =) — абсолютное зло, т.к. дебажить их нереально.
  2. Гетеры и сетеры — зло (об этом уже писали). Не нужно повышать уровень магии в коде. А валидация должна быть внешней, либо в специальном методе.

Замечания ко второй части:


  1. Интерфейсы предпочтительнее типов, используйте типы только, если нельзя выразить интерфейсом. Пруф. type — это просто алис для типов (или комбинации типов), а interface полноценная сущность.
  2. Если и использовать fluent подход (цепочки), то обязательно иммутабельные (т.е. каждое звено должно генерировать клон). Но лучше обойтись, и писать явно.
    К примеру:
    const query = q('xxxx').where('y');
    const query2 = query.limit(2); // если цепочка будет мутабельной, то мы неявно поменяем и query, что часто хотелось бы избежать

Угу, на растеризацию вектора, особенно детального, тратится сильно больше ресурсов, чем на отрисовку битмапа (просто набора цветных пикселей). За универсальность платим.


Я бы привел в пример для сравнения скриптовую сцену в игре и фильм.

присвоение innerHTML — самый быстрый (производительный) способ вставить большой фрагмент в документ. Уж движок знает, как быстро распарсить HTML. Портянка с дясятком DOM-операций не может быть производительней ОДНОЙ DOM-операции.

Гроза. Откуда молнии, непонятно. Давайте придумаем, что это дядька Зевс их кидает? Где тут бред?


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

Вспоминается похожая история с МакХост и Оверсан-Меркурий почти десятилетней давности. Там тоже разошлись во мнениях несколько человек, когда-то партнеров. И выключили рубильник в ДЦ.

Спасибо, вы избавили меня от необходимости писать то же самое)

Почти все пункты — вредные советы, не делайте так.


1 — очевидный, 8-й — ОК, полезно, но тоже очевидно.
Для остального есть куда более правильные способы.

На сайте Игоря Сысоева появился отзыв:


13.12.2019  
Читаю новости, читаю Хабр и Роем.ру.
Всем большое, ОГРОМНОЕ СПАСИБО за поддержку!
Очень ценим.

ITSumma возможно, можно добавить в UPD

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity