Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
29 Август 2022

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

PHPStorm в последнее время начал подтормаживать и зависать, сейчас на моменте зависания подловил сообщение
«The IDE is running low on memory and this might affect performance. Please consider increasing available heap…»
Тут всё ясно — маловато выделено оперативки, нужно увеличивать.
Тут инфа от вендора https://www.jetbrains.com/help/phpstorm/increasing-memory-heap.html

В 2х словах — идём в Help | Change Memory Settings.
Увеличиваем лимит, рестартим систему.

Я поднял с 1 до 4х гигов, пока полёт нормальный.

рубрики: PHP, Лайфхак, Размышления | Комментарии (0)

1 Август 2022

Activation Code PHPStorm 2022 — активация кодом (взлом vmoptions netfilter в Ubuntu)

Сначала, попробовал воспользоваться триальным месяцем для вновь созданного аккаунта — но почему-то триальные лицензий на таких аккаунтах не находились 🙁
пробовал в режиме инкогнито а так же с Tora, с аккаунтов yandex и gmail — эффект нулевой

Далее решил уже приобрести платный ключ и каждый год продлять (на 3й год сумма существенно снижается) — НО к сожалению из-за санкций к России оплатить заказ никак не получилось — даже после смены страны в настройке акканута оплата картой VISA Российских банков не проходила — PayPal у меня нет, а других вариантов оплаты на сайте не было…

Пришлось гуглить тему взлома 🙁

php storm activation key

Идём сюда https://jetbra.in/s
выбираем «живой» сервер, заходим — там качаем архив и кликаем по иконке PHPStorm (ключ активации скопируется в буфер обмена)

Далее я некоторое время помучался, т.к. у меня Ubuntu и по инструкции не «взлетало» (пользователям Windows думаю будет попроще)

Правил вручную phpstorm64.vmoptions — ожидаемого результата не было 🙁 при вводе ключа в PHPStorm получал «key is invalid»

При запуске скрипта scripts/install.sh получал

В итоге помогло решение скопировать содержимое архива прямо в пользовательскую директорию /home/alex/
Далее запуск /home/alex/scripts/install.sh отработал корректно — ввёл скопированный ключ и получил активацию на 1 год.

Чуть подробнее о моих изысканиях:
Читать полностью »

рубрики: PHP, взлом и безопасность, Полезности, Программирование | Комментарии (0)

13 Июль 2022

Ошибка gulp-imagemin: Couldn’t load default plugin «gifsicle»

На Ubuntu при сборке фронта gulp при минимизации изображений ругается

gulp-imagemin: Couldn’t load default plugin «gifsicle»

TypeError in plugin «gulp-imagemin»
Message:
fn is not a function
Details:

Ошибка: gulp-imagemin couldn’t load default plugin gifsicle

Решение: поочередный запуск команд в терминале ubuntu (внутри корневой директории проекта)

sudo apt-get install dh-autoreconf
sudo npm install -g gifsicle
npm install —force

Источник
https://zencod.ru/gists/error-gulp-imagemin-couldnt-load-default-plugin-gifsicle/

рубрики: Полезности, Программирование | Комментарии (0)

13 Июль 2022

Битрикс — поиск событий обработчика

Проблема — обработчик FilmVersionSave слушающий событие OnIBlockElementUpdate задваивает результат.
Хотел поискать что ещё «повешано» на этот метод, не нашел подходящего API

Только такое
$eventManager = \Bitrix\Main\EventManager::getInstance();
$handlers = $eventManager->findEventHandlers(«iblock», «OnBeforeIBlockElementUpdate»);
тут нужно знать с какого модуля и какое событие, а мне наоборот — все события которые повесили на обработчик …

Решение — табличка b_module_to_module в которой всё доступно и «по полочкам»

select * from b_module_to_module where TO_MODULE_ID=’fk’ AND TO_METHOD=’FilmVersionSave’;

Вот и всё — виновник OnBeforeIBlockElementUpdate найден!

рубрики: Bitrix | Комментарии (0)

16 Июнь 2022

Дружим JQuery Bootstrap Tooltip и Vue JS с помощью кастомной директивы

В продолжении предыдущей статьи, уже в собственном авторстве как элемент модуля

В отдельном файле

В vue компоненте импортируем этот файл (путь вставляем свой)

добавляем соответствующую опцию

и используем как обычную директиву vue

в моём случае

Дока по директивам

рубрики: VUE JS | Комментарии (0)

15 Июнь 2022

Дружим JQuery Styler и Vue JS в реализации 1С Битрикс API

Всем привет!
Очень давно не писал — просто некогда. В отличие от времени когда я работал админом, сейчас, работая веб программистом свободного времени практически нет — всегда есть работа, которую нужно работать 🙂

Само по себе решение дружбы JQuery Styler и Vue JS конечно не лучший вариант, в идеале вообще нужно выкинуть JQuery и реализовать фронт на чистом Vue…
Но когда вёрстка собрана на JQuery + Styler, соответственно со стилями «подогнанными» под Styler то на подбор нужных компонентов и их стилизация потребуется довольно много времени (по крайней мере у меня т.к. готовых подобных решений я не нашел).

Проблема — при обновлении поля значение в модели не обновляется, хотя поле прикручено к модели через v-model.
Решение — в vue mounted() вешаем на изменения объекта styler-а vue метод обновления значения поля в модели + в моей реализации далее прокидываем из дочернего компонента родителю с помощью $emit

В реализации API 1С Битрикс компонент оборачиваем в BX.Vue.component()

Пример реализации для чекбокса

Далее уже в шаблоне основного компонента используем пользовательский vue тег данного компонента с штатной директивой v-model для связывания поля ввода и с переменной

На авторство не претендую — компоненты реализованы в одном из проектов веб студии Слон, где я в данный момент удалённо работаю.

PS
Добавлю реализацию для выбора даты

рубрики: Bitrix, Javascript - JQuery, VUE JS | Комментарии (0)

18 Март 2022

Битрикс — чистим b_sale_viewed_product

Фактически это код метода CSaleViewedProduct::ClearViewed() с увеличенным лимитом (1000 -> 10000000), который можно запускать автономно через ком. строку PHP.
Лимит вообще можно убрать (но запускать ночью, в момент выполнения, сайт зависнет — на 5 миллионов записей у меня чистило где-то минут 10).

По идее метод очистки должен отрабатывать штатно, но у клиента почему-то таблица разрослась — пока решил почистить и понаблюдать причины.
(возможно как раз из-за маленького LIMIT либо по какой то причине метод вообще не отрабатывает).

Настройки, влияющие на размер этой таблицы расположены в настройках модуля «Интернет магазин»
«Время хранения просмотренных товаров (дней)» и «Максимальное количество просмотренных товаров пользователя».

После удаления желательно произвести оптимизацию БД.

рубрики: Bitrix | Комментарии (0)

24 Февраль 2022

bitrix cli в режиме watch не видит изменений vue — решение

При работе с bitrix cli в режиме watch столкнулся с проблемой — при изменении в vue файлах проект не пересобирается, что оцень неудобно — постоянно приходится в ручную запускать bitrix build.
Для решения необходимо модифицировать два файла

/usr/local/lib/node_modules/@bitrix/cli/src/utils/is-allowed.js
в строке 22 в switch добавляем строку
case ‘.vue’

/usr/local/lib/node_modules/@bitrix/cli/src/tools/watch.js
в строке 21 (функция createPattern) в цикл forEach добавляем строку
acc.push(slash(path.resolve(currentConfig.context, ‘**/*.vue’)));

далее в каталоге /usr/local/lib/node_modules/@bitrix/cli/ запускаем npm run build

всё — запускаем в проекте
bitrix build -w
меняем vue файл и видим, что сборка осуществляется в автоматическом режиме

рубрики: Bitrix | Комментарии (0)

18 Ноябрь 2021

PHP скрипт поиска изменённых файлов

В текущей разработке сделал скриптик, может кому пригодиться 🙂

Ищет изменённые файлы по маске «*.php» в рутовой директории, за исключением [«bitrix», «upload», «local»] за последние сутки.

Две доки по find с хорошими примерами
https://www.dmosk.ru/miniinstruktions.php?mini=search-linux
https://masterpro.ws/forum/6-linux/4710-kak-nayti-nedavno-modificirovannye-fayly-v-linux

рубрики: Bitrix, PHP | Комментарии (0)

2 Ноябрь 2021

MYSQL Убираем дубли из таблицы — есть ID и нет ID

MYSQL Убираем дубли из таблицы если есть поле ID

MYSQL Убираем дубли из таблицы если нет поля ID

на примере таблицы b_user_access_check
В текущей версии 1С Битрикс айдишника нет и пишут они туда без какого либо контроля на дубли, в результате чего у одного из клиентов 80 млн. записей и 8 гигабайт «вес» файла таблицы, всё это «добро» от включенной галочки «Сохранять историю изменения полей профиля пользователя:» и нулём в «Сколько дней хранить историю».
Собственно, штатных методов почистить не нашел и саппорт тоже ничего не подсказал, поэтому убираем дубли напрямую запросом:

рубрики: Bitrix, MYSQL | Комментарии (0)