• Userscripts. Углубляемся

    • Tutorial
    Как упоминалось в предыдущей статье, юзерскрипты поддерживаются всеми современными браузерами. И даже кое-как поддерживаются в IE7 и выше.

    В этой статье мы поговорим о браузерах:
    • Ограничения
    • Проблемы
    • Расширения для запуска юзерскриптов
    • Установка юзерскриптов


    Приступим-с
  • Оформление изображений на CSS3

    • Перевод
    При использовании свойств box-shadow или border-radius непосредственно на изображении, браузеры могут некорректно отображать заданные нами CSS стили, из-за чего внешний вид блока будет существенно отличаться от задуманного. Однако если использовать изображение в качестве фона, то этой проблемы можно запросто избежать. Из статьи вы узнаете, как с помощью jQuery сделать идеально закругленные углы у изображений, а так же какие еще способы оформления возможны с помощью таких свойств как box-shadow, border-radius и transition.
    Читать дальше →
  • Знакомимся с PayPal API

      На данный момент, PayPal — это самая популярная платформа электронных платежей. Именно то, насколько легко можно открыть счет и начать получать на него средства, по сравнению с традиционными способами получения платежей, и является причиной #1 его запредельной популярности. Второй причиной, многие со мной согласятся, является мощный API, предоставляемый PayPal. В этом топике я по порядку разложу все способы и трюки, связанные с работой PayPal API, чтобы вы избежали проблем с его интеграцией.
      Читать дальше →
    • Полноценная замена Denwer или разворачиваем Ubuntu-server на VMware (часть 2)

        В первой части мы с вами создали виртуальную машину, установили Ubuntu, настроили сеть и SSH доступ к гостевой ОС (Ubuntu). Теперь, самое время разобраться с синхронизацией наших файлов. Можно конечно не заморачиваться с этим, а просто копировать файлы по sftp после каждого редактирования, но это быстро надоест. По этому, для полного счастья стоит взять на вооружение один из ниже описанных способов.
        Читать дальше →
      • Полноценная замена Denwer или разворачиваем Ubuntu-server на VMware (часть 1)

          Все кто занимается разработкой сайтов под windows, наверняка сталкивались с различными проблемами после запуска сайта на сервере. Проблемы эти появляются из-за того, что сервера обычно работают под ОС Linux. Кроме того, время от времени появляются очень интересные штуки на подобие NodeJS (портировали на win, но не сразу), которые очень хочется покрутить, но нельзя – на windows их нет. Однако, при всех этих недостатках с windows уходить не хочется, ведь здесь куча своих плюсов и привычно ведь в конце-то концов.

          Но не стоит огорчаться, ведь есть виртуализация, которая спешит нам на помощь.
          Читать дальше →
        • Chosen: сделай выпадающие списки более дружественными

            Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

            $(".chzn-select").chosen()
            (версия для jQuery)

            По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.

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

            Некоторые форки:
            Chosen для MooTools
            Модуль Chosen для Drupal 7
          • Плагинизация классов

              Как-то медитируя на свой новый велосипед подумал, – А почему бы не заложить в него возможность «плагинизации» контроллеров?

              Чтобы вот был, например, у нас некий базовый класс Generic.php:
              <?php
              class Generic
              {
                public function Hello() {
                  echo 'Hello!';
                }
              }
              ?>


              А мы такие взяли и повешали бы на него пару плагинов, которые дополнят/изменят какие-либо его методы не мешая друг-другу (по принципу «кто первый встал – того и тапки»).

              Вот они красавцы:
              PluginFoo.php:
              <?php
              class PluginFoo extends Generic_PluginFoo
              {
                public function Hello() {
                  echo 'Dudes?<br />';
                  parent::Hello();
                }
              }
              ?>

              и PluginBar.php:
              <?php
              class PluginBar extends Generic_PluginBar
              {
                public function Hello() {
                  parent::Hello();
                  echo '<br />O.o';
                }
              }
              ?>


              А потом мы создали бы объект родительского класса (не обращаясь к последнему потомку), вызвали метод Hello() и тот сказал бы нам:
              Dudes?
              Hello!
              O.o


              Ниже лаконичный вариант того как описанного поведения добился ort в своём LiveStreet, а затем уже и я в своём собственном велосипеде.
              Читать дальше →
            • Переменные в Фотошопе или как импортировать внешние PSD-файлы влёгкую

              • Перевод
              Во время работы над крупными проектами с множеством макетов и видов объекта даже минимальное изменение в повторяющемся компоненте может потребовать времени. Проход по множеству макетов и подстройка цвета или начертания у подобного повторяющегося элемента может стать изнуряющим делом. Конечно же, если у вас есть подмастерье, выполняющий всю грязную работу за вас, то вы, определённо, везунчик, но что же делать нам, фрилансерам?

              Неужели нам остаётся лишь сносить эту му́ку? Что ж, теперь нет! Недавно я обнаружил подход, который позволит дизайнерам распрощаться с открытием 23 PSD-файлов только ради смены цвета элемента в шапке. Вместо этого мы можем поступать разумно, как наши коллеги, разработчики, и импортировать внешние файлы при помощи кое-чего с названием «Variables (Переменные)».

              Сие позволит поместить многократно используемый компонент в отдельный файл и просто импортировать его во все макеты. Теперь, когда нам понадобится внести изменение, мы будем просто вносить его в одном месте.
              Читать дальше →