• Я тебя по сетям вычислю: используем API крупнейших соцсетей в своих корыстных целях



      Ни для кого не секрет, что современные социальные сети представляют собой огромные БД, содержащие много интересной информации о частной жизни своих пользователей. Через веб-морду особо много данных не вытянешь, но ведь у каждой сети есть свой API… Так давай же посмотрим, как этим можно воспользоваться для поиска пользователей и сбора информации о них.

      Есть в американской разведке такая дисциплина, как OSINT (Open source intelligence), которая отвечает за поиск, сбор и выбор информации из общедоступных источников. К одному из крупнейших поставщиков общедоступной информации можно отнести социальные сети. Ведь практически у каждого из нас есть учетка (а у кого-то и не одна) в одной или нескольких соцсетях. Тут мы делимся своими новостями, личными фотографиями, вкусами (например, лайкая что-то или вступая в какую-либо группу), кругом своих знакомств. Причем делаем это по своей доброй воле и практически совершенно не задумываемся о возможных последствиях. На страницах журнала уже не раз рассматривали, как можно с помощью различных уловок вытаскивать из соцсетей интересные данные. Обычно для этого нужно было вручную совершить какие-то манипуляции. Но для успешной разведки логичнее воспользоваться специальными утилитами. Существует несколько open source утилит, позволяющих вытаскивать информацию о пользователях из соцсетей.
      Читать дальше →
    • Must-know для iOS-разработчиков

        10 недель назад мы запустили проект для iOS-разработчиков под названием Digest MBLTdev. После первого выпуска количество подписчиков превысило 1 000 человек. Как это работает? Наши топовые разработчики Руслан Гуменный и Саша Черный изучают материалы в сети, тщательно отбирают ссылки, которые не должны остаться без внимания, и формируют из них пятничный выпуск. Далее выпуск отправляется всем подписчикам на указанный имейл или по Safari Push Notifications.

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


        Читать дальше
      • Гомоморфное шифрование

          Что это такое?


          Полностью гомоморфное шифрование (Fully Homomorphic Encryption) очень долго было самым ярким открытием в молодой и бурно развивающейся области Computer Science — криптографии. Вкратце, такой тип шифрования позволяет делать произвольные вычисления на зашифрованных данных без их расшифровки. Например, гугл может осуществлять поиск по запросу не зная, что это за запрос, можно фильтровать спам, не читая писем, подсчитывать голоса, не вскрывая конверты с голосами, делать DNA тесты, не читая DNA и многое, многое другое.
          image
          То есть, человек/машина/сервер, производящий вычисления, делает механические операции с шифрами, исполняя свой алгоритм (поиск в базе данных, анализ на спам, и т.д.), но при этом не имеет никакого понятия о зашифрованной внутри информации. Только пользователь зашифровавший свои данные может расшифровать результат вычисления.

          Здорово, правда? И это не из области фантастики — это то, что уже можно «теоретически» воплотить в жизнь.

          Читать дальше →
        • Разбираемся в трендах веб-дизайна

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

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

          Итак, поехали.
          Читать дальше →
        • Добавляем панель бокового меню в свое iOS-приложение

          • Перевод
          • Tutorial
          Как переводчик заранее прошу извинения за возможные ошибки в переводе. Буду признателен сообщениям об ошибках для их скорейшего исправления.

          Как я могу добавить панель бокового меню в свое iOS-приложение? Это один из самых часто задаваемых вопросов которые мы получаем от своих читателей. Сегодня мы покажем как создать боковое меню вроде того, которое вы можете наблюдать, например, в приложении от Facebook.

          Для тех кто не знаком с понятием бокового меню в мобильных приложениях, Кен Ярмост (Ken Yarmost) дал хорошее объяснение этому элементу интерфейса и определил его как:
          Боковое меню представляет собой панель, которая «выезжает» снизу, слева или справа от области основного контента приложения, содержащая вертикальную, независимую от основного контента приложения прокрутку, и служит основным инструментом навигации в приложении.

          С того момента как Facebook представил боковое меню в своем мобильном приложении, этот элемент интерфейса быстро стал стандартом реализации навигации по приложению. В том или ином виде вы можете видеть боковое меню в таких популярных приложениях как Path, Mailbox, Gmail, Evernote и т.д.



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

            Вступление


            Третья часть обзора будет посвящена сервису Ubertesters (первая часть обзора, вторая часть обзора).

            Это достаточно “молодой” сервис, с амбициями войти в список лидеров (сделать это будет непросто, с учетом последних приобретений конкурентов крупнейшими игроками в ИТ). Большим отличием и плюсом Ubertesters является возможность привлекать на платной основе внешних тестировщиков (также любой желающий может сам зарегистрироваться в качестве тестировщика и получать за свой труд оплату).

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

            Система оценки: сервисы оцениваются по 10-балльной шкале по каждому из разделов (Регистрация и интеграция, Основной функционал, Дополнительный функционал, Continuous Integration). Суммарная оценка позволит определить победителя (итоговое заключение войдет в последнюю часть обзора).

            Читать далее. Осторожно, много картинок!
          • Автоматизация тестирования iOS-приложений с применением Calabash и Cucumber



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

              В этой статье я расскажу о том, как мы автоматизируем тестирование наших приложений (ICQ и Агент Mail.Ru), поделюсь нашими наработками в этой области и упомяну о проблемах, с которыми мы сталкиваемся.
              Читать дальше →
            • 7 удивительных фактов о профессиональной ориентации

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

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

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

                Это не профессиональное исследование, но надо понимать, что за каждой анкетой стоит карьера и судьба конкретного человека. Черт побери, звучит пафосно, но это так. Что любопытно, анкеты нам присылали люди из самых разных компаний (и даже не только ИТ отрасли), самого разного возраста (от 24 лет до 51 года), из 6 стран, — вероятно, это говорит, об универсальности замеченных проблем.

                Итак, что удалось заметить.
                Читать дальше →
              • Облегчаем поддержку iOS приложения. Часть 1 — не отрываясь от Xcode

                Добрый день. Я хотел бы рассказать о том, как можно облегчить поддержку iOS приложений.

                1. Облегчаем поддержку iOS приложения. Часть 1 — не отрываясь от Xcode
                2. Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть
                3. Облегчаем поддержку iOS приложения. Часть 3 — падение и логи


                Всем, кто создавал iOS приложение, и оно доходило хотя бы до открытого β-тестирования, скорее всего, знакома фраза: “Я тут поигрался с приложением и вот что получилось...”. И вот после этой фразы вы могли провести несколько часов, пытаясь понять, как же «это» получилось.

                Если вам знакома эта ситуация, или хочется узнать о том, как спасти себя от такого в будущем — прошу под кат.
                Читать дальше →
              • Записки iOS программиста о его молотках, кувалдах и микрометрах

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

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


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