вторник, 22 декабря 2009 г.

Youtube API, Поиск по видео

Вот столкнулся недавно с задачей, поиска видео на Youtube из моего приложения.

Как оказалось задача проста. В Youtube Api с использованием PHP все вызовы идут с использованием Zend Framewokr.

Вот собственно функция для поиска видео:

function searchAndPrint($searchTerms)
{
  $yt = new Zend_Gdata_YouTube(); 
  $query = $yt->newVideoQuery();
  $query->setOrderBy('viewCount');
  $query->setRacy('include');
  $query->setVideoQuery($searchTerms);
  $videoFeed = $yt->getVideoFeed($query);
  printVideoFeed($videoFeed, 'Search results for: ' . $searchTerms);
}

Где функция вывода на экран (printVideoFeed):

function printVideoFeed($videoFeed, $displayTitle = null) 
{
  $count = 1;
  if ($displayTitle === null) {
    $displayTitle = $videoFeed->title->text;
  }
  echo '

' . $displayTitle . "

\n"; echo "
\n";
  foreach ($videoFeed as $videoEntry) {
    echo 'Entry # ' . $count . "\n";
    printVideoEntry($videoEntry);
    echo "\n";
    $count++;
  }
  echo "
\n"; }
 
 
function printVideoEntry($videoEntry, $tabs = "") 
{
  // the videoEntry object contains many helper functions that access the underlying mediaGroup object
  echo $tabs . 'Video: ' . $videoEntry->getVideoTitle() . "\n";
  echo $tabs . "\tDescription: " . $videoEntry->getVideoDescription() . "\n";
  echo $tabs . "\tCategory: " . $videoEntry->getVideoCategory() . "\n";
  echo $tabs . "\tTags: " . implode(", ", $videoEntry->getVideoTags()) . "\n";
  echo $tabs . "\tWatch page: " . $videoEntry->getVideoWatchPageUrl() . "\n";
  echo $tabs . "\tFlash Player Url: " . $videoEntry->getFlashPlayerUrl() . "\n";
  echo $tabs . "\tDuration: " . $videoEntry->getVideoDuration() . "\n";
  echo $tabs . "\tView count: " . $videoEntry->getVideoViewCount() . "\n";
  echo $tabs . "\tRating: " . $videoEntry->getVideoRatingInfo() . "\n";
  echo $tabs . "\tGeo Location: " . $videoEntry->getVideoGeoLocation() . "\n";
  
  // see the paragraph above this function for more information on the 'mediaGroup' object
  // here we are using the mediaGroup object directly to its 'Mobile RSTP link' child
 foreach ($videoEntry->mediaGroup->content as $content) {
    if ($content->type === "video/3gpp") {
      echo $tabs . "\tMobile RTSP link: " . $content->url . "\n";
    }
  }
  
  echo $tabs . "\tThumbnails:\n";
  $videoThumbnails = $videoEntry->getVideoThumbnails();

  foreach($videoThumbnails as $videoThumbnail) {
    echo $tabs . "\t\t" . $videoThumbnail['time'] . " - " . $videoThumbnail['url'];
    echo " height=" . $videoThumbnail['height'];
    echo " width=" . $videoThumbnail['width'];
    echo "\n";
  }
} 

Вот собственно и все. А дальше уже оформляйте вывод как вам нравится:). Удачи

воскресенье, 13 декабря 2009 г.

Приезд в Германию (краткая история)

Всем привет. Чет я очень давно ниче не писал, потому что в жизни произошли перемены:). Я уехал учится в Германию.
Небольшой городок, под названием Кобленц. В одноименный университет на магистратуру, на факультете Економическая информатика.

Так как я уже тут 2 месяца, то в кратце рааскажу о них.

Приехали мы сюда 19ого октября. В количестве 4ех человек. До начала учебы было еще 2 недели. И поселились в монастыре:). Такой стандартный монастырь, с монашками. Комфорт конечно что надо, все чистенько, в каждом номере душ.., но и стоит не самое дешевое, но и не самое дорогое, 18 Евро за ночь. В общем жилье было временное, всего на 2 дня, так что мы не жаловались. Ждали приезда еще 2их человек. Ну а как они приехали, конечно не обошлось без ящика пива, и отмечания приезда.., и сна по несколько человек на одной кровати, ибо официально нас там жило четверо, а неофициально семеро).

Затем мы переехали в Vallendar. Это пригород Кобленца, и очень далеко от универа, 1 час езды. Но там и подешевле было, хоть и по 2 человека в номере. Жили там 2 недели, параллельно искав где-бы снять квартирку. Мы вроде и не тихие были, но вроде никто и не жаловался.

А через 2 недели мы нашли 2 квартиры, 2х и 3х комнатную. Но в итоге сдали нам только одну.., не любят тут немцы студентов). Не доверяют чтоли, наверно они правы. Мы уже и не знали что делать, как нам предложили квартиру русские, на 2 месяца.., что как в итоге выяснилось было зря, но тогда мы согласились. Т.к. очень не дорого...., а зря потому что после того как вьехали, тепло в квартире включали еще месяц.

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

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

Вот пока в кратце)

понедельник, 5 октября 2009 г.

Восcтановление удаленных разделов. Ubuntu

Сегодня пытался поставить Windows на свой второй винчестер и случайно удалил все разделы на нем. А ведь там хранилася вся важная мне информация...
В общем начал искать методы как восстановить все, и нашел!!! Им и поделюсь.

Как оказалось все чертовски просто.

1) Сначала находим через менеджер пакетов и устанавливает утилиту GPART (не путать с GParted).

2)  Затем выполняем команду gpart /dev/sdb (sdb - название вашего привода)
После некоторых раздумий (у меня лично думало около часа). На экран выводиться следующее:



Guessed primary partition table:
Primary partition(1)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 89996mb #s(184313682) s(106494948-290808629)
   chs:  (1023/254/63)-(1023/254/63)d (6629/1/1)-(18101/254/63)r

Primary partition(2)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 9005mb #s(18442616) s(290808630-309251245)
   chs:  (1023/254/63)-(1023/254/63)d (18102/0/1)-(19249/254/59)r

Primary partition(3)
   type: 130(0x82)(Linux swap or Solaris/x86)
   size: 1623mb #s(3325448) s(309251250-312576697)
   chs:  (1023/254/63)-(1023/254/63)d (19250/0/1)-(19456/254/56)r

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r 

Программка сама нашла удаленные разделы. Тут мы видим тип системы и ее размер.

3) Если нас все устраивает, выполняем команду


gpart -W /dev/hdb /dev/hdb

Ждем еще часик, и вуаля!!! Винчестер как новенький:)

Удачи!

понедельник, 28 сентября 2009 г.

Ubuntu - проблема с обнаружением сети

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

Проблема была в том, что при подключении сетевого кабеля, система на него никак не реагировала, и настойчиво писала "device not managed".

Я не смог ничего сделать с помощью программ настроек...

В общем в итоге все оказалось просто:

в терминале пишем следующее

sudo gedit /etc/NetworkManager/nm-system-settings.conf

Потом находим строку managed=false и меняем false на trueи сохраняем.

Все, осталось перезагрузитьсяи сеть начнет функционировать.

В общем все очень просто

пятница, 25 сентября 2009 г.

Перлы из резюме

Не удержался)

Ожидаемые предложения:
• Цель поиска работы: одновременное получение удовольствия от работы и ее оплаты
• Получить должность: генеральный директор, исполнительный директор, коммерческий директор, зам. директора, руководитель отдела сбыта, менеджер отдела сбыта, торговый агент
• Меня интересует работа в области финансов:
-финанасовый директор(зам);
-главный бухгалтер (не очень хочется);
• отработка ведения бизнеса “по взрослому”
• Цель этого письма обратить Ваше внимание на мои способности
• Самоутверждение и достижения весомого положения в сферах соприкосновения моих целей и жизненного уровня
• Надеюсь, что в Вашем Банке предложений моему резюме найдется пара.
• Данное предложение после всестороннего обдумывания вызвало в моем лице большую заинтересованность.
• Стартовые. Так как я озабочен поиском работы, то любые флюктуации возможны.
По складу характера мне легче сгенерировать идею, чем реализовать ее, поэтому я хочу быть менеджером среднего звена
• Вы в какой области специалист? — В Днепропетровской.
• Прфисианальный оффисный работник
• …Но отсутствие у меня большого свежего опыта, конечно, настораживает.

Знание языков:
• Англійська-незалежний користувач
• Английский — буквальное понимание до 90 % печатного текста и 100% понимание значения; 80% понимание произнесенного.
• Иностранный язык: базовый
• Английский — на уровне pre-immediate.
• Aнглiйська, нiмецька — з перекладачем.
• Английский- ориентировочно.
• Английский в стадии реконструкции.
• Английский (свободно на среднем уровне).
• Английский разговорный – свободно, немецкий – в процессе изучения, язык глухонемых – свободно.
• Английский — читаю, пишу свободно, говорю со словарём
• славянские (слабо, зато все)
• Устный и письменный перевод между языками
• English — basic fluency
• Английский/французский — более чем свободно
• Свободно говорю английский, украинский, русский
• Английский: необходимо освежить
• Разговорный английский (со словарем)
• Английский: существенно.
• Немецкий и французский — читаю со словарем, но смысла не понимаю.
• Полусвободный английский
• английский и французский (отдельные слова и выражения)
• Английский — как все.
• английский — пассивный свободно
• English (неразговорный)
• английский — Сертификат Украинской Академии государственного управления при Президенте Украины о владении разговорным английским
• Изучаю базовый English
• Знание английского языка не в совершенстве

Личные качества:
• Уровень образования: Два и более высш. образований
• Знаком с чувством юмора.
• Во избежание личных конфликтов и стрессовых ситуаций на работе, считаю необходимым в кратчайшие сроки составить психологические портреты всех сотрудников фирмы, изучить их склонности и привычки.
• Коммуникабельна, способна легко вступать в деловые контакты с пользой для решения необходимых вопросов.
• Умение выделить суть проблемы, способность убеждать людей, навязывая свою точку зрения; умение конкретно поставить задачи…
• Могу работать в автономном режиме, находясь в длительной командировке.
• Трудолюбие (особенно при наличии интереса к работе).
• Приятная внешность и голос, потенциальное стремление к серьезной работе.
• Склонность к анализу, артистизм, умение сказать «нет», патриотизм, склонность к оправданному риску, умение обучать, любовь к животным, умение отказаться от тактических побед во имя стратегических, не конфликтность, настойчивость.
• Абсолютная лояльность по отношению к работодателю
• Доброжелателен, командный стиль работы. Есть чувство юмора и чувство меры.
• красивое словесное оформление любой информации
• Своим недостатком считаю выполнение чужой работы.
• Жизненный девиз — никогда не стоять на месте.
• Отсутствие мании величия
• Иногда опускаются руки
• Слишком интеллигентна, что в наше время иногда вредит
• Иногда переборы с вином и женщинами
• Слишком люблю мужа
• В разговоре могу пофантазировать, чтобы произвести впечатление
• Покой ума
• Трудоголик. Люблю брать на себя чужие обязанности
• В свободное время могу отдаваться полностью работе.
• Политически грамотен

Личные сведения:
• Женат, но не курю
• Семейное положение: холост, но это не кредо.
• Семейное положение: счастлив в браке.
• Не женат (возможны командировки).
• Хронических заболеваний и противопоказаний не имею. Интересы и увлечения – разнообразные.
• Mрія: мерседес з відкидним дахом
• белая и пушистая
• Хоббi: колекцiонування окулярiв вiд сонця та коустерiв пiд пиво i ще дещо
• Happily married with one child
• Состояние в браке: замужем
• Cлужба в вооруженных силах: депутат райсовета
• Мне 45 лет — это нормально?
• Мой возраст (46 лет) свидетельствует против меня, однако то обстоятельство, что моему сыну 6 лет, говорит о том, что у меня хорошая мотивация и я сохранил способность учиться и активно работать.

Из предложений по сотрудничеству с агенством
«Используем следующие методы поиска:
— эксклюзив серш,
— хэдхайтинг,
— аутплейсмент»

Из резюме:
Венцом всех своих способностей и деяний считаю здравый смысл.

Курьер пишет в анкете:
Чем Вас привлекает данная работа: сравнительная простота.

К вопросу о грамотности:
Место работы: повелен (видимо имелось ввиду «павильон»)

Чем Вас привлекает данная работа: повИсить свою квалЕфикацию.

Генеральный директор пишет в резюме:
ОТЛИЧНО ВКУСНО ГОТОВЛЮ, ЗНАЮ МАССАЖ

Из резюме на вакансию секретаря:
Дополнительная информация о себе: умею работать “сверхурочно”.

резюме домработницы: “стираю, гажу, создаю уют в доме”

Профессия: Журналист
Образование: высшее Возраст: 31 лет
Описание: Я живу в БАТУМИ хочу сатрудничит СМИ. Имею опит работы

Профессиональные навыки:
— толерантность (к Вич+, гомосексуалистам, бездомным, употребляющим наркотики)
Хобби: метафора в топонимике, соционика.
***

И, на сладенькое, резюме настоящее. Правда, правда, оно в таком виде и было разослано в компании.

Из резюме: Арт-директор (1500 USD)

Сведения о кандидате:
мужчина, возраст 33 года, образование высшее, опыт работы 10 лет, город Москва, на полный рабочий день, мин. зарплата 1500$

Профессиональные навыки:
Черный пояс по верстке любых материалов как в кварке, так и индизайне хоть буклет, хоть большую советскую энциклопедию. Фотошоп иллюстратор и корел в ассортименте. Делаю логотипы и бренд-буки как моя бабушка горячие пирожки. Обожаю макинтоши как явление, а писюки могу собирать/разбирать с закрытыми глазами (включая OS Windows). Законченный трудоголик не обращающий внимания на время суток. Имею опыт выполнения задач как в одиночку, так и в составе руководителя группы молодых и талантливых (язык не поворачивается назвать этих грязных волосатых ублюдков дизайнерами). В качестве доказательства трудовых будней могу принести кучу макулатуры, которую многие воспринимают за портфолио. Продамся (такая натура) за указанное выше вознаграждение + соцпакет + оплачиваемый отпуск + больничный (тьфу-тьфу-тьфу) + бесплатный обед адекватно мыслящему работодателю. Креатив гарантирую.
Контактная информация:
ФИО: Дмитрий
Телефон: 8-910-***-**-** имейте совесть, не звоните с городских!
Email: ***


Чтобы не обидить автора

понедельник, 21 сентября 2009 г.

Локализация модуля Magento

Решил написать про локализацию своего модуля в Magento.

На первый взгляд задача проста, но я не сразу понял как....

Сначала создаем папку, если таковой нет в /locale/ с названием вашей локали.

На моем примере русский язык - папка "ru_RU". Затем в этой папке создаем файл для вашего модуля. В принципе название можно выбирать любое, но рекомендуют называть Company_Module.csv. (Company - название Вашей компании, Module - название модуля).

В Magento локализация основана на Английском. То есть содержимое файла должно выглядеть следующим образом:


"Attributes for template","Аттрибуты для шаблона"
"Test", "Тест"
"Your english text", "Ваш русский текст"

В коде же вы пишете

echo Mage::helper('moduleName')->__('Attributes for template');


где moduleName - название Вашего модуля.

Также в конфиг файл модуля (/app/code/local/Company/Module/etc/config.xml)

вставляете следующие строки (если их нет)


<translate>
<modules>
<ebay>
<files>
<default>Company_Module.csv</default>
</files>
</ebay>
</modules>
</translate>


Далее меняете локализацию в настройках и должно все заработать.

П.С. Незабудьте перелогинится и обновить Кеш.

вторник, 21 июля 2009 г.

Magento - создание своего модуля

Если Вам необходимо создать в Magento собственный модуль, и Вы никогда этого не делали до этого, я рекомендую воспользоваться утилиткой 'Module creator'. Которую можно скачать здесь.


Также на этой страничке есть и английская документация по ее работе.


Я опишу ее работу.

1) Скачиваем модуль с сайта
2) Копируем програму к себе на сервер и запускем index.php файл.

Видим перед собой:

Здесь мы вводим:

Namespace: Имя Вашей компании*
Module: Название модуля*
Magento Directory: директория где расположен установленный magento магазин.
Design: название темы, которую должен использовать модуль (по-умолчанию 'default')

* - совет: писать названия в таком формате: Xxxxxxx. (первый символ большой, остальные маленькие, и использовать только символы [A-Z])

Все, жмем 'create' и создаем модуль.

Созданый модуль (модели, контроллеры), будет находиться по-адресу:

/code/local/Название компании/Название модуля

Http адрес модуля, будет:

http://your-site/your-module-name

понедельник, 15 июня 2009 г.

Подмена родного контроллера (controller) в Magento своим.

Напишу как подменить родной контроллер в Magento, своим, без изменения родного кода магазина.

На примере подмены контроллера для корзины.

1.Сначала нужно создать непосредственно файлы модуля

1. Magento/app/code/local/MyNameSpace/MyModule/etc/config.xml
2. Magento/app/code/local/MyNameSpace/MyModule/controllers/Checkout/CartController.php
3. Magento/app/etc/modules/MyNameSpace_All.xml


2. Cоздаем /etc/config.xml в нашем модуле



  1. <?xml version="1.0"?>
  2. <config>
  3. <modules>
  4. <MyNameSpace_MyModule>
  5. <version>0.1.0</version>
  6. </MyNameSpace_MyModule>
  7. </modules>
  8. <global>
  9. <rewrite>
  10. <!-- Это имя класса для Вашего контроллера -->
  11. <mynamespace_mymodule_checkout_cart>
  12. <from><![CDATA[#^/checkout/cart/#]]></from>
  13. <!-- Путь к родному контроллеру который требуется подменить
  14. to - путь к нашему контрллеру
  15. -->
  16. <to>/mymodule/checkout_cart/</to>
  17. </mynamespace_mymodule_checkout_cart>
  18. </rewrite>
  19. </global>
  20. <!--
  21. Если Вы хотите переписать admin контроллер, то нужно написать admin вместо frontend
  22. -->
  23. <frontend>
  24. <routers>
  25. <mynamespace_mymodule>
  26. <use>standard</use>
  27. <args>
  28. <module>MyNameSpace_MyModule</module>
  29. <frontName>mymodule</frontName>
  30. </args>
  31. </mynamespace_mymodule>
  32. </routers>
  33. </frontend>
  34. </config>

3. Изменение /app/code/local/MyNameSpace/MyModule/controllers/Checkout/CartController.php

Это наш контролер


2. # Controllers are not autoloaded so we will have to do it manually:
3. require_once 'Mage/Checkout/controllers/CartController.php';
4. class MyNameSpace_MyModule_Checkout_CartController extends Mage_Checkout_CartController
5. {
6. # Overloaded indexAction
7. public function indexAction()
8. {
9. # Just to make sure
10. error_log('Yes, I did it!');
11. parent::indexAction();
12. }
13.}


4. Создаем конфиг файл, чтобы наш модуль активировался /app/etc/modules/MyNameSpace_All.xml


  1. <?xml version="1.0"?>
  2. <config>
  3. <modules>
  4. <MyNameSpace_MyModule>
  5. <active>true</active>
  6. <codePool>local</codePool>
  7. </MyNameSpace_MyModule>
  8. </modules>
  9. </config>



5. И последнее модифицирование файла, для того чтобы все блоки в родном контроллере, адекватно работали и в нашем созданом
Magento/app/design/frontend/[myinterface]/[mytheme]/layout/checkout.xml


  1. <mynamespace_mymodule_checkout_cart_index>
  2. <update handle="checkout_cart_index"/>
  3. </mynamespace_mymodule_checkout_cart_index>



Вот собственно и все, после всех манипуляций, все должно заработать

четверг, 23 апреля 2009 г.

Хакеры массово скупают телефоны Nokia 1100



Очень уж новость улыбнула:)

В ходе раccледования дела о пoчтoвoм мошенничестве в Нидерландах пoлиция стoлкнулась с любoпытным фактом – неизвестный покупатель отдал 25 тысяч евро за телефон Nokia 1100. Данная бюджетная модель была выпущен в конце 2003 г. и предназначалась для развивающихся рынков, в том числе для России. Цена телефона составляла менее 100 евро.

В попытках выяснить, почему киберпреступники готовы платить такие большие деньги за дешевый и внешне непримечательный аппарат, полиция обратилась к компании Ultrascan Advanced Global Investigations. Эксперты Ultrascan выяснили, что преступников привлекают не все аппараты Nokia 1100, а только изготовленные на фабрике Nokia в г. Бохум (Германия). Эта серия аппаратов была признана бракованной из-за проблем в устаревшем программном обеспечении, созданном еще в 2002 г. Найденные проблемы позволяют перепрограммировать аппарат и перехватывать с его помощью одноразовые коды транзакций TAN (Transaction Authentication Number). Сейчас многие европейские банки высылают такие коды на личный телефон клиента в виде SMS-сообщений. Получив TAN-код, пользователь подтверждает перевод денег, однако с помощью взломанного телефона Nokia 1100 злоумышленники могут перехватить одноразовый пароль и TAN-код, а затем перевести деньги на свой счет.

Кроме того аппараты Nokia 1100 сделанные в Бохуме позволяют не только перехватывать сообщения, отправленные на другие номера. Например, в 2005 году, полиция Нидерландов не смогла стандартными способами установить местонахождение абонентов, отправляющих свои SMS-сообщения с телефонов Nokia 1100. В дальнейшем полицейские все-таки смогли доказать, что отправитель сообщения находился в нужном месте в нужное время, однако проблема с аппаратами Nokia 1100 осталась.

Интересно заметить, что компания Nokia продала во всем мире более 200 миллионов экземпляров Nokia 1100 и моделей на ее базе, однако количество уязвимых аппаратов точно неизвестно. Подробнее о проблеме можно прочитать в статье Computer World .

среда, 15 апреля 2009 г.

Magento Commerce. Введение

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

Из-за этого мне приходиться разбираться со структурой магазина самому. Копаясь в туче исходного кода, библиотеках, контроллерах и можелях этого магазина.

Именно по этому я хочу делать некоторые заметки про магазин, которые потом могут стать полезными не только мне, но и кому лиюо еще.

Начнем с введения, что такое Magento Commerce.

Magento — интернет-магазин с открытым исходным кодом, распространяющееся в соответствии с Open Software License (OSL 3.0). Это программное обеспечение создано с использованием Zend Framework. На конкурсе Sourceforge Community Choice Awards 2008 Magento занял первое место в номинации «лучший новый проект».

Архитектура:

Можно сказать что система написана на Zend Framework, но видно разработчики решили выделитсья и изменили Фреймворк, назвав его Mage. Но в принципе прктически все функции и классы что были доступны в Zend доступны и здесь.

Архитектура самих папок устроена почти как в Зенде, следующим образом:
Есть папка "core" в которой храняться все модули. Каждый же модуль имеет свой набор контроллеров, блоком, моделей и хелперов.

Пр:

core /
moduleName/
controllers/
blocks/
modules/
helpers/
etc/

Также есть папка где храняться темплейты:

design/

И Xml файлы которые конфигурируют магазин

etc/

Java Script

Магазин использует библиотеки Prototype

Возможности

Основные

  • * Пакеты дизайна(англ.)
  • * Множество валют(англ.)
  • * Множество сайтов на одной системе(англ.)
  • * Многоязычность(англ.)
  • * Методы оплаты и доставки(англ.)

Панель администратора

  • * Маркетинговые инструменты
  • o Многоуровневое ценообразование
  • o Купоны
  • o Правила ценообразования
  • * Отчеты
  • o Отчеты продаж
  • o Отчет по корзинам покупателя
  • o Отчет о списке отмеченного товара
  • o Отчет о Отзывах
  • o Отчет по Тэгам
  • o Отчет по Поиску
  • * Определение налоговых ставок
  • o Определение правил для региона, страны или почтового кода.
  • o Создание классов налога, например «Нормальный» или «Оптовый»
  • o Определение правил налога, например «Налог на одежду», также можно связать различные группы товаров с классами налогов.
  • * Продукты и каталог
  • o Возможность задания различных атрибутов (свойств) для товара.
  • o Группировка товара в комплекты.
  • o Конфигурируемые продукты — продукты с выборочными свойствами (например цвет, размер и т. д.)
  • o Сортировка товара по предопределенным атрибутам. Атрибуты доступные для сортировки определяются в панели администрирования.
  • * Система управления контентом
  • * Группы покупателей
  • * Импорт/Экспорт (В данный момент импорт товаров работает в ограниченом варианте, возможно внесение товаров, но не обновление)
  • * Система контроля доступа

Возможности покупателей

  • * Поисковая оптимизация (SEO)
  • * Связь с покупателем
  • o Сообщения по электронной почте
  • o Новостная рассылка по электронной почте
  • * Доставка по нескольким адресам
  • * Поиск
  • * Сравнение продуктов
  • * Наслоенная навигация
  • * Тэги для продуктов
  • * Отзывы о Продуктах
  • * Список отмеченного товара
  • * Оформление заказа
  • * Корзина покупок
  • * Аккаунты покупателей

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

суббота, 4 апреля 2009 г.

Hansaplast реклама

Сегодня наткнулся на рекламу, очень понравилось:).
Надеюсь кто-то оценит)



Порылся и нашел видео:




четверг, 12 февраля 2009 г.

Plastic Logic E-Reader

Сегодня прочитал статью про Plastic Logic E-Reader и стало интересно что это за штука такая.

Порылся и нашел:

"Plastic Logic Reader представляет собой тонкое и легкое – весом менее большинства печатных журналов - устройство формата 8,5х11" для чтения электронных книг. При изготовлении модели применяется уникальная технология создания пластиковых дисплеев."


Вот еще немного видео:



В общем очень хотел бы иметь такую штучку:)

суббота, 7 февраля 2009 г.

Ebay Api Введение

По работе, мне пришлось столкнуться с аукционом Ebay, а точнее с Ebay Api о существовании которого я раньше не догадывался. Думаю что такое Ebay.com знают все пользователи интернета. А если не знают, то объясню – это самый крупный интернет-аукцион в мире, имеющий кучу возможностей, и позволяющий продать или купить все что угодно (в разумных пределах конечно).

И у этого самого аукциона, как оказалось, имеется свое Api , которое позволяет получать полный доступ к базе данных аукциона и оперировать нужной информацией.
Для того чтобы начать работать, необходимо зарегистрироваться на сайте http://developer.ebay.com/

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

API делиться несколько разделов, в зависимости от функций, вот основные из них:
  • Shopping API – позволяет производить поиск по аукционам, просматривать аукционы
  • Merchandising API – позволяет получать информацию по популярным аукционам, и текущим сделкам.
  • Trading API – позволяет получить доступ к защищенным данным, производить авторизацию, получать данный пользователя

Языки программирования, для которых существует API:
  • 1) .NET, C#, ASP, VB
  • 2) PHP
  • 3) Java
  • 4) JavaScript

Меня будет интересовать PHP.

Работа всей системы построена на XML запросах, т.е. мы генерируем какую-либо XML , по определенным правилам, отсылаем ее на Ebay, и получаем ответ на наш запрос, также в виде XML. Если вы не знаете правильно ли вы сгенерировали XML есть возможность проверить ее тут https://developer.ebay.com/DevZone/build-test/test-tool/ (естественно необходимо авторизироваться) Также на сайте http://developer.ebay.com/ можно скачать примеры использования API.

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

Пример:



Как видно из этого скрина, есть 2 вида ключей, это Production keys и Sandbox Key. Чтобы было понятно, Production keys – это ключи, которые позволяют работать с сайтом ebay.com. A Sandbox Key – это для работы с sandbox.ebay.com, сайтом который предназначен для разработчиков, так называемая тестовая площадка.
Если вы хотите использовать Trading API, то также прийдется сгенерировать User Tokens.

В следующей статье расскажу как производить XML запросы и обрабатывать ответы. Пока.

понедельник, 2 февраля 2009 г.

Американские законы

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

Американские законы в разных штатах

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

Балдвин Парк, Калифорния:
- Никому не разрешается ездить на велосипедах в плавательных бассейнах.

Портленд, Мэйн:
- Запрещено щекотание перышками женских подбородков.

Лексингтон, Кентукки:
- Строго запрещено ношение мороженого в карманах.

Портленд, Орегон:
- Противозаконным является проведение бракосочетательных церемоний на ледовом катке.

Ванкувер, WA:
- Действует закон, согласно которому все моторизованные транспортные средства обязаны иметь на борту якорь... для использования в качестве аварийного тормоза.

Монтана:
- Семь индейцев, собpавшихся вместе, считаются бандой, гpозящей миpным жителям. В них можно стpелять без пpедyпpеждения.

King County, Seattle Washington
- Считается незаконным сидеть на коленях мужчины в поезде метро, если Вы не замужем.

Washington:
- Закон, уменьшающий уровень преступности в черте города: "Обязательным для водителя с преступными намерениями является остановка при въезде в город с последующим звонком местному шефу полиции, сообщающим о его намерениях".

Pennsylvania:
- Мужчина не вправе покупать алкогольные напитки без письменного разрешения его жены.

Oklahoma:
- Могут подвергнуться аресту, штрафу или заключению нарушители закона, запрещающего корчить рожи собакам.

New York:
- Штраф в $25 может быть взыскан за флирт.Этот старый закон особо запрещает мужчинам на любой городской улице поворачиваться и смотреть на женщину "известным взглядом". Другим наказанием за такие магнетические взгляды может стать обязательство для мужчины носить пару лошадиных шор всякий раз, когда он выходит на улицу.

Nebraska:
- Родители могут подвергнуться аресту, если их ребенок не смог сдержать выделение газов во время церковной службы.
- Водителям такси запрещено заниматься любовью на переднем сидении машины во время смены.

Massachusetts:
- Запрещено храпеть во сне, за исключением случая, когда все окна спальни закрыты наглухо.

Louisiana:
- Уголовно наказуемым считается ограбить банк, а затем расстрелять кассира из водяного пистолета

Kentucky:
- Hезаконным считается носить рожок мороженого в кармане.

Iowa:
- Поцелуи могут длиться в течение, но не более того, пяти минут.
- Гражданам не позволяется посещать кинотеатр либо театр, или пользоваться общественным транспортом, если менее чем за четыре часа до этого они употребляли в пищу чеснок.

Indiana:
- Купание [насколько я понимаю - в открытых водоемах] запрещено в течение зимы.

Illinois:
- Запрещается давать зажженные сигары собакам, кошкам и другим домашним животным.

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

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

Connecticut:
- Гражданам запрещено переходить улицу на руках.

Alaska:
- Законом запрещено выбрасывать живого оленя из летящего самолета.

Оксфорд, Огайо:
- Женщине запрещено раздеваться перед фотографией мужчины.

Балтимор, Мэриленд:
- Запрещено приводить в кинотеатр льва.

Оклахома:
- Можно сесть в тюрьму, если вы будете дразнить собаку.

Эймос, Айова:
- Мужчины могут сделать не более трех глотков пива, когда они в постели со своими женами.

Сент-Луис, Миссури:
- Пожарный не имеет права спасать женщину, если она в ночной рубашке.

Зион, Иллинойс:
- Запрещено предлагать сигары домашним животным.

Провиденс, Род-Айленс:
- Владельцы магазинов не имеют права продавать зубную пасту и зубные щетки одному и тому же покупателю по воскресеньям.

Логан-Каунти, Колорадо:
- Запрещено целовать женщину, когда она спит.

Александрия, Минесота:
- Муж не имеет права заниматься сексом со своей женой, если от него пахнет луком, чесноком или сардинами.

Юрик, Hевада:
- Усатым мужчинам не разрешено целовать женщин.

Бэллингем (Вашингтон):
- Женщинам запрещено во время танца делать более трех шагов назад.

Кентукки:
- Могут наказать за то, что вы несете мороженое в заднем кармане.

Канзас:
- Ловить рыбу голыми руками противозаконно.

Мичиган:
- Мужу по закону принадлежат...волосы его жены.

Техас:
- Запрещено ругаться в непосредственной близости от трупа.

Hьюарке (Hью-Джерси):
- Нельзя покупать мороженное после шести часов вечера, если у вас нет на то письменного разрешения вашего врача.

Вермонт:
- Женщины не имеют права "надевать" вставные челюсти без письменного разрешения их мужей

Чтобы все соблюсти, я взял их тут

суббота, 31 января 2009 г.

Слишком женатый таксист

Вот решил сходить в театр.
Ни когда до этого не считал что мне там может понравится. Но, оказалось что это не так.
У нас в театре им. Горького (г. Днепропетровск), идет потрясающая комедия "Слишком женатый таксист"

"Комедия в 2-х действиях
Рэй Куни

Такой международно-смешной пьесы на нашей сцене не было уже давно. Даже трудно себе представить, что сдержанные жители туманного Альбиона могут так смеяться, да еще над самими собой.

Это комедия положений, захватывающая и веселящая, ибо никогда не известно, какой еще сюрприз уготован героям судьбой, как невинная интрижка может перерасти в скандал. Главное, не допустить, чтобы все тайное вдруг стало явным, тем более, что никому из действующих лиц этого не хочется: ни самому таксисту, Джону Смиту, ни его женщинам Мэри и Барбаре, да и всем окружающим. Неожиданные повороты сюжета, смешные выходки и реплики, быстрая смена действия – все это создает атмосферу веселья, а для зрителей и хорошее настроение. "

В общем всем бегом в театр:)!!!! Не пожалеете!!