• Шишки и грабли Android-разработчика за 2 года

    • Перевод
    image

    Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

    Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

    Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

    И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: StackOverflow и Github.

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

    Предупреждение: в этой статье я затрону Android, а также идеи и результаты программирования, так что если вы не знакомы с одним из этих пунктов, то вам может быть неинтересно дочитывать статью до конца. Остальные, просто читайте.
    Читать дальше →
  • Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели

    • Tutorial
    Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


    Читать дальше →
  • Чат-помощник на сайт с помощью Telegram за 15 минут



    Про чаты-помощники


    Многие люди продают через интернет товары и услуги. Еще больше людей — покупает что-то через интернет.
    Во время выбора покупок, часто возникают вопросы, которые можно решить позвонив и пообщавшись с менеджером.
    Скорее всего я — не единственный человек на хабре, который общению с менеджерами по телефону предпочитает переписку.
    И тут на помощь приходят всплывающие чаты-помощники, которые вроде-как повышают конверсию, но многих нервируют.
    (Для тех, кто не в курсе: в углу сайта всплывает окошко, в котором можно он-лайн переписываться с консультантом).

    Есть с десяток подобных сервисов и все они работают по принципу "пробная версия бесплатно, а дальше за деньги".
    На хабре есть несколько статей, вот одна из них (http://habrahabr.ru/company/tuthost/blog/165365/), но, я уверен, аудитория Хабрахабра знает о чем речь.
    Большинству людей подойдет бесплатный вариант любого такого сервиса: нужно всего-навсего зарегистрироваться и вставить на сайт кусок JS кода. Для тех у кого много менеджеров — придется платить: например Редхелпер на 10 операторов обойдется Вам:
    115200 руб. за 1 год



    Скорее всего — цена адекватная для тех, кто платит зарплату десяти менеджерам.

    Но я решил изобрести бесплатный «велосипед» из подручных материалов.
    Запуск у себя на сервере займет 15 минут. Всем, кому идея интересна — прошу под кат.
    Читать дальше →
  • Грэйс «бабуля COBOL» Хоппер

      «Она истинный морпех, но если копнуть глубже, мы найдем пирата.»



      Грейс Хоппер (Grace Hopper) — американская учёная и контр-адмирал флота США. Программист гарвардского компьютера Марк I.

      • В детстве разобрала 7 будильников, чтобы понять, как все устроено.
      • Боролась за идею машинонезависимого языка программирования.
      • Разработала первый компилятор.
      • Приложила руку к распространению мема «дебаггинг» (выловив настоящего жука из Mark 2).
      • Могла объяснить сообразительным военным, что такое «наносекунда» и «пикосекунда». На пальцах.
      • В её честь назвали эсминец USS Hopper (DDG-70).
      • И суперкомпьютер Cray XE6 «Hopper».
      • И в ее честь именная премия Ассоциации вычислительной техники (ACM) — присуждается молодому (до 35 лет) специалисту, сделавшему значительный вклад в области вычислительной техники.

      Построив успешную карьеру математика в Йеле (защитив докторскую и став профессором), Грэйс Хоппер в 1943 (37 лет) пошла добровольцем во Флот.
      Но у нее был недобор по весу 6 кг, поэтому пришлось сесть «за клавиатуру» Гарвардского Mark 1.


      Читать дальше →
    • Нововведения в Cordova 5.0

      21 апреля 2015 года команда Cordova (ранее PhoneGap) выпустила версию 5.0 своих инструментов, которые позволяют веб-разработчикам разрабатывать мобильные приложения сразу для нескольких платформ. Новый релиз содержит достаточно много новых улучшений для разработчика, о которых дальше и пойдет речь.

      Кроме исправления ошибок, были сделаны следующие улучшения:
      • Поддержка подключаемых WebView
      • Поддержка CSP
      • Сохранение используемых платформ и плагинов в конфигурации проекта
      • Использование NPM для хранения плагинов
      • Русская документация

      Подробнее об улучшениях
    • PhoneGap vs. Cordova

        Многие ошибочно полагают, что PhoneGap это некая единая система. Однако, существует три различные платформы — Cordova (CLI), Phonegap (CLI) и PhoneGap Build. Каждая имеет свои особенности и мелкие вариации.
        Читать дальше →
      • Инфраструктура разработки приложения на PhoneGap для iOS и Android

          Сегодня я расскажу вам о нашем опыте разработки кросс-платформенных мобильных приложений на основе PhoneGap/Cordova. В проекте используются такие технологии, как HTML5, CSS3 и Angular.js. Grunt применяется в качестве task manager’а, позволяющего упростить и ускорить выполнение рутинных задач. Все сборки компилируются локально во время процесса разработки.


          Источник: build.phonegap.com

          Когда версия готова к этапу тестирования, она компилируется с помощью PhoneGap Build и загружается на Ubertesters — сервис дистрибуции мобильных приложений, который позволяет проводить тестирование быстро и эффективно на всех подключенных устройствах. Приложение поддерживает минимум iOS 6 и Android 4.1 (87.5 % доля рынка).
          Читать дальше →
        • Как перестать настраивать и начать жить или настройка Puppet в школьном классе на 25 компьютеров

            Можно настраивать компьютеры по одному, но иногда их становится слишком много...



            Так уж вышло, что я устроился преподавателем на один бесплатный курс для школьников по разработке под Android, спонсируемый одной крупной корпорацией, и, естественно, мне потребовалось осваивать соответствующую технику в количестве 25 ноутбуков, 25 планшетов, 2 стационарных компьютеров и сенсорной панели. До недавнего времени ноутбуки использовались с ОС Windows 8.1, но мало кого устраивала производительность и стабильность работы этой ОС при разработке в Eclipse и Android Studio. После одного года под Windows, наше руководство решило все ноутбуки перевести на Xubuntu 14.04, чтобы разрешить эти сложности. Был подготовлен образ, настроенный под конкретную модель ноутбуков, что у нас использовалась, и со всеми необходимыми программами. Накатил и работай. Одна беда — не было предусмотрено никакого решения для централизованного управления конфигурацией. На мой логичный вопрос по этому поводу был дан ответ, что внедрение подобной системы усложняет процедуру установки Linux на ноутбуки и, поскольку в образе уже все сделано как надо, никаких изменений после его установки вносить не понадобится. (ох уж эти оптимисты!)

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

            На Хабре уже немало писали о Puppet, в том числе и инструкции, как его установить и настроить с нуля. Я нашел целых 3 штуки. Однако 1-я описывает какой-то уж слишком сложный случай, 2-я больше сосредоточена на файлах манифестов, чем на самой установке Puppet. 3-я весьма неплоха, я использовал ее как один из источников информации, но, к сожалению, уже устарела. Поэтому решил, заодно с настройкой и статью на хабр разместить. И мне напоминание и для других инструкция.
            Читать дальше →
          • Свой облачный хостинг за 5 минут. Часть 1: Ansible, Docker, Docker Swarm

              Cloud hosting

              Привет Хабр! Последние 1.5 года я работал над своим проектом, которому был необходим надежный облачный хостинг. До этого момента я больше 10 лет занимался веб-программированием и когда я решил построить свой хостинг у меня были относительно поверхностные знания в этой области, я и сейчас не являюсь системным администратором. Все что я буду рассказывать может выполнить обычный программист в течение 5 минут, просто запустив набор сценариев для Ansible, которые я подготовил специально для вас и выложил на GitHub.
              Читать дальше →
            • Как обучаться digital-маркетингу бесплатно

                image

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

                Можно ли где-то научиться интернет-маркетингу? Или разбираться в этой сфере могут только избранные практики, которые узнавали все сами, набивая рабочие шишки? Мы считаем, что можно, но только осторожно.

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