• Я хочу, чтобы сайты открывались мгновенно

      Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


      Я хочу, чтобы мой сайт открывался быстро
    • Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 2. практическая)



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



        Собираем автономку
      • Проверка орфографии одновременно для русского и английского языков в OS X

          Сервис проверки орфографии в OS X обладает одним существенным недостатком. Нет возможности проверить правописание слов в смешанном тексте. Возможно проверить либо написание английских слов (русские не будут проверятся), либо написание русских слов (английские слова будут подчеркнуты как слова с ошибками). В настройках сервиса есть возможность выбрать мультиязычную проверку, но по какой-то причине русский язык не входит в данную группу словарей.
          В данном топике описана инструкция для включения проверки орфографии в смешанных текстах.
          Читать дальше →
        • Простой класс для работы с XML

            Предисловие


            Как-то давно, я столкнулся с проблемой под названием «Document Object Model». При всей простоте и интуитивной понятности самого по себе XML, большинство предлагаемых API парсеров являются чем-то громоздким и труднопонимаемым для человека, который только что начал вникать в особенности работы с XML. Да, я не спорю, всё это комплексные решения, охватывающие все возможные аспекты, но от этого не легче.

            Для меня до сих пор остаётся загадкой, почему никто (или почти никто) из разработчиков парсеров не предоставляет какие-нибудь лёгкие решения для «повседневного пользования», так сказать. Пусть даже это граничит с профанацией, но суть от этого не меняется — вникая в проблему и идеологию целиком, мы приобретаем умение пользоваться большим и мощным инструментом, жертвуя при этом большим количеством времени. Возможно, кому-то наличие упрощённого варианта этого инструмента позволило бы вникнуть в суть намного быстрее.

            Тем не менее, пока что приходится изобретать велосипед для себя.

            И что же я там изобрёл...
          • Программирование для начинающих: как стартовать и куда двигаться?

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

            Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

            UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

            Читать дальше →
          • Полезное для Android разработчика из Github

              Доброго времени суток.


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

              Зайти на огонек!
              • +41
              • 20,5k
              • 7
            • Ruby: cheatsheet для изучения

              • Tutorial
              Это — статья-roadmap-cheatsheet для изучающих Ruby. Вместо того, чтобы рассказывать очередной how-to я постараюсь расписать все те вещи, которые, на мой взгляд, можно изложить кратко и емко, с упором на то, что программисту пришедшему с других языков и платформ может показаться не очевидным, антипоисковым и просто затратным по времени на изучение без подсказок — на остальное просто дам ссылки. Не смотря на то, что в природе существует множество туториалов/кастов/книг/чего угодно по чему угодно — именно такого формата мне самому всегда не хватает. И по сути, это те вещи, которые чаще всего рассказываю при вопросах «а как оно вообще?», «с чего начать?», «а как делается такая вот штука?», «а какой gem лучше?». Кстати, пока работал над этой статьей на Хабре появилась похожая про Python — видимо, идея витает в воздухе.
              Читать дальше →
            • Настройка IDEA для чистокодеров

                Я люблю две вещи: Intellij IDEA и чистый код (Clean Code).
                IDEA создана для чистого кода. Многие настройки по умолчанию уже стимулируют вас писать как надо.


                Но она всё ещё не идеальна.
                Когда я устанавливаю новую копию IDEA, я пробегаю по настройкам и выставляю свои любимые галочки.
                Хочу ими с вами поделиться в надежде, что когда-нибудь и они станут стандартом.

                Мои любимые настройки IDEA с картинками
              • 60 FPS? Легко! pointer-events:none!

                • Перевод
                • Tutorial


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

                .hover .element:hover {
                  box-shadow: 1px 1px 1px #000;
                }
                Читать дальше →
              • Готовим web-приложение под зоопарк версий Android

                  Совсем недавно и достаточно неожиданно для самого себя я оказался ответственным за разработку программки для Android. Но ни под Android, ни вообще на Java мне ранее писать не приходилось. Нужно было сделать web-приложение, вроде phonegap и прочих, которое почти полностью работает в компоненте браузера. И все это под версии 2.2 — 4.3 (SDK 8 — 18).

                  О некоторых выкрутасах Android и костылях под них с точки зрения человека, впервые это все увидевшего, я и хотел бы рассказать. Надеюсь, вышло без HelloWorld, «OMG! Java», и т.п.

                  Поворот экрана/смена ориентации
                  Network unreachable
                  Грузим локальные ресурсы
                  Мост между Java и JavaScript

                  Самое интересное с последним пунктом
                • Сравнение эффективности минимизаторов CSS- и JavaScript-кода (Сентябрь 2013)

                    Логотипы модулей-минимизаторов из Bundle Transformer

                    За прошедшие, с момента публикации предыдущего обзора, 3 месяца уже успели обновиться почти все рассмотренные алгоритмы минимизации (кроме, Packer`а). Кроме того в Bundle Transformer появился новый модуль-минимизатор на базе Clean-css — BundleTransformer.CleanCss.

                    При подготовке данного сравнительного обзора были учтены следующие пожелания читателей:
                    1. В предыдущем обзоре в качестве исходных файлов использовались: bootstrap.css и bootstrap.js из Twitter Bootstrap 2.3.2, из-за чего достоверность результатов была низкой. В новом же обзоре размер выборки был увеличен: для сравнения были отобраны 7 JS-файлов и 5 CSS-файлов из 10 популярных Open Source-проектов.
                    2. Теперь в сравнении минимизаторов CSS-кода также участвуют встроенные средства минимизации препроцессоров LESS и Sass.
                    3. Как известно, Bundle Transformer минимизирует каждый файл по отдельности и затем производит объединение минимизированного кода в один файл. Данный механизм сделан для того, чтобы предотвратить повторную минимизацию предварительно минимизированных файлов. Другие аналогичные библиотеки сначала объединяют код файлов, а затем минимизируют этот объединенный файл. Поэтому для полноты картины мы произведем 2 сравнения: сначала сравним эффективность минимизаторов на файлах, полученных путем объединения минимизированного кода, а затем на файлах, полученных путем минимизации объединенного кода файлов.

                    Как и в предыдущем обзоре, для минимизации файлов мы будем использовать модули Bundle Transformer, а для измерения размеров полученных файлов – расширение YSlow.
                    Читать дальше →
                  • Работа с сетью в Android: трафик, безопасность и батарейка

                      На сегодняшний день в Google Play насчитывается более 800 тысяч приложений. Многие из них реализованы на основе клиент-серверного общения. При разработке таких приложений нужно учесть три основных момента, о которых пойдет речь в этой статье.

                      Читать дальше →
                    • Полезные хаки и сниппеты для .htaccess



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

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

                      Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
                      Узнать больше
                    • Места распространения Android приложений


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

                      Перечислю те, которые попробовал сам. Сразу оговорюсь, что приложения у меня бесплатны, с рекламой внутри. С публикацией платных приложений разберусь, когда появятся достойные.
                      Читать далее
                    • CSS спрайты: основные техники и полезные инструменты

                      • Tutorial
                      Использование CSS-спрайтов на сайте позволяет повысить производительность и грамотно организовать элементы интерфейса.



                      Sprite Sheet — это одно большое изображение мелких графических элементов сайта, например иконок или кнопок. И благодаря CSS можно отображать каждый элемент отдельно.
                      Читать дальше →
                    • Как должны выглядеть Android приложения?

                      • Перевод
                      Платформа Android не имеет жестких рекомендаций, как должны выглядеть и работать приложения. Google с самого начала дал ясно понять, что у них нет планов начать диктовать, что приемлемо, а что нет. Существует набор UI рекомендаций, но они в основном концентрируются на мелочах вроде значков, виджетов и меню.
                      Читать дальше →
                    • Эмулятор Bluestacks + Eclipse: ускоряем отладку и тестирование Android-приложений

                      • Tutorial
                      Об эмуляторе Android под названием Bluestacks на Хабре уже писали. Но писали или в общем, или мало, или сухо. Тем временем проект подрос и ныне вполне пригоден для использования при тестировании и отладке приложений под Android. Зачем это делать? А затем, что Bluestacks работает намного, нет, даже намного-намного быстрее стандартного эмулятора из Android SDK. Под катом я расскажу о нюансах использования Bluestacks, настройке отладки из-под Eclipse, приведу пару замеров скорости работы и расскажу о нескольких ложках дёгтя в бочке мёда.
                      Читать дальше →
                    • Hurl: Удобный Curl

                      Привет! image

                      В 2009 году на «Rails Rumble» Лехом Кульвером и Крисом Ванстратом был создан замечательный инструмент — Hurl.

                      Hurl — это RoR приложение, предназначенное для того, чтоб посылать HTTP запросы. В целом, функциональность Hurl схожа с Curl. Идея и методы те же, но предназначение совсем другое.

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

                      Итак мы подняли и улучшили Hurl на своём хостинге — hurl.quickblox.com. Приложение настроено на EC2 инстансе, а данные хранятся на S3.
                      Читать дальше →
                    • Sony выпустил опенсорсный инструмент для анализа APK



                        Вы разрабатываете приложения и ищете мощный инструмент для их анализа? Вам нужно удобное представление их архитектуры? Вы пытались разобрать байт-код Android-программ? Всё это умеет новый виртуальный инструмент анализа приложений ApkAnalyser от Sony, который поставляется с открытым исходным кодом.

                        ApkAnalyser предназначен для валидации и проверки работы вашего приложения. Вы можете распаковать, установить, запустить и проверить результаты команды Logcat. C помощью ApkAnalyser вы также сможете декодировать XML, выявить потенциальные уязвимости в вашем приложении и многое другое. ApkAnalyser полностью написан на Java и потребует JRE 1.6 или выше; работает на Windows, Linux и Mac OS X.

                        Читать дальше →
                      • Постигаем Git

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

                        Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
                        Читать дальше →