• Опыт блогстарта

      Эта статья — вторая в серии из трёх статей о становлении блога. Она основывается на моём личном опыте и на примере моего проекта. Все советы, приведённые ниже — результат моих собственных опытов. Думаю, это может быть полезным для тех, кто только собирается заиметь «стэндалон». А те, чей опыт схож с моим, могут дополнить и поправить то, что я написал, на благо новых блоггеров.

      nude2



      Стойким товарищам я советую начать с выбора домена и поиска хостинга. Если ты планируешь немного повременить, и не становиться «звездой блогинга» в первые десять дней практики, смело бери пакет «стартер». Его наполнение везде разнится, но несущественно. Php 4.1, MySQL-база, три-четыре гигабайта трафика и контрольная панель — есть почти у всех. Сразу после оглушительного успеха, докупишь места и трафика.

      Читать дальше →
    • Retinafy everything

        Почему стоит задуматься о векторной графике уже сейчас?

        Retina-дисплеи (спасибо Apple за удобный маркетинговый термин) уже стали частью нашей жизни. Если вы web-разработчик/дизайнер, и вы не учитываете, как ваша работа отображается на экранах с высоким разрешением, то вы серьезно выпадаете из современных трендов.

        Читать дальше →
      • Сложный SVG на клиенте и сервере

          Это небольшая история страданий, боли, взлетов и падений в попытках ускорить работу RaphaelJS на больших и сложных SVG. Если вы страдаете от подобных проблем, то не стоит ждать в конце этой статьи серебряной пули, но, надеюсь, что про наш путь поиска решения будет интересно прочитать всем.

          Читать дальше →
        • Паттерн проектирования «Декоратор» / «Decorator»

            Почитать описание других паттернов.

            Проблема


            Возложить дополнительные обязанности (прозрачные для клиентов) на отдельный объект, а не на класс в целом.

            Описание


            Для более детального понимания проблемы, рассмотрим конкретную ситуацию. Пусть имеется некоторый объект — «кнопка», принадлежащий классу объектов «Кнопка», на который понадобилось возложить дополнительные обязанности. Под обязанностями, в данном контексте, понимаются какие-либо особенности поведения объекта. В случае с кнопкой, можно рассмотреть поведение объекта при его отображении на экране. При этом, будем считать, дополнительными обязанностями — отображение рамки кнопки, надписи, иконки. Важно понимать, что все эти обязанности должны иметь возможность быть наложенными как одновременно, так и по отдельности. Очевидно, первое, что приходит на ум — порождение классов (механизм наследования). Для данной задачи возможно это и выход — расширить класс «Кнопка» семью (23-1 = 7) различными классами, сочетающими в себе всевозможные комбинации обязанностей. Это классы: «Кнопка_С_Надписью», «Кнопка_С_Рамкой», «Кнопка_С_Иконкой», «Кнопка_С_Надписью_И_Иконкой», «Кнопка_С Рамкой_И_Иконкой», «Кнопка_С_Надписью_И_Рамкой», «Кнопка_С_Надписью_И_Рамкой_И_Иконкой». А если таких обязанностей будет не три, а хотя бы десять, не говоря уже про неудобство работы с подобной структурой. Безусловно, порождение классов в таком случае — заведомо проигрышный вариант. Однако, из этой ситуации есть выход — паттерн «Декоратор».
            Читать дальше →
          • Немецкие аэрофотоснимки Ленинграда 1942 года

              Наткнулся я недавно на один замечательный сайт www.wwii-photos-maps.com, где выложены аэрофотоснимки времен второй мировой войны, сделанные с немецких самолетов. Основная масса выложенных снимков приходится на 3 города (и их окрестности): Ленинград, Сталинград и Варшаву.

              image

              Аэрофотоснимок Ленинграда, 1 Мая 1942 года.
              Читать дальше →
            • Дебаг в Zend Framework с использованием FirePHP

                Zend Framework and FrePHP

                Есть одно правило — не показывать заказчику debug информацию, для этой цели обычно существует две конфигурации, но если заказчик очень любопытен, либо Вам, из эстетических побуждений, хочется скрыть килобайты дебаг информации? В этих благих намерениях нам поможет FirePHP.
                Читать дальше →
                • +20
                • 1,2k
                • 8
              • Список полезных инструментов для php разработчика

                • Перевод
                PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
                Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
                Читать дальше →
              • Новая жизнь без IE6

                  Данная тема основана на теме Жизнь без IE6 пользователя mobilz

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

                  Основные моменты:
                  Добавлены ссылки на счетчик LiveInternet для предоставления пользователям объективных сведений о доле браузера Internet Explorer 6 в сети интернет. Обновлены версии используемых на странице браузеров, а также ссылки на основные моменты, которые могут быть непонятны пользователям (например выражение «Гик»).
                  В результате получилось