пятница, 19 октября 2012 г.

Highcharts. Документация: 1. Установка


Highcharts использует либо JQuery, MooTools и Prototype. Вам необходимо включить JavaScript файлs в заголовке вашей веб-страницы. Если вы уже подключили JQuery, вы можете пропустить первый пункт. Используйте этот код, чтобы включить Highcharts с JQuery:

воскресенье, 14 октября 2012 г.

Восстановление работы почтового сервера dovecot exim hosting



Решение проблем с помощью технической поддержки хостера Агава

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

суббота, 6 октября 2012 г.

AMD. Подключение в Dojo плагинов jQuery

У меня накопилось много наработок на jQuery. На своих сайтах я много использую сторонних плагинов для того же jQuery. Теперь я перехожу на использование замечательного фреймворк - Dojo.

Возник вопрос - возможно ли подключать плагины для jQuery в Dojo?

воскресенье, 23 сентября 2012 г.

Кастомизированные инпуты input CSS JS

Подбирал плагины для замены стандартного выпадающего списка. Критерии: современный и без проблем в ИЕ7+

Multiple Select:
Проблемы с работой в ИЕ:

Подсветка кода в блоге


Подсветка синтаксиса кода в блоге на Blogger (blogspot)

Практически каждая запись в it блогах содержит пример кода PHP, HTML, JavaScript
(JS), CSS, SQL (MySQL), shell.
Я нашел несколько способов, как подсветить исходный код. Но мне не устраивало, то, что в этих решениях нужно было вставлять inline css стили в пост и скачивать на компьютер файлы для генерации HTML кода. В других вариантах оформления программного кода нужно было подключать 2-6 JS файлов которые расцвечивали код автоматически по определенному тегу. Но здесь нет возможности контролировать какой язык будет выбран при автоматическом "раскрашивании" и страница начинает загружаться существенно дольше.

суббота, 22 сентября 2012 г.

Сравнение сервисов sms рассылок смс

--- sender gate------------
smsfeedback.ru/tariffs/ - 0.79 (200/s) [России,Украину,Белоруссию,Казахстан]
mbvn.ru/ - 0.49 (?1000/s) [ALL - 900 операторов в 200 странах]
        mail.mbvn.ru/ru/help/api/sendSms
        mail.mbvn.ru/ru/prices/tariff_sms
        mail.mbvn.ru/ru/features/full_feature_list
smspilot.ru/ - 0.29 (100/s) [Зарубежный шлюз сейчас работает нестабильно]
prostor-sms.ru/prices.php - 0.30 (1000/s) [России] - использует mikrotik.com
streamsms.ru - 0,43 (300/s) [РФ, СНГ, большинства западноевропейских стран]
a1smsmarket.ru/tarifs.html - 0.30 [?]
websms.ru/Prices.asp - 0.60 [?]
smsimple.ru - 0,70 [? ALL/Russ]
http://letsads.com/ 0,20
---- import--------------
ipipi.com
clickatell.com/products/messenger_pro.php - 1.80
ru.2-waysms.com/?page=sms_sending - 0.80
massmailsoftware.com/bulksmsandpager/ - 0.45 (200/s)

---------agregator----------
a1agregator.ru/
smsrent.ru/
smsonline.ru/smsgate.shtml

----------------------
sms.gate.ru/ - free 5




---- info ----------
xpoint.ru/forums/internet/mobile/thread/45270.xhtml
http://mail.mbvn.ru/ru/features/compare

среда, 19 сентября 2012 г.

воскресенье, 9 сентября 2012 г.

Yii Активный пункт меню zii.widgets.CMenu

Как выделить активный пункт меню.

Выделять, даже если находимся в action контроллера:
создаем файл \protected\extensions\zii\widgets\Menu.php
с содержимым:

четверг, 30 августа 2012 г.

Установка русского словаря в PhpStorm (add Russian dictionary)


Официальный русский словарь доступен на сайте JetBrains, но в нем многих русских слов нет.
Я установил себе три словаря описания которых нашел в интернете:

  1. Скачиваем архив распаковываем один файл russian.jar, переименовываем его в  JetBrains-russian.dic и кладем в любую папку на жестком диске, например “C:\Program Files\JetBrains\dictionary\”
  2. Скачиваем готовый файл russian.dic в этуже папку
  3. Скачиваем архив и кладем из него файл в ту же папку. Я назвал этот файл dikmax-russian.dic

четверг, 16 августа 2012 г.

Как подтвердить права на Blogger (blogspot) в Яндекс.Вебмастер


Яндекс.Вебмастер (webmaster.yandex.ru) предлагает несколько вариантов подтвердить права. Выбираем второй способ - Разместить мета-тэг.

В blogger панели заходим в пункт меню Дизайн - вкладка Изменить HTML.

Git: fatal: LF would be replaced by CRLF


Git перестал добавлять файлы в репозиторий, выдавая ошибку:

fatal: LF would be replaced by CRLF in *file*

Связанно это с тем что переносы строк были в Unix-формате, так как дело происходило под Windows.
Простые решения:

  1. Очень просто конвертировать переносы строк в Windows-формат помогает текстовый редактор Notepad++: Правка→EOL конверсия→Преобразовать в WIN-формат.
    Подробнее.
  2. Вручную преобразовать символы перевода строки из виндовых в линуксовые, открыть файл, еще раз визуально все проконтролировать и сохранить.
  3. Быстро заменить CRLF на LF можно утилитой dos2unix, входящей в MINGW, с которым поставляется git  для win32:
    dos2unix.exe -f -D *file*


Если таких файлов много: то самое простое - отключить проверку формата:

$ git config --global core.autocrlf false

$ git config --global core.safecrlf false

Здесь интересное обсуждение различных комбинаций значений этих двух опций. Если изменения в core.autocrlf ни к чему не привели, то пробуйте:

Try git config —global core.safecrlf warn

четверг, 9 августа 2012 г.

Как и зачем создавать RSS


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

Если вы владелец сайта, то RSS поможет вам не только существенно увеличить трафик сайта, но и повысить качество ресурса в целом.

Зачем создавать RSS

RSS – это технология, которая обеспечивает посетителей ваших сайтов удобным средством для получения информации. Размещение RSS это:

  • RSS – это фактически стандарт для публикации новостей
  • RSS способен увеличить трафик сайта
  • RSS решает проблему спама
  • Создать RSS – это очень просто, а выгода несомненна
  • Вы можете размещать рекламу в RSS лентах и зарабатывать деньги
  • Пользователи обожают RSS за возможность подписки и отписки от канала в любой момент
  • Наличие RSS повышает качество ресурса в целом

Как заработать на RSS

понедельник, 6 августа 2012 г.

воскресенье, 5 августа 2012 г.

PuTTY. Решения частых сложностей

Официальный сайт: PuTTY Download
  1. Отредактировать или просмотреть файл (F3/F4)

Проблема: Запускаю MC  нажимаю отредактировать или просмотреть файл (F3/F4), а оно пишет в строке
[root@]# 13~13~

Решение:
  1. нажимать мышкой на соответствующие кнопки меню внизу терминала
  2. нажимаешь Esc потом 3 (или 4) (НЕ F3 , F4)
  3. правильное решение - в putty - Terminal - Keyboard - XTerm R6



пятница, 3 августа 2012 г.

Проверка на существование переменной в XSLT



Задался я вопросом возможно ли в xslt проверить переменную как isset() в php?



В php объявлена переменная:

$xmlPage = new DOMDocument();

$xmlPageDocument = $xmlPage->createElement("document");

$processor = new XSLTProcessor();

$processor->setParameter('', 'links', 'other text');

echo $processor->transformToXml($xmlPageDocument);

Мне нужно что бы строка:
<xsl:value-of select="$links" />
не выдавала ошибки если переменная из PHP не передана.

четверг, 2 августа 2012 г.

Coding Style - Стандарт кодирования на PHP

Стандарт оформления кода (стиль программирования) (англ. coding standards, coding convention или programming style)


Предлагаю, для ознакомления, часть текста документа, который я разработал для себя и своей команды. Основа взята с framework.zend.com/manual/ru/coding-standard.html, часть с PEAR и самая важная часть, из собственного опыта программирования. Я не жду единогласного признания т.к. каждый программист привык к тому к чему привык и, что-то другое для него будет не удобным и неправильным.
По запросу могу предоставить полный текст документа, всего 16 страниц выверенного текста.

Может размещу стандарты работы с БД MySQL, порядок работы с Git и руководство по написанию PHPUnit тестов.





Оглавление

  • Формат файлов3
  • Кодировка3
  • Форматирование PHP-файлов3
  • Общее3
  • Отступы3
  • Максимальная длина строки3
  • Соглашения по именованию3
  • Директории3
  • Классы3
  • Интерфейсы4
  • Имена файлов4
  • Функции и методы4
  • Переменные и свойства5
  • Константы5
  • Стиль кодирования5
  • Обрамление PHP-кода5
  • Строки5
  • Строковые литералы5
  • Строковые литералы, содержащие апострофы6
  • Подстановка переменных и конкатенация строк6
  • SQL запросы6
  • Массивы7
  • Массивы с числовыми индексами7
  • Ассоциативные массивы7
  • Классы8
  • Определение класса8
  • Переменные-члены классов9
  • Функции и методы9
  • Определение функций и методов9
  • Использование функций и методов11
  • Вызовы функций и методов11
  • Управляющие структуры12
  • If / Else / Elseif12
  • Switch13
  • Комментарии14
  • Встроенная документация14
  • Файлы14
  • Классы14
  • Функции15

среда, 1 августа 2012 г.

Yii. CHtml::ajaxLink - AJAX обработка нажатия кнопки

<div id="mposter">Обновить этот DIV</div>
<?php echo CHtml::ajaxLink(
'Получить ответ от сервера',
CController::createUrl('/controller/action'), 
array(
'type' => 'POST',// method
      'data'=>array('update'=>TRUE),// DATA
      'update' => '#mposter',// что обновить :)
));
?>

вторник, 31 июля 2012 г.

git



**** update in dev *****

git stash save
git checkout master
git pull
git checkout dev
git stash pop
***************

insufficient permission

При следующих ошибках:
  • bash-3.2$ git commit -am 'foo' error: insufficient permission for adding an object to repository database .git/objects error: Error building trees
  • error: insufficient permission for adding an object to repository database ./objects fatal: failed to write object error: unpack failed: unpack-objects abnormal exit
нужно сделать:
1. simple permissions error (sudo chown hatim:hatim .git -R fixed it)
2. ssh to server
cd repository.git sudo chmod -R g+ws * sudo chgrp -R mygroup * git repo-config core.sharedRepository true and the try to push origin master again
Если не помогло:

Как вариант можно пересоздать связь с удаленным репозиторием:
git remote rm origin - удаляем старую связь
git remote add origin git@server:repo.git - создаем новую связь

суббота, 28 июля 2012 г.

Java script библиотеки генерации графиков и диаграмм (amCharts, Highcharts, Raphaeljs, ...)

 У меня была задача выбрать java script библиотеку для генерации графиков и диаграмм в любом браузере и на любой операционной системе, в том числе iOS.

Существуют решения, позволяющие в браузерах использовать SVG для визуализации графики, а в Internet Explorer рисовать с помощью VML.

Сравнительные характеристики

amCharts
Highcharts
http://www.highcharts.com/stock/demo/
Google Chart
Raphaeljs
http://raphaeljs.com/analytics.html
Flot jQuery
Elycharts
http://elycharts.com/examples
ОС, браузеры IE  6.0 +
Firefox
Chrome
Safari
 Opera
iOS (iPad, iPhone, iPod Touch)
Android Honeycomb
IE  6.0 +
Firefox 2.0 +
Chrome 1.0 +
Safari 4.0 +
Opera 9.0 +
iOS (Safari)3.0 +
Android Browser2.0 +
Older IE
iPhones, iPads (баги)
Android
and other
IE  6.0+
Firefox 3.0+
Chrome 5.0+
 Safari 3.0+
Opera 9.5+
iOS (Safari)
Android Browser
IE  6.0+
Firefox 2.x+
Safari 3.0+
Opera 9.5+ Konqueror 4.x+
iOS
IE  6.0+
Firefox 3.0+
Chrome
 Safari 3.0+
Opera 9.5+
frameworks + + + +
Совмещение диаграмм + только          
JavaScript Charts
Только highcharts + +
Масштабирование по х, у + только          
JavaScript Charts
Только highcharts +/? ?
Вывод точек с описанием + + + +
Разбиение по временным отрезкам + + - - -
Использует js frameworks - Опционально:  jQuery, Mootools , Prototype - jQuery jQuery jQuery
Импорт данных JS, CSV, XML JS,  опционально: JSON , CSV, XML JS,  JSON , Chart Tools Datasource protocol, JSON , CSV, XML, … JS,  теоретически: JSON , CSV, XML JS JS,  теоретически: JSON , CSV, XML
Клиенты Microsoft, Cisco, NASA, Motorola, Siemens Yandex,  IBM, NASA, Siemens, EMC, Sony Весь мир ? ?
Стоимость 61 500 р.
Charts – 22 500 р
23 000 -  130 000 р.
Highcharts – 12 600 – 60 000 р
free free free free
Лицензия + OEM license
http://shop.highsoft.com/highstock.html#faq
API Google
https://developers.google.com/terms/
Licensed under the MIT http://raphaeljs.com/license.html - MIT
Особенности Изменение графиков в реальном времени Вариант генерации на стороне клиента с помощью JSили на стороне Google и возврат картинки. Изменение графиков в реальном времени
Впечатление Большая функциональность. В iOSпроблемы у справлением скролов Проработанный, развивающийся корпоративный продукт. Но есть баги с прорисовкой в IE 6. Быстро работает. Очень много документации. Настораживает переменчивость в политике Google Поддерживается одним разработчиком Можно использовать для вывода без разбиения по периодам Сомнительный

Функционал

amCharts
Highcharts
amCharts
Highstock
amCharts
сводная
Highcharts
сводная
Highcharts
JavaScript Charts
Highcharts
JavaScript Stock Chart
Линия с кнопками временных периодов
-
+
+
+
-
+
Линия со строкой  временного периода
+
+
+
+
+
+
Несколько линейных графиков с выводом инф в одном всплывающем окне
+
-
+
+
+
+
Диаграмма пирог
+
-
+
+
+
-
Диаграмма 3Д пирог
+
-
+
-
-
-
Диаграмма столбцы вертикальные / горизонтальные
+
-?
+
+
+
+/-
Диаграмма пирог и столбец с углублением
-
-
-
-/+
-/+
-
Совмещение диаграмм
+
-?
+
+
+
-
Масштабирование по х, у
+
-
+
+
+
+
Вывод произвольных точек с описанием
+
+
+
+
+
+?
Диаграмма пузырьками
+
-
+
-
-
-

Скорость генерации графика

Браузер
amCharts
line (ms)
amCharts
column (ms)
Highcharts
line (ms)
Highcharts
column (ms)
firefox 438.537, 91553 вызовов 101.633, 4398 вызовов 1.27, 47 вызовов 222.974, 30136 вызовов
chrome 349 78 1 131
IE9 2539 640 1 5
IE8 1689 415 1 286
IE7 194059 330 10 630
IE6 235298 431 10 631
Opera 12 1785 472 1 550
Opera 11 3000 90 1 61
Android 4370 113 7 53
iOS 5212 188 16 553

пятница, 13 июля 2012 г.

Прототипирование интерфейсов

create wireframes, mockups or UI concepts, prototypes depending
Как то мне понадобилось подобрать сервис для легкого создание макета интерфейса сайта для использования в техническом задании. Одним из критериев была работа во всех браузерах. Выбирал среди следующих:

Создаем счетчик для размещения на других сайтах

Создаем счетчик для размещения на других сайтах


На странице пользователя:

<script src="//domain/gc.js" type="text/javascript"></script>
<script type="text/javascript">
    try { var gluCounter11111111111 = new Glu.Counter(11111111111); } catch(e){}
</script>
<noscript>
    <a href="http://domain/click/11111111111" target="_blank">
        <img src="//domain/counters/11111111111.png" alt="" />
    </a>
</noscript>

Тег <script type="text/javascript"> используется дважды для того что бы инициализация класса во втором теге произошла только после того как подгрузится файл с удаленного сервера.

Содержимое файла gc.js:

document.write("<a href='http://domain/click' target='_blank'><img src='http://domain/counters/11111111111.png?"+Math.random()+"' alt='' /><\/a>")


Пивот (PIVOT) – это разворот таблицы


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

Описание принципа здесь http://easy4web.ru/?p=1099

По сути мы столбцы переносим в колонки.
В чем задача? Она схожа с обсуждаемым недавно здесь вопросом http://sqlinfo.ru/forum/viewtopic.php?id=4252 + небольшое отличие
Есть упрощенно такая структура таблиц (каталог товаров, с делением по характеристикам):

CREATE TABLE categories (category_id, ... );
CREATE TABLE products (product_id, category_id,...);
CREATE TABLE properties (property_id, ...);
CREATE TABLE products2properties  (category_id, property_id);
CREATE TABLE properties_values (product_id, property_id, value);
 
products2properties   - моя таблица. Нужна потому что товары из разных категории имеют разный набор характеристик на всю категорию.

Необходимо вывести первые 10 товаров с их характеристиками + сортировка и поиск по любой характеристики.

Решение SELECT .. SELECT ...SELECT конечно же не приемлемо. Решать это средствами PHP накладно.

Давайте вместе подумаем как сделать оптимально!

Решение 1:
http://stackoverflow.com/questions/6498 … lue-schema
Средствами PHP собираем запрос из кучи JOIN.
Я думаю сервер от такого рухнит.

Решение 2:
что то умное предлагаю здесь но я не понимаю сленга)
http://bb.ct.kz/topic/189790-sql-vivest … p__7088923
Цитата того что понимаю:
Если столбцов количество неизвестно то только динамик скул...
Приблизительный алгоритм...
1. Получаем параметры...
2. Создаем запрос...
3. тут можно или представление создать или временную таблицу...
4. если временная таблица... заполняем данными...
5. с клиента пишем select * from vwView(ttTable)

Как вариант... тот же самый пайвотинг инсерт...
Решение 3:
То которое я сейчас рассматриваю...
http://www.orafaq.com/forum/m/30557/684 … #msg_30557
Проблема что оно вроде для ОРАКЛа т.к. у  меня выдает ошибку на название команд.

SQL> CREATE OR REPLACE PACKAGE pkg
  2  IS
  3      TYPE t_rc IS REF CURSOR;
  4  END pkg;
  5  /

Package created.

SQL> CREATE OR REPLACE PROCEDURE dynamic_pivot (rc IN OUT pkg.t_rc)
  2  IS
  3      l_count     NUMBER;
  4      l_sql       VARCHAR2(32000);
  5  BEGIN
  6      SELECT   MAX(COUNT(*))
  7      INTO     l_count
  8      FROM     b
  9      GROUP BY b.id;
 10
 11      l_sql := 'SELECT x.id, x.a_name';
 12
 13      FOR i IN 1..l_count LOOP
 14          l_sql := l_sql
 15                   || ',MAX(DECODE(x.rn,'
 16                   || TO_CHAR(i)
 17                   || ',x.b_value)) val'
 18                   || TO_CHAR(i);
 19      END LOOP;
 20      l_sql := l_sql
 21               || ' FROM (SELECT a.id, a.name a_name'
 22               || ',b.value b_value'
 23               || ',ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY NULL) rn'
 24               || ' FROM a, b WHERE a.id = b.id) x GROUP BY x.id, x.a_name'
 25               || ' ORDER BY x.id';
 26      OPEN rc FOR l_sql;
 27  END dynamic_pivot;
 28  /

Procedure created.

SQL> VARIABLE my_rc REFCURSOR
SQL> EXEC dynamic_pivot(:my_rc);

PL/SQL procedure successfully completed.

SQL> PRINT :my_rc

        ID A_NAM VAL1  VAL2  VAL3  VAL4  VAL5  VAL6  VAL7
---------- ----- ----- ----- ----- ----- ----- ----- -----
       100 test  val1  val2
       101 hello aloha hi    wave  smile hey   hola  g'day



Временный итог:
Думаю может сделать процедуру для Мускула как в решении 3. Повесить триггер на изменение таблиц товаров что бы дергал эту процедуру пересчета (в идеале только того товара/категории которая изменилась). Процедура будет создавать таблицу Х удобную для простой выборки.

Ваше мнение? Как это всё написать? Я ни триггеры ни процедуры ни разу не писал....


Информация по теме:
http://ru.w3support.net/index.php?db=so&id=778079
http://www.sql.ru/faq/faq_topic.aspx?fid=210
http://forums.mysql.com/read.php?98,7000,7000
http://dev.mysql.com/tech-resources/art … rsion.html
http://en.wikibooks.org/wiki/MySQL/Pivot_table

Сравнение цен на Виртуальный хостинг и VPS

Сравнение цен на Виртуальный хостинг (shared hosting) и VPS

Приведены Российские и международные компании

Сравнение ведется: ЦЕНА / КОЛИЧЕСТВО САЙТОВ (доменов) /  КОЛИЧЕСТВО БАЗ ДАННЫХ / ОБЪЕМ ЖЕСТКОГО ДИСКА
иногда ПРОЦЕССОР / ОПЕРАТИВНАЯ ПАМЯТЬ / ПОДДЕРЖКА Memcache
masterhost.ru Тариф «Образовательный» Эффективный Специалист
0р 1д/1бд/Мб.500 300р 10/5/1500 575 15/10/3
sweb SX-2 SX-4 SEO64.SW SEO128.SW VDS
Memcache+(без тех помощи) 120 4/4/2 200 8/8/4 200 64/65/128м 450 128/129/512 425 рHDD(Gb) 5/RAM(Mb) 256/CPU(Mhz) 400
nic.ru 201 301
260 6/99(1пользов)/2 410 12/99/3
r01.ru Старт+ Стандарт Мастер Бизнес
85 1/1/100 Мб 185 3/10/2 275 6/20/4 460 12/99/8
reg.ru 1 2 3
249 10/10/2 349 20/20/4 499 30/30/6
ruweb.net ** VDS'8-MINI
Memcache+
Подд350р-1ч
50 1/10/100мб 520р(468р/442р) 6Гб 768/256Мб 250МГц
jino.ru *** ***
117 3/3/3 177-193 10/3-10/3
valuehost.ru План Я План A2.0 План Б2.0 План В2.0 Колокейшн 1U
Memcache+ 108 99/1/1 340 99/15/25 680 99/30/50 1020 99/50/75 2275 р
hostgator.com Hatchling Baby Business
205р 1/99/99 300р 99/99/99 440 99/99/99
godaddy.com economy plan (только одна папка) deluxe plan  unlimited+plan
160 99_25/10/10 224р 99/25/150г 465 99/99/99
000webhost.com Free
0 5/2/1500
agava Normal SEO
207р 4д/5бд/Мб.2000 350р 64д/64д/Мб.256
infobox.ru Econom
Memcache- 225 10/10/2000
dreamhost.com What's Included Vps (memcache+)
270р 999/999/999 450р

io-hosts.ru IO-VZ30
http://hosting101.ru/io-hosts.ru
PP10
10 Мб/с
500 CPU, MHz 384 RAM, МБ10 HDD, ГБ
689 р/мес
.msk.ru .spb.ru 180(150) / 120
.ru230(200) / 170
truevds.ru True20 True21
480 CPU MHz, RAM 256 Mb, HDD 8 Gb
640 р/мес
720 CPU MHz, RAM 384 Mb, HDD 12 Gb
920 р/мес
agava Optimal Basic
1000 CPU, MHz 512 RAM, МБ12 HDD, ГБ
1 249р/мес + 75
500 CPU, MHz 256 RAM, МБ6 HDD, ГБ
700  р/мес + 100
http://masterhost.ru/service/hosting/vps/unix/
500 CPU, MHz 768 RAM, МБ5 HDD, ГБ
1150р/мес
spb.hc.ruклиенты VPS1
оверселлинг по оперативной памяти
-PP
600 CPU, MHz 512 RAM, МБ5 HDD, ГБ
700р/мес
majordomo.ru VS1
http://hosting101.ru/majordomo.ru-vps 600 CPU, MHz 288 RAM, МБ10 HDD, ГБ
800р/мес
sweb VX-1 VX-2
400 CPU, MHz 256 RAM, МБ5 HDD, ГБ
490р/месс-Панели управления
800 CPU, MHz 512 RAM, МБ10 HDD, ГБ
970р/месс-Панели управления
firstvds.ru
http://hosting101.ru/firstvds.ru
VDS-Отрыв Ru - 150
PP10
Начинающих экспериментаторов
500 CPU, MHz256 RAM, МБ 6 HDD, ГБ
400р/мес
ispserver.com VDS A
PP10
Отзывы ну так
600 CPU, MHz 512 RAM, МБ5 HDD, ГБ
700р/мес
selectel.ru VDS-512
10 Mbit/sec новые CPU - 512MHz, RAM - 512MB, HDD - 51,2GB 512 руб./мес.

данные на сентябрь 2010

Сравнение цен на регистрацию и продление доменов в зоне RU и NET

 Сравнение цен на регистрацию и продление доменов в зоне RU и NET


доменная зона
регистрация, руб./год / продление, руб./год
site
.ru
net
agava 150/450 450/450
masterhost.ru 196/196 784/784
sweb 370/370 450/450
nic.ru 600/150 620/620
webnames.ru 390/390 390/390
r01.ru 590/415 440/440
reg.ru 590/590 450/450
ruweb.net 300-370/300-370 390/390
jino.ru 590 /413 369/369
valuehost.ru 195 295 
hostgator.com 440
godaddy.com 263
domains.webmoney.ru 110 390
dreamhost.com - 300
infobox.ru 600/450 490

ruweb.net valuehost.ru nic.ru io-hosts.ru Masterhost agava
.msk.ru 190/150 230  225 180(150) / 120 480 150
.spb.ru 190/150 230 450 180(150) / 120 480 350

данные на сентябрь 2010

mod_auth для входа по паролю

установка mod_auth или mod_auth_mysql для входа по паролю без использования .htaccess


если вам надоело:

AuthType Basic
AuthName "only members"
AuthUserFile /var/www/valid-user.passwd
Require valid-user

сервисы для сбора отзывов и идей от клиентов


сервис впечатление
бесплатный доступ


userecho.com на русском
  • Интеграция с Twitter
  • Интеграция с Facebook
  • Интеграция с Вконтакте
  • Интеграция с Google+
+ Блок Форумов
+ Jira
userreport.com
  • англ. язык
  • простая
reformal.ruпростой в настройке без временных ограничений с урезанным функционалом Можно авторизоваться через VK, Facebook, Google, Twitter, Mail.ru, Yandex и социальную сеть Одноклассники
copiny.com сложный функционал
Вывод информации о группе Вконтакте и сообщений из Twitter
без временных ограничений с урезанным функционалом.
Представителей компании до 3.
  • Интеграция с Twitter
  • Интеграция с Facebook
  • Интеграция с Вконтакте
Можно авторизоваться через VK, Facebook, Google, Twitter, Mail.ru, Yandex.
opinionlab.com
  • англ. язык
  • мощная но отстала от времени по юзабилити
getsatisfaction.com англ. язык
мощная система. 
только на месяц интеграция с соц. сетями и CRM системами (Jira,....)
uservoice.com англ. язык только на месяц


воскресенье, 10 июня 2012 г.

.htaccess


В основном я использую следующую конструкцию:



order allow,deny
allow from all
Options -Indexes
AddDefaultCharset utf8
php_value session.use_trans_sid 0
RewriteRule ^.htaccess$ - [F]
IndexIgnore */*

CharsetDisable On
RewriteEngine On

##########################
## SEO
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301]
##
############################
##########################
## WWW
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
##
############################

# если директория или файл существуют, используем их
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|sitemap\.xml)
# в противном случае перенаправляем запрос через index.php
RewriteRule . index.php
##########################
## otherphp_value session.gc_maxlifetime "14400"
php_value auto_prepend_file "/config.php"
RewriteRule \.git - [F,L] # deny access to the top-level git repositoryphp_value display_errors 1
php_value display_startup_errors 1
php_value log_errors 0
php_value error_reporting 7

php_value date.timezone Europe/Moscow
php_value session.cookie_domain ".domain.ru"