• Структуры данных для самых маленьких

    • Перевод
    James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

    Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


    Читать дальше →
  • Дизайн мобильных приложений: почему мы работаем в @1x

      image

      В одной из предыдущих статей наши коллеги описали требования по передаче проекта от дизайнеров разработчикам мобильных приложений. Эти требования мы, как отдел дизайна в Rambler Digital Solutions, должны соблюдать.

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



      Это руководство — начальный материал о кросс-DPI и кроссплатформенном дизайне для начинающих и средних дизайнеров, желающих узнать о нем с самого начала или получить больше знаний. Без сложных математических и непонятных диаграмм, только непосредственные объяснения, упорядоченные в небольших разделах, для понимания и применения их непосредственно к вашей дизайнерской работе.

      Автор — Sebastien Gabriel.

      Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
      Читать дальше →
    • Рендеринг в MAPS.ME



        Всем привет! Сегодня я бы хотел рассказать о рендеринге, который не имеет отношения к компьютерным играм, анимационным фильмам или промышленным системам проектирования. Речь пойдет о движке для рендеринга карт в реальном времени для проекта MAPS.ME. В данном посте я опишу общие принципы работы движка и некоторые грабли, на которые мы наступили (и те, которые успешно обошли). Если вы занимаетесь рендерингом больших объемов данных, в особенности картографического характера, наш опыт, надеюсь, будет полезен в ваших проектах или, по крайней мере, любопытен. Всех заинтересовавшихся прошу под кат.
        Читать дальше →
      • Организация Objective C класса

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

          Кому-то статьи про Obj C могут показаться архаизмом, но пока мы не планируем повсеместный переезд на Swift. Это скорее плавное замещение в новых проектах. Все еще остается огромная кодовая база на Objective C которую необходимо поддерживать.
          К тому же, на Swift еще не накоплено достаточно опыта в больших проектах.

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

          В заголовочном файле 279 строк, в файле реализации 2948 строк.
          Привет, ⌘F, я не скучал.
          Читать дальше →
        • Удобная структура iOS проекта

          В сети можно найти множество туториалов, обучающих работе со встроенными фреймворками и сторонними библиотеками для iOS. Но редко можно встретить статьи, рассказывающие об общих вещах. Таких, как, например, создание удобной структуры проекта.

          Скорее всего, опытные разработчики давно пользуются этими приемами. Но я постоянно сталкиваюсь с проектами, которые делали, не соблюдая этих простых правил.
          Читать дальше →
        • Лекции Техносферы. 1 семестр. Алгоритмы интеллектуальной обработки больших объемов данных

          • Tutorial
          Продолжаем публиковать материалы наших образовательных проектов. В этот раз предлагаем ознакомиться с лекциями Техносферы по курсу «Алгоритмы интеллектуальной обработки больших объемов данных». Цель курса — изучение студентами как классических, так и современных подходов к решению задач Data Mining, основанных на алгоритмах машинного обучения. Преподаватели курса: Николай Анохин (@anokhinn), Владимир Гулин (@vgulin) и Павел Нестеров (@mephistopheies).



          Объемы данных, ежедневно генерируемые сервисами крупной интернет-компании, поистине огромны. Цель динамично развивающейся в последние годы дисциплины Data Mining состоит в разработке подходов, позволяющих эффективно обрабатывать такие данные для извлечения полезной для бизнеса информации. Эта информация может быть использована при создании рекомендательных и поисковых систем, оптимизации рекламных сервисов или при принятии ключевых бизнес-решений.
          Читать дальше →
        • Личная библиотека: информационный этикет, подготовка к большим проектам, бережливое производство, освоение космоса

            Директор по развитию Redmadrobot Макс Волошин составил топ-5 полезных книг — для личной эффективности и эффективности бизнеса. А также для любителей качественной научной фантастики.


            Читать дальше →
            • +2
            • 13,8k
            • 1
          • Архитектурный дизайн мобильных приложений: часть 2

            • Tutorial
            Чтобы направить всю энергию системы в необходимом направлении, нужно эту систему ограничить правилами.


            Привет, Хабр! Продолжаем серию статей об архитектурном дизайне мобильных приложений. Под катом поговорим о проектировании слоёв UI. Добро пожаловать!
            Читать дальше →
          • Морфологическая обработка изображений. Лекции от Яндекса

              Мы продолжаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



              Всего в программе девять лекций. Первая и вторая уже были опубликованы. В предыдущем рассказе речь шла об основах пространственной и частотной обработки изображений. Третья лекция посвящена основным операциям морфологической обработки изображений. Под катом — слайды, план лекции и её дословная расшифровка.
              Читать дальше →
              • +37
              • 30,3k
              • 7
            • Распознавание Паспорта РФ на мобильном телефоне. (UPD: 28.03.2015 + выложили программу в App Store)

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

                Читать дальше →
              • Создание view с анимацией изменения свойства

                  Одной из типовых задач при разработке приложений под iOS является создание кастомных элементов UI, в том числе иногда может потребоваться анимировать изменения значения какого-либо из свойств. В статье рассматривается процесс создания подкласса UIView, имеющего свойства, значения которых можно изменять с анимацией. Простой пример: необходимо отрисовывать круговой прогресс с возможностью анимировать изменение цвета и значения в пределах от 0 до 1.


                  Читать дальше →
                  • +24
                  • 10,7k
                  • 3
                • Лекции Технопарка. 1 семестр. Алгоритмы и структуры данных

                  • Tutorial
                  Очередной пост в рамках нашего цикла лекций Технопарка. В этот раз мы предлагаем вашему вниманию курс, посвящённый алгоритмам и структурам данных. Автор курса — Степан Мацкевич, сотрудник компании ABBYY.

                  Лекция 1. Основы


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


                  Читать дальше →
                • 300 потрясающих бесплатных сервисов

                  • Перевод


                  Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



                  A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

                  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
                  • Bootswatch: Бесплатные темы для Bootstrap.
                  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
                  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
                  • Strikingly.com Domain: Конструктор веб-сайтов.
                  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
                  • Withoomph: Мгновенное создание логотипов (англ.).
                  • Hipster Logo Generator: Генератор хипстерских логотипов.
                  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
                  • Invoice to me: Бесплатный генератор счета.
                  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
                  • Slimvoice: Невероятно простой счет.

                  Читать дальше →
                • Год борьбы за веб-разработкy без багов

                    image
                    Около года назад на Хабре появилась первая статья в нашем корпоративном блоге, которая, несмотря на наши опасения была принята достаточно хорошо и послужила для нас отличным стимулом для развития. С тех пор мы анализировали каждый комментарий, запрос с службу поддержки и работали не покладая рук над улучшениями нашего инструмента для визуального комментирования сайтов и изображений. Сегодня бы я хотел представить вам небольшой отчет о нашем развитии за прошлый год:

                    Интеграции


                    Наша команда изначально сделала ставку на интеграции, так как в большинстве компаний уже существует определенный процесс и мы понимали что вряд — ли кто-то станет использовать нашу систему в качестве основного баг-трекера. Поэтому основной упор был сделан на разработку инструмента, который можно было бы легко внедрить в любой существующий процесс.
                    Читать дальше →
                  • Жизнь в Беларуси. Работа в EPAM!

                      Все мы когда-либо задумываемся о том, чтобы сменить место жительства. Кто-то не видит перспектив профессионального развития на родине, кто-то просто хочет сменить обстановку и узнать поближе другую культуру, а кто-то ищет способ переехать по причинам личного характера. EPAM Systems предоставляет уникальную возможность IT-специалистам из ближнего зарубежья узнать такую близкую, но в то же время неизвестную Беларусь, и построить карьеру в одной из крупнейших IT-компаний на территории СНГ.

                      image

                      Программа релокации существует в EPAM с мая 2013 года. За это время более 500 сотрудников воспользовались возможностью сменить место жительства и продолжить свое профессиональное развитие.Теперь возможность релокации появилась и у IT-специалистов из ближнего зарубежья, ранее не работавших в компании.
                      Читать дальше →
                      • +2
                      • 24,1k
                      • 7
                    • Лекции Технопарка. 1 семестр. Web-технологии

                      • Tutorial
                      Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

                      Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

                      Лекция 1. Введение


                      На вводном занятии вы познакомитесь с краткой историей развития интернета, основными трендами в развитии web-приложений, облачных сервисов и мобильных приложений. Также на лекции разобрано устройство и работа несложного web-приложения, обсуждены такие фундаментальные понятия, как система адресации в интернете, домены, HTML-страницы и протокол HTTP. Напоследок кратко рассказано о CGI-скриптах, их назначении и особенностях работы.


                      Читать дальше →
                    • Как я попал в Топ AppStore с простым приложением курса валют

                      Резюме


                      Я хочу рассказать о том, как создал вполне заурядное и совсем не инновационное приложение, которое объективно стало лучшим в своём роде и даже некоторое время пребывало на самой вершине топа. Это не история успеха и не руководство к действию. Я просто хочу рассказать, как у меня получилось сделать самое популярное приложение в своём сегменте.
                      Читать дальше →
                    • Безопасность Parse в iOS приложении



                        Parse — прекраснейший BaaS, позволяющий в кратчайшее время поднять полноценную серверную инфраструктуру для мобильного приложения. Возможно, именно из-за этой простоты многие разработчики и забывают о появляющихся проблемах безопасности и открывающихся уязвимостях.
                        Читать дальше →
                      • Тренды iOS–разработки 2014 года


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

                          Functional Reactive Programming


                          Благодаря фреймворку ReactiveCocoa, новая парадигма программирования все чаще используется среди iOS разработчиков.

                          Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования. Подробности можете узнать в реактивном манифесте (перевод на Хабре).

                          Для себя я выделил следующие преимущества реактивного подхода:
                          • loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
                          • explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.

                          В качестве альтернативы реактивному подходу рекомендую посмотреть на Futures. Есть как минимум два интересных фреймворка: PromiseKit и CollapsingFutures
                          Читать дальше →