Zubashev Stepan's blog

MediaNet

Международный центр журналистики MediaNet (medianet.kz) — некоммерческая неправительственная организация, созданная группой казахстанских журналистов в 2004 году. Сайт состоит из 3 разделов - MediaNet, MediaSchool, MRG (PR-агенство «Media Relations Group»). Включает в себя новости, акции, видео-материалы, галереи и пр. публикации.

  • К сожалению не ведётся владельцами :-(
  • Одна из моих первых работ, выполнена в компании dg.kz

Доска объявлений

Доска объявлений — модуль продажи и покупки товаров и услуг, разработанный для CMS-движка компании DG. Используется на сайтах Artparovoz и Crew. Модуль позволяет любому посетителю отправить на постмодерацию своё объявление. Объявление, помимо информационных полей, может содержать мини-галерею фотографий. Каждое объявление сопровождается лентой комментариев.

Для поиска по объявлениям используется фильтр, позволяющий отфильтровать искомые объявления, указав рубрику, поисковый запрос, регион и вид объявления (аренда. покупка, продажа, …). Объявление может получить VIP-статус, в случае если посетитель оплатит эту услугу, используя одну из следующих платёжных сетей: LiqPay (VISA, …), РобоКасса, WebMoney, SMS-платежи. VIP-объявления имеют отличный от остальных объявлений дизайн, а также используются в ротации блока-баннера промо-объявлений.

Sublime Text 2

Пару месяцев назад я случайно наткнулся на массу положительных отзывов о текстовом редакторе Sublime Text 2. Попробовав его в деле, я не разочаровался. Теперь это мой основной рабочий инструмент. Sublime Text 2 - это платный текстовый редактор, написанный на C++, который:

  • Работает в LinuxOS X и Windows
  • Обладает приличной скоростью работы
  • Приятным интерфейсом (включая всевозможные анимации)
  • Гибко настраиваем (правда, не в GUI, а в json-конфигах)
  • Имеет множество плагинов, число которых растёт как на дрожжах
  • Поддерживает VIM-режим
  • Использует fuzzy-поиск
Read more

Регулярное выражение для никнейма

Сия заметка о том, как написать регулярное выражение для проверки валидности никнейма. На мой взгляд, валидным никнеймом является ник начинающийся с алфавитного символа, и содержащий только символы алфавита, цифры, символы - и _, и пробел.  Ник не должен быть короче 4 символов. Загвоздка заключается в том, что алфавит может быть любым - японский, китайский, кирилический, греческий…

Если написать просто \w, то мы ~ получим - A-Za-z0-9, что точно не соответствует задаче. Решение -  \p{L} . В php сработает с версии >= 5.1.0, причём, если верить этому источнику ,  pcre должен быть собран с опцией “–enable-unicode-properties”. Я использую php5.3 из коробки, у меня всё заработало :) Итак, регулярка получается следующей - #^\ p{L} [ \p{L} \d-_\ ]+$# u .

IE7-8, jQuery и XFBML

Столкнулся с тем, что jQuery не умеет создавать DOM-элементы с составными именами, вроде <fb:like> в старых версиях IE. Решение - document.createElement( ‘<fb:like>’ ). Пусть вас не смущает, что elem.tagName === ‘like’, на самом деле он нормальный.

Мне все эти шаманства понадобились для динамического встраивания соц. кнопок “мне нравится” и таких же лент комментариев. Посему поделюсь некоторым опытом. Для того. чтобы в нужный момент заставить браузер подготовить плагин к использованию, нужно заранее загрузить все необходимые скрипты а после выполнить:

  • Для mail.ru и одноклассников - mailru.loader.require( ‘api’, function(){ mailru.plugin.init(); } );
  • Для vKontakte - VK.Widgets.НужныйВиджет( id_dom_элемента, { настройки плагина } )
  • Для Twitter - twttr.widgets.load();
  • Для Google+ - gapi.plusone.render( id_dom_элемента );
  • Для Facebook - FB.XFBML.parse();

При этом для facebook-а и g+ обязательно нужно задать все <meta property=“og:*” content=“…” /> теги и дополнительные аттрибуты к тегу <html>: