Автор: gtalex

  • Linux как освободить порт 3000

    Частенько при повторном запуске ноды проект запускается на порте отличном от 3000 (вывалилась по ошибке или ещё что). Это подбешивает если честно, т.к. все ссылки заточены на 3000 вот такой командой можно освободить порт fuser -k -n tcp 3000 а так создать альяс, чтоб в следующий раз с ком.строки вызывать kill3000 alias kill3000=»fuser -k -n…

  • Битрикс портал — правка ошибки 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/. Так как мы доставляем фото-обои в любой город РФ, и фактически терминал любой ТК является точкой выдачи — теперь для каждого города есть свой магазин фотообоев на отдельном сабдомене, что позволит добавить в Яндекс Вебмастер для наиболее крупных городов свою региональность. Примеры: интернет…