Pavel Osin
@osinpaul
Павел Осин. Frontend-разработчик. Заметки о программировании и не только.
🏠 Пенза, Россия.
102 posts

Использование inject() и модификаторов для DI в Angular

Начиная с Angular 14, появился новый способ внедрения зависимостей через функцию inject(), которая позволяет получать сервисы без использования конструктора. Это особенно полезно в Standalone Components и ситуациях, когда хочется избавиться от лишних зависимостей в конструкторе.

Ограничения CallStack в JavaScript

В процессе изучения рекурсивных функций на JavaScript можно столкнуться с интересным ограничением: функция, вычисляющая сумму чисел от 1 до n, как в примере ниже, может корректно работать только до определённого значения n.

Создание своей стратегии загрузки в Angular

Недавно наткнулся на собеседовании наткнулся на вопрос, как создать свою стратегию загрузки. В интернете много примеров о том, как это делается для NgModule приложений, но для standalone примеров совсем немного. Что-ж, разберем этот вопрос детальнее.

В чём разница между constructor() и ngOnInit()?

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

В чём разница между event.preventDefault() и event.stopPropagation()?

У всех событий в Javascript есть 3 фазы: погружение, таргет и всплытие:

Различия toSignal() и toSyncSignal() в Angular

Оба метода (toSignal и toSyncSignal) позволяют преобразовать Observable в Signal, но они имеют разные требования к синхронности и способу обработки начального значения.

Замена даты создания файла на exif

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

Как отключить рекламу в Яндекс.Браузере

В свете санкций решил перестраховаться и отказался от облачных сервисов Google и других иностранных компаний. Установил Яндекс.Браузер, но мешала реклама на главной странице "табло". Нигде не сказано как её отключить, но решение есть:

Как убить процесс по PID в Windows

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

Использование ngProjectAs в Angular

Директива ngProjectAs в Angular используется в процессе Content Projection для переопределения селектора контента, который будет проецироваться в слот, определенный в компоненте.