Последние публикации
Export env from file
set -o allexport
source conf-file
set +o allexport
…
Angular портит параметры
https://stackoverflow.com/questions/45428842/angular-url-plus-sign-converting-to-space
Метод, как определить, к чему цвет ближе - к чёрному или к белому
Как определить, данный цвет ближе к чёрному или к белому?
Мне пригодилось, чтоб проверить, подписан ли отсканированный документ
Тригерить перерисовку с любого Observable
Если Observable не связан с обращением к серверу или событием в браузер, при его срабатывании Angular не перерисовывает контент. Что делать, чтоб не химичить с зоной?
Проверка подписи эфириума и других криптовалют на PHP
Иногда при работе с эфиром надо проверять подпись. И вот как это можно сделать на PHP
Правильное уведомление о глобальных событиях в Angular
Иногда в системе может происходить какое-то событие, которое нас должно заставить перерисовать огромное количество несвязанных компонентов. Яркий пример - пользователь вошёл на сайт, и надо сменить и хедер, и сайтбар, и ещё черт знает что. Давайте посмотрим, как это делается неправильно и правильно.
Подключение серверного рендеринга Angular Universal
Сейчас SPA-приложения стали фактически стандартом. У большей части веб-приложений фронт написан либо на Vue, либо на React, либо на Angular. Но иногда возникают ситуации, когда нам нужено отреднерить наш HTML на сервере. В этом посте я опишу мой опыт с Angular Universal.
Максимальная высота для любого устройства
На хроме в анроиде высота 100vh считается некорректно. Но есть небольшой трюк в JS, чтоб это решить
Установка Libre Office без GUI, для использования для генерации pdf из docx
[code]
apt-get install libreoffice --no-install-recommends
[/code]
Почему важно уметь работать с промисами, а не только с async/await
Опыт руководства командой молодых фронтенд разработчиков показал, что сейчас при обучении уделяется недостаточно внимание "классу" Promise, а делается ставка на синтаксический сахар async/await. Это не всегда себя оправдывает. Небольшое отступление: во многих источниках, даже на MDN, пишут "объект Promise", но с точки зрения теории ООП, это скорее класс. Но настоящих классов в JS не бывает (даже в новом стандарте это сахар для прототипов), поэтому слово класс я беру в кавычки
Linux узнать тип памяти
sudo lshw -class memory…
Git - удаление чувствительных данных (конфигов и т.п.) из всех веток репозитория
Бывает так, что случайно добавился конфиг или какой-то левый файл в гит, но заметил это только когда уже запушил. Вот решение проблемы. (постоянно забываю этот приём). Оригинал на английском
@ViewChild, ссылка на динамический блок под *ngIf
Иногда бывает необходимо получить через @ViewChild() ссылку на блок/компонент, который в шаблоне закрыт на *ngIf, т.е. по определённому условию появляется и исчезает. К счастью, сделать это достаточно просто.
Дополняем работу с деревьями в TypeORM
Бэкенд этого блога написан на фреймворке NestJS с использованием TypeORM. По началу я был почти в восторге от последней, особенно порадовала поддержка сохранения древовидных структур разными методами, в том числе с использованием любимых мной Nested Sets. Но, к сожалению, поддержка деревьев сделана неполно. При удалении не пересчитывались left и right, не реализованы ни перестановка элементов, ни перенос элементов из одной ветки в другую и т.п. Пришлось переписать модуль для работы с Nested Sets с php.
Мои впечатления от NestJS
Недавно я решил поиграться с фреймворками для NodeJS. После первого тестового проекта на express захотелось поискать что-то более серьёзное и удобное. Наткнулся на NestJS. Для теста написал на нём бэкенд для этого блога
Слоты в компонентах Angular
Предположим вам нужно разработать компонент какой-нибудь панели, которая повторяется много раз в дизайне. У неё есть заголовок, у неё есть футер, у неё есть контент. Как сделать это оптимальным образом
Рекурсивный ng-template
Иногда необходимо отобразить рекурсивную структуру данных: меню, дерево каталогов, структуру организации. В ангуляре для этого можно эффективно использовать ng-template.
Статья написана на основе аглоязычной статьи Playing With Recursive Ng-Template References In Angular 6.1.10
Ng-template и передача вёрстки между компонентами
В этой статье я хочу рассказать об о возможности Angular, которая впечатляет лично меня больше всего - это тег ng-template, который фактически позволяет передавать кусок вёрстки вместе со всеми обработчиками событий
из одного компонента в другой. Такие пакеты, как ng-bootstrap активно пользуются этой возможностью для реализации модальных окон, а сегодня мы рассмотрим, как этим воспользоваться самим
basename + Apache + русские имена файлов
Для извращенцев вроде меня, которые ещё используют апач периодически. basename врёт, когда в именах файла русские буквы
Динамическое формирование where для создания фильтров
Написать этот пост меня побудили вопросы на эту тему на форуме php.ru. Итак, нужно при задании фильтров каких-то объектов (например, товаров) динамически формировать where. Сейчас я покажу, как это делается в построителях запросов известных мне фреймворкоа. Возьмём простой случай, когда все поля для фильтрации в одной таблице, и не требуется join-ов.