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

    • Перевод
    image

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

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

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

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

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

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

      Disclaimer:
      Данная статья представляет собой вольный художественный пересказ-перевод первой главы книги "App Savvy
      Turning ideas into ipad and iphone apps customers really want
      "

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

      Оглавление
      Введение
      Стратегия
      Глава 1: Оцениваем идею вашего мобильного приложения
      Глава 2: Что должно быть в вашем приложении?
      Глава 3: От идеи к концепту

      Разработка
      Глава 4: Поиск команды: вам нужна помощь
      Глава 5: Получаем рабочее приложение
      Глава 6: Улучшаем приложение перед тем, как добавить его в App Store

      Запуск
      Глава 7: Готовимся к загрузке приложения в App Store
      Глава 8: Строим нашу маркетинговую стратегию
      Глава 9: Оцениваем успех и обдумываем будущие разработки


      Чтобы полностью оценить жизнеспособность идеи вашего приложения, сначала вы должны понять текущую ситуацию с приложениями в App Store, оценить стоимость запуска вашего приложения, и реалистично смотреть на возможность попадания вашего приложения в каталог App Store. Под «вами» и «вашей идеей» я подразумеваю не только лично вас, а всех людей — родственников, друзей и коллег — с которыми вы прорабатываете вашу идею. Оцениваете ли вы идею в одиночку, или с кем-то, я хочу предложить вам схему, следуя которой вы сможете получить более структурированную оценку вашего приложения. В конце статьи будут приведены ссылки на полезные ресурсы и инструменты, которые помогут вам оценить вашу идею.
      Читать дальше →
      • +12
      • 49k
      • 6
    • Ни единого разрыва: как мы создавали беспроводную сеть для 3000 устройств


        Wireless Society by JOSS7

        Wi-Fi в офисах Mail.Ru Group за последние десять лет пережил несколько смен оборудования, подходов к построению сети, схем авторизации, администраторов и ответственных за его работу. Начиналась беспроводная сеть, наверное, как и во всех компаниях — с нескольких домашних роутеров, которые вещали какой-то SSID со статичным паролем. Долгое время этого было достаточно, но количество пользователей, площади и количество точек доступа стало расти, домашние D-Linkʼи постепенно заменили на Zyxel NWA-3160. Это уже было относительно продвинутым решением: одна из точек могла выступать в качестве контроллера для остальных и давала единый интерфейс для менеджмента всей сети. Какой-то более глубокой логики и автоматизации софт NWA-3160 не давал, только возможность настройки подключенных к контроллеру точек, пользовательский трафик обрабатывался каждым устройством независимо. Следующей сменой оборудования стал переход на контроллер Cisco AIR-WLC2006-K9 + несколько точек доступа Aironet 1030. Уже совсем взрослое решение, с безмозглыми точками доступа и обработкой всего трафика контроллером беспроводной сети. После еще была миграция на пару AIR-WLC4402-K9, сеть уже выросла до сотни точек Cisco Aironet 1242AG, 1130AG, 1140AG.
        Читать дальше →
      • Обзор топологий глубоких сверточных нейронных сетей

          Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

          Читать дальше →
        • Я тут это… Трекалку для времени написал. За 628 минут

            Привет, Друзья! Пару недель назад я подумал: «А можно ли использовать гугловые таблицы (Google Sheets), как простое и безопасное хранилище данных?». О, а еще мне давно хотелось написать трекалку времени.

            И вот что получилось:

            image
            Код + Сайт

            А деталей немножко под катом.
          • Как настроить двухфакторную аутентификацию для логина и sudo

            • Перевод
            • Tutorial


            Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

            Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
            Читать дальше →
          • Как взломать Telegram и WhatsApp: спецслужбы не нужны

              На прошлой неделе общественность взбудоражила новость о возможной причастности спецслужб к взлому аккаунтов оппозиционеров в популярном мессенджере Telegram. На протяжении своего существования человечество пыталось объяснить всё необъяснимое с помощью высших сил – Богов. В наше время все непонятные вещи объясняют происками спецслужб.

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



              А затем мы провели атаку через сеть SS7 на один из тестовых номеров (подробнее о самих атаках мы писали ранее). И вот что у нас получилось:
              Читать дальше →
            • Создание системы непрерывного развертывания: опыт Instagram



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

                В Instagram развертывание backend-кода (основная программно-аппаратная часть, с которой работают клиенты) происходит от 30 до 50 раз в день, каждый раз, когда инженеры подтверждают изменение оригинала. И, по большей части, без участия человека — сложно в это поверить, особенно учитывая масштабы соцсети, но факт остается фактом.

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

                • Перевод


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

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

                Я предложила столу весьма резонное объяснение: часть Instagram переросла в процветающее сообщество по обмену фото с «обнажёнкой», которое умудряется цвести и пахнуть, несмотря на все самоотверженные попытки компании избавиться от всех блуждающих по просторам сервиса частей тел. О, ради всего святого, да неужели они не слышали о «Баклажанных Пятницах» (Eggplant Fridays), когда пользователи делятся фото своих фаллосов?
                Читать дальше →
              • Работа с паролями: как защитить свои учетные записи (мнения специалистов)

                  Недавно стало известно об «уязвимости» в системе для корпоративных клиентов такси-сервиса Gett. Как выяснили исследователи, всем им по умолчанию выдавались одинаковые пароли (естественно, многие из них никто потом не меняет). В итоге, зная один пароль, злоумышленники могли попасть в множество аккаунтов сразу (среди клиентов Google Россия, «Вконтакте», Ozon и другие компании).



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