Archive for the ‘Web’ Category

библиотека HTML Canvas

Со мной связался один из авторов данной библиотеки и попросил опубликовать обзорчик. Библиотека действительно хорошая, поэтому мне не жалко, публикую.

Итак, ссылка на саму либу — https://skilled.co/html-canvas/

Любезно скомпонованные ссылки в pdf и в png

Что же умеет HTML Canvas? А умеет он строить базовые фигуры, произвольные фигуры(path), играть с заливкой, прозрачностью и прочие красивости с фигурами.

Умеет трансформировать текст, например:

Также доступна работа с изображения — поворот, увеличение, сдвиг, кроп и куча других и т.п.

При помощи данной библиотеки можно сделать очень прикольные вещи, например вот такое психопианино ))

Вобщем, ознакомьтесь при случае.

Как скрыть, что используется wordpress

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

И вот была поставлена задача для одного сайта первоначально спрятать, что это вордпресс, а потом и выдать его за другую cms. Про то, как сделать из одной cms другую (по внешним признакам) я могу отдельно пост накатать, если кому интересно будет. Тут расскажу как убрать признаки вордпресса.

Сам поциэнт http://battmart.ru/, еще не готов в плане диза и наполнения, но попалить цмску на нем уже не получится. Определяется как битрикс, на самом деле вп обычный.

Итак, поехали.

Вордпресс палится сразу несколькими вещами. Для их определения мы заюзаем таблицу признаков cms.

Read On…

Таблица признаков CMS

Стало интересно, как вообще сервисы и плагины типа rds определяют систему сайта. Немного понаблюдав за rds и wappalizer, я сделал вывод, что палят они систему исключительно по коду страницы, без учета путей, записей в роботсах и прочих метках.

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

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

Для начала нужно было взять где-то таблицу признаков. CMS вообще детектится не только по коду, адрес админки редко когда можно поменять, но я что-то ниразу не видел в логах, чтобы яндекс ломился на wp-admin или wp-includes. Поэтому был сделан вывод, что анализ cms проводится все-таки на основе кода страницы, а также возможно на основе заголовков, содержимого robots и урла.

Признаки я позаимствовал у плагинов для firefox’a — rds bar и wappalizer и свел их в одну таблицу. Там были не только цмски, но и всякие популярные либы, плееры и т.п,  я решил все выложить.

Признаки уже регэкспами, но водпресс форматирует кавычки, так что проверяйте предварительно.

Read On…

Ошибка Invalid taxonomy при использовании wp_insert_term

Ковыряю один интернет магазин на вордпрессе, на woocommerce. Так вот так, чтобы не перемешивались посты и товары, товарам поставили свою таксономию, отличную от простых постов. Категориям товаров соответственно тоже, чтобы не путались. И вот при импорте большого списка товаров и категорий в магазин, вываливается такая красота:

object(WP_Error)#273 (2) {
  ["errors"]=>
  array(1) {
    ["invalid_taxonomy"]=>
    array(1) {
      [0]=>
      string(16) "Invalid taxonomy"
    }
  }
  ["error_data"]=>
  array(0) {
  }
}

Смотрел сам код, там видимо когда постишь из админки, категории записываются в глобальные и дальше читаются из памяти (странное решение sic:) ). А когда просто инклюдишь нужные скрипты и используешь вызов wp_insert_term или wp_set_post_terms то вываливается ошибка. Как красиво решить не нашел, нашел как некрасиво.

global $wp_taxonomies;
$wp_taxonomies .= array('You_category');

И все сработало

Профилирование и отладка PHP скриптов

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

Read On…

Денормализация базы данных

Не так давно писал цикл постов про нормальные формы. Сегодня хочу еще рассказать про обратную процедуру — денормализацию.

Что такое денормализация? Это намеренное внесение изменений в нормализованную схему бд, после которых она перестает соответствовать правилам НФ.

Для чего это делается? Основная цель — это увеличение производительности ценой увеличения избыточности, возможных коллизий, а также некоторым неудобством составления сложных выборок.  Read On…

Дизайн интерфейсов онлайн

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

Большинство из таких сервисов предоставяют бесплатный пробный доступ на несколько дней, но я искал полностью бесплатный вариант, пускай и не сильно функциональный.
Read On…

Нормализация баз данных: первая нормальная форма

Итак, в предыдущем посте была вводная часть про нормализацию баз данных, ключи и отношения. В этом посте будет рассмотрена первая нормальная форма или 1НФ сокращено. Read On…

css.php