-
Битрикс портал — правка ошибки MySQL query error! Got a packet bigger than ‘max_allowed_packet’ bytes
Кейс от клиента: При авторизации на портале Битрикс 24 (коробка) ошибка MySQL query error! Got a packet bigger than ‘max_allowed_packet’ bytes (весь текст не буду выкладывать — смысл понятен) Если решать в лоб и быстро, то поможет /etc/my.cnf max_allowed_packet = 32M service mysqld restart решил разобраться, в чём собственно дело видно, что на update в…
-
VUE как отменить ввод в input radio
Кейс — есть радио инпут, нам нужно спросить у юзера реально ли он хочет переключить значение? если нет — не переключаем В моём случае радио инпут реализован в виде отдельного компонента. Первое — v-model = item.value заменяем на биндинг значения :value = item.value и событие смены @change = changeValue(item, $event)) с передачей в него значения…
-
Тест кейсы, разделение сущностей и типизация
В текущем проекте уже на шаге сдачи заказчику обнаружили баг, который можно было исключить при правильном проектировании сущностей (по сути таблиц хранения данных). Для наглядности сразу покажу скриншотик Т.е. у подгружаемого документа может быть тип «скан документа» (редактируемый pdf,собираемый из jpg) либо готовый документ с отделённой подписью. На этапе проектирования под оба варианта заложили одну…
-
JavaScript — проверка на число и разделитель разрядов для чисел
if ( Number.isFinite(+value) && parseInt(value) > 0) { return parseInt(value).toLocaleString(‘ru’) }
-
Оптимизация сервера CentOs и станции Ubuntu — увеличение swap, ускорение ssh соденияния, ускорение запуска mc
Заметка себе в закладки, чтобы не забыть — ну и может кому пригодиться. Увеличение swap Последнее время начал жестско подвисать локльная станция с ОС Ubuntu — подозрения пали на своп (и не зря). смотрим что сейчас #free -h #top или в системном мониторе Отключаем и удаляем этот файл подкачки следующими командами: #sudo swapoff -a #sudo…
-
Ускоряем PHPStorm в Ubuntu — External file changes sync might be slow + оптимизируем RSync
Если Вы при работе с PHPStorm (я работаю в Ubuntu) получили предупреждение External file changes sync might be slow The current inotify(7) watch limit is too low. More details. (Если Вы используете синхронизацию файлов с помощью rsync — Вам так же следует изменить данные параметры ядра) Вам необходимо увеличить параметр ядра fs.inotify.max_user_watches Максимальное количество файлов…
-
placeholder.com — генерация шаблонных превью изображений нужного размера
Однозначно в закладки! Очень удобный сервис генерации шаблонных изображений нужного размера, так же можно порулить самим текстом, его цветом и фоном. Раньше часто пользовался, тут понадобилось — совсем вылетело из головы… пришлось заново искать. Поэтому решил запостить сюда. формат можно задать любой .GIF, .JPG, .JPEG, .PNG <a href=»https://placeholder.com»><img src=»https://via.placeholder.com/300×150/FFFF00/000000.png?Text=WebsiteBuilders.com»></a>
-
Изучение технической документации Symphony на английском
Очень часто в программировании профи отсылают к документации именно на английском языке, как к первоисточнику. Я не очень сильно в английском (школа + институт был немецкий) поэтому частенько ленюсь напрягать извилины и читаю на русском. Сегодня словил яркий пример почему всё таки английский — благо есть более опытный коллега, направил в нужное русло. Итак ссылки…
-
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…
-
Activation Code PHPStorm 2022 — активация кодом (взлом vmoptions netfilter в Ubuntu)
Сначала, попробовал воспользоваться триальным месяцем для вновь созданного аккаунта — но почему-то триальные лицензий на таких аккаунтах не находились 🙁 пробовал в режиме инкогнито а так же с Tora, с аккаунтов yandex и gmail — эффект нулевой Далее решил уже приобрести платный ключ и каждый год продлять (на 3й год сумма существенно снижается) — НО…
-
Ошибка 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…
-
Битрикс — поиск событий обработчика
Проблема — обработчик FilmVersionSave слушающий событие OnIBlockElementUpdate задваивает результат. Хотел поискать что ещё «повешано» на этот метод, не нашел подходящего API Только такое $eventManager = \Bitrix\Main\EventManager::getInstance(); $handlers = $eventManager->findEventHandlers(«iblock», «OnBeforeIBlockElementUpdate»); тут нужно знать с какого модуля и какое событие, а мне наоборот — все события которые повесили на обработчик … Решение — табличка b_module_to_module в…
-
Дружим JQuery Bootstrap Tooltip и Vue JS с помощью кастомной директивы
В продолжении предыдущей статьи, уже в собственном авторстве как элемент модуля В отдельном файле import Vue from ‘vue’ const tooltip = Vue.directive(‘tooltip’, { inserted(el, binding) { $(el).tooltip({ trigger: ‘hover’, placement: binding.arg }) }, }); export default tooltip; В vue компоненте импортируем этот файл (путь вставляем свой) import tooltip from «../../directives/Tooltip.js»; добавляем соответствующую опцию directives:{ tooltip…
-
Дружим JQuery Styler и Vue JS в реализации 1С Битрикс API
Всем привет! Очень давно не писал — просто некогда. В отличие от времени когда я работал админом, сейчас, работая веб программистом свободного времени практически нет — всегда есть работа, которую нужно работать 🙂 Само по себе решение дружбы JQuery Styler и Vue JS конечно не лучший вариант, в идеале вообще нужно выкинуть JQuery и реализовать…
-
Битрикс — чистим b_sale_viewed_product
global $DB; $viewed_time = COption::GetOptionString(«sale», «viewed_time», «90»); $viewed_time = IntVal($viewed_time); $strSql = «DELETE «. «FROM b_sale_viewed_product «. «WHERE TO_DAYS(DATE_VISIT) < (TO_DAYS(NOW()) — «.$viewed_time.») LIMIT 10000000″; $db_res = $DB->Query($strSql, false, «File: «.__FILE__.» Line: «.__LINE__); Фактически это код метода CSaleViewedProduct::ClearViewed() с увеличенным лимитом (1000 -> 10000000), который можно запускать автономно через ком. строку PHP. Лимит вообще можно…
-
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) в цикл…
-
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 <? namespace WebSlon; ini_set(«xdebug.overload_var_dump», «off»); echo «<pre>»; $lastModFiles = new LastModify(); $time_start = microtime(true); $res = $lastModFiles->getFiles(); var_dump($res); $time_end =…
-
MYSQL Убираем дубли из таблицы — есть ID и нет ID
MYSQL Убираем дубли из таблицы если есть поле ID CREATE TEMPORARY TABLE `t_temp` as ( SELECT min(id) as id FROM `table` GROUP BY name, surname ); DELETE from `table` WHERE `table`.id not in ( SELECT id FROM t_temp ); MYSQL Убираем дубли из таблицы если нет поля ID на примере таблицы b_user_access_check В текущей версии…
-
Мультисайтинг для интернет магазина Фотообоев
Наконец, то выделил время и допилил мультисайтинг для интернет магазина фотообоев https://dekorimage.ru/. Так как мы доставляем фото-обои в любой город РФ, и фактически терминал любой ТК является точкой выдачи — теперь для каждого города есть свой магазин фотообоев на отдельном сабдомене, что позволит добавить в Яндекс Вебмастер для наиболее крупных городов свою региональность. Примеры: интернет…
-
Редиректные ссылки
Проверял на безопасность сайт на системе управления Битрикс, обнаружил, что ещё до сих пор активно используют редиректные ссылки Пример: https://stplace.ru/bitrix/redirect.php?goto=https://dekorimage.ru/ Если они ещё реально работают, можно приобрести базу доменов Битрикса и получить довольно много таких ссылок. Остаётся вопрос — как их поисковикам скормить?