• Google Play — работаем легально!

      Привет, Хабр!



      Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
      Читать дальше →
    • Google Plus, Facebook, Twitter — читаем в RSS агрегаторе

        Если вы боитесь социальных сетей, но хотели бы знать, о чем там пишут известные люди – используйте для этого технологию RSS. Как достать ссылки для подписки в RSS?

        Facebook
        Самый интересный вариант — FB RSS Facebook application

        Фейсбук в этом плане весьма открыт, кроме RSS фидов формата 2.0 разберется и с Atom. Все что вам нужно, это знать ID профиля или страницы.
        Пример, сообщетсво — English is Fun

        В адресной строчке заменяем www на graph — вместо http://www.facebook.com/EnglishIF?fref=pb пишем http://graph.facebook.com/EnglishIF?fref=pb
        В сгенерированном коде находим строку с «id»: " 384707561542391 ".
        (ID можно также найти с помощью findfacebookid.com)

        Используем шаблон www.facebook.com/feeds/page.php?format=rss20&id=, например www.facebook.com/feeds/page.php?
        format=rss20&id=384707561542391 и подписываемся

        Twitter
        Тут все еще проще.
        Скажем, собираемся читать @BreakingNews
        Используем шаблон api.twitter.com/1/statuses/user_timeline.rss?screen_name=, пример api.twitter.com/1/statuses/user_timeline.rss?screen_name=BreakingNews. Готово, можем подписываться.

        Если хотим читать фиды по определенному слову (скажем слово Android), добавляем к адресу search.twitter.com/search.atom?q=Android.
        Если хотим читать фиды по хештегу, добавляем к адресу хештег #Android — search.twitter.com/search.atom?q=%23Android. (Символ (#) меняем на %23).

        Google+
        Проще всего использовать gplus-to-rss.appspot.com.
        Нужно знать ID Страницы или профиля. На Google+ найдете его прямо в адресной строке, например страница +ru.android – в строке plus.google.com/u/0/communities/110130446304043859186 — 110130446304043859186 и есть ID
        Добавляем в URL gplus-to-rss.appspot.com/rss, в нашем случае gplus-to-rss.appspot.com/rss/110130446304043859186.

        Переведено с чешского источника

        Update

        ВКонтакте
        Для генерации RSS-фида вам нужно «скормить» ссылку на профиль или открытую группу сервису ВКонтакте RSS — vkontakte-feed.appspot.com
      • GTD на кухне: чем накормить голодного программиста

        • Tutorial
        imageИтак, как и обещал в первой части, продолжаем упрощать бытовую жизнь хабражителя. Сегодня 8 марта (кстати, девушки, поздравляю!) и части мужчин хочется порадовать своих женщин и освободить их от «рабского труда» на кухне, а другой части – приготовить для себя не традиционные пельмени\вареники\сосиски, а что-то посущественней.
        Вот несколько проверенных рецептов, которые пригодятся и первым, и вторым.

        Осторожно, много картинок. Голодным не входить!
        Читать дальше →
      • Мультиварка — умная кастрюля или «не доведенный до ума» гаджет


          Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
          Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
          Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
          Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
          Читать дальше →
        • Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

          Здравствуйте, Хабраюзеры.

          Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
          Читать дальше →
        • Локализация приложений Node.js. Часть 1

          • Translation
          • Tutorial
          От переводчика: Это девятая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.





          image

          Знаете ли вы, что продукты и сервисы Mozilla локализованы для 90 языков? Локализация включает в себя:

          • текст, переведённый на региональные вариации и диалекты языков;
          • рендеринг страниц с учётом написания справа налево;
          • пуленепробиваемый дизайн, способный вместить тексты любой длины;
          • заголовки, метки и текст на кнопках, подобранные для локальных аудиторий.

          В этой серии из трёх статей, посвящённых локализации, я расскажу о технических аспектах создания многоязычного приложения Node.js.

          Мы будем использовать общепринятые термины «интернационализация» (i18n) и «локализация» (l10n). Интернационализация — это набор технических приёмов, делающих возможной последующую локализацию, то есть собственно перевод и адаптацию для конкретного языка.

          Mozilla Persona — веб-сервис на Node.js, локализованный для множества локалей. У нашей команды были весьма специфические запросы, и поэтому мы не стали использовать существующие библиотеки для локализации.
          Читать дальше →
          • +20
          • 12.3k
          • 1
        • Биллинг в крохотном проекте. 10 строк HTML кода

            Только что прочитал про биллинги в больших проектах и хочу поделиться опытом биллинга для крохотных проектов.

            Основа — PayPal. Он довольно широко распространён + если нет у клиента учетной записи в PayPal, то можно обычной кредиткой оплатить. Поиск по хабру выявил уже один мануал, но он реально страшен. Мы пойдем простым путем!
            Читать дальше →
          • Mobify.js — изменение DOM до начала загрузки ресурсов

              image

              Mobyfy.js — открытая библиотека, предназначенная прежде всего для облегчения создания отзывчивых (responsible) сайтов. Основная фишка состоит в так называемом «Capturing API» — позволяющем модифицировать DOM непосредственно ДО начала загрузки браузером ресурсов (скриптов, изображений и т.д.)
              Читать дальше →
            • Верстка писем, набор сниппетов



                Автор изображения MVBen

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

                В ходе работ у меня накопилось немного готовых решений, которые я сам ныне держу у себя под рукой и крайне часто использую, чем и с вами хочу поделиться.
                Читать дальше →
              • В поисках лазеек: гид по DOM Based XSS



                  XSS неспроста стоит в верхней части списка опасностей OWASP TOP 10. Любой толковый программист о них знает. Но это не мешает статистике: восемь из десяти веб-приложений имеют XSS-уязвимости. А если вспомнить личный опыт пентестов банков, то более реальной представляется картина «десять из десяти». Кажется, тема изъезжена от и до, однако есть подвид XSS, который по разным причинам потерялся. Это — DOM Based XSS. И как раз о нем я сегодня пишу.

                  Подробности
                • Двухфакторная аутентификация в OpenSSH: ключ+одноразовый код

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

                    С недавнего времени, после выпуска OpenSSH версии 6.2, ситуация поменялась к лучшему.

                    +

                    Читать дальше →
                  • Джефф Дин из компании Google — это Чак Норрис нашего времени

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

                      Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google.

                      Шутки о нём впервые появились на 1 апреля шесть лет назад. Один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».
                      Читать дальше →
                    • 10 советов для заказчика во фрилансе

                        Работаю в IT уже более 12 лет. Думал, что без проблем справляюсь с менеджментом задач, которые отдаем во фриланс. Но последний случай буквально выбил меня из колеи: получил весьма дорогой и негативный опыт. До сих пор обдумываем с коллегами что было сделано верно, а что нет. Предлагаю вашему вниманию 10 выводов-советов, которые мы сделали для себя. Надеюсь, они будут полезны и вам. Если у вас есть что еще посоветовать, то welcome в комментарии.

                        Подробнее о нашем случае
                        Появилась надобность в копирайтере/контент-менеджере для приведения текстов в надлежащий вид и написания нескольких новых текстов. Другими словами, нужно было из сухих технических текстов сделать «продающие» и интересные. Бюджет сильно не ограничивали, чтобы получить действительно хорошее качество работы. Так же планировали с найденным копирайтором продолжить сотрудничество и после данного проекта, так как надобность в хороших текстах со знанием дела появляются у нас весьма часто.
                        Заявка была размещена на Фрилансим. Через некоторое время на проект откликнулся один человек, который очень рьяно взялся за работу, прислал подробную информацию о себе и тестовое задание. Это сильно отличалось от общей массы, где отклики выглядели как «Смотрите портфолио вот тут», «Возьмусь!», «Мои расценки:...» и т.п. Подход, с которым он подошел к делу, нас подкупил — и мы стали с ним работать. Человек показался весьма креативным, адекватным и достаточно надежным. Но…
                        Не буду здесь сильно вдаваться в детали: после каждого совета находится спойлер с деталями по нашему случаю.


                        1. Всегда фиксируйте «правила игры» в договоре


                        Отнеситесь к этому пункту со всей внимательностью! «Правила игры»/Договор — это не просто формальность. Не надо скачивать типичные договоры из интернета.
                        Договор должен быть выстрадан: это квинтэссенция того как именно вы хотите работать, по каким бизнес процессам и по каким правилам. Он должен включать в себя все ваши формальные договоренности с исполнителем: начиная от того где именно будет вестись список задач/замечаний и заканчивая наградами/штрафами за невыполнение в должный срок и должного качества задачи.
                        Не забудьте показать данный договор самому исполнителю: он обязательно что-то захочет добавить и поправить. Важно это сделать на первых этапах работы с исполнителем: если что-то в договоре вызывает большие споры, то от такого исполнителя лучше отказаться. Если он спорит сейчас, то что будет в реальной ситуации? Меняя договор под пожелания исполнителя, помните: проект ваш, платите за него тоже вы, а значит удобно работать должно быть, в первую очередь, именно вам!

                        Скрытый текст
                        Мы же не стали заключать никаких договоров. Были предложения с моей стороны как организовать работу, но они были отклонены и предложены свои варианты. Мне в начале показалось это лишь «капризами креативного человека» и я особо не придал этому внимания: соглашался со всем — лишь бы ему было удобнее работать. Даже сроки и стоимость исполнитель назвал сам. Когда проект перевалил через экватор начались первые курьезы: человек начинал спорить, говорить что такого не было (даже если присылались цитаты его же писем) и т.п. Ситуация особо накалилась когда дело дошло до денег: точнее проблем не было для первых двух траншей(из четырех). А затем… подробнее в пятом совете.

                        Читать остальные 9 советов
                      • Поисковые системы Китая



                          Как и обещал в предыдущих статьях, сегодня мы поговорим о китайском рынке поисковых систем и его главных игроках, а также немного затронем особенности китайского SEO. За основу взяты мои исследования для одного инвестиционного фонда, а также опыт работы и мнения экспертов в этой сфере.
                          Читать дальше →
                        • Сказ о том, как бы я продвигал сайт или не так страшно SEO как его малюют

                          • Tutorial

                          Сначала предметная область


                          SEO стратегия
                          Изначально была мысль написать очень подробный мануал, но потом решил остановиться на стратегиях.

                          Ключи/запросы


                          Это фразы, которые набираются в поиске, для достижения результата (ответа на вопрос, покупки, получения информации…)
                          По частотностям
                          НЧ – низкочастотные (величина вычисляется логарифмически относительно самого большого числа запросов по ВЧ запросу из категории), для простоты пусть будет все что ниже 300 запросов (хотя в каждой группе по разному).
                          СЧ – среднечастотные (величина вычисляется логарифмически относительно самого большого числа запросов по ВЧ запросу из категории), для простоты пусть это будет все что выше 300 и ниже 2000 запросов (хотя в каждой группе по разному).
                          ВЧ – максимальное значение количества поисков простого запроса, к примеру «Светильник».
                          По конкуренции
                          НК – низкоконкурентные запросы, по которым есть шанс двинуться в топ (мало точных вхождений поисковой фразы, мало главных страниц, низкое количество результатов в поисковой выдаче)
                          СК – средне конкурентные запросы, по которым есть шанс продвинуться в топ, но есть и конкуренция (весь топ занят или главными или точными вхождениями, но показатели ссылочной массы конкурентов низкие)
                          ВК – высококонкурентные запросы, по которым необходимо из кожи вон вылезти чтоб продвинуться (и топ весь занят, и ссылочная масса ужасающая) при средних бюджетах ВК топ недостижим, но можно долго работать, чтоб кардинально поменять выдачу (закупка сателлитов, ссылочной массы, грамотное внутренне СЕО).

                          Семантическое ядро


                          Предполагает, что будет оптимизироваться каждая страница сайта. Это значит, что страница конечно будет давать ответ на запрос пользователя, но при этом на ней должен быть материал, который включает в себя эти ответы. То есть признаки, по которым ПС сможет выдать именно эту страницу на это запрос…
                          Пока что это сами запросы пользователей – они же «КЛЮЧИ»
                          Ключевые фразы подбираются для каждой страницы персонально.
                          Для главной страницы берутся общие запросы (описывающие общую категорию и выделяющие общую тематику сайта).
                          Для страницы категории выбираются запросы более узкой тематики, выделяющие отдельную категорию в общей всего сайта.
                          Для страницы товара/услуги – берутся максимально конкретные запросы, отражающие ее суть и позволяющие максимально точно ее/его идентифицировать.

                          0 Стратегия: Тариф Беззаботный


                          Минимум затрат, так как трафик тупо покупается у ПС. Других вариантов нет.

                          1 Стратегия: На халяву


                          Низкоконкурентный трафик – занимается ниша, где есть спрос, но нет конкурентов – классический «кто первый встал – того и тапки».
                          Схема до боли проста – ищем свободные ниши, подбираем НК запросы, пишем материал (даем полезное на запрос пользователя) – попадаем в ТОП, для усиления эффекта можно закупить по парочке ссылок.
                          Посмотреть нормальные стратегии...
                        • Проблемы CSS. Часть 1

                          • Translation
                          От переводчика
                          Статья большая решил разбить на две части.

                          Впервые css был представлен примерно в 1995 году, и был предназначен для стилизации простых текстовых документов. Не веб сайтов. Не приложений. А именно текстовых документов. С тех пор, css, прошел долгий путь. Возможно слишком долгий.

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

                          В лучшем случае — работу с css можно назвать веселым занятием. И это то, благодаря чему мы имеем работу. Потому что, как я считаю, генерация эффективных и кроссбраузерных css стилей невозможна и не будет возможна в ближайшее время.
                          Читать дальше →
                        • Договор на разработку сайта: так, а не иначе

                            Присылает нам заказчик (Газпром) свою версию договора.
                            Понимаем — нашу они не подпишут,
                            вносим реквизиты и отправляем обратно.
                            Пропадают на две недели… возвращают протокол разногласий к договору.


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

                            • Tutorial
                            На сегодняшний день существует немалое количество обзорных статей о PhoneGap, но к сожалению, написаны они или front-end разработчиками, которые решили заняться мобильными платформами, или нативными программистами, которые решили попробовать себя в кроссплатформенной разработке. И именно с этих позиций рассматриваются достоинства и недостатки PhoneGap'а, возникают статьи о том, «насколько крута кроссплатформа», или об «ущербности кроссплатформенных решений».

                            В качестве затравки — видео демо-приложения, написанного за 6 часов; готовым был взят UI-бутстрап, наверстанный за 3,5 часа; использовались библиотеки iScroll, backbone, underscore, Jquery, и небольшая обертка на backbone (RAD.js — rapid application development, архитектурный фреймворк, берущий на себя часть оптимизации, связанной с мобильной средой выполнения).


                            Еще 2 часа было потрачено на фикс движка. Но сегодня речь не о том, что что-то тормозит, дергается, или самописный свайп не всегда вовремя отрабатывает на 14000 объектах данных; речь о том, что на PhoneGap можно и нужно писать.

                            Выносим на Ваше рассмотрение мнение людей, которые занимаются кроссплатформеной разработкой на PhoneGap, дабы рассказать о том, какие тонкости мы находим нужными и важными при разработке на PhoneGap, и почему они так важны.
                            Читать дальше →
                          • Подборка полезного для любителей Twitter Bootstrap

                              В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

                              Инструменты




                              Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
                              Читать дальше →
                            • 9 признаков того, что не стоит нанимать этого Веб-разработчика

                              • Translation


                              В феврале 2008 года я написал статью 9 признаков того, что не стоит нанимать этого Веб-разработчика. Этот пост «взорвал» интернет, попав на главную Digg и Reddit, и даже был выбран Кевином Роузом для одного из эпизодов Diggnation. Я был невероятно горд этим постом, ведь он действительно адекватно отображал тип вебмастеров, которых не следовало нанимать.

                              С тех пор прошло много времени, но это всего лишь значит, что изменились качества, по которым мы оцениваем веб-разработчиков. Под катом список из 9 признаков того, что не стоит нанимать этого веб-разработчика.

                              Читать дальше →