• Justify Grid — новое слово в разметке


      Доброго времени суток уважаемые хабражители. На сегодняшний день создание разметки для страницы грубо говоря не автоматизировано. Разметку мы выполняем с помощью float или inline-block (подробнее). Поэтому я хочу поделиться с вами замечательной идей — Justify Grid Framefork.

      Проблема


      Если говорить о верстке на float, то мы сталкиваемся с проблемой центрирования элемента и нам приходиться скурпулезно указывать все значения ширины и отступов. Эту проблему безусловно решают существующие Grid фреймворки (к примеру 960.gs). Но получается симантически не верная разметка и разработчикам постоянно приходиться использовать .clearfix. Плюс ко всему проблемы могут возникнуть из за дробных пикселей. Если говорить об inline-block, то неудобства появляются из за того, что элементы с этим значением выравниваются по базовой линии, а не по верхнему краю. А если на странице несколько inline-block'ов, каждый из которых расположен с новой строки, то между ними будут некоторые промежутки. Любой пробел повлияет на Ваш layout. Решение есть — CSS Grid Layout или Flexible Box Layout, но эти решения не поддерживаются на большинстве браузеров.
      Читать дальше →
    • Настраиваем рабочее окружение для Backend разработки на PHP

      За год работы в сфере Web технологий, мне не раз приходилось настраивать своё рабочее окружение. Для новичков не так то просто найти хороший гайд по настройке рабочего окружения.

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

      Всё это я буду поднимать на Ubuntu 13.04. Предполагается что вы уже скачали её с официального сайт, и установили.
      Читать дальше →
    • Тестирование производительности Python 2.7 при обработке списков различными способами

      image

      В ходе одного из моих питоновских проектов, с большой примесью ООП и обработкой большого числа данных — у меня возник вопрос, а насколько эффективно обрабатывать списки в классе с использованием вызовов его методов, или может использовать вызов внешней функции? Для этого были написаны 24 теста которые показали очень интересные результаты, Кому интересна данная тема, прошу в подробности.
      Подробности
    • Универсальный ПДУ для XBMC из TP Link MR3020

      • Tutorial
      Про домашний беспроводной маршрутизатор TP Link MR3020 с Openwrt уже писали на Хабре. В данной статье я расскажу, как эту недорогую, но полезную коробочку научить управлять телевизором, XBMC плеером и любой другой домашней электроникой, понимающей ИК сигналы с пульта управления. Более того, и сам MR3020 научится принимать сигналы, подаваемые с любого пульта ДУ.

      Чем и как конкретно управлять — решать вам, тем, кто возьмется повторить шаги, описанные ниже. У меня такие коробочки теперь управляют связкой TV-XBMC в гостиной и на кухне. При этом для управления используется всего один пульт. В ближайших планах — выбрать в соседнем подземном переходе пульт, который понравится всем домочадцам, и закупить таких штуки 3. Конечно, тем же хозяйством можно управлять с планшета Android (через Wi-Fi) или с компьютера (через Ethernet), но такой способ, похоже, кроме меня никого в нашей семье не вдохновляет.
      Читать дальше →
    • 5 правил верстки email-писем от Печкина


        Сегодня мы хотели бы рассказать о базовых правилах верстки HTML в email-письмах. Как известно, на свете существует множество почтовых клиентов:
        • веб-версии у почтовых провайдеров (Gmail, Yandex, Mail, Yahoo итд.)
        • десктопные почтовые клиенты (Outlook, Bat, Thunderbird, Mac Mail)
        • мобильные почтовые клиенты (Blackberry, Android, Iphone, Ipad итд)


        К сожалению, не существует обязательного стандарта верстки писем, который бы универсально поддерживался бы всеми клиентами. Часть поддерживает CSS3, часть нет, какие-то теги и аттрибуты поддерживаются, какие-то нет, не говоря уже о том, что поддержка HTML и CSS меняется даже в пределах одного почтового клиента от версии к версии. Последнее особенно заметно на примере Outlook (от Express и 2003 к Outlook 2011).

        Что же необходимо знать тем, кто собирается самостоятельно верстать HTML-код для email-писем?
        Посмотреть 5 правил верстки email
      • Для чего мы повесили в офисе телевизор?

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

          Дело в том, что мы занимаемся разработкой сайтов и хотим выпускать проекты в обещанный в договоре срок. А кто этого не хочет? Хотят все – и студии и заказчики, да вот только получается, что не получается… Заказчик не может своевременно согласовать работу или прислать материалы, у студии в нужный момент перегружены ресурсы и т.д. В результате – невыполнение договора. И самое обидное, что сколько времени не выделяй, все равно не успеешь. Но это не нормально, так не должно быть.

          Мы уже давно занимаемся этим вопросом, экспериментируя с разными подходами. И вот он один из них – телевизор. Как он помогает нам выполнять сроки – об этом небольшая история.
          Читать дальше →
        • SIMD без SIMD, или ищем на С почти в два раза быстрее чем на С++

          Прочитал статьи про комбинаторную кодогенерацию на С++ в контексте линейного поиска в базе данных: Возможности оптимизации в языках C и C++ и Скорости разработки и исполнения не достижимые на С. Попробуем достигнуть скоростей разработки и исполнения на C?

          После того, как я запустил компиляцию С++ кода из второй статьи, мне стало интересно — успею ли я написать аналог на С, который будет работать быстрее, пока код… компилируется? Не успел, код скомпилировался через 5 минут, а аналог на С писался все 15.

          Итак, постановка задачи — есть структура из нескольких полей, есть фильтр, который проверяет, находится ли каждое поле в указанном диапазоне. Или не проверяет — для каждого поля. Нужен код который эту проверку по фиксированному фильтру делает очень быстро. Данные случайные, так что чем меньше условных переходов тем лучше — предсказание переходов на случайных данных работает так себе.
          Читать дальше →
        • Нативное решение проблемы с дисками WD в Linux

            Владельцы дисков WD серии Green сталкиваются с слишком частой парковкой головок. В этой статье было описано как решить проблему с помощью DOS-утилиты wdidle3 от поддержки WD. Со времен этой статьи прошло много времени, но проблема осталась. Да и сам метод решения с помощью DOS-утилиты не является гуманным.
            В процессе решения этой проблемы наткнулся на программу idle3-tools, с помощью которой можно указать время парковки головок из Linux.
            Читать дальше →
          • Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

              На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


              Договор авторского заказа
            • ЭБ 112.3. Подготовка к сдаче II группы электробезопасности

              • Tutorial

              Всем доброго времени суток. В процессе трудового пути доблестные инженеры обязаны сдавать экзамены по электробезопасности, получая, подтверждая или повышая свою группу. Даже если доблестные инженеры все время сидят на стуле. Даже если стул при этом заземлен.
              Когда эта задача встала передо мной, я погуглил пару часов и вспотел, прежде чем нашел все необходимое. Проблема в том, что полезная информация затеряна среди рекламы, недешевых курсов и кучи спама. Прочтение данного поста поможет в запоминании правильных ответов билетов и сорвет покровы с того, зачем нужна электробезопасность.
              Под катом я собрал все, что необходимо для сдачи II группы по ЭБ — элементы законодательства, методику подготовки, билеты с ответами и теорию. Большие массивы информации собраны в спойлеры. Вскрывайте то, что нужно. Никакой рекламы, и, конечно же, уточки!


              ЭБ 112.3
            • LibreOffice в корпоративном секторе — от теории к практике

                LibreOffice в корпоративном секторе — к старту готов


                Есть на Хабре такая хорошая статья за авторством frozer, в которой рассматривается развертывание (с помощью Active Directory) и использование LibreOffice (LO) в корпоративной среде.

                Единственный минус статьи — только теоретический подход. Т.е. автор описывает что можно сделать для корпоративной интеграции LO, но практическая часть отсутствует, как таковая.

                Я пытался узнать секреты и получить советы на официальном русскоязычном форуме LO, и вот что получил в ответ:
                Есть самый эффективный путь.
                Скомпильте из иисходников под себя. Или заплатите тому, кто это сделает.
                Это явно не тот метод. В интернете информации тоже очень мало, поэтому будем восполнять пробелы.

                Инструкция — под катом.
                Читать дальше →
              • Быстрый старт: Визуальное проектирование базы данных в MySQL Workbench

                image

                Цель данного поста — помочь начинающему разработчику быстро освоится и спроектировать простенькую базу с помощью инструмента для визуального проектирования баз данных MySQL Workbench от компании Oracle и получить её ER-модель и SQL-дамп.
                Читать дальше →
              • Бездисковая загрузка с использованием PXE и iSCSI на примере Ubuntu

                • Tutorial
                Здравствуйте.

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

                Что необходимо?


                Для загрузки системы нужны три компонента: ядро, initramfs и корневая файловая система.
                Ядро и initramfs мы передадим по TFTP, а корневую файловую систему — по iSCSI.

                iSCSI-таргеты


                Небольшой ликбез по iSCSI
                iSCSI — реализация протокола SCSI поверх TCP. Сам протокол SCSI весьма универсален, теоретически с его помощью можно подключить устройство любого типа. Тем не менее, в большинстве случаев SCSI используется для доступа к тем или иным устройствам хранения данных (жёсткие диски, приводы CD и DVD и т. п.). Для примера Mass Storage Device, использующийся в USB-устройствах, является реализацией SCSI поверх USB. Поэтому, кстати, флешки в Linux опознаются как /dev/sdX-устройства. Использующаяся на серверах шина SAS также является реализацией SCSI (собственно, это видно из названия — Serial Attached SCSI).
                В iSCSI различаются понятия таргета (target, целевое устройство, осуществляет приём и выполнение запросов) и инициатора (initiator, порождает запросы). В более привычных терминах таргет — это сервер, а инициатор — клиент.
                Таргеты и инициаторы бывают разных видов. iSCSI-таргетом может выступать обычный компьютер, сервер или система хранения данных. Инициаторами обычно выступают сетевые карты (в их ROM бывает прошит необходимый код) или software-реализации.

                Для Ubuntu возможно использовать различные iSCSI-таргеты. Вот неполный их список:
                • ISCSI Enterprise Target — одна из самых старых реализаций iSCSI-таргета на Linux. Насколько мне известно, жива и здравствует, однако требует установки (в Ubuntu) через DKMS и совсем лёгкого дребезга бубнов. На opennet.ru есть рабочий HOWTO, применимый и к более поздним версиям ОС (Precise)
                • SCSI Target Framework (STGT/TGT) — реализация iSCSI-таргета, портированная из BSD-систем. В отличии от IET, позволяет использовать не только iSCSI, но и другие родственные технологии (такие, как, например, SRP). К сожалению, код STGT в части iSCSI в линуксе работает в userspace. Как следствие, производительность получается где-то в районе плинтуса.
                • SCST — новая реализация универсального таргета для Linux. По заявлениям разработчиков обладает массой преимуществ и фишек. В ядро не включена, для установки требует патчей исходников ядра и продолжительного зубодробительного секса. По слухам, мила, прекрасна и похожа на сакуру. Когда-то давно ее использовали, например, в Оверсан-Скалакси (их опыт вкратце описан на хабре). Пакеты для Ubuntu перестали поддерживаться около полутора лет назад, в SVN есть некоторая активность, то есть проект жив и здравствует. Кстати, разработчики — русские парни :)
                • LIO — Linux Unified Target, универсальная система, реализующая iSCSI, SRP, FCoE и несколько других вариантов экспорта устройств в сеть. Официально включена в ядро и является стандартным таргетом, начиная с версии 2.6.38. К ней есть определенные претензии в плане того, что на официальном сайте активно продвигается проприетарная сборка, обладающая большим функционалом, но оставим вопли RMS.

                Читать дальше →
              • HybridAuth — интеграция сайта с социальными сетями

                • Tutorial

                Введение


                На своем сайте на php для авторизации пользователей я в последнее время пользовался сервисом Loginza. Все было очень круто и удобно, но в голове начала зарождаться идея отказа от этого замечательного сервиса и вот почему:

                1. Авторизация пользователей в случае закрытия Loginza или отказа от нее — в этом случае мы потеряем пользователей, в привязанных профилях которых не указан email;
                2. Дополнительная информация, например, ВКонтакте умеет отдавать фото пользователя в нескольких видах, в том числе квадратный аватар. С Логинзой получить эти данные не представляется возможным, сервис сам решает какие данные запрашивать и какие отдавать;
                3. С момента продажи Яндексу Логинза начала умирать: на запросы пользователей никто не отвечает, сервис не развивается, а находится в том виде, в котором был 1-2 года назад.

                Встал вопрос замены и использовать альтернативные сервисы желания уже не возникало — никто не представлял возможности «общаться» с соц. сетью напрямую, а расширенные поля профиля обычно включались в платные услуги. Хотелось автономного решения с возможностью гибкой настройки запрашиваемых полей и в итоге я остановился на php библиотеке HybridAuth.
                Подробнее о HybridAuth
              • Nginx+php-fpm+perl под Debian Squeeze

                • Tutorial

                Для чего эта заметка, ведь похожих уже полно? Если кратко, то когда я взялся настроить связку пришлось перечитать огромное количество документации и разных статей, все сразу и в одном месте найти не получилось. Данная статья попытка систематизировать накопленные знания, а также максимально подробная помощь тем, кто только начинает осваивать nginx.

                В качестве теста решил перевести все свои сайты на nginx, до этого все работало на Apache из состава ZendServerCE. Интересно было пробовать насколько сложно будет полностью переехать на новый для себя веб-сервер, ведь используется несколько CMS (DLE, Wordpress, самописныеCMS).

                Задачи:
                • базовая работа web сервера — обработка html;
                • запуск php скриптов;
                • корректная работа phpmyadmin для всех сайтов на сервере;
                • запуск cgi и pl скриптов;
                • использование кеширования и подбор оптимальных параметров для увеличения производительности.


                Имеем свежеустановленный сервер Debian 6 в минимальной установке из netinstall. И так поехали.
                Читать дальше →
              • Хотите, чтобы ваша компания развивалась? Избавьтесь от менеджеров!

                • Translation
                Многие сотрудники работают на своих боссов, нежели на компанию или своих клиентов. В наше время бизнес пронизан менеджерами разных уровней, и сотрудники часто обнаруживают, что они, играя в политику, фокусируются на задачах, которые осчастливливают их босса.

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

                Если вы заметили такое на вашем текущем месте работы, знайте, что в этом виновата иерархическая структура организации.

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

                Далее описание того, как я это сделал.
                Читать дальше →
              • WEB DESIGN: Переход на личности

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

                  image

                  Перед вами 8 ситуаций, в которых будут участвовать web-дизайнер — Дмитрий, работающий в программе Photoshop, и верстальщик — Владимир. Эти два парня знают свое дело, но у них постоянно возникают конфликты, а иногда у одного из них возникает странное желание ударить другого монитором по голове. Впрочем, все мы цивилизованные люди и допустить такой развязки не можем. А потому сейчас мы разберемся в некоторых причинах конфликта этих двух бесценных специалистов.

                  Читать дальше →
                • Повышение юзабилити на 1000% или «paper prototyping»

                    image

                    Почему многие дизайнеры и проектировщики интерфейсов не используют скетчинг на бумаге, а сразу включают компьютер? Неужели метод бумажных прототипов сложный, долгий и дорогой? Возможно, менеджеры проектов предпочитают тратить бюджет на что-то другое…
                    Читать дальше →
                  • Прототипирование главной страницы статей flamp.ru

                      Задание


                      Переделать страницу «Статьи» (http://novosibirsk.flamp.ru/articles). Результат — один макет в PNG. Задача: вызвать у пользователя желание оставаться на этой странице как можно дольше.


                      Читать дальше →
                    • Юзабилити Facebook. Часть 1: Масштабы бедствия

                      image

                      Я всегда считал, что сайты из мирового топа могли бы быть и поудобнее, учитывая их грандиозную посещаемость. С тех пор как я узнал о существовании Facebook, раз пять честно пытался стать пользователем этого ресурса и по сей день обхожу его стороной, совсем позабыв пароли от старых учеток. Путешествуя по миру, я часто встречал людей, для которых иметь аккаунт в Facebook было столь же естественно, как и мобильный телефон. А вот в России предпочтение отдают отечественным аналогам. Чем же наших не устраивает признанная во всем мире соцсеть? Зачем идти путем создания местных социальных ресурсов наперекор процессу глобализации? Я зарегистрировался в Facebook в шестой раз и хочу поделиться своими мыслями относительно юзабилити этого прославленного ресурса.
                      Читать дальше →