Memcached … или переделываю старый сайтец

Переделываю тут один проектик, который сам и делал 12-ть лет тому назад. Началось там все с релевантного поиска, развилось в переделку, и теперь переделываю новую версию этого сайта, в своем стиле. Заказчик захотел, понимаешь ли, новомодные вещи в дизайне и управлении конечно сделал классно, но не подошло, и вот теперь привожу все в «порядок».

Но дело не в том. Словил себя на мысли, что просто удивительно, насколько такие вещи, которые появились за это время делают все быстрей. Вот например Memcached — это же праздник какой-то просто. Повышает скорость запросов просто до неимоверных величин. В моем случае в 500 раз. То есть с 6 секунд до 10-12 миллисекунд.

А view-вы которых не было просто в древних версиях Майскл-а, а теперь есть. Оно же просто позволяет уйти от конструкция с временной таблицей.

Просто удивительно, как эти две привычные технологии ускоряют веб-приложения. Таки пользуйтесь и радуйтесь что мы в будущем.

Какие библиотеки, плагины и т.д. для верстки вы используете в своих проектах?

Однако, встретил тему с одноименным названием на хабре-тостере и решил написатьпро свое

  • jquery / jquery ui- для JS, удобно, но есть загибоны, например дефолтно она не экранирована и объявление пары — мне не понятно как
  • smarty  2/3 — перегадили идею в третьей версии, а ведь приходится ей пользоваться, особенно перегажено сообщение про ошибки, которое было непонятным, а теперь — загадочное
  • WP — головоломпка
  • bootstrap — встречал, но использовал как положенно, только кастамно доедлывал
  • extjs (sencha) — замечательное ПО, но сильно завернутое и с платной до безобразия поддержкой, лучше не используйте
  • jquery datatables — для того же что и таблицы предудущено екста, но в более дружественной манере.

А болше я ничем и не пользуюсь, ибо

Пару слов про протокол обмена APC

Вот тут хорошие люди собрали список команд протокола APC. Мне оно важно так как хотелось бы сделать выключение ящика АРС с помощью Ардуины. Что позволило бы упростить процесс полного выключения. оного девайса. И без покупки SNMP карты.

Balsamiq Moskups — классный софт, для создания интерфейсов и технических заданий (Mockup, Задание, Интерфейс)

Собственно рекомендую — Balsamiq Moskups. Вот, пример задания, точнее пары из его листков, что я сегодня нарисовал где-то за час. Обратите внимание, я эту замечательную программу первый раз в жизни использовал. Хотя задания получал в ней не один раз (ну или в чем-то похожем). Читать далее

Отзывы на чипмейкере

Тут сегодня оказалось, что у меня есть свободная минутка. Заказчик обсуждает с мудаками-разработчиками карты почему не кешируется css. Разработчики срут кирпичами и говорят, что я юзер агента ловлю и таким образом я виноват, сука такая. Кароче. у меня здоровье не железное. Выдал им ссылочку, она совсем прямая, файлик. Видно Rs Сloud Sites видно так защищается или чо. Ну пускай разбираются, милые.

И в итоге возникло Время. Решил я разобраться с индийской либротекой мидо, хотя оказалось, что ее разработчик из Одессы таки использует. А не индиец. Слава богу. Легче стало. Ну и решил я, что надо и свою библиотечку приделать. А то, будет три интерфейса к базе данных, растем вширь. 

В итоге быстренько вывел отзывы народу. Теперь будет хорошо всем, а то было неудобно искать.  Ай да мастер, ай да я (с) Сергей Александрович.

Screenshot_15 Screenshot_14

Ну и мораль сей басни такова. Своя либратека ближе к пальцам. А то медоо.ин я не осилил. Сил не было видно. Все смеситель забрал, ранее. А я еще и старый сделал, и переставил в ванную. И ручку душа поменял. Такие дела.

IPS4 Как забрать напоминалку про обновления из стартовой панели админки (даша)?

Достали напоминания ро обновления, в IPS4, просто забрал, хирургическим путем

ips4-hide-admincp-updatesnotes

Так как найти шаблон для этого не смог.

Местонахождение контроллера данных понятно:

\applications\core\modules\admin\overview\dashboard.php

По сути оно получается из URL’a, вот GEt-переменные запроса стартовой страницы даша:

app=core
mod=overview
controller=dashboard

Там же находиться и вывод плавающего окна с напоминанием. Его также забрал.

ips4-float-admincp-hide

Если кто подскажет где находятся соответствующие шаблоны — буду очень благодарен.

IPS4 и CloudFlare, как показать реальный IP

Вообще в IPS4 встроен разбор ай-пи адресов, даже в таком случае, когда облачный сервис настолько ненормальный что изменяет поля общепринятых глобальных переменных PHP. Речь идет про $_SERVER[«REMOTE_ADDR»] в который хостинг Cloudflare заносит адресс своего гейтвея.

Чтобы ликвидировать это, как стает понятно из кода, надо или включить данную функцию в конфиге, или использовать специальный заголовок.

Название настройки следующее:

\IPS\Settings::i()->xforward_matching, логическое, когда 1 — то обрабатываются заголовки перемещения ай-пи.

А второй способ, для хирургов,то есть кодеров. Просто добавляете в очередь обработки нужный заголовок. Который хостинг добавляет. Видно чтобы кодеры не скучали.

ips4_cloud_faire

А вообще замечательный пример того, что не надо делать. Лезть в заголовки. Тогда и изменять код не прийдется никому.

IPS4 — как вывести страну/город, когда не работает стандартный шаблон?

Столкнулся с одной ситуацией, когда разработчики IPS4 (Invision Power Board в прошлом), когда не выводились отдельно хранимые поля профиля. Метод /system/member/member.php::contentProfileFields (class _Member extends \IPS\Patterns\ActiveRecord) не работал.

Хотелось сделать, чтобы выводилась страна и город, с определенными условиями. Например, страну выводить надо было бы только если она отличалась от Украины.

Для начала надо было найти шаблон и таблицу базы где это все лежит. Нашел просто — первое поиском по слову post среди шаблонов, базу — по дампу и нахождению определенной информации, занес в один профиль уникальную строку и наше таблицу.

Оказалось, что в стандартном классе для вывода информации в шаблон была какая-то ошибка, я не стал искать что там. а просто добавил свой метод, для вывода как надо по ТЗ.

code_ips_addfields

А вот так находиться шаблон:

ips4_code_town_templ

Конечно, было бы правильно отремонтировал класс, сделать чтобы стандартный метод работал, но это могло потянуть за собой не понятные явления, поэтому сделано именно так — по линии кратчайшего сопротивления.