DevDocs - пишу в процессе разработок

Изменение перевода русской строки текста

Мне для одного клиента надо было изменять 1 строку перевода текста в сети на лету – в зависимости от кучи параметров. Я почти сразу вспомнил про решение от Сергея Бирюкова, где он навешивает фильтр, но какой фильтр и каким образом – я не помнил. Принципиально решил не рыться в коде, чтобы проверить, на сколько просто найти нужный пост в форуме (нашем, русском). В итоге убил почти 20 минут, но все-таки нашел. Вывод – сложно порой найти, но можно! Имейте в виду.

function change_any_ru_text($string) {
	if ( $string == 'Любая строка на русском языке' )
		$string = 'Измененная версия строки';
	return $string;
}
add_filter('gettext', 'change_any_ru_text');

Вставить можно как в файл functions. вашего шаблона, так и в файл /wp-content/plugins/bp-custom.php. Просто и со вкусом.

Полезные комбинации клавиш для NetBeans

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

1. Удаление всех пустых строк в файле (включая те, в которых только пробелы стоят):

  • в файле нажимаем CTRL+A, потом CTRL+H
  • Find What: \n\s*(\n)
  • Replace with: $1
  • отмечаем Regular Expression
  • нажимаем Replace

2. Удалить текущую строку: CTRL+E

3. Дублировать текущую строку: Shift+CTRL+↑ или Shift+CTRL+↓ (вверху или внизу соответственно).

Плюс для WP 3.0.4 и идея php-скрипта

Вышел 3.0.4 (хотя я ждал 3.1). Пишу об этом событии только по одной причине – новая версия потребляет на 250 Кб (0.25 Мб) меньше памяти! Собственно, не может не радовать этот факт. Почему так произошло – не знаю.

Далее, я сейчас по долгу службы пишу скрипт, который будет запускаться локально на компьютере и выполнять следующее:

  1. подключение к удаленного сайта
  2. выгрузка всей его базы и сохранение в sql файл на вашем компьютере
  3. запуск парсера (на предмет изменения всех uri на ваш локальный)
  4. очистка базы локального сайта
  5. импорт обработанной базы на локальный сайт

После этого вы получите полный подкорректированный слепок БД удаленного сайта – но уже локально. Удобно при разработке локально и необходимости тестировать что-то с данными, которые есть на живом сайте, не придется ничего ручками вбивать/редактировать.

Кого-нибудь интересует?

NetBeans – проблемы и решение

Во времена, когда я использовал ОС Windows (сначала 5 лет ХР, потом почти год – Win7) я очень долгое время работал в блокноте – Notepad++. Я и сейчас считаю этот редактор – одним из лучших в своем классе – легковесных, универсальных, быстрых.

Но затем один человек с ником показал мне , и с тех пор я понял, что легковесность и простота – не для меня. Даже сейчас, после перехода на Ubuntu, я работаю в 6.9. Рассказывать про этот редактор можно действительно очень долго, потому как он умеет практически все. Но история не о том.

Произошла у меня трабла – я случайно открыл NetBeans под рутом в Ubuntu. Я понятия не имею, повлияло ли это или может что другое, но с тех пор начала платформа у меня работать весьма странным способом. Сначала перестала сохранять настройки, потом открытые окна, потом поотваливались еще всякие штуки нужные и в конечном итоге – перестали видеться файлы проектов. Я менял права, доступы к файлам настроек – не помогало. Я плюнул на все и переустановил IDE – не помогло. Я отчаялся.

А вот сегодня, буквально 10 минут назад, я в очередной раз парсил интернет на предмет решения проблемы и наткнулся на новую -версию NetBeans 7.0. И подумал, чем черт не шутит. В итоге после ручного скачивания дистрибутива (не через Синаптик) и установки согласно ману (а также выбором папки /usr/bin во время инсталляции) я с замираением сердца обнаружил, что все зараболо! Проекты стали распознаваться! Счастье в малом…

Так что сейчас я довольный, как слон, и решил написать этот пост – просто поделиться :) Если у кого какие вопросы по платформе – спрашивайте, будем выяснять.

PS Первое, что бросается в глаза при запуске NetBeans 7.0 – скорость загрузки. Она выросла раза 3. Хотя это, возможно, только пока я снова не добавил кучу своих проектов. Но все равно, шустрее, что не может не радовать.

PPS А еще появилась кнопочка на внутренней панели, которая позволяет освободить используемую память, что весьма полезно при длительной работе… NetBeans написан на java, а значит, потребляет много оперативы…

Перевод: Сбор статистики о разрешениях экранов

В конце августа я интересовался общей статистикой разрешений экранов у пользователей интернета (хоть убейте, не помню, зачем). Тогда я наткнулся на сайт Screen Resolution Statistics, который позволяет увидеть статистику разрешений мониторов по всему интернету, а также есть возможность после бесплатной регистрации добавить свой сайт в систему, разместить на своем сайте и собирать соответствующие данные о своих собственных посетителях. В дальнейшем эти данные можно будет просматривать, а также создавать и скачивать отчеты.

Моя душа не выдержала, когда я увидел на какой-то внутренней странице предложение автора сайта перевести его на свой язык (тем более русского еще не было). Вот я и перевел :) На данный момент на русской версии сайта сбора статистики о разрешении экрана находится старая версия моего перевода, сегодня я уже отправил обновленный вариант.

Спасибо Andrew Shen за такой сайт, а также за то, что разместил данные обо мне на этой странице.

PS Если повезет, то завтра тоже будет пост, полезный для владельцев своих социальных сеток на ;)

Таблетка от головной боли – RegexBuddy

На днях по работе мне пришлось здорово поломать голову при работе с регулярными выражениями (регекспами от англ. – regular expressions). Проблема состояла в том, что до этого я их самостоятельно не писал и вообще не знал синтаксиса, а принимая во внимание, что доставать вопросами кого-то бы то ни было я не очень люблю, пришлось выкручиваться самостоятельно. Один грамотный человек, видя мои мучения, посоветовал найти в интернете программу RegexBuddy, которая, по его словам, мне облегчит жизнь.

Он оказался прав.

RegexBuddy - платная программа, стоит меньше $40, текущая версия – 3.5.0. По секрету скажу, что она есть на рутрекере (версия 3.4.2).

Регекспы используются почти во всех языках программирования и взаимодействия с клиентом (в том числе и javascript). Они помогают пропарсить текст на предмет наличия определенной конструкции и возможности дальнейшей работы с этими полученными блоками. Можно:

  • просто узнать, если такое слово в этом предложении;
  • распознать ошибку в тексте и исправить ее на правильное слово/фразу;
  • произвести замену любого текста на любой текст;
  • менять построение текста (предположим, поменять блоки текста местами);
  • и много чего другого.

Можно заменять, фильтровать, объединять и делать кучу других операций, используя вот эти php-функции:


Кстати, для тех, кто собирается перейти на замечательный новый VDS и хочет сэкономить 10% при оплате в течение первых 3 месяцев, сделайте следующее:

  1. Зарегистрируйтесь на сайте Avihost
  2. После регистрации в разделе “Товары/Услуги” выберите VDS
  3. Нажимаете кнопочку вверху “Добавить ВДС”
  4. В появившейся форме выбираете тарифный план, оплату и вставляете : BSD-Kw5mY
  5. Все :)

PS Если вдруг код выдаст ошибку, пишите в комментариях, я напишу другой код:) Если вы использовали мой код, тоже напишите мне или через страницу Контакт, или в комментариях к этой записи.

Скоро я подробно напишу вам, как надо настраивать VDS на FreeBSD без apache.

Debug-mode для отображения ошибок сайта

Хотите испытать шок? Я вам помогу :)

Решил я сегодня глянуть на свой сайт сквозь призму возможных ошибок. В сам встроен механизм отображения ошибок всех запускаемых плагинов на front-end’e – так называемый debug-mode. Для того, чтобы увидеть ужас на своем сайте, вставьте в файл wp-config. вот этот :

if ( isset($_GET['mode']) && $_GET['mode'] == 'debug' )
define('WP_DEBUG', true);

В итоге при прописывании в строке браузера после url любой страницы сайта (в том числе и главной) ?mode=debug вы включите режим отображения ошибок. Если у вас стандартное отображение ссылок (то есть выглядит вот так: ?p=222), то надо прописывать следующим образом: ?p=222&mode=debug

Работа над GTM – новости с фронта

А пока работа над новым постом об установке VDS зависла, я по-тихоньку добавляю всякие разные вещи для своего плагина BP System. Фактически, основной функционал уже внедрен, осталось допилить его, добавить несколько ссылок для улучшения UX и UI, и можно будет делать релиз. Весьма надеюсь выпустить до конца сентября, в крайнем случае в самом начале октября. Судя по отзывам, этот стал “awesome” :) !

Его идет полным ходом на сайте GTM.Ovirium.com. Он полностью на английском (потому что тестеры там тоже на английском говорят), но если появится большое количество желающих покрутить его до релиза на русском языке, то я запущу соответствующий поддомен. На данный момент все (почти все) возможности плагина описаны на странице About.

Хозяину на заметку

Век живи – век учись…

Никогда бы не подумал, что это так важно, но, оказывается, в конце -файлов лучше не закрывать конструкцию фирменным  ?> – это не гигиенично. А вдруг вы случайно поставите Enter после него? Или пробел… Или еще что непонятное, а после передачи в браузер эта конструкция выведет черт-те что. Причем тяжело предсказать, что именно, так как  это зависит от файла, в котором была допущена такая оплошность.

Итак, php-файл, который содержит лишь php , должен начинаться с <?php и не должен заканчиваться с ?>.

Написал тем людям, которые знаю, что любят самостоятельно что-то ковырять – но вдруг не понимают всей трагичности потенциальной ошибки…

Пятое колесо способствует самообразованию

Самым сложным для меня в программировании оказалось вовремя остановиться. Я достиг того уровня, когда могу воплотить то, что мне хочется, но все еще не умею вовремя останавливаться. Зачастую слишком много идей посещают, и крайне тяжело становится их классифицировать, распределять по степени важности и прочим критериям… Именно поэтому мне так нравится идея иметь под рукой (в интернете) нечто вроде менеджера задач. Думаю, все знают, что это такое, поэтому объяснять не буду. У меня есть отдельный сайт, на котором установлен activeCollab, также иногда использую сервис Workable. Первый – монстрообразный, хотя жутко удобный, когда работает куча людей с крайне высокой активностью; второй – скромненький, с минимально необходимым функционалом, для пары человек. Оба – красивые по дизайну и функционалу. Оба – меня не удовлетворяют. Не могу точно выразить, чем именно, возможно тем, что написаны не мной :) А еще это крайности… Мне хочется чего-то среднего между ними, на основе своих же знаний о WP и BP (кстати, оба предыдущих варианта не знаю о существовании WP+BP). Вот я и задумался месяц назад…

А получился у меня BP System, или Task Management System. Вот старая демка (ей пару недель):

Скоро я дам вам возможность самим крутить этот на demo.

PS Слушаю ColdPlay vs Sum41 – Mash ups.