Вперед!

"Все получится, если постараешься, но ничего не узнаешь,пока не попробуешь." © Инори Юдзуриха

Bitrix Xdebug настройки

Надоело быть слепым в этом *баном Php и Bitrix! И так развернули BitrixVM , заходим /etc/php.d/15-xdebug.ini , почему мля префикс 15 тоже непонятно, но вообщем вот эти настройки заработали и позволили нормально слушать дебаггер из PhpStorm. 192.168.1.40 - это ip на который сел VM, в документации пишут что xdebug.so находится тут /usr/lib/php/modules/xdebug.so, такой директории не оказалось, а вот в lib64 нашлось. Если  в лом искать CentOs ручками и менять, поставь mc (командер мля), через yum install mc, дойдешь до католога , надешь файл жмяк F4(редактируем) - пишем конфиг, F2 (сохраняем), удаляем в пень 15-xdebug.ini.disabled , F10 (выходим из mc). Перезапускаем в пень все, reboot или можно просто сервис перезапустить service httpd restart. Ну и все. Удачи

;Enable xdebug extension module 
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_host=192.168.1.40   
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"

Bitrix делаем свой пагинатор !

Захотел немного красивостей от Flat Ui , захожу в битрикс , а там системный компонент, что делать?

Заходим в bitrix\templates\makarsuperstar\components\bitrix\system.pagenavigation\arrows\template.php , стираем все нафиг и вставляем такой код Мой исходник  и получаем красоту . Тут я опустил, моменты что нужно подключить стили с Flat Ui, об этом позжу, пока дарю тебе свой код.

Восстановление пароля от Bitrix Администратора

Создать файл recovery.php, в корневой директории сайта, закинуть код приведенный в примере , набрать *.*.*.*/bitrix/admin/recovery.php (* - адрес сайта), сразу откроется админка без авторизации. После чего зайти в настройки "Пользователей" и поменять пароль или завести своего пользователя.

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
global $USER; $USER->Authorize(1); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");?>


Антипаттерны

Антипаттерны организации и управления:

  • Аналитический паралич (Analysis paralysis): Неоправданное внимание и затраты времени/ресурсов на стадию анализа.
  • Дойная корова (Cash cow): Прибыльный и успешный продукт, высокая прибыль от которого зачастую приводит к чрезмерной расслабленности в разработке новых версий продукта или новых продуктов.
  • Разработка комитетом (Design by committee): Результат вклада в разработку многих участников, но отсутствие единого видения.
  • Эскалация обязательств (Escalation of commitment): Неспособность отказаться от решения даже когда доказана его ошибочность.
  • Драконовские меры (Management by perkele): Авторитарный стиль управления, отвергающий инакомыслие.
  • Moral hazard: Отделение человека, принимающего решения, от последствий этих решений.
  • Управление грибами (Mushroom management): Стиль управления, при котором работникам предоставляется минимум информации и эта информация искажается (управлять грибами - содержть в темноте и прикрмливать навозом) .
  • Управление основанное на числах (Management by numbers): Уделение избыточного внимания численным критериям управления, когда они неважны или стоимость их получения слишком высока
  • Дымоход (Stovepipe): Организационная структура, при которой потоки информации циркулируют преимущественно вверх-вниз, но не горизонтально, между подразделениями.
  • Замкнутость на продавце (Vendor lock-in): Чрезмерная зависимость системы от внешней компоненты.
  • Сваливание расходов (Cost migration): Перенос расходов на проект к уязвимому отделу или бизнес-партнёру.
  • Путь камикадзе (Death march): Все знают, что проект обречён, кроме главы, вплоть до "дня X". Также применяется для стиля руководства, когда сотрудники вынуждаются к сверхурочной работе для достижения нереальных сроков.
  • Расползание рамок (Scope creep): Дозволение рамкам проекта расти без должного контроля.

Python генератор паролей

Очень полезная вещь, не нужно придумывать каждый раз пароль

 

import os, random, string length = 13 chars = string.ascii_letters + string.digits + '!@#$%^&*()' random.seed = (os.urandom(1024)) print ''.join(random.choice(chars) for i in range(length))