Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.
Станислав Катков @lunaticman
User
Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 2. практическая)
8 min
528KРеальная солнечная автономка для конечного пользователя состоит из потраченных денег, проб, монтажа устройств и обучения домочадцев пользоваться электричеством экономно. Причем, на последний пункт стоит обратить внимание особо, поскольку автономка предполагает совершенно особый подход к расходу энергии и даже перестройке привычных действий.
+105
Проверка орфографии одновременно для русского и английского языков в OS X
1 min
8.8KСервис проверки орфографии в OS X обладает одним существенным недостатком. Нет возможности проверить правописание слов в смешанном тексте. Возможно проверить либо написание английских слов (русские не будут проверятся), либо написание русских слов (английские слова будут подчеркнуты как слова с ошибками). В настройках сервиса есть возможность выбрать мультиязычную проверку, но по какой-то причине русский язык не входит в данную группу словарей.
В данном топике описана инструкция для включения проверки орфографии в смешанных текстах.
В данном топике описана инструкция для включения проверки орфографии в смешанных текстах.
+8
Простой класс для работы с XML
14 min
22KПредисловие
Как-то давно, я столкнулся с проблемой под названием «Document Object Model». При всей простоте и интуитивной понятности самого по себе XML, большинство предлагаемых API парсеров являются чем-то громоздким и труднопонимаемым для человека, который только что начал вникать в особенности работы с XML. Да, я не спорю, всё это комплексные решения, охватывающие все возможные аспекты, но от этого не легче.
Для меня до сих пор остаётся загадкой, почему никто (или почти никто) из разработчиков парсеров не предоставляет какие-нибудь лёгкие решения для «повседневного пользования», так сказать. Пусть даже это граничит с профанацией, но суть от этого не меняется — вникая в проблему и идеологию целиком, мы приобретаем умение пользоваться большим и мощным инструментом, жертвуя при этом большим количеством времени. Возможно, кому-то наличие упрощённого варианта этого инструмента позволило бы вникнуть в суть намного быстрее.
Тем не менее, пока что приходится изобретать велосипед для себя.
+4
Программирование для начинающих: как стартовать и куда двигаться?
2 min
389KБывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
+26
Полезное для Android разработчика из Github
2 min
22KДоброго времени суток.
Много бороздя по простором Github, я нашел множество интересных проектов, source кодов, и библиотек. И теперь пришло время поделиться ими. Встречайте множество вкусностей под катом!
+41
Ruby: cheatsheet для изучения
14 min
60KTutorial
Это — статья-roadmap-cheatsheet для изучающих Ruby. Вместо того, чтобы рассказывать очередной how-to я постараюсь расписать все те вещи, которые, на мой взгляд, можно изложить кратко и емко, с упором на то, что программисту пришедшему с других языков и платформ может показаться не очевидным, антипоисковым и просто затратным по времени на изучение без подсказок — на остальное просто дам ссылки. Не смотря на то, что в природе существует множество туториалов/кастов/книг/чего угодно по чему угодно — именно такого формата мне самому всегда не хватает. И по сути, это те вещи, которые чаще всего рассказываю при вопросах «а как оно вообще?», «с чего начать?», «а как делается такая вот штука?», «а какой gem лучше?». Кстати, пока работал над этой статьей на Хабре появилась похожая про Python — видимо, идея витает в воздухе.
+49
Настройка IDEA для чистокодеров
4 min
288KЯ люблю две вещи: Intellij IDEA и чистый код (Clean Code).
IDEA создана для чистого кода. Многие настройки по умолчанию уже стимулируют вас писать как надо.
Но она всё ещё не идеальна.
Когда я устанавливаю новую копию IDEA, я пробегаю по настройкам и выставляю свои любимые галочки.
Хочу ими с вами поделиться в надежде, что когда-нибудь и они станут стандартом.
IDEA создана для чистого кода. Многие настройки по умолчанию уже стимулируют вас писать как надо.
Но она всё ещё не идеальна.
Когда я устанавливаю новую копию IDEA, я пробегаю по настройкам и выставляю свои любимые галочки.
Хочу ими с вами поделиться в надежде, что когда-нибудь и они станут стандартом.
+49
60 FPS? Легко! pointer-events:none!
2 min
98KTutorial
Translation
Вы, наверное, уже читали интересную статью о том, как можно отключать эффекты
:hover
при скроле – это позволяет здорово сохранить отзывчивость сайта, но имеет один недостаток – вам приходится опираться на один общий класс, и это плохо..hover .element:hover {
box-shadow: 1px 1px 1px #000;
}
+132
Готовим web-приложение под зоопарк версий Android
9 min
27KСовсем недавно и достаточно неожиданно для самого себя я оказался ответственным за разработку программки для Android. Но ни под Android, ни вообще на Java мне ранее писать не приходилось. Нужно было сделать web-приложение, вроде phonegap и прочих, которое почти полностью работает в компоненте браузера. И все это под версии 2.2 — 4.3 (SDK 8 — 18).
О некоторых выкрутасах Android и костылях под них с точки зрения человека, впервые это все увидевшего, я и хотел бы рассказать. Надеюсь, вышло без HelloWorld, «OMG! Java», и т.п.
Поворот экрана/смена ориентации
Network unreachable
Грузим локальные ресурсы
Мост между Java и JavaScript
О некоторых выкрутасах Android и костылях под них с точки зрения человека, впервые это все увидевшего, я и хотел бы рассказать. Надеюсь, вышло без HelloWorld, «OMG! Java», и т.п.
Поворот экрана/смена ориентации
Network unreachable
Грузим локальные ресурсы
Мост между Java и JavaScript
+19
Сравнение эффективности минимизаторов CSS- и JavaScript-кода (Сентябрь 2013)
8 min
23KЗа прошедшие, с момента публикации предыдущего обзора, 3 месяца уже успели обновиться почти все рассмотренные алгоритмы минимизации (кроме, Packer`а). Кроме того в Bundle Transformer появился новый модуль-минимизатор на базе Clean-css — BundleTransformer.CleanCss.
При подготовке данного сравнительного обзора были учтены следующие пожелания читателей:
- В предыдущем обзоре в качестве исходных файлов использовались:
bootstrap.css
иbootstrap.js
из Twitter Bootstrap 2.3.2, из-за чего достоверность результатов была низкой. В новом же обзоре размер выборки был увеличен: для сравнения были отобраны 7 JS-файлов и 5 CSS-файлов из 10 популярных Open Source-проектов. - Теперь в сравнении минимизаторов CSS-кода также участвуют встроенные средства минимизации препроцессоров LESS и Sass.
- Как известно, Bundle Transformer минимизирует каждый файл по отдельности и затем производит объединение минимизированного кода в один файл. Данный механизм сделан для того, чтобы предотвратить повторную минимизацию предварительно минимизированных файлов. Другие аналогичные библиотеки сначала объединяют код файлов, а затем минимизируют этот объединенный файл. Поэтому для полноты картины мы произведем 2 сравнения: сначала сравним эффективность минимизаторов на файлах, полученных путем объединения минимизированного кода, а затем на файлах, полученных путем минимизации объединенного кода файлов.
Как и в предыдущем обзоре, для минимизации файлов мы будем использовать модули Bundle Transformer, а для измерения размеров полученных файлов – расширение YSlow.
+34
Работа с сетью в Android: трафик, безопасность и батарейка
8 min
84KНа сегодняшний день в Google Play насчитывается более 800 тысяч приложений. Многие из них реализованы на основе клиент-серверного общения. При разработке таких приложений нужно учесть три основных момента, о которых пойдет речь в этой статье.
+57
Полезные хаки и сниппеты для .htaccess
7 min
465KЭто перевод очень интересной лично для меня статьи, которым я хочу поделиться с уважаемым хабрасообществом. Некоторые из приведенных рецептов я уже встречал на Хабре, но разрозненно и далеко не все из нижеприведенного.
О предназначении файла .htaccess знает каждый веб-разработчик. На базовом уровне он позволяет управлять доступом к каталогам сайта. Но добавляя в него различные дополнительные фрагменты кода, с ним можно сделать и много других интересных вещей.
Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
+70
Места распространения Android приложений
4 min
77KВ какой-то момент разработчику андроид приложений становится тесно в рамках одного магазина Google Play. И тогда он начинает задумываться о том, как бы еще донести до пользователей свои приложения. Оказывается, достаточно много вариантов это сделать.
Перечислю те, которые попробовал сам. Сразу оговорюсь, что приложения у меня бесплатны, с рекламой внутри. С публикацией платных приложений разберусь, когда появятся достойные.
+66
CSS спрайты: основные техники и полезные инструменты
3 min
245KTutorial
Использование CSS-спрайтов на сайте позволяет повысить производительность и грамотно организовать элементы интерфейса.
Sprite Sheet — это одно большое изображение мелких графических элементов сайта, например иконок или кнопок. И благодаря CSS можно отображать каждый элемент отдельно.
Sprite Sheet — это одно большое изображение мелких графических элементов сайта, например иконок или кнопок. И благодаря CSS можно отображать каждый элемент отдельно.
+66
Как должны выглядеть Android приложения?
7 min
31KTranslation
Платформа Android не имеет жестких рекомендаций, как должны выглядеть и работать приложения. Google с самого начала дал ясно понять, что у них нет планов начать диктовать, что приемлемо, а что нет. Существует набор UI рекомендаций, но они в основном концентрируются на мелочах вроде значков, виджетов и меню.
+42
Эмулятор Bluestacks + Eclipse: ускоряем отладку и тестирование Android-приложений
3 min
98KTutorial
Об эмуляторе Android под названием Bluestacks на Хабре уже писали. Но писали или в общем, или мало, или сухо. Тем временем проект подрос и ныне вполне пригоден для использования при тестировании и отладке приложений под Android. Зачем это делать? А затем, что Bluestacks работает намного, нет, даже намного-намного быстрее стандартного эмулятора из Android SDK. Под катом я расскажу о нюансах использования Bluestacks, настройке отладки из-под Eclipse, приведу пару замеров скорости работы и расскажу о нескольких ложках дёгтя в бочке мёда.
+43
Hurl: Удобный Curl
2 min
11KПривет!
В 2009 году на «Rails Rumble» Лехом Кульвером и Крисом Ванстратом был создан замечательный инструмент — Hurl.
Hurl — это RoR приложение, предназначенное для того, чтоб посылать HTTP запросы. В целом, функциональность Hurl схожа с Curl. Идея и методы те же, но предназначение совсем другое.
К сожалению, хостинг, на котором стоит официальный Hurl очень нестабильный и медленный и не подходит для корпоративного использования. Технологии opensource дают нам возможность поднять свой экземпляр Hurl и даже сделать его лучше и удобнее.
Итак мы подняли и улучшили Hurl на своём хостинге — hurl.quickblox.com. Приложение настроено на EC2 инстансе, а данные хранятся на S3.
В 2009 году на «Rails Rumble» Лехом Кульвером и Крисом Ванстратом был создан замечательный инструмент — Hurl.
Hurl — это RoR приложение, предназначенное для того, чтоб посылать HTTP запросы. В целом, функциональность Hurl схожа с Curl. Идея и методы те же, но предназначение совсем другое.
К сожалению, хостинг, на котором стоит официальный Hurl очень нестабильный и медленный и не подходит для корпоративного использования. Технологии opensource дают нам возможность поднять свой экземпляр Hurl и даже сделать его лучше и удобнее.
Итак мы подняли и улучшили Hurl на своём хостинге — hurl.quickblox.com. Приложение настроено на EC2 инстансе, а данные хранятся на S3.
+20
Sony выпустил опенсорсный инструмент для анализа APK
1 min
14KВы разрабатываете приложения и ищете мощный инструмент для их анализа? Вам нужно удобное представление их архитектуры? Вы пытались разобрать байт-код Android-программ? Всё это умеет новый виртуальный инструмент анализа приложений ApkAnalyser от Sony, который поставляется с открытым исходным кодом.
ApkAnalyser предназначен для валидации и проверки работы вашего приложения. Вы можете распаковать, установить, запустить и проверить результаты команды Logcat. C помощью ApkAnalyser вы также сможете декодировать XML, выявить потенциальные уязвимости в вашем приложении и многое другое. ApkAnalyser полностью написан на Java и потребует JRE 1.6 или выше; работает на Windows, Linux и Mac OS X.
+51
Постигаем Git
6 min
56KTranslation
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.
Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
+114
Information
- Rating
- Does not participate
- Location
- Таиланд
- Registered
- Activity