Блог пользователя - VladSavitsky

Как программисту выбрать живую розу?

7 марта 2009 в 19:03

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

Итак, как правильно купить труп розы.

Роза не будет долго стоять, если:

  • зелёные листочки под бутоном сильно развернуты вниз
  • зеленые листочки под бутоном белёсые со стороны бутона
  • срез стебля розы, который стоял в воде, потемнел или черный (продавец может подрезать, но если он этого не сделал, то вот вам и подсказка)
  • листья поломаны, порваны или по ним видно, что над трупом издевались
  • сам бутон должен быть крепким, цельным и нераскрытым
  • края лепестков не должны быть пожухлыми, скрученными

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

Информация мной была получена, когда в школе помогал продавцам цветов, и проверена в течении примерно 10 лет. Просто достаёт, когда бессовестно врут в глаза ...

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

Сравнение модулей кармы, репутации и рейтинга

24 февраля 2009 в 11:16

Краткий обзор модулей

User Points

  • Разрабатывается давно. Оброс кучей сопутствующих модулей, но некоторые ещё не портированы для 6ки.
  • Автор давно занимается Друпал и заслуживает доверия.
  • Версия 5.3 и версия под 6ку стала скорее API для других модулей.
  • Есть интеграция со многими модулями и модулем Rules.
  • Основаная идея - за действия в системе пользователь получает поинты. Количество поинтов можно настраивать, как и то, за что пользователь из получает.
  • Есть интеграция с Ubercart (для 5ки) и пользователь может купить что-то в магазине за поинты или получить скидку.
  • Также есть модуль, который ограничивает срок действия поинтов, то есть они могут "сгорать" - иначе они только растут.

User Karma

  • Этот модуль пришёл на смену Simple Karma.
  • Автор заявил, что не будет развивать модуль, но будет исправлять ошибки в существующей версии. Поэтому я бы не советовал сильно расчитывать на этот модуль.
  • Принцип вычислений модуля я привел в Обзоре модуля User Karma: репутация пользователя. Если кратко, что карма меняется при создании ноды, голосовании за ноду или комментарий, а также получении нодой или комментарием оценки.
  • Работает с Voiting API.
  • Код и архитектура: тихий ужас...

Другие варианты

Наше участие в Ассоциации Друпал.

19 февраля 2009 в 12:31

Переводил статью Дриса Результаты выборов в Ассоцацию Drupal в 2009м и подумал, что нужно и нам, русскоязычным, выдвигаться в эту ассоциацию.

Новый модуль закрывает внешние ссылки от индексации Яшей и Гуглом

18 февраля 2009 в 11:42

Готов релиз модуля Noindex External Links. Релиз можно скачать с drupal.org и там же писать об ошибках (можно на русском, чтобы быстрее было).

На странице модуля я написал всё, что нужно знать про этот модуль на русском языке. Но, возможно, я что-то забыл или будут вопросы - пишите. Будем исправлять!

Область действия модуля

Модуль реализует фильтр ввода и действует везде, где действуют фильтры - ноды, комментарии и блоки. Закрыть все остальные ссылки - ваше домашнее задание.

Сравнение Noindex External Links и Nofollow List

  • Nofollow List предлагает 1 список, который может быть либо черным, либо белым. В модуле Noindex External Links реализовано 2 списка: всегда разрешённые домены и всегда запрещённые домены. Это более понятно. Это сводит к минимуму риск, что вы получите неожиданный результат - вместо того, чтобы закрыть все ссылки они окажутся открытыми.
  • В архиве Nofollow List нет русского перевода, а вместе с Noindex External Links идет авторский русский перевод.
  • Nofollow List закрывает ссылки только для перехода по ним Google, а Noindex External Links обрачивает ссылки в тег NOINDEX, что запрещает яндексацию (индексацию ссылки Яндексом).
  • Ну и наконец, главная ценность модуля в том, что страницы проходят валидацию!

Принцип работы

Например в тексте есть ссылка:
 

Кто пробовал движок для поиска по сайту Яndex.Server?

28 декабря 2008 в 15:52

Нашёл "Яndex.Server Free Edition", который можно бесплатно скачать и использовать на сайте полнотекстовый поиск.

Пишут, что движок идентичен том, что использует сам Яндекс.
Возникает шальная мысль поковыряться в коде, но я не знаю C!..

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

Отчет о спринте Поля в коде ядра

25 декабря 2008 в 19:28

В своей статье Fields in core code sprint debrief Дрис Байтаерт пишет на чистом английском о том, как прошла неделя Спринта по добавлению функционала ССК в ядру Drupal 7.
А вот источник на русском : Отчет о спринте Поля в коде ядра.

Я только что вернулся со Спринта Поля в коде ядра в Acquia, который я помогал организовать. Все наши участники имели одну и ту же цель в этом пятидневном спринте: получить функционал CCK в Drupal 7.
Участниками были Ивс (Yves) (разработчик CCK), Карен (Karen) (разработчик CCK), Бэрри Джаспен (Barry Jaspan) (участник разработки CCK), Моше Вейцман (Moshe Weitzman), Дэвид Страус (David Strauss), Флориан Лоретан (Florian Loretan), Кароли Негиеси (Károly Négyesi), Дэвид Ротштайн (David Rothstein) и лично я.

drupalpoisk.ru - поиск по русскоязычным Drupal ресурсам

19 декабря 2008 в 11:50

Идея

Есть много сайтов с полезной информацией о Drupal. Лично я каждый раз добавляю "drupal"...
Поэтому мне удобнее настроить гугловский поиск и указать нужные сайты - это ускоряет работу.

Альтернативы

Можно использовать тулбар, который делал Вадим Барсуков для ФФ, но я в основном работаю в Опере, к тому же на этом тулбаре я почти ничего не использовал, кроме поиска...

Странные параметры запроса от гостей сайта

18 декабря 2008 в 21:28

В журнале нашёл такую запись:

"versija-drupal/user/register [PLM=0][R] GET http:/drupalcookbook.ru/user/register [0,8580,23888] -> [R] POST http:/drupalcookbook.ru/user/register [0,0,24011]"

Кто-то (79.172.68.92) пытался передать такой запрос сайту.
Что это может быть?

Как ускорить публикацию на сайте?

16 декабря 2008 в 17:33

Задумался я над тем, что много времени уходит на оформление статей на сайте.
Использую свои кнопки в BUEditor, чтобы вставлять разметку для статьи (заголовки, списки и др. - скелет статьи), но все равно времени уходит много.

Как можно ускорить публикацию?

Сейчас пойду изучать BlogAPI, но возможно кто-то уже имеет готовое решение?..

Список измененных файлов в Drupal 6.8

12 декабря 2008 в 0:48

В Drupal 6.8 по отношению к 6.7 были изменены файлы:

  • /CHANGELOG.txt
  • /includes/common.inc
  • /includes/session.inc
  • /modules/aggregator/aggregator.info
  • /modules/block/block.info
  • /modules/blog/blog.info
  • /modules/blogapi/blogapi.info
  • /modules/book/book.info
  • /modules/color/color.info
  • /modules/comment/comment.info
  • /modules/contact/contact.info
  • /modules/dblog/dblog.info
  • /modules/filter/filter.info
  • /modules/forum/forum.info
  • /modules/help/help.info
  • /modules/locale/locale.info
  • /modules/menu/menu.info
  • /modules/node/node.info
  • /modules/openid/openid.info
  • /modules/path/path.info
  • /modules/php/php.info
  • /modules/ping/ping.info
  • /modules/poll/poll.info
  • /modules/profile/profile.info
  • /modules/search/search.info
  • /modules/statistics/statistics.info
  • /modules/syslog/syslog.info
  • /modules/system/system.info
  • /modules/system/system.module
  • /modules/taxonomy/taxonomy.info
  • /modules/throttle/throttle.info
  • /modules/tracker/tracker.info
  • /modules/translation/translation.info
  • /modules/trigger/trigger.info
  • /modules/update/update.info
  • /modules/upload/upload.info
  • /modules/user/user.info
  • /themes/bluemarine/bluemarine.info

Вышли Drupal 5.13 и 6.7, а также откат патча безопасности 5.14 и 6.8!!!

11 декабря 2008 в 3:49

Если версия PHP>5.2, то нет смысла обновлять до 6.8, потому что это откат патча безопасности, который был выпущен в 6.7. (См. http://drupal.ru/node/22596)

Security Team уже все знает!Оригинал: SA-2008-073 - Drupal core - Multiple vulnerabilities

Описание

Множественные уязвимости и слабые места были найдены в Drupal.

Подделывание запросов на другие сайты (Cross site request forgery)

Система обновлений содержит уязвимость к подделыванию запросов на другие сайты.
Злонамеренные пользователи могут использовать суперпользователя (user 1) для выполнения старых обновлений, которые приводят к разрушению базы данных.

Cross site scripting

Когда формат ввода удален, не весь существующий контент на сайте обновлен, чтобы отобразить это удаление. Подобный контент отображеется без фильтрации. Это может привести к атакам cross site scripting, когда вредные теги больше не исключатся из "злонамеренного" контента, который был размещен ранее.

Затронутые версии

  • Drupal 5.x версии ниже 5.13
  • Drupal 6.x версии ниже 6.7

Решение

Установить последнюю версию:

Спринт "Поля CCK ядре Drupal"

8 декабря 2008 в 18:23

Дрис Байтаерт, основатель Drupal, опубликовал пост о том, что будет спринт и они собирают программеров по всему миру, чтобы в течении недели работать над добавлением функционала ССК в ядро D7. Я так понимаю, что даже независимо от того, соберут ли они средства для оплаты этого марафона, Акваия оплатит минимум 2х основных разработчиков ССК и поля таки будут в ядре!

Оригинал на английском: Fields in Drupal core code Sprint
Перевод на русский: Спринт Поля CCK в ядре Drupal

Хорошие новости! На протажении недели с 15 декабря, мы организуем 5-тидневный спринт "Поля в коде ядра Drupal" на Acquia! Целью является получить CCK функциональность в Drupal 7.
Итак, Карен (Karen), Ивс (Yves) и Берри (Barry) уже подписались -- Карен и Ивс являются основными разработчиками CCK, а Берри также много работала над CCK.

Профилирование CSS селекторов

8 декабря 2008 в 0:52

Поиск CSS селекторов, которые не используются
Для PHP-кода есть методы и средства для профилирования - поиска неиспользуемых кусков кода (функций). Это помогает избавляться от устаревшего кода и делать приложение более эффективным.

Установка и настройка отладчика Xdebug

6 декабря 2008 в 19:56

Отладчик XdebugДля отладки и трассировки кода нужно установить и настроить Xdebug.

Страница проекта: http://www.xdebug.org/

Быстрый переход к личному трекеру на друпал.ру

30 ноября 2008 в 0:42

Давным-давно уже просили такое сделать, чтобы можно было быстро переходить к личному трекеру, но тогда задача стояла добавить пункт в меню навигация...
Я попробовал и у меня не получилось. В конце-концов нашел такое простое и примитивное решение.

Создал блок и в нем код, который выводит всего одну ссылку:

Удаление учетных записей на DrupalCookBook.ru

29 ноября 2008 в 13:53

Начало

Изначально планировалась система с несколькими редакторами, но без возможности комментирования, потому что хотелось иметь просто готовый рецепт и всё! Без обсуждений, чтобы не нужно было прочитывать все комментарии, чтобы убедиться, что ничего не упустил.

Эпоха комментариев

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

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

Эпоха mollom

Делал копию buytaert.net и там конечно работает mollom. Долго собирался, но недавно поставил.
Пока доволен. Работает типа капчи, но ненавязчиво.
Сделал публикацию для анонимов (при этом никаких доп. вопросов на форме нет).
Как только есть подозрения на спам - просят ввести капчу.
В общем, пока нравится. У Дриса на сайте разрешено комментировать анонимам и нет регистрации.

Удаление учетных записей

Я удалил все учетные записи на drupalcookbook.ru. Теперь комментировать можно и анонимам, а других привилегий у зареганых пока нет.

Производительность Друпал

26 ноября 2008 в 18:52

Сделал перевод статьи про ConsumerSearch.com.
Короче говоря: они перевели один из своих сайтов на Друпал и посещаемость 5,5 млн (!) уников в месяц.
Дрис пишет, что точно не знает как они это дело организовали, но есть предположение, что используется кеш на файлах!

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

  • При соответствующей настройке сервера Drupal может выдержать нагрузку в 5 миллионов уников в месяц.
  • Большая компания среди прочих выбрала именно Drupal как CMS для своего нагруженного ресурса.

В Acquia уже работают русские!

16 ноября 2008 в 6:11

Наткнулся на список сотрудников Acquia и увидел русскую фамилию: vladimir.dolgopolov (Member for 43 weeks 5 days).
У нас могут быть свои в этой компании!!
Кто-нибудь его знает?

PS. В Acquia не принимают людей, если часовой пояс отличается на 6 от того, что в США...
Вероятно он живет где-то рядом (не в России), хотя в профиле указано "Российская федерация".

Сделать все ссылки сайта абсолютными

11 ноября 2008 в 12:58

У заказчика возникла необходимость сделать все ссылки сайта абсолютными, чтобы затруднить воровство контента сайта.
Поискал решение модулями и не нашёл. Абсолютные в относительные можно (есть модуль), а в обратную сторону - не нашёл.

Решил хаком ядра (прилагаю diff).
Меняется только значение по умолчанию параметра $absolute функций l() и url().

Функция url()

Найти 1149 стоку в файле common.inc и заменить

<?php
function url($path NULL$query NULL$fragment NULL$absolute FALSE) {
?>

на

<?php
function url($path NULL$query NULL$fragment NULL$absolute TRUE) {
?>

Функция l()

Найти 1274 стоку в файле common.inc и заменить

<?php
function l($text$path$attributes = array(), $query NULL$fragment NULL$absolute FALSE$html FALSE) {
?>

на

<?php
function l($text$path$attributes = array(), $query NULL$fragment NULL$absolute TRUE$html FALSE) {
?>

Возможных побочных эффектов я придумать не смог.
Может быть они все же есть?
Подскажите где это может выйти боком.