Как стать автором
Поиск
Написать публикацию
Обновить

Компания DataArt временно не ведёт блог на Хабре

Сначала показывать

С телефона в облака: Azure Mobile Services. С чего начать?

Время на прочтение8 мин
Количество просмотров7.5K

Автор: Анастасия Белокурова, .NET Developer DataArt.

Я расскажу, как и зачем использовать облачную систему Azure Mobile Services для ваших мобильных приложений. Для этого мы разберем небольшое приложение, на примере которого увидим, как это всё работает, затронем и практику, и теорию.

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

Преимущества облачных технологий

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

Итак, почему же облака? Они предоставляют следующие преимущества вашему приложению:
  • Масштабируемость.
  • Надежность.
  • Большой выбор сервисов.


Представьте, что вы запускаете небольшой интернет-магазин — сначала просто хотите проверить, будет ли он вообще востребован. Бюджет у вас небольшой. Поэтому вы пишете небольшое веб-приложение и размещаете его на своем компьютере, который не выключаете на ночь. К вашему сайту есть доступ извне, и он может выдержать, допустим, 10 пользователей одновременно. Со временем ваш сайт становится популярным, и вам уже нужно, чтобы он выдерживал 100 пользователей одновременно. Но ваш компьютер не способен справиться с такой нагрузкой. И тут вы начинаете думать, не превратить ли мне мою квартиру в серверную?.. Нет, это ужасно неудобно! Тогда вы покупаете сервера, предоставляемые хостингом. Теперь ваш сайт поддерживает 100 запросов в минуту и даже тысячу. Наконец в какой-то момент вы понимаете, что выходите на глобальный рынок, т. к. у вас очень много пользователей, круглосуточно, и сервера, которые вы купили, уже не справляются.

Тут мы подходим к первому преимуществу облачных платформ — они предоставляют масштабируемость практически всего практически в любой момент времени. И это делается очень просто, быстро и удобно: вам остается думать только о разработке, а не о размещении и нагрузке. Это первое преимущество.
Читать дальше →

Страх и ненависть в Multipeer Connectivity

Время на прочтение7 мин
Количество просмотров8.9K

Автор: Роман Ивченко, iOS developer DataArt.

Введение

Наверняка каждый, кто хоть раз занимался поиском готового решения для обмена сообщениями, файлами, стримами между iOS-устройствами без использования серверной части, слышал о фреймворке Multipeer Connectivity, выпущенном в iOS 7.

Вцелом это один из самых инновационных фреймворков, выпущенных в 7-й версии системы. Он должен был заменить слегка устаревший CoreBluetooth.

Чтобы познать всю мощь и силу Multipeer Connectivity, мы попробовали обкатать его в нашем R&D-проекте, задача которого весьма проста — шаринг презентаций и синхронизация переключения слайдов между устройствами слушателей и устройством докладчика на конференциях, в учебных аудиториях и т. д.

Краткий обзор

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

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

Yii2 bad behaviors

Время на прочтение2 мин
Количество просмотров9K
Минимальная версия PHP для Yii2 — 5.4. Минимальная версия PHP для Traits — 5.4. Совпадение? Не думаю!



Yii2 уже давно пора избавиться от этих плохих поведений. И вот почему.
Читать дальше →

Мобильные приложения и PA-DSS

Время на прочтение3 мин
Количество просмотров7.5K

Автор: Роман Денисенко, старший инженер по тестированию.

Из-за специфики моей работы, мне часто задают вопросы вида «у нас есть прекрасное мобильное приложение, и мы собираемся добавить в него возможность платежей банковскими картами. Но мы немного обеспокоены по поводу стандарта PCI PA-DSS. Что нам следует делать?». Чтобы облегчить себе жизнь, я решил написать статью, разъясняющую отношение стандарта PCI PA-DSS к рядовым мобильным приложениям, живущим в миллионах мобильников по всему миру.

Для начала давайте вспомним, что такое PCI PA-DSS и с чем его вообще едят. Стандарт PA-DSS был разработан PCI SSC (Payment Card Industry Security Standards Council) и является своего родом адаптацией требований стандарта PCI DSS к отдельным приложениям. Действие стандарта распространяется на все приложения, обрабатывающие данные о держателях карт. Его основная функция — реализация возможности безболезненной интеграции сертифицированного платежного приложения в инфраструктуру, работающую в рамках стандарта PCI DSS. Таким образом, любая компания, сертифицируемая по стандарту PCI DSS, может использовать PA-DSS-сертифицированный софт внутри своей инфраструктуры без каких-либо дополнительных проверок.
Читать дальше →

Петр Малкин: «Хотелось, чтобы потом не было стыдно за прожитые годы»

Время на прочтение12 мин
Количество просмотров9.1K


Петр Малкин работал в DataArt в 2005—2006 годах, но ушел из компании, чтобы стать профессиональным спортсменом-каякером. Чудом не погибнув в бурной речке, Малкин переехал в США — писал игры, работал в Panasonic, а в конце концов очутился в одном из самых секретных подразделений Google, которое занималось разработкой очков дополненной реальности Google Glass. О всех своих приключениях Петр рассказал в интервью Тане Андриановой.

— Расскажи, чем ты занимался до DataArt и как к нам попал? Мне казалось, ты какие-то игры делал?

— Ну почти. Я закончил ФТК (Факультет технической кибернетики — прим. ред.), Политех и поначалу занимался разными вещами. Делал софт для моделирования лазерной сварки металлов, строил роботов для атомных электростанций. Потом меня мой профессор, с которым я роботов делал, звал быть кандидатом наук. Он мне говорил: «Давай я научу тебя своей науке, а то ты так всю жизнь и будешь программистом». А я ему говорю: «Так я этого и хочу!» На том мы и расстались.

И я пошел писать компьютерные игры в разных конторах, потому что платили там в три раза больше. Одна из контор, кстати, была очень прикольная, называлась Driver Inter. Ее основали два профессора в Политехе и они набирали ребят, которые программировать не умели, но были соображалистые. И в итоге они на кафедре выделили одну большую комнату, где собирались студенты и писали игры. Качество кода было так себе, но зато было очень прикольно работать.

А потом в какой-то момент я занялся лодками. Каякингом.
Читать дальше →

Использование JMeter для организации распределенной нагрузки

Время на прочтение4 мин
Количество просмотров24K


Автор: Роман Денисенко, старший инженер по тестированию DataArt.

Введение

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

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

К счастью, большая часть современных программных средств, используемых для нагрузочного тестирования, позволяет использовать дополнительные удаленные агенты, необходимые для эмуляции распределенной нагрузки. В рамках данной статьи я хотел бы рассмотреть возможность создания нагрузочного кластера на примере, думаю, одной из самых распространенных программ, используемых тестировщиками, — великого и ужасного Apache JMeter`а.
Читать дальше →

Роман Чернышев: «Нас ждет медицина предупреждающая вместо медицины реагирующей»

Время на прочтение9 мин
Количество просмотров6.3K


Продолжаем серию интервью с лидерами индустриальных практик DataArt. Наши редакторы Даниэль Лурье и Вадим Мазин поговорили о медицинских технологиях с Романом Чернышевым, лидером медицинской практики. Обсудили медицинские wearables, «умные протезы», консервативность индустрии, Big Data в медицине и многое другое.

— Кто сейчас главный на рынке медтеха — стартапы или корпорации?

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

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

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

Swift. Функциональное программирование

Время на прочтение12 мин
Количество просмотров12K

Автор: Игорь Литвиненко, Senior Mobile Developer.

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

Экскурс в историю

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

Мне очень понравился пример из книги «Думаем функционально» (или «Функциональное мышление»). Представьте, что вы лесоруб, и у вас есть самый большой топор в лесу, который позволяет вам быть самым лучшим и успешным лесорубом. Но потом вы читаете в каком-нибудь журнале заметку маркетолога о том, что сейчас придумали новую крайне эффективную и современную концепцию валки леса — при помощи бензопилы. Тогда вы заказываете себе бензопилу — вам ее доставляют, вы ее распаковываете, но не знаете, как она включается. Зато вы прекрасно знаете, как рубить лес топором. И вы берете бензопилу и пытаетесь ей рубить деревья так же, как обычно рубите топором. И, конечно же, у вас ничего не получается — вам ничего не остается, как снова вернуться к топору. Но потом к вам приходит сосед и объясняет, как заводить бензопилу — и вы наконец начинаете эффективно валить лес бензопилой.
Читать дальше →

Мнения: Swift стал Open Source

Время на прочтение1 мин
Количество просмотров11K


В этом месяце произошла настоящая революция для разработчиков на платформах Apple. 3 декабря в свет вышла новая версия объектно-ориентированного языка от Apple — Swift. Что особенно удивительно, Swift выпустили с открытой лицензией Apache 2.0 license with a Runtime Library Exception. Вы все правильно поняли, это мощный язык программирования от Apple, да еще и с открытым исходным кодом. Что это значит для разработчиков, Мы спросили Игоря Литвиненко, Senior Mobile Developer в DataArt.
Читать дальше →

Разработка плагинов для Atlassian JIRA

Время на прочтение13 мин
Количество просмотров40K


Все мы в IT сталкивались с системами отслеживания ошибок — с так называемыми баг-трекерами, с issue-трекерами. Один из популярных продуктов такого рода — Atlassian JIRA.

На самом деле, Atlassian JIRA — это больше, чем просто система отслеживания ошибок. JIRA может использоваться довольно широко — в том числе и для управления проектами. Можно сказать, что JIRA — это система для отслеживания статуса задач. Задачи могут быть разными: это сбор требований, тестирование, непосредственно разработка и т. д. Я видел даже попытки подсадить на JIRA бухгалтеров — а что, мол, будет у нас agile-бухгалтерия!

На официальном же сайте JIRA описывается следующим образом:
JIRA is the tracker for teams planning and building great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity. At your desk or on the go with the new mobile interface, JIRA helps your team get the job done. В общем, основная идея JIRA в том, что она позволяет планировать работу.

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

Успешный старт: IoT-саммит в Нью-Йорке и умный вентилятор

Время на прочтение1 мин
Количество просмотров2.8K


DataArt с друзьями из Microsoft и Canonical провел первый ежегодный Open Source IoT Summit в Нью-Йорке. Несколько десятков лидеров индустрии собрались в конференц-центре Microsoft 12 ноября, чтобы обсудить самое актуальное и определить будущее индустрии интернета вещей.

Одной из главных тем саммита стал DeviceHive, разработанный DataArt, функционирующий на Ubuntu от Canonical и доступный в Microsoft Azure Marketplace. Эта платформа позволяет в кратчайшие сроки создать легко поддерживаемое IoT-решение с неограниченным количеством устройств, простое в разработке и не требующее никакого дополнительного ПО.
Читать дальше →

Munich Appathon 2015

Время на прочтение2 мин
Количество просмотров1.1K


DataArt совместно с HypoVereinsbank участвовал в международном 24-часовом хакатоне под названием “Appathon”, проходившем в здании HVB Forum в Мюнхене 6 ноября 2015 г. Организовал его банк UniCredit. Задачей участников была разработка приложений и решений, которые определят вектор развития банков будущего.

Главный приоритет UniCredit Group — инновации. Они поощряют эксперименты на всех уровнях, открыли большой инновационный центр в Милане и планируют инвестировать дополнительные 1,2 млрд € в инновации до 2018 г.



DataArt далеко не первый год успешно предоставляет компаниям различные цифровые продукты, поддерживает и продвигает инновации, которые помогают сблизить банки с их клиентами. Пятеро наставников из нашей команды, включая дизайнера, эксперта по UI/UX, разработчика мобильных приложений, эксперта по носимым гаджетам и специалиста по поддержке серверов, поделились опытом и предоставили техническую экспертизу и поддержку участником хакатона. На Appathon, прошедшем в этом году, UniCredit впервые дали полный доступ к своему API, что дало участникам возможность получить доступ ко всем областям банковской системы, подключиться к платформе банка и приложения создавать на ее основе. Коллеги из DataArt, в том числе, следили за бесперебойным функционированием API.
Читать дальше →

Прогнозы DataArt на 2016 год по трендам в сфере корпоративного ПО

Время на прочтение4 мин
Количество просмотров3.9K

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

Цифровизация банковского сектора, финансовые решения, адаптированные к индивидуальным потребностям поколения миллениума, персонализация и решения в туристическом секторе на основе технологий интернета вещей, медицина, ориентирующаяся на пациента, и развитие новых систем управления данными — среди главных трендов ПО для компаний в 2016 г. Таков прогноз DataArt, международной консалтинговой фирмы, которая создает решения полного цикла для сектора финансов, здравоохранения, путешествий и туризма, медиа, интернета вещей.
Читать дальше →

Lean UX — мелочи для успешных проектов

Время на прочтение7 мин
Количество просмотров30K


Автор: Анастасия Режепп, глава дизайн-студии DataArt.

В этой статье я немного расскажу о методологии Lean UX-дизайна и дам несколько техник и упражнений, показывающих, как ее применять.

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

Что значит “lean”

Слово “lean” переводится на русский как «тощий», «худой», «постный». Если переводить этот термин более специальным образом, то — «бережливый», «экономный», «минималистический». Например, уже есть термин «бережливое производство» — перевод английского “lean production”. Бережливое производство подразумевает постоянное устранение всех видов потерь — это достигается, в том числе, максимальной ориентацией на потребителя. То же самое верно и для подхода бережливого (тощего) UX-дизайна.

Принципы бережливого UX-дизайна

Когда мы следуем методу тощего UX-дизайна, есть несколько моментов, на которые стоит обратить внимание:
  • Мы понимаем целевую аудиторию и ее проблемы.
  • Мы создаем MVP (Minimum Viable Product — минимально жизнеспособный продукт).
  • Мы работаем короткими итерациями.
  • Мы постоянно тестируем нововведения на пользователях и, если что-то не так, быстро откатываемся.
  • Мы работаем командой: UX-проектировщики, дизайнеры, разработчики и тестировщики работают вместе и постоянно обмениваются мнениями и задачами.

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

Ближайшие события

Использование шаблона MVVM (Model-View-ViewModel) в Android

Время на прочтение18 мин
Количество просмотров88K


Автор: Антон Валюх, Senior Mobile Developer.

В этой статье поговорим о теории и практике использования очень удобного шаблона проектирования MVVM (Model-View-ViewModel) при разработке Android-приложений.

MVP — Model-View-Presenter

Для начала — немного теории. Всё началось с того, что многие думали, как приспособить шаблон MVC (Model-View-Controller) для написания приложений с интерфейсом пользователя. И в 2006 г. в работе “GUI Architectures” Мартин Фаулер подробно рассмотрел шаблон, который впоследствии получил название “MVP” (“Model-View-Presenter”).

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

В этом шаблоне есть три элемента:
  1. View.
  2. Presenter.
  3. Model (модель).

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

История PHP: инфографика

Время на прочтение1 мин
Количество просмотров36K

PHP7 Elephant created by Walker Cahall

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

Но многие ли из нас помнят, каким был PHP 10 или 20 лет назад? В честь релиза «семерки» коллеги из PHP User Group подготовили инфографику истории языка. Давайте вместе окунемся в прошлое и немножко поностальгируем.

Читать далее

Любопытный случай возвращения средневековой системы натурального обмена

Время на прочтение3 мин
Количество просмотров4.7K


… или четыре причины, по которым P2P может кануть в лету (по крайней мере, в нынешнем виде).

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

Наступила эпоха P2P, рынка крупного рогатого скота и птицы XXI века.
Проще говоря, P2P — онлайн-технология, которая дает возможность пользователю быстро переводить средства со своего банковского счета или кредитной карты на личный счет другого человека через интернет или мобильный.

Кредитные карты не пользуются популярностью в Европе из-за невысоких процентных ставок, размер которых сложился исторически. В поиске альтернативного решения мир охватило безумие, вызванное технологией P2P. Например, предприятия среднего и крупного бизнеса, перед носом у которых банки нередко захлопывают двери (иногда — в буквальном смысле), присматриваются к платформам P2P.

Платформы P2P удваивают активы каждые девять месяцев, показывая стремительный рост. Новая технология обеспечивает высокую скорость и эффективность по сравнению с традиционными кредиторами. Именно благодаря своей эффективности P2P набирает все большую популярность. Лидеры здесь — компании M-Pesa и bKash, которые выделяются среди остальных фирм продуманными алгоритмами, олицетворяя эволюцию финансовой биржи. Подобно стремительно растущим сервисам Uber и AirBnB, которые изменяют рынки такси и отельного бизнеса, компании Lending Club, SoFi, Funding Circle и другие делают то же самое в сфере финансовых транзакций.

Появление P2P привлекает столько внимания, что даже Facebook и Google предоставили пользователям возможность удобного перевода денег другим пользователям. Чтобы перевести деньги, вам не нужно ничего, кроме собственно аккаунтов. Доступность и мгновенная транзакция — вот преимуществ P2P, которые привлекают пользователя.
Читать дальше →

Как посчитать время на тестирование

Время на прочтение11 мин
Количество просмотров54K


… Или, другими словами, как посчитать время на тестирование так, чтобы все поверили? Ведь на самом деле у нас обычно — две цели. Первая — посчитать время так, чтобы не ошибиться и правильно распределить ресурсы — скорее всего, поначалу сделать это хорошо все равно не получится. Вторая цель более реальна: посчитать время на тестирование так, чтобы доказать кому-то, что вам нужны еще люди в команде, объяснить, почему вы не успеваете и т. д. Как ни странно, после того, как раз 50 сделаете второе, то и первое будет получаться!

Давайте теперь посмотрим, как считать время на тестирование, на конкретных примерах.
Читать дальше →

Игорь Кожуренко: Wearables, Big Data и сальса

Время на прочтение6 мин
Количество просмотров2.9K


Wearables — еще одно большое направление работы DataArt. Сегодня мы поговорили с Игорем Кожуренко, лидером направления Wearable Devices в нашей компании. Обсудили то, что волнует нас как потребителей и разработчиков.

— Игорь, сначала общий вопрос. Каковы перспективы носимых устройств?

На рынке эти устройства уже как минимум два-три года, и до сих пор открыт вопрос — будут ли они успешными и массовыми. Похожий пример, который приходит на ум, — история смартфонов. Когда они появились на рынке, было много скептиков, которые говорили: зачем мне это надо, телефон нужен, чтобы звонить и разговаривать. Сейчас, по прошествии 10 – 15 лет, простых телефонов практически не осталось. С развитием сервисов, технологий и самих устройств произошла практически революция в этой области. Это не просто телефон, а полностью персональное устройство, которое заменяет планшет, лэптоп и так далее.

Те же скептики высказывают сейчас сомнения относительно «умных часов»: зачем мне это надо, если есть простые часы. Все необходимое есть в телефоне, батарейка часов живет сутки, затем их надо подзаряжать — получается только лишняя головная боль… Моя позиция такая: но пройдет несколько лет — и wearables станут массовыми. В этой области ведется много научных разработок, компании инвестируют достаточные деньги, чтобы решить существующие проблемы — и в первую очередь, это вопрос длительности работы без подзарядки. Если получится сделать аккумулятор, с которым, например, Apple Watch не надо будет подзаряжать неделю, это будет прорыв. Хотя у современных «Айфонов» максимум работы сутки — а им все равно все пользуются.
Читать дальше →

Юлия Мещерякова: 8 лет «Что? Где? Когда?» c DataArt

Время на прочтение4 мин
Количество просмотров2.5K


Мы уже писали о команде DataArt по «Что? Где? Когда?», которой уже восемь лет. За это время на базе DataArt прошло больше десяти «синхронов» — и посвященных IT, и более широкого формата. А игроки добились существенных успехов: занимали призовые места на турнирах, оказались достаточно высоко в мировом рейтинге, а в этом году даже представляли Воронеж на чемпионате России.

Мы взяли интервью у Юлии Мещеряковой, капитана команды.
Читать дальше →