Автор: gtalex

  • mysql-bin забивает диск

    Сегодня пришло сообщение о недоступности сайта клиента. Начал разбираться — всё свободное место забито /var/lib/mysql, а точнее файлами mysql-bin.001 … и т.д. Оказалось включена репликация, причём о slave сервере никто не в курсе, и судя по логам синхронизации не было уже несколько лет, а лимит хранения не был настроен. Решение — отключаем синхронизацию Удаляю файл…

  • VMware не запускается на Ubuntu 22.04 LTS — ошибка Unable To Install All Modules

    При попытке запустить VMware предлагает установить модули vmnet vmmon, соглашаюсь — получаю ошибку «Unable To Install All Modules» с отсылкой в логи, где нех.я непонятно почему не работает Спасло такое решение с отсылкой сюда Т.к. информация носит для меня супер ценный характер, перекину себе для сохранности cd /usr/lib/vmware/modules/source git clone https://github.com/mkubecek/vmware-host-modules cd vmware-host-modules git checkout…

  • 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 =…