Quantcast
Channel: Корпоративный блог DataArt
Viewing all 1532 articles
Browse latest View live

Участвуйте в конкурсе «Нам 18!»

$
0
0

Всего пара дней отделяют DataArt от совершеннолетия. А мы приготовили для вас еще один конкурс!

Поздравьте DataArt с днем рождения любым способом, который придет в голову. Это может быть текстовое поздравление, рисунок, фото и даже песня. Разместите поздравление в социальных сетях с хештегом #Поздравь_DataArt.

specs-sh-color06

Автор лучшего поздравления получит в подарки от DataArt фитнес-трекер Xiaomi Mi Band. Прием поздравлений заканчивается 17 июля 2015 г.


Алексей Кривенков: «Мои друзья продали мне домен Mail.ru за 500 долларов»

$
0
0

Алексей Кривенков стоял у истоков DataArt и Mail.ru, но в 2001 году покинул компанию. В интервью DataArt Алексей рассказал о том, когда и как было придумано название компании, первых офисах в Петербурге и Нью-Йорке и o том, как брали на работу Зава, Дакса, Филимонова, Димаса и других уважаемых людей, до сих пор работающих в DataArt — иногда под новыми фамилиями.

Интервью: Таня Андрианова и Даниэль Лурье.
Фотографии из личных архивов Алексея Кривенкова (Крива), Дмитрия Андрианова (Димаса) и Андрея Язикова (Мартина).

— Кем ты был до DataArt и как очутился в компании?

— Вообще, название DataArt появилось при мне, когда я уже был в Нью-Йорке.

Я учился на 2-м курсе физфака, и в какой-то момент решил съездить в Америку, навестить своего друга Диму Крюкова. Он отвез меня в гости к однокласснику своего друга, Жене Голанду, — так мы и познакомились.

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

В то время в Петербурге я работал в первых интернет-провайдерах: в «Невалинке», «Дуксе»,  потом еще в «Веб Пласе». Я ходил в гости к клиентам и подключал им интернет. Интерет тогда состоял из электронной почты UUPC. Я, наверное, настроил около сотни UUPC. Я подключил к интернету, например, известного музыканта Лешу Вишню и покойного писателя и интернет-литератора Александра Житинского.

В общем, я сидел в ректорском флигеле в подвале Университета. У нас там был настоящий IP-интернет на 386-х «линуксах», а у меня, конечно, была личная электронная почта, с которой я и написал Жене Голанду, что собираюсь в Америку. Женя сказал, что у него как раз есть для меня дело. Я купил билет и приехал.

Полгода я жил у Жени, мы собирали и продавали компьютеры. И тогда-то  придумалось название DataArt — название компании, которая будет не компьютеры собирать, а должна писать софт и оказывать консалтинговые услуги. Консультировать и писать софт на первых порах приходилось и мне. Тогда основной наш бизнес тоже заключался в подключении клиентов к интернету и обеспечению их электронной почтой. Это-то меня и увлекло.

В общем, машины я так помыть и не успел…

— Это было в 1996? А что дальше?

— А дальше у нас появился офис на Парк Авеню. Но в какой-то момент у меня кончилась турвиза, и мне нужно было выехать из Америки. Я выехал, две недели провел в Питере, а по дороге назад американцы сказал мне, что им кажется, что все то время, которое я не так давно провел в США, я там нелегально работал. Они обыскали мой рюкзак и нашли там пропуск в здание «475 Парк Авеню» с логотипом компании DataArt, корпоративные визитки с этим же логотипом и моим именем, кредитные карты, которые Женя мне сделал, чтобы мне было удобно и хорошо жить в Америке. В общем, они решили, что я в Америке нелегально работал, и отправили меня домой на том же самолете.

— Ну, потом американцы тебя простили и снова начали давать тебе визы?

— На самом деле, они меня не простили. Туристические визы мне дают, но каждый раз я должен получать специальное разрешение.

Я улетел, но клиенты-то наши никуда не делись. Им нужно было помогать с онлайн-магазинами, почтовыми системами, рутерными подключениями офисов к интернету. В этот момент я снова обращаюсь к Жене и говорю ему: «Женя, вот такая история — из князи в грязи. Что мне делать? Я не знаю». Женя мне говорит: «А не переживай! Можешь продолжать заниматься из Питера всем тем же, чем занимался в Америке». Это для меня было такое облегчение!

Алексей Кривенков — Август 1999-го
Алексей Кривенков — Август 1999-го

— То есть стал первым оффшорным работником DataArt?

— Да. Я быстро выяснил, что в Питере открывается такой провайдер – «Веб Плас», который организовали мои друзья. И я туда сразу устроился работать ночным дежурным саппорта. Это было очень удобно, потому что у них был быстрый интернет. Наверное, мегабит на весь офис — а, возможно, и на клиентов тоже. И я ночами, когда в Америке был день, по телефону помогал клиентам и при этом продолжал руками нью-йоркских людей устанавливать и настраивать сети, как мог писать на Perl онлайн-магазины и помогать со всем остальным.

В какой-то момент в DataArt к Жене пришел клиент, которому нужно было писать на Access. Тут я вспомнил, что у меня есть много одноклассников, которые учились со мной в 30-й школе (одна из лучших математических школ в городе и в стране — прим. ред.), и потенциальных однокурсников из ЛИТМО — я поступил к Парфенову (Владимир Парфенов — декан факультета информационных технологий и программирования ИТМО, создатель едва ли не лучшей в России системы подготовки программистов — прим. ред.), но не пошел. И среди моих друзей-товарищей сразу стали появляться люди, которые умели быстро решать задачи, возникающие у Голанда в Нью-Йорке. Это Антон Лухт, Петя Лисовин, Илья Фейгин и другие ребята.

Сначала я нашел человека, который умел писать на Access, и он стал работать на нью-йоркского клиента. Потом появился клиент Telmar, которому нужно было что-то писать на Java. И я нашел своего одноклассника, который писал на Java.

— Java уже была распространена? Это какой же год?

— Да, Джава была. Это 97 год.

Потом, работая в том же «Веб Пласе» по ночам, мы дали объявление в “St.Petersburg Times” — газете для экспатов, которая недавно умерла — что ищем успешных, читающих “St.Petersburg Times” программистов, говорящих по-английски. На это объявление откликнулся прекрасный мальчик, который к тому же учился на матмехе в Университете. Его звали Алексей Миллер. И нас уже стало двое. Я считаю, что в этот момент появился петербургский офис DataArt.

magus Миллионная 1998 (1)
Алексей Миллер — 1999 год.

Там же в «Веб Пласе», где я продолжал трудиться ночным саппортом, работал Миша Завилейский. Он занимался, кажется, каким-то биллингом. При этом, кроме этой работы, у Зава была команда из Филимонова, Дакса (Александра Макеенкова) и Антона Белова, которые, сидя в ЛИТМО, делали стартап под названием «Маркетсайт». Это было что-то про интернет и про рынок. Е-commerce cтартап, короче.

И в этот момент Женя говорит мне: «Леша, нам надо расширяться сильнее. Хорошая идея — искать разработчиков в Петербурге и продавать их американским клиентам». Так появился оффшорный бизнес.

Женя прилетел в Петербург, познакомился с Завом и его командой (это было в феврале на ДР Дакса и Филимонова в 1997 году, и именно этот момент принято считать днем основания DataArt— прим. ред.) и решил, что это отличный способ расширить компанию.

Крив в офисе DataArt на Милионной
Крив в московском офисе Mail.ru, 1999 год

— А ты все продолжал работать в «Веб Плас»?

— К тому моменту меня как раз оттуда выгнали, и мы сняли новый офис на Миллионной улице. Так появилась компания с офисами в двух местах через речку друг от друга — на Миллионной и в ЛИТМО.

Как раз тогда, из разработок для наших американских клиентов, появился прототип Mail.ru — сервиса, в котором люди могли заводить себе домены для почты и получать к этим доменам POP-доступ. При этом с экономией машин. Этот продукт назвался «Мультипоп». Я очень плохо программировал, поэтому позвал Диму Андрианова, которого знал по 30-й школе. Он уже работал программистом — да и вообще был гением программирования. Я его позвал, и он пришел. Компания росла.

Димас офис мру 1999 год
Димас. Офис Mail.ru — 1999 год.

Потом мои друзья продали мне за 500 долларов домен Mail.ru. Мы развернули на этом домене «Мультипоп». Проект стал шевелиться, и Женя нашел в Америке денег, чтобы Mail.ru расширялось и развивалось. Это был первый миллион долларов, который пришел в русский интернет.


И в этот же момент Mail.ru стал отпочковываться от DataArt. Это были 1998–99 годы. Потом Mail.ru переехал в Москву, потому что в ЛИТМО, где стояли первые сервера, закончился интернет — Mail.ru стал отжирать больше половины канала из ЛИТМО в Москву. Мы перевезли сервера и примерно и в это же время решили, что и офису Mail.ru будет лучше и удобнее в Москве.

Димас, Крив и Вова Шутов распаковывают сервера. Москва офис Mail.ru 1999 год
Димас, Крив и Вова Шутов распаковывают сервера. Москва офис Mail.ru — 1999 год

В этот момент мы с DataArt cтали двумя разными компаниями.

— Теперь вопрос про то, как у тебя все закончилось в DataArt.

— Я тоже переехал в Москву вместе с немногими новыми сотрудниками Mail.ru. Мы занимались Mail.ru, DataArt помогал, но мы поняли, что это две разные компании и каждая должна идти своим путем. И я стал от дел DataArt отходить.

Но DataArt оставался тесно интегрированным в Port.ru (так была названа компания Mail.ru для придания большей портальности почтовому сервису). Разработка во-многом велась сотрудниками DataArt, контентные проекты и дизайн тоже делались в Питере, Даня Дугаев занимался Internet.ru, Даня Лурье — music.ru. Я раз в неделю летал в Питер в офис на Мойке.

Димас и сервера Mail.ru — 1999 год
Димас и сервера Mail.ru — 1999 год

Женя Голанд продолжал руководить обеими компаниями, а потом в какой-то момент он решил, что командование Mail.ru лучше взять на себя, и меня уволил. Я продолжал оставаться акционером, провел какое-то время в вежливой должности директора по развитию. Mail.ru управлял Женя, а я, чуть-чуть поработав для приличия директором по развитию и поняв, что у нас разное видение ситуации, понял, что можно уйти. И так как я был не согласен с тем, как велись дела, я решил продать свою долю. Продал я ее Юрию Борисовичу Мильнеру— ныне великому интернет-инвестору, за совсем несмешные по тем временам деньги: мне тогда этих денег хватало лет на 10.

Так Юрий Борисович стал собирать себе Mail.ru.

— А кем был тогда Мильнер?

— Он тогда был в компании «НетБридж» и решил, что «НетБриджу» нужно сливаться с Mail.ru. В какой-то момент он перехватил управление и скупил все акции, как я понял.

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

У меня тогда все еще действовало соглашение о неконкуренции с Mail.ru, оно было долгое, поэтому интернетом я еще года 3 – 4 не мог заниматься. Сейчас я понимаю, что я мог на него наплевать или вообще не подписывать, но тогда мне это казалось важным. И я решил заняться чем-то, что к интернету не имеет никакого отношения. Чем-нибудь, что не для миллионов людей, а для считанных десятков, и не виртуальное, а реальное. И я придумал себе историю, что нужно делать бумагу ручной работы с водяными знаками. Я посмотрел, как в Италии в средние века делали бумагу, и решил, что нужно сделать в Москве такой физический стартап.

На этот проект ушло года три. Два года мы учились делать бумагу, еще год — ее продавать. Ни шатко, ни валко мы научились себя окупать. Стало понятно, что денег мы на этом не заработаем, но компания Paperman.ru просуществовала еще 10 лет. Умерла она буквально в последний новый год. Я ее продал менеджерам, и они все делали очень круто. Я и сейчас думаю, что из этого получилось бы что-то успешное, если продавать в Америке.

— У тебя же еще было много маленьких бизнесов?

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

Потом, уже в новой компании, мы сделали кучу классных телевизионных и видео сайтов: Zombobox, Moskva.fm, Piter.fm.

— Еще же был сервис, который считал рекламу?

— Да, «Admonitor». В общем, мы делали разные вещи, связанные с распознаванием звука и видео-изображения. Сделали мы это гораздо раньше Shazam, но, как обычно, эпически все просрали в смысле маркетинга и продаж. Был такой сервис Tunatic, распознающий по звуку песню. Его какой-то француз сделал. Сначала я думал этот сервис купить, а потом быстрее нашел в Белгороде человека, который сам такое же написал. Мы начали Москву.фм на его алгоритмах, потом с чуваком из Израиля переписали «Москву» под его алгоритмы — это было быстрее и удобнее.

— Потом были выборы?

— Да, потом, в 2012 году, к нам свалилась история про выборы Путина и про то, что на всех участках нужно поставить камеры. За три месяца до выборов, в декабре, мы набрались наглости и сказали, что сделаем систему, которая со ста тысяч участков по всей стране, с двухсот тысяч камер будет транслировать видео и показывать его пяти миллионам россиян.

— Как в сериале “Silicon Valley”?

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

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

Мне кажется, что это хорошая и полезная вещь, потому что детям, которые честно сдают ЕГЭ, эта штука помогает с большей вероятностью поступить в вузы, чем детям, которые списывают, жульничают или вступают в сговор с принимающими экзаменаторами. Особенно это актуально в Ингушетии и Чечне.

— Там тоже везде стоят камеры?

— Да. И это реально помогает. Более того, в Рособрнадзор специально был взят чеченец (Музаев Анзор Ахмедович, заместитель руководителя Федеральной службы по надзору в сфере образования и науки – прим. ред.), который помогал с тем, чтобы эта система вся работала там у них. За школьниками наблюдают распределенные добровольные наблюдатели, отмечают подозрительные моменты, эскалируют это старшим наблюдателям и те решают, стоит ли на месте вмешаться и остановить экзамен, или проверить ребенка на какие-то шпаргалки.

— А ты до сих пор там?

— Да. В декабре мы продали эту компанию «Ростелекому». Она называется «Рестрим», и я в ней сейчас работаю.

Мы до сих пор иногда работаем с DataArt на новых проектах. Команда из Воронежа трудилась над частью нашей мегасуперплатформы для интерактивного облачного телевидения, мы заказывали Питерским разработчикам DA прототип мобильной геолокации, удобных контролов в айфон для Москвы.ФМ. В круглосуточной гонке с предвыборными трансляциями нас сильно выручили админы (Гриша Бурмистров и ко).

— Как тебе кажется, что тебе дал DataArt?

— DataArt мне дал все то, чем я могу гордиться в этой жизни. Если бы судьба так мной не распорядилась, если бы Женя Голанд не был так открыт и не доверился мне когда-то, то я был бы другим человеком, занимался бы другими делами, и я абсолютно не могу представить, что было бы с моей жизнью.

Goland на неизвестной пресс-конфе. Примерно 2000 год.
Евгений Голанд на неизвестной пресс-конференции

— C Женей же вы общаетесь до сих пор, несмотря на увольнение?

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

При этом, благодаря всему этому стечению событий, я поучаствовал в судьбе большого количества людей, которые и сейчас работают в DataArt. Я брал на работу Зава, Миллера, Димаса, Юлю Жукову (теперь Завилейскую), Таню Мазуренко (теперь Андрианову), я был знаком с Викой Виноградовой (теперь Миллер) через общих знакомых в Москве. Вы знаете всех этих людей.

Димас, Вова Шутов и Крив. Москва. офис Мру. 1999 год
Димас, Вова Шутов и Крив. Москва, офис Mail.ru — 1999 год.

DataArt завершает модернизацию системы клинических симуляций

$
0
0

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

Специалисты DataArt в области разработок для здравоохранения и биомедицины успешно завершили модернизацию среды совместной работы и сайта SimShare, добавив новые функции и мощные инструменты аналитики, которые позволят врачам-методистам и исследователям сконцентрироваться на своих основных задачах и почти не отвлекаться на рутину. Новая платформа SimShare (запущена в конце апреля, бета-тестирование завершено в конце июня) имеет адаптивную верстку и предоставляет пользователям полный доступ со множества устройств.

«Команда SimShare пришла в DataArt с собственным уникальным видением и подходом к решению одной из важнейших проблем в области здравоохранения. Мы рады, что нам удалось внести свой вклад в создание платформы, работать с SimShare было настоящим удовольствием. В результате у нас получилось решение, которое предоставляет врачам-методистам, специалистам по клинической симуляции и учащимся высокопродуктивные инструменты и библиотеки сценариев симуляций. Медики могут использовать весь этот инструментарий для улучшения качества своей работы», — комментирует Егор Кобелев, вице-президент DataArt (Healthcare & Life Sciences).

Основные преимущества новой платформы SimShare:

  • Масштабируемость. Новое приложение основано на облачной технологии. Оно позволит тысячам медучреждений по всему миру одинаково эффективно наладить работу и в изолированной среде, и в совместных проектах.
  • Гибкие настройки. Ключевая особенность приложения — мультиарендная (multi-tenancy) архитектура, предоставляющая каждому клиенту личное рабочее пространство с широкими возможностями, индивидуальной настройкой программ и сценариев клинической симуляции.
  • Автоматизация. Новая платформа SimShare автоматизирует ряд трудоемких задач, позволяя существенно повысить эффективность процессов обучения медперсонала и программ повышения квалификации. Ключевая функциональность платформы: мастер создания обучающих программ, автоматическое выполнение сценариев симуляции, моментальный сбор и анализ информации о ходе выполнения учебных программ.
  • Взаимодействие. В новой платформе реализованы технологии совместной работы над проектами, обзоры оборудования для клинических симуляций, элементы социальной сети — все это стимулирует обмен знаниями и опытом между специалистами.

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

О DataArt:

DataArt(www.dataart.ru) с 1997 г. занимается разработкой заказного ПО, помогая клиентам в области финансовой индустрии, здравоохранения, гостиничного бизнеса, медиа и «интернета вещей» достичь важных целей. Благодаря глубокому знанию предметных областей и экспертизе в области технологий, DataArt создает новые продукты, модернизирует корпоративные системы и предоставляет управляемую поддержку, которую оказывают высокопрофессиональные команды разработчиков из США, Великобритании, Центральной и Восточной Европы, и Латинской Америки. DataArt — признанный лидер в области технологических решений для бизнеса, завоевавший доверие ведущих мировых компаний и самых взыскательных клиентов, среди которых — McGraw-Hill Financial, Coller Capital, BankingUp, Ocado, artnet, Betfair, SkyScanner, Collette Vacations, Booker и Charles River Laboratories.

О SimShare:

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

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

DataArt поможет найти пропавших собак

$
0
0

DataArt на благотворительной основе займется разработкой приложения для организации Harvey’s Army. Приложение поможет хозяевам найти потерявшихся собак. О начале разработки и помощи DataArt объявила Эмма Бантон, солистка Spice Girls, в эфире программы Surprise Surprise на британском телевидении.

Хотя сотрудничество анонсировали совсем недавно, работа над проектом уже идет. На днях наши коллеги встретились с Ниной Блэкберн, одной из основателей Harvey’s Army, обсудили пожелания, поделились идеями и продемонстрировали первый концепт грядущего приложения.

«Это удивительный подарок. Если честно, мы совершенно потрясены. Мы начнем работать с DataArt уже на этой неделе, чтобы создать систему, которая спасет чувства тысяч людей и жизни тысяч собак. В Великобритании ежегодно погибает около 7000 собак, чьих хозяев не удалось найти», — комментирует Нина.

screen
Первый концепт приложения Harvey’s Army. Интересно посмотреть, во что оно вырастет со временем.

Harvey’s Army — команда из 10 500 волонтеров, помогающих собачникам всей Британии искать пропавших питомцев. Движение названо в честь пуделя Харви, поиски которого продолжались 13 недель. И пусть поиски прошли безуспешно (пес погиб спустя 20 минут после побега из дома), история Харви и его хозяев вдохновила тысячи людей. Основатели Harvey’s Army настроены сделать все возможное, чтобы подобное несчастье не пришло в семьи других людей. И DataArt поставит современные технологии на службу благой идее.

Следите за новыми подробностями в нашем блоге (и за своими питомцами).

Летняя практика 2015 началась в Воронеже

$
0
0

Летняя практика-2015 открылась в воронежском офисе DataArt. Больше сотни студентов ПММ ВГУ и других технических вузов собрались послушать два десятка лекций на самые разные, но неизменно актуальные IT-темы.

В первой лекции Андрей Беляев провел экскурс в 20 лет развития Java, рассказал, с чего все начиналось и в каком направлении Java движется сейчас.

18895164834_d7213a1d67_k

Затем выступил Никита Корчагин с вводной лекцией о разработке под iOS. Он рассказал, с чего начать неопытному iOS-разработчику и как не утонуть в бурном море технологий Apple.

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

DataArt отметил совершеннолетие

$
0
0

DataArt отметил совершеннолетие — компании исполнилось 18. День рождения праздновали, как всегда, весело и душевно.

Буэнос-Айрес

Аргентинские коллеги провели этот день в парке развлечений, где каждый нашел занятие по настроению: настольный футбол, боулинг, поло, чревоугодие… За участие в конкурсах коллеги получили памятные подарки: флэшки, зонты, аккумуляторы и калебасы для заваривания мате.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655410741678

Воронеж

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

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655759840016

Вроцлав

Вроцлавский офис праздновал среди зелени, мини-зоопарка и озер — идеальное место при жаре +37. Атмосфера была семейная: немного народу (офис еще молодой), приятные разговоры и смех. ​

https://www.flickr.com/photos/outsourcing/sets/72157655241440479

Днепропетровск

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

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655505779316

Киев

Киевский офис отметил совершеннолетие компании вечеринкой с коктейлями, прохладительными напитками и диджеем. Коллеги пили разнообразные летние коктейли и общались. Событием вечера стало выступление кавер-группы, которая исполнила известные современные хиты. А потом все приступили к именинному торту, который весил более 35 килограммов, и награждению победителей лотереи.

Коллега Юрий Горюнов приготовил особый подарок — с помощью фотоаппарата, компьютера, фотопринтера и написанной им программы каждый желающий мог получить моментальную фотографию. Программа с автоматическим распознаванием образов сама делала снимок, отправляла его в печать и размещала на специальной страничке в Facebook: https://www.facebook.com/dataartkyiv18?fref=ts

Фото: https://www.flickr.com/photos/outsourcing/sets/72157653329131013

Львов

Львовский офис праздновал в бухте затонувших кораблей. Бочки с ромом, паруса, сети, пресловутые пиратские череп и кости, деревянная мебель создали атмосферу пиратской сходки. Команды «Черная улитка» и «Рыжая борода» сражались в поисках затонувшего клада. Пираты драили палубы, брали судна противников на абордаж, спасали паленных с острова Тортуга, упражнялись в меткости и смекалке. Закуска «Морской чёрт», мясо «Летучий голландец», пиратские гамбургеры, чипсы «Золотые дублоны», коктейли «Черная каракатица», «Веселый Роджер» и «Пьяный боцман» дополнили картину. Вечеринка продолжилась в релаксом на песке пустынного пляжа, экстримом — на этапах веревочного парка, нирваной — в лаунж-зоне базы отдыха.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655505482422

Люблин

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

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655682206202

Одесса

Одесский офис отметил совершеннолетие DataArt в гавайском стиле. Для разогрева одесситы погрузились в таинство кубинской сальсы, а потом девушки научили всех танцевать ламбаду. Кульминацией вечера стал концерт группы коллег. Они отыграли каверы любимых всеми песен и зажгли в лучших традициях рока! Под их музыку: танцевали и прыгали по лужам после грозы, которая не испортила праздник, а помогла нам сблизиться.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655555196182

Питер

Питерский офис поехал на озеро. Любители активного отдыха сражались в гигантский кикер и волейбол. На аттракционе Angry Birds дети и взрослые сбивали злыми птицами хитрых свиней. Любители творчества разрисовывали красками большое полотно нашей «совершенно летней» компании. Адепты спокойного времяпрепровождения играли в настольные игры. Можно было обыграть друг друга в огромные шашки на поле и не дать упасть деревянной мега-дженге (высотой больше 1,2 метров). Дети смотрели научное шоу и надували большущие мыльные пузыри. А еще прыгали весь день на батуте, куда время от времени забирались и взрослые, чтобы почувствовать себя детьми. Пожелания компании на день рождения писали на большом воздушном шаре. В финале развлекательной части прошла лотерея, главным призом в которой стал, конечно же, праздничный торт со свечками.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655552385432

Харьков

Харьковский офис DataArt совершил кругосветное путешествие. Какие только страны харьковчане не повидали: Индия, Китай, Италия, Великобритания, Швейцария, Грузия. Все гости при въезде на базу получали браслет с уникальным номером, который мог стать выигрышным в лотерее. Гвоздем программы стала огромная карта, где все желающие могли осуществить мечты и отправиться в любой уголок планеты.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655570021225

Херсон

Херсонский офис в честь совершеннолетия компании устроил настоящие «Казацкие забавы». На базе отдыха нас встречали в лучших казацких традициях: приветливыми улыбками, теплыми объятьями и традиционными бутербродами с салом. Здесь прошли командные состязания: бой подушками, прыжки в мешках, бег в шароварах, перетягивание каната, плетение кос и вязанок из баранок. Коллеги стреляли из лука, переплывали реку на байдарках, играли в дартс и старинную игру «Кубб». Артисты херсонского академического музыкально-драматического театра подарили коллегам юмористический номер, группа «Южный регион» — ремиксы бессмертных хитов. Танцевальный флешмоб под дождем, спонтанно организованный коллегами, стал достойным завершением праздника.

Фото: https://www.flickr.com/photos/outsourcing/sets/72157655557079906

IT NonStop в Одессе объединил JavaScript, Ruby, облака и менеджмент

$
0
0

Международная конференция IT NonStop собрала более 200 IT-специалистов в Одессе. Семь докладчиков рассказывали о JavaScript, Ruby, Unity, Azure и проектном менеджменте.

Юрий Федоренко, JavaScript Developer в DataArt,  ознакомил слушателей с особенностями Meteor.JS и перешел к демонстрации продукта, написанного с помощью этого фреймворка. Слушатели изучали сайт со своих устройств прямо во время выступления, которое больше походило на беседу. Юрий ответил на массу вопросов, и все равно диалог продолжался после доклада.

19477974158_409a51442e_k

Михаил Сердюк, Senior Ruby Developer в DataArt, погрузил гостей в мир Ruby — слушателям очень понравилась его презентация в виде строк кода. Докладчику удалось вовлечь всех в диалог о достоинствах и недостатках этого языка и наглядно показать, как можно с помощью Ruby решать различные задачи программирования.

19639979486_e28236ca5e_k

Александр Демура, глава DataArt в Одессе, показал, что на любом уровне профессионалу есть, чему и у кого учиться. Он поделился знаниями в сфере проектного менеджмента на основе теорий Ицхака Адизеса и личного опыта в DataArt. Говорили о различных типах менеджмента, о работе с разными сотрудниками и о ролях в команде. Спикер также затронул тему работы с клиентами. Александр показал, что может интересно говорить о любимом деле хоть весь день, что и происходило в перерывах между докладами.

Антон Бойко, Microsoft Azure MVP и основатель украинской Azure Community, поднял тему масштабирования веб-приложений. Он как истинный полководец объяснил, что нужно для разделения базы данных и властвования над любой ситуацией.

Дмитрий Миндра, SDET в Unity Technologies/Ciklum, порадовал динамичным выступлением о разработке на Unity, поделился подробностями пользования инструментом, обратил внимание на его подводные камни, продемонстрировал возможности и даже вместе с залом в реальном времени создал игру.

Артем Тритяк, Lead FrontEnd developer в Electric Cloud, истинный фанат React.JS, зарядил аудиторию и вдохновил сомневающихся на работу с фронтендом. Он говорил о простоте и легкости работы в этом направлении, о примерах применения фреймворка, его функциях и возможностях, затронул и фреймворк Node.JS, и архитектуру FLUX.

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

Присоединиться к IT NonStop в Одессе было можно из любой точки мира — онлайн-трансляция на сайте конференции дала эту возможность сотням слушателей.

19043638694_5782f0a738_k

В зоне отдыха между докладами шли «битвы разума» на Mindflex и испытание смекалки на головоломках. Твистер для пальчиков помогал отдохнуть или размяться перед игрой на Xbox. Некоторые даже показали ловкость на играх Кinect и поучаствовали в конкурсе на самый дальний полет бумажного самолетика и передали эстафету IT NonStop Днепропетровску.

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

IT NonStop объединяет спикеров и слушателей из разных городов, стран и профессиональных сфер. Встреча в Одессе была пятой из восьми и мы многое прошли вместе с другими локациями DataArt. IT NonStop уже побывал в Херсоне, Воронеже, Львове, Люблине и Одессе.

19670620221_e21ed45714_k

Огромное спасибо всем спикерам, партнерам и гостям. Ждем вас на других наших встречах. Следите за новостями!

DataArt рассказал о безопасном IoT для онлайн-путешествий

$
0
0

DataArt организовал и провел в Лондоне панельную дискуссию QuestionTime (QT), где более 70 участников узнали, как безопасно применять «интернет вещей» (IoT) в онлайн-туризме и гостиничном бизнесе.

На вопросы отвечает маркетинговый координатор DataArt Дарья Матвеева.

— Как организуется и проходит QT?

Д. М.: — QT — встреча, на которую мы приглашаем экспертов и руководителей компаний в индустрии онлайн-путешествий и гостиничного бизнеса. Тему заявляем заранее. Докладчики отвечают на вопросы из зала. Встречу традиционно модерирует Кевин Мэй (Kevin May), главный редактор и сооснователь ведущего британского ресурса о путешествиях Tnooz.

dataart-187

— Почему основной темой обсуждения в этом году выбрали «интернет вещей»?

Д. М.: — Тема стала довольно популярна в индустрии. Вещи, которые мы используем в обычной жизни, становятся «умнее», в них встраиваются сенсоры, чипы, микросхемы. Так у них появляется возможность обмениваться данными с производителями, операторами, другими девайсами через интернет.

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

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

dataart-122

— Кто отвечал на вопросы экспертов?

Д. М.: — Мэттью Холл (MatthewHall), коммерческий директор лондонского аэропорта; Пол Сэггар (PaulSaggar), IT-директор группы отелей Maybourne; Дипак Джа (DeepakJha), глава центра мобильных разработок TUI Travel; Грег Эббот (GregAbbott), вице-президент в области онлайн-путешествий и гостиничного бизнеса DataArt; Джейсон Джеффрис (JasonJefferys), основатель iRiSSoftware Systems.

dataart-016

Львовские тестировщики учились автоматизации

$
0
0

Львовский офис DataArt провел очередную встречу открытого технического сообщества QA talk. Херсонский коллега Антон Сирота приехал во Львов с мастер-классом «Автоматизированное тестирование. С чего начать?».

Участниками мастер-класса стали и специалисты с опытом автоматизированного тестирования, и те, кто только присматривается к специальности QA-инженера. Поэтому Антон начал с объяснения основ автоматизации: какие виды приложений можно автоматизировать, какие типы тестирования можно покрыть автоматизацией.

Докладчик подготовил краткий обзор инструментария для автоматизации, рассказал об основных инструментах для автоматизации. После вводной части обсудили, на каком уровне автоматизатор должен знать и понимать программирование, каковы основные принципы ООП, Антон продемонстрировал необходимые Core-основы на примере Java.

19736469532_212098aedf_o

В практической части Антон описал все необходимые шаги для построения автоматизации с нуля и показал, как проходит процесс вживую. Сначала на примере выбранного публикой сайта habrahabr.ru он автоматизировал негативный сценарий проверки формы регистрации пользователя, объясняя все операции. Затем он на примере готового решения Serenity развернул фреймворк, объяснил его принцип работы и структуру.

В финале Антон поделился практическими советами, как развиваться и стать хорошим автоматизатором, разобрал типичные ошибки новичков.

19736469052_ac500c085e_o

Вот некоторые отзывы слушателей.

Юрий: «Вы делаете правильное и великое дело, проводя такие встречи, на ваших лекциях обговариваются вопросы, на которые так просто в интернете не найдешь ответы, и помогаете людям, которые не знают, что делать и с чего начать, поэтому удачи и процветания!»

Кристина: «Очень толково была изложена теоретическая часть. Хотелось бы больше практической составляющей с возможностью самой что-то попробовать. Надеемся на следующие встречи. Антону — большое спасибо за вдохновение и стимул развиваться».

Все фотографии.

В херсонском офисе говорили об Azure App Service и создавали шаблоны

$
0
0

Андрей Чебукин, преподаватель компьютерной академии «Шаг» и сертифицированный разработчик решений для Windows 8 и Windows Phone, провел мастер-класс на встрече технического сообщества IT talk в Херсоне.

Андрей рассказал об Azure App Service, его новых возможностях и основных составляющих: Web Apps, Mobile Apps, LOGIC Apps, API Apps. Продемонстрировал, как создавать Azure Mobile App, использовать Resource Groups, шаблоны и теги, управлять доступом путем распределения ролей. Сформулировал ключевые возможности: автомасштабирование под нагрузкой, географическое масштабирование, быстрая интеграция со сторонними сервисами, WebJob. Показал, как API Apps и Mobile Apps работают в веб-приложениях и как реализовать синхронизацию с режимом работы без интернета (offline) с помощью Azure Mobile Apps.

19159680079_b95bba6128_k

Кроме того, докладчик говорил о шаблонах проектов и элементах проекта в Visual Studio, о дизайнере Entity Framework и его расширениях, о трансформации Т4. Вместе со слушателями он пошагово создал проект с применением шаблонов, расширением моделей с помощью инструментов фреймворка Entity.

Презентации:
http://www.slideshare.net/ittalk/visual-studio-aspnet-identity
http://www.slideshare.net/ittalk/app-service-50294941

Все фотографии.

Интернет вещей — IoT-платформа за 5 долларов с помощью DeviceHive

$
0
0

Разработчики DataArt сообщили о скором выпуске прошивки для платформы DeviceHive, которая способна превратить Wi-Fi-модем за $ 5 в полностью функциональную и автономную IoT-платформу. Пользователю не нужно перепрограммировать чип, а все его интерфейсы (GPIO, ADC, PWM, I2C, SPI) доступны через облако DeviceCloud.

Wi-Fi-модем в паре с чипом — готовое самостоятельное решение для IoT-платформы, которому не требуется интеграция с дополнительным микроконтроллером. DeviceHive дает доступ ко всем интерфейсам чипа с помощью REST/JSON-запросов, написанных на любом языке программирования.

Чип ESP8266 построен на базе процессора Tensilica Xtensa LX3. Он способен выполнять роль автономного IoT-устройства, которое связывается с облаком DeviceHive по WiFi. С помощью чипа можно строить устройства для «умного дома» — при этом не нужно разбираться с Raspberry PI и Arduino: большая часть задач сводится к тому, чтобы подключить сенсоры и актуаторы по стандартным интерфейсам типа I2C, SPI и UART. Скажем, чтобы вкючать и выключать свет в доме, достаточно простейшего цифрового выхода.

Прошивка DeviceHive для ESP8266 позволит:

  • Управлять чипом с помошью простых команд через RESTful Cloud API:
    • Переключение контактов микроконтроллера (линия ввода/вывода) в положения высокоимпедансное/низкоипедансное.
    • Мониторить данные с ADC.
    • Обращаться к интерфейсам I2C, SPI, UART.
    • Выводить данные через PWM.
  • Получать у сервера результат выполнения команды.
  • Получать поток уведомлений или или требовать уведомления от устройства.

Ниже — пример написанного на JavaScript HTTP-запроса к чипу ESP8266, после того, как его перепрошили для работы с DeviceHive и подключили к Wi-Fi.

functionsetRGB(r, g, b) {
   var xmlhttp = new XMLHttpRequest(); 
   xmlhttp.open('POST', 'http://server.example.com/api/device/device-uuid/command', true);
   xmlhttp.setRequestHeader("Authorization", "Basic " + btoa("user:password"));
   xmlhttp.setRequestHeader("Content-type", "application/json;charset=UTF-8");
   var myjson = {};
   myjson["command"] = gpio/write;
   myjson["parameters"] = {12:r, 13:g, 14:b}; // Set GPIO outputs 12, 13, 14 to RGB values
   xmlhttp.send(JSON.stringify(myjson));
}

Несложно, да?

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

На видео — работа устройства в нашей лаборатории.

Обзор способов и протоколов аутентификации в веб-приложениях

$
0
0

Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.

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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

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

Аутентификация по паролю

Этот метод основывается на том, что пользователь должен предоставить username и password для успешной идентификации и аутентификации в системе. Пара username/password задается пользователем при его регистрации в системе, при этом в качестве username может выступать адрес электронной почты пользователя.

Применительно к веб-приложениям, существует несколько стандартных протоколов для аутентификации по паролю, которые мы рассмотрим ниже.

HTTP authentication

Этот протокол, описанный в стандартах HTTP 1.0/1.1, существует очень давно и до сих пор активно применяется в корпоративной среде. Применительно к веб-сайтам работает следующим образом:

  1. Сервер, при обращении неавторизованного клиента к защищенному ресурсу, отсылает HTTP статус “401 Unauthorized” и добавляет заголовок “WWW-Authenticate” с указанием схемы и параметров аутентификации.
  2. Браузер, при получении такого ответа, автоматически показывает диалог ввода username и password. Пользователь вводит детали своей учетной записи.
  3. Во всех последующих запросах к этому веб-сайту браузер автоматически добавляет HTTP заголовок “Authorization”, в котором передаются данные пользователя для аутентификации сервером.
  4. Сервер аутентифицирует пользователя по данным из этого заголовка. Решение о предоставлении доступа (авторизация) производится отдельно на основании роли пользователя, ACL или других данных учетной записи.

Весь процесс стандартизирован и хорошо поддерживается всеми браузерами и веб-серверами. Существует несколько схем аутентификации, отличающихся по уровню безопасности:

  1. Basic — наиболее простая схема, при которой username и password пользователя передаются в заголовке Authorization в незашифрованном виде (base64-encoded). Однако при использовании HTTPS (HTTP over SSL) протокола, является относительно безопасной.

    Пример HTTP аутентификации с использованием Basic схемы.
  2. Digest — challenge-response-схема, при которой сервер посылает уникальное значение nonce, а браузер передает MD5 хэш пароля пользователя, вычисленный с использованием указанного nonce. Более безопасная альтернативв Basic схемы при незащищенных соединениях, но подвержена man-in-the-middle attacks (с заменой схемы на basic). Кроме того, использование этой схемы не позволяет применить современные хэш-функции для хранения паролей пользователей на сервере.
  3. NTLM (известная как Windows authentication) — также основана на challenge-response подходе, при котором пароль не передается в чистом виде. Эта схема не является стандартом HTTP, но поддерживается большинством браузеров и веб-серверов. Преимущественно используется для аутентификации пользователей Windows Active Directory в веб-приложениях. Уязвима к pass-the-hash-атакам.
  4. Negotiate — еще одна схема из семейства Windows authentication, которая позволяет клиенту выбрать между NTLM и Kerberos аутентификацией. Kerberos — более безопасный протокол, основанный на принципе Single Sign-On. Однако он может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.

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

Forms authentication

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

Работает это по следующему принципу: в веб-приложение включается HTML-форма, в которую пользователь должен ввести свои username/password и отправить их на сервер через HTTP POST для аутентификации. В случае успеха веб-приложение создает session token, который обычно помещается в browser cookies. При последующих веб-запросах session token автоматически передается на сервер и позволяет приложению получить информацию о текущем пользователе для авторизации запроса.


Пример forms authentication.

Приложение может создать session token двумя способами:

  1. Как идентификатор аутентифицированной сессии пользователя, которая хранится в памяти сервера или в базе данных. Сессия должна содержать всю необходимую информацию о пользователе для возможности авторизации его запросов.
  2. Как зашифрованный и/или подписанный объект, содержащий данные о пользователе, а также период действия. Этот подход позволяет реализовать stateless-архитектуру сервера, однако требует механизма обновления сессионного токена по истечении срока действия. Несколько стандартных форматов таких токенов рассматриваются в секции «Аутентификация по токенам».

Необходимо понимать, что перехват session token зачастую дает аналогичный уровень доступа, что и знание username/password. Поэтому все коммуникации между клиентом и сервером в случае forms authentication должны производиться только по защищенному соединению HTTPS.

Другие протоколы аутентификации по паролю

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

Существует всего несколько мест, где можно передать username и password в HTTP запросах:

  1. URL query — считается небезопасным вариантом, т. к. строки URL могут запоминаться браузерами, прокси и веб-серверами.
  2. Request body — безопасный вариант, но он применим только для запросов, содержащих тело сообщения (такие как POST, PUT, PATCH).
  3. HTTP header —оптимальный вариант, при этом могут использоваться и стандартный заголовок Authorization (например, с Basic-схемой), и другие произвольные заголовки.

Распространенные уязвимости и ошибки реализации

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

Ниже представлен список наиболее часто встречающихся уязвимостей в случае использования аутентификации по паролю:

  • Веб-приложение позволяет пользователям создавать простые пароли.
  • Веб-приложение не защищено от возможности перебора паролей (brute-force attacks).
  • Веб-приложение само генерирует и распространяет пароли пользователям, однако не требует смены пароля после первого входа (т.е. текущий пароль где-то записан).
  • Веб-приложение допускает передачу паролей по незащищенному HTTP-соединению либо в строке URL.
  • Веб-приложение не использует безопасные хэш-функции для хранения паролей пользователей.
  • Веб-приложение не предоставляет пользователям возможность изменения пароля либо не нотифицирует пользователей об изменении их паролей.
  • Веб-приложение использует уязвимую функцию восстановления пароля, которую можно использовать для получения несанкционированного доступа к другим учетным записям.
  • Веб-приложение не требует повторной аутентификации пользователя для важных действий: смена пароля, изменения адреса доставки товаров и т. п.
  • Веб-приложение создает session tokens таким образом, что они могут быть подобраны или предсказаны для других пользователей.
  • Веб-приложение допускает передачу session tokens по незащищенному HTTP-соединению, либо в строке URL.
  • Веб-приложение уязвимо для session fixation-атак (т. е. не заменяет session token при переходе анонимной сессии пользователя в аутентифицированную).
  • Веб-приложение не устанавливает флаги HttpOnly и Secure для browser cookies, содержащих session tokens.
  • Веб-приложение не уничтожает сессии пользователя после короткого периода неактивности либо не предоставляет функцию выхода из аутентифицированной сессии.

Аутентификация по сертификатам

Сертификат представляет собой набор атрибутов, идентифицирующих владельца, подписанный certificate authority (CA). CA выступает в роли посредника, который гарантирует подлинность сертификатов (по аналогии с ФМС, выпускающей паспорта). Также сертификат криптографически связан с закрытым ключом, которых хранится у владельца сертификата и позволяет однозначно подтвердить факт владения сертификатом.

На стороне клиента сертификат вместе с закрытым ключом могут храниться в операционной системе, в браузере, в файле, на отдельном физическом устройстве (smart card, USB token). Обычно закрытый ключ дополнительно защищен паролем или PIN-кодом.

В веб-приложениях традиционно используют сертификаты стандарта X.509. Аутентификация с помощью X.509-сертификата происходит в момент соединения с сервером и является частью протокола SSL/TLS. Этот механизм также хорошо поддерживается браузерами, которые позволяют пользователю выбрать и применить сертификат, если веб-сайт допускает такой способ аутентификации.


Использование сертификата для аутентификации.

Во время аутентификации сервер выполняет проверку сертификата на основании следующих правил:

  1. Сертификат должен быть подписан доверенным certification authority (проверка цепочки сертификатов).
  2. Сертификат должен быть действительным на текущую дату (проверка срока действия).
  3. Сертификат не должен быть отозван соответствующим CA (проверка списков исключения).


Пример X.509 сертификата.

После успешной аутентификации веб-приложение может выполнить авторизацию запроса на основании таких данных сертификата, как subject (имя владельца), issuer (эмитент), serial number (серийный номер сертификата) или thumbprint (отпечаток открытого ключа сертификата).

Использование сертификатов для аутентификации — куда более надежный способ, чем аутентификация посредством паролей. Это достигается созданием в процессе аутентификации цифровой подписи, наличие которой доказывает факт применения закрытого ключа в конкретной ситуации (non-repudiation). Однако трудности с распространением и поддержкой сертификатов делает такой способ аутентификации малодоступным в широких кругах.

Аутентификация по одноразовым паролям

Аутентификация по одноразовым паролям обычно применяется дополнительно к аутентификации по паролям для реализации two-factor authentication (2FA). В этой концепции пользователю необходимо предоставить данные двух типов для входа в систему: что-то, что он знает (например, пароль), и что-то, чем он владеет (например, устройство для генерации одноразовых паролей). Наличие двух факторов позволяет в значительной степени увеличить уровень безопасности, что м. б. востребовано для определенных видов веб-приложений.

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

Существуют разные источники для создания одноразовых паролей. Наиболее популярные:

  1. Аппаратные или программные токены, которые могут генерировать одноразовые пароли на основании секретного ключа, введенного в них, и текущего времени. Секретные ключи пользователей, являющиеся фактором владения, также хранятся на сервере, что позволяет выполнить проверку введенных одноразовых паролей. Пример аппаратной реализаций токенов — RSA SecurID; программной — приложение Google Authenticator.
  2. Случайно генерируемые коды, передаваемые пользователю через SMS или другой канал связи. В этой ситуации фактор владения — телефон пользователя (точнее — SIM-карта, привязанная к определенному номеру).
  3. Распечатка или scratch card со списком заранее сформированных одноразовых паролей. Для каждого нового входа в систему требуется ввести новый одноразовый пароль с указанным номером.


Аппаратный токен RSA SecurID генерирует новый код каждые 30 секунд.

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

Аутентификация по ключам доступа

Этот способ чаще всего используется для аутентификации устройств, сервисов или других приложений при обращении к веб-сервисам. Здесь в качестве секрета применяются ключи доступа (access key, API key) — длинные уникальные строки, содержащие произвольный набор символов, по сути заменяющие собой комбинацию username/password.

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

Хороший пример применения аутентификации по ключу — облако Amazon Web Services. Предположим, у пользователя есть веб-приложение, позволяющее загружать и просматривать фотографии, и он хочет использовать сервис Amazon S3 для хранения файлов. В таком случае, пользователь через консоль AWS может создать ключ, имеющий ограниченный доступ к облаку: только чтение/запись его файлов в Amazon S3. Этот ключ в результате можно применить для аутентификации веб-приложения в облаке AWS.


Пример применения аутентификации по ключу.

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

С технической точки зрения, здесь не существует единого протокола: ключи могут передаваться в разных частях HTTP-запроса: URL query, request body или HTTP header. Как и в случае аутентификации по паролю, наиболее оптимальный вариант — использование HTTP header. В некоторых случаях используют HTTP-схему Bearer для передачи токена в заголовке (Authorization: Bearer [token]). Чтобы избежать перехвата ключей, соединение с сервером должно быть обязательно защищено протоколом SSL/TLS.


Пример аутентификации по ключу доступа, переданного в HTTP заголовке.

Кроме того, существуют более сложные схемы аутентификации по ключам для незащищенных соединений. В этом случае, ключ обычно состоит их двух частей: публичной и секретной. Публичная часть используется для идентификации клиента, а секретная часть позволяет сгенерировать подпись. Например, по аналогии с digest authentication схемой, сервер может послать клиенту уникальное значение nonce или timestamp, а клиент — возвратить хэш или HMAC этого значения, вычисленный с использованием секретной части ключа. Это позволяет избежать передачи всего ключа в оригинальном виде и защищает от replay attacks.

Аутентификация по токенам

Такой способ аутентификации чаще всего применяется при построении распределенных систем Single Sign-On (SSO), где одно приложение (service provider или relying party) делегирует функцию аутентификации пользователей другому приложению (identity provider или authentication service). Типичный пример этого способа — вход в приложение через учетную запись в социальных сетях. Здесь социальные сети являются сервисами аутентификации, а приложение доверяет функцию аутентификации пользователей социальным сетям.

Реализация этого способа заключается в том, что identity provider (IP) предоставляет достоверные сведения о пользователе в виде токена, а service provider (SP) приложение использует этот токен для идентификации, аутентификации и авторизации пользователя.
На общем уровне, весь процесс выглядит следующим образом:

  1. Клиент аутентифицируется в identity provider одним из способов, специфичным для него (пароль, ключ доступа, сертификат, Kerberos, итд.).
  2. Клиент просит identity provider предоставить ему токен для конкретного SP-приложения. Identity provider генерирует токен и отправляет его клиенту.
  3. Клиент аутентифицируется в SP-приложении при помощи этого токена.


Пример аутентификации «активного» клиента при помощи токена, переданного посредством Bearer схемы.

Процесс, описанный выше, отражает механизм аутентификации активного клиента, т. е. такого, который может выполнять запрограммированную последовательность действий (например, iOS/Android приложения). Браузер же — пассивный клиент в том смысле, что он только может отображать страницы, запрошенные пользователем. В этом случае аутентификация достигается посредством автоматического перенаправления браузера между веб-приложениями identity provider и service provider.


Пример аутентификации «пассивного» клиента посредством перенаправления запросов.

Существует несколько стандартов, в точности определяющих протокол взаимодействия между клиентами (активными и пассивными) и IP/SP-приложениями и формат поддерживаемых токенов. Среди наиболее популярных стандартов — OAuth, OpenID Connect, SAML, и WS-Federation. Некоторая информация об этих протоколах — ниже в статье.

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

При аутентификации с помощью токена SP-приложение должно выполнить следующие проверки:

  1. Токен был выдан доверенным identity provider приложением (проверка поля issuer).
  2. Токен предназначается текущему SP-приложению (проверка поля audience).
  3. Срок действия токена еще не истек (проверка поля expiration date).
  4. Токен подлинный и не был изменен (проверка подписи).

В случае успешной проверки SP-приложение выполняет авторизацию запроса на основании данных о пользователе, содержащихся в токене.

Форматы токенов

Существует несколько распространенных форматов токенов для веб-приложений:

  1. Simple Web Token (SWT) — наиболее простой формат, представляющий собой набор произвольных пар имя/значение в формате кодирования HTML form. Стандарт определяет несколько зарезервированных имен: Issuer, Audience, ExpiresOn и HMACSHA256. Токен подписывается с помощью симметричного ключа, таким образом оба IP- и SP-приложения должны иметь этот ключ для возможности создания/проверки токена.

    Пример SWT токена (после декодирования).
    Issuer=http://auth.myservice.com&
    Audience=http://myservice.com&
    ExpiresOn=1435937883&
    UserName=John Smith&
    UserRole=Admin&
    HMACSHA256=KOUQRPSpy64rvT2KnYyQKtFFXUIggnesSpE7ADA4o9w
    
  2. JSON Web Token (JWT) — содержит три блока, разделенных точками: заголовок, набор полей (claims) и подпись. Первые два блока представлены в JSON-формате и дополнительно закодированы в формат base64. Набор полей содержит произвольные пары имя/значения, притом стандарт JWT определяет несколько зарезервированных имен (iss, aud, exp и другие). Подпись может генерироваться при помощи и симметричных алгоритмов шифрования, и асимметричных. Кроме того, существует отдельный стандарт, отписывающий формат зашифрованного JWT-токена.

    Пример подписанного JWT токена (после декодирования 1 и 2 блоков).
    { «alg»: «HS256», «typ»: «JWT» }.
    { «iss»: «auth.myservice.com», «aud»: «myservice.com», «exp»: «1435937883», «userName»: «John Smith», «userRole»: «Admin» }.
    S9Zs/8/uEGGTVVtLggFTizCsMtwOJnRhjaQ2BMUQhcY
    


  3. Security Assertion Markup Language (SAML) — определяет токены (SAML assertions) в XML-формате, включающем информацию об эмитенте, о субъекте, необходимые условия для проверки токена, набор дополнительных утверждений (statements) о пользователе. Подпись SAML-токенов осуществляется при помощи ассиметричной криптографии. Кроме того, в отличие от предыдущих форматов, SAML-токены содержат механизм для подтверждения владения токеном, что позволяет предотвратить перехват токенов через man-in-the-middle-атаки при использовании незащищенных соединений.

Стандарт SAML

Стандарт Security Assertion Markup Language (SAML) описывает способы взаимодействия и протоколы между identity provider и service provider для обмена данными аутентификации и авторизации посредством токенов. Изначально версии 1.0 и 1.1 были выпущены в 2002 – 2003 гг., в то время как версия 2.0, значительно расширяющая стандарт и обратно несовместимая, опубликована в 2005 г.

Этот основополагающий стандарт — достаточно сложный и поддерживает много различных сценариев интеграции систем. Основные «строительные блоки» стандарта:

  1. Assertions — собственный формат SAML токенов в XML формате.
  2. Protocols — набор поддерживаемых сообщений между участниками, среди которых — запрос на создание нового токена, получение существующих токенов, выход из системы (logout), управление идентификаторами пользователей, и другие.
  3. Bindings — механизмы передачи сообщений через различные транспортные протоколы. Поддерживаются такие способы, как HTTP Redirect, HTTP POST, HTTP Artifact (ссылка на сообщения), SAML SOAP, SAML URI (адрес получения сообщения) и другие.
  4. Profiles — типичные сценарии использования стандарта, определяющие набор assertions, protocols и bindings необходимых для их реализации, что позволяет достичь лучшей совместимости. Web Browser SSO — один из примеров таких профилей.

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

Рассмотрим краткий пример использования SAML для сценария Single Sign-On. Пользователь хочет получить доступ на защищенный ресурс сервис-провайдера (шаг № 1 на диаграмме аутентификации пассивных клиентов). Т. к. пользователь не был аутентифицирован, SP отправляет его на сайт identity provider’а для создания токена (шаг № 2). Ниже приведен пример ответа SP, где последний использует SAML HTTP Redirect binding для отправки сообщения с запросом токена:

В случае такого запроса, identity provider аутентифицирует пользователя (шаги №3-4), после чего генерирует токен. Ниже приведен пример ответа IP с использованием HTTP POST binding (шаг № 5):

После того как браузер автоматически отправит эту форму на сайт service provider’а (шаг № 6), последний декодирует токен и аутентифицирует пользователя. По результатам успешной авторизации запроса пользователь получает доступ к запрошенному ресурсу (шаг № 7).

Стандарты WS-Trust и WS-Federation

WS-Trust и WS-Federation входят в группу стандартов WS-*, описывающих SOAP/XML-веб сервисы. Эти стандарты разрабатываются группой компаний, куда входят Microsoft, IBM, VeriSign и другие. Наряду с SAML, эти стандарты достаточно сложные, используются преимущественно в корпоративных сценариях.

Стандарт WS-Trust описывает интерфейс сервиса авторизации, именуемого Secure Token Service (STS). Этот сервис работает по протоколу SOAP и поддерживает создание, обновление и аннулирование токенов. При этом стандарт допускает использование токенов различного формата, однако на практике в основном используются SAML-токены.

Стандарт WS-Federation касается механизмов взаимодействия сервисов между компаниями, в частности, протоколов обмена токенов. При этом WS-Federation расширяет функции и интерфейс сервиса STS, описанного в стандарте WS-Trust. Среди прочего, стандарт WS-Federation определяет:

  • Формат и способы обмена метаданными о сервисах.
  • Функцию единого выхода из всех систем (single sign-out).
  • Сервис атрибутов, предоставляющий дополнительную информацию о пользователе.
  • Сервис псевдонимов, позволяющий создавать альтернативные имена пользователей.
  • Поддержку пассивных клиентов (браузеров) посредством перенаправления.

Можно сказать, что WS-Federation позволяет решить те же задачи, что и SAML, однако их подходы и реализация в некоторой степени отличаются.

Стандарты OAuth и OpenID Connect

В отличие от SAML и WS-Federation, стандарт OAuth (Open Authorization) не описывает протокол аутентификации пользователя. Вместо этого он определяет механизм получения доступа одного приложения к другому от имени пользователя. Однако существуют схемы, позволяющие осуществить аутентификацию пользователя на базе этого стандарта (об этом — ниже).

Первая версия стандарта разрабатывалась в 2007 – 2010 гг., а текущая версия 2.0 опубликована в 2012 г. Версия 2.0 значительно расширяет и в то же время упрощает стандарт, но обратно несовместима с версией 1.0. Сейчас OAuth 2.0 очень популярен и используется повсеместно для предоставления делегированного доступа и третье-сторонней аутентификации пользователей.

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

Попросить пользователя указать данные своей учетной записи? — плохой вариант.
Попросить пользователя создать ключ доступа? — возможно, но весьма сложно.

Как раз эту проблему и позволяет решить стандарт OAuth: он описывает, как приложение путешествий (client) может получить доступ к почте пользователя (resource server) с разрешения пользователя (resource owner). В общем виде весь процесс состоит из нескольких шагов:

  1. Пользователь (resource owner) дает разрешение приложению (client) на доступ к определенному ресурсу в виде гранта. Что такое грант, рассмотрим чуть ниже.
  2. Приложение обращается к серверу авторизации и получает токен доступа к ресурсу в обмен на свой грант. В нашем примере сервер авторизации — Google. При вызове приложение дополнительно аутентифицируется при помощи ключа доступа, выданным ему при предварительной регистрации.
  3. Приложение использует этот токен для получения требуемых данных от сервера ресурсов (в нашем случае — сервис Gmail).


Взаимодействие компонентов в стандарте OAuth.

Стандарт описывает четыре вида грантов, которые определяют возможные сценарии применения:

  1. Authorization Code — этот грант пользователь может получить от сервера авторизации после успешной аутентификации и подтверждения согласия на предоставление доступа. Такой способ наиболее часто используется в веб-приложениях. Процесс получения гранта очень похож на механизм аутентификации пассивных клиентов в SAML и WS-Federation.
  2. Implicit — применяется, когда у приложения нет возможности безопасно получить токен от сервера авторизации (например, JavaScript-приложение в браузере). В этом случае грант представляет собой токен, полученный от сервера авторизации, а шаг № 2 исключается из сценария выше.
  3. Resource Owner Password Credentials — грант представляет собой пару username/password пользователя. Может применяться, если приложение является «интерфейсом» для сервера ресурсов (например, приложение — мобильный клиент для Gmail).
  4. Client Credentials — в этом случае нет никакого пользователя, а приложение получает доступ к своим ресурсам при помощи своих ключей доступа (исключается шаг № 1).

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

  1. Зачастую API сервера ресурсов включает операцию, предоставляющую информацию о самом пользователе (например, /me в Facebook API). Приложение может выполнять эту операцию каждый раз после получения токена для идентификации клиента. Такой метод иногда называют псевдо-аутентификацией.
  2. Использовать стандарт OpenID Connect, разработанный как слой учетных данных поверх OAuth (опубликован в 2014 г.). В соответствии с этим стандартом, сервер авторизации предоставляет дополнительный identity token на шаге № 2. Этот токен в формате JWT будет содержать набор определенных полей (claims) с информацией о пользователе.
Стоит заметить, что OpenID Connect, заменивший предыдущие версии стандарта OpenID 1.0 и 2.0, также содержит набор необязательных дополнений для поиска серверов авторизации, динамической регистрации клиентов и управления сессией пользователя.

Заключение

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

Способ
Основное применение
Протоколы
По паролю
Аутентификация пользователей
HTTP, Forms
По сертификатам
Аутентификация пользователей в безопасных приложениях; аутентификация сервисов
SSL/TLS
По одноразовым паролям
Дополнительная аутентификация пользователей (для достижения two-factor authentication)
Forms
По ключам доступа
Аутентификация сервисов и приложений
-
По токенам
Делегированная аутентификация пользователей; делегированная авторизация приложений
SAML, WS-Federation, OAuth, OpenID Connect

Надеюсь, что информация оказалась полезна, и вы сможете применить ее при дизайне и разработке новых приложений. До новых встреч!

IT NonStop в Днепропетровске пройдет 16 августа

$
0
0

Шестой этап конференции IT NonStop пройдет в Днепропетровске через месяц. Мы подготовили семь докладов и еще ждем подтверждения от нескольких интересных докладчиков.

На этот раз конференция IT NonStop собрала спикеров из самых разных сфер и городов. Выступят специалисты из Днепропетровска, Киева и Львова. Мы поговорим о JS и Android, о странных запросах клиентов и микросервисах, проследим за игрой продаж и узнаем о тенденциях развития разработки игр.

Мы уже готовы поделиться программой IT NonStop в Днепропетровске.

10:00 – 10:45

Регистрация, знакомство, утренний кофе

10:45 – 11:00

Открытие ITNonStop Днепропетровск 2015, анонс докладов и программы

11:00 – 11:45

Макс Волошин «Микросервисы на практике»

11:45 – 12:30

Александр Грибанов  «Реактивный JavaScript»

12:30 – 13:15

Слава Мережко «Game of sales»

13:15 – 13:45

Кофе-брейк

13:45 – 14:00

Розыгрыш призов и подарков. Анонс докладов и программы

14:00 – 14:45

Антон Валюх «Использование паттерна MVVM (Model-View-ViewModel) в Android».

14:45 – 15:30

Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»

15:30 – 16:15

Артем Оробец «На пути к low-latency»

16:15 – 16:45

Кофе-брейк

16:45 – 17:00

Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать Azure Web Apps.»

17.00 – 18.00

Розыгрыш призов и подарков. Сюрприз от DataArt. Закрытие конференции ITNonStop Днепропетровск 2015

На IT NonStop в Днепропетровске специалисты разного уровня найдут ценную информацию и вдохновение. А мы обещаем еще и отличную атмосферу, хороший кофе, прохладный зал, возможность развлечься и отдохнуть от рутины. Гостей конференции ожидает множество подарков и приятностей, а вечером — сюрприз!

Подробности о спикерах — на официальнойстраничке конференции — http://it-nonstop.net/city/dnepropetrovsk.

Напоминаем, что участие в IT NonStop бесплатное, но обязательно регистрируйтесь.  http://bit.ly/1O9bAAD

До встречи на IT NonStop в Днепропетровске!
Дата и время: 16 августа 2015 в 10:00
Место: г.Днепропетровск, ул. Шолом-Алейхема, 4/26, КДЦ «Менора», зал «Синай», 4-й этаж.

Студенческая практика завершилась в киевском офисе

$
0
0

23 студента профильных вузов успешно прошли «производственную» практику в Киеве. Три недели специалисты DataArt делились с ними опытом и знаниями на лекциях, писали код, разрабатывали интерфейс мобильного приложения.

Студенты разобрались с работой Microsoft Azure  и других облачных платформ, ознакомились с азами автоматизированного тестирования ПО и разработкой мобильных приложений для iOS и Android, запрограммировали контроллер Kinect на .NET, попробовали себя в роли UX-дизайнера, разработав структуру собственного мобильного приложения, постигли азы Business Intelligence.

19776126111_2eef3b47c9_k

Следующий шаг для некоторых студентов — практикантская программа в DataArt, где во время работы с живыми проектами «падаваны» становятся полноправными коллегами.

Все фотографии.

На питерском IT talk боролись с привязанностью к SVN

$
0
0

Сергей Матвеенко, Senior Python Developer в DataArt, рекомендовал коллегам, как излечиться от патологической привязанности к Subversion. Многие компании, использующие Subversion, привыкли к привычной и понятной системе. А ведь инструментарий и возможности Git — гораздо шире.

Тема перехода с SVN на Git несколько лет назад была очень модной на многих профессиональных конференциях. Сложилось ощущение, что все коммерческие компании и все проекты с открытым исходным кодом просто не могут не использовать Git. Но что делать, если компания до сих пор страдает патологической зависимостью от SVN? Всё работает и, казалось бы, не надо трогать…

Основная мысль выступления Сергея — для перехода с Subversion на Git нужно плавно перестраивать образ мышления, продумать план. Зато потом станет легче работать.

Среди участников были пользователи обеих систем. Многие поделились опытом. Кто-то действительно согласился, что привык и привязан к SVN. Кто-то решил ближе познакомиться с Git, чтобы потом перейти на него.

19145702434_51552012dc_o

Отзывы участников встречи.

Евгений Тодорюк: «Благодаря встрече, я осознал, что являюсь SVN-зависимым! Кроме меня, на встрече присутствовали люди с такой же зависимостью. Мы делились своими проблемами, давали советы по их решению. Мне очень помогла эта встреча, теперь я готов бороться со своей зависимостью!»

Константин Склярской:  «Интересный доклад о методах работы с Git в сравнении с SVN. Это не сделало меня сторонником Git, но я хочу теперь узнать о нем побольше».

Презентация: http://www.slideshare.net/ittalk/subversion-50626333
Фотоотчет: https://www.flickr.com/photos/outsourcing/sets/72157655919913356


DataArt представляет DeviceHive 2.0

$
0
0

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

Масштабируемость облаков

Современная лямбда-архитектура позволяет увеличивать емкость системы, повышать ее пропускную способность и поддерживать больше устройств. Для этого надо просто добавлять дополнительные узлы приложений DeviceHive, шины передачи сообщений (Apache Kafka) и узлов хранилища (Cassandra).

Пакетная обработка данных и обработка данных в реальном времени

Облачная платформа DeviceHive поддерживает Apache Spark и Spark Streaming. Это значит, что поверх данных вашего устройства вы можете запустить пакетную обработку, процессинг событий в реальном времени и машинное обучение.

Microsoft Azure, AWS или OpenStack

Наша платформа может работать и на общедоступных, и на частных облаках. Инструменты для установки и настройки основаны на Juju, поэтому запуск сервера занимает минуты.

IoT-фреймворк для Ubuntu Snappy Core

В сотрудничестве с Canonical/Ubuntu мы превратили встроенный Linux в модульную IoT-платформу, которая позволяет подключать приложения к облаку DeviceHive, а адаптеры — к низкоуровневой аппаратуре и проксимальным сетям. Выбирайте, какие типы устройств хотите соединить через облако, и стройте шлюз с помощью Ubuntu Snappy Core и DeviceHive.

Поддержка Bluetooth Low Energy (BLE или Bluetooth Smart)

Нас впечатлило, как быстро индустрия приняла BLE. Т. ч. мы потратили много времени, чтобы изучить эту технологию и разработать эффективные способы создавать новые решения с сфере IoT с помощью BLE-устройств. BLE стала неотъемлемой частью DeviceHive. Эту технологию поддерживают наши шлюзы в Linux и Android (а поддержка шлюзов в iOS появится в ближайшее время). Это позволяет подключить любое BLE-устройство к облаку без его перепрошивки.

DeviceHive и AllJoyn

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

Постройте «интернет вещей» с DataArt

Работать с DeviceHive легко, но мы можем сделать его для вас еще удобней. При поддержке DataArt, одной из ведущих компаний в сфере IT-консалтинга, вы легко сможете поднять на качественно новый уровень свои решения в сфере IoT и настроить DeviceHive так, чтобы он соответствовал вашим нуждам.

Задавайте нашим специалистам любые вопросы об IoT и DeviceHive: iot@dataart.com.

Глава финансовой практики DataArt UK обнаружил брешь в безопасности визовой системы

$
0
0

Алексей Уткин: «История простая. Мне надо было подать документы на визы в Италию для семьи через VFS Global — систему, которая обслуживает очень много консульств по всему миру. В Англии, например, они делают визы для половины стран Евросоюза. Заполнил анкеты на всех неделю назад, за день до подачи решил их распечатать. Для начала выяснилось, что онлайн-система визовых приложений за это время обновилась, и заполненные анкеты, которые еще «в процессе», при этом не мигрировали. Т. ч мне представилась волшебная возможность заполнить анкеты заново.

Борясь с глюками, заполняю анкету жены, генерируется косой-кривой PDF, на почту приходит номер ее анкеты для возможности дальнейшего доступа. Заполняю анкету сына — в конце процесса генерация его PDF валится, и письмо с номером анкеты не приходит.

При этом на сайте есть кнопка “retrieve unsubmitted visa application”, и туда надо просто ввести ID-номер (тот самый, который приходит на почту, вида SCHEIT1000001). Номера все последовательные. Я решил, что вечер, пользователей немного — буду прибавлять к ID-номеру анкеты жены единицу и найду анкету сына. Но внезапно… начал видеть чужие анкеты! И не только неотправленные, но вообще все — с начала системы. Со всеми личными данными. 

Разумеется, написал им гневное письмо с предложением выпить йаду, всех уволить и посадить, нанять нормального подрядчика типа DataArt. Теперь, чтобы получить доступ к анкете, надо ввести свой адрес электронной почты. Но главная проблема, что я всё сломал, совершенно не пытаясь ничего сломать: ребята  просто зарелизили систему без какой-либо проверки безопасности. Хотя кто-кто, а уж они-то должны печься о безопасности данных больше всего, на всех уровнях — от проектирования и тестирования до независимого секьюрити и аудита защиты данных!»

История заинтересовала крупные британские издания: интервью у коллег взяли The Guardian, The Times, The Sunday Times, The Independent, Daily Mail, Mail on Sunday, Financial Times.

Роман Денисенко, Security Specialist DataArt: «Налицо — классическая ситуация горизонтальной эскалации привилегий, когда данные одного пользователя становятся видны другому посредством манипуляций входными параметрами. Обычно на сервере проходит авторизация пользователя на доступ только к его информации, чтобы он, не дай бог, не получил что-то не свое. В визовой системе, видимо, решили, что пользователи не настолько продвинуты и проверку не реализовали вовсе, считая, что пользователь не будет вмешиваться в поведение клиентской части программы (ручками менять айдишник документа).

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

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

Поздравляем дипломированных специалистов!

$
0
0

В этом году множество коллег защитили дипломы.

Дорогие коллеги!

DataArt развивается благодаря вашему развитию и стремлению к самосовершенствованию. Мы вас очень любим и ценим. Спасибо, что работаете с нами. Поздравляем с завершением важного и сложного этапа.

Воронеж:

Андрей Зонов
Андрей Зонов
Александр Барбашин
Александр Барбашин
Дмитрий Бубельник
Дмитрий Бубельник

Дмитрий Воевудский

Сергей Зиновьев

Алина Манущева

Витольд Мещеряков

Татьяна Перфильева

Анастасия Петровская

Екатерина Рыканова

Евгений Тихонов

Игорь Ходырев

Ксения Шмыкова

Днепр:


Евгений Смияненко

Киев:


Маркус Бринда

Петр Вижевский

Егор Волков

Денис Гайдаш

Вячеслав Дзыба

Карина Жданова

Катерина Лещенко

Владислав Медведев

Виталий Прокопенко

Тарас Томищ

Сергей Чернюк

Львов:


Ярема Дацишин

Юрий Жеков

Виталий Маласняк

Дмитрий Регета

Одесса:


Евгений Петрусь

Жанна Петрусь

Юрий Федоренко

Питер:


Екатерина Бездень

Антонина Задорожная

Алена Егорова

Алексей Леонтьев

Александр Соловьев

Игорь Танфильев

Данил Щодро

Харьков:


Анна Акименко

Алексей Заблоцкий

Денис Мельский

Анна Носова

Андрей Пилипенко

Ярослава Полищук

Владислав Соболь

Алина Труш

Мария Харламб

Наталья Черкашенко

Херсон:


Александр Аташьян

Михаил Бойченко

Анастасия Васильева

Диана Долина

Денис Закуракин

Анастасия Кулик

Юлия Лала

Владислав Лобынцев

Итоги конкурса «В объективе с DataArt»

$
0
0

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

Первое место и фитнес-трекер Xiaomi Mi Band достаются автору самой солнечной фотографии конкурса.

На втором месте с отличным тревел-кейсом в руках (soon) и очень жизнеутверждающей фотографией в instagram расположился ndiveev.

Третье место занимает творческий тандем: instagram-пользователь topolya и скрытный миньон.

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

Спасибо всем, кто нас поздравил и участвовал в конкурсах. Ждем в гости, подписывайтесь на нас в соцсетях и приходите к нам работать!

Usability и регрессионное тестирование обсудили в Одессе

$
0
0

12-я встреча Odessa QA Community прошла в одесском офисе DataArt.

Константин Коваль, Senior QA Engineer в Lohika, сооснователь и активный участник одесского сообщества тестировщиков, поделился своей версией планирования регрессионного тестирования. Предложенный им алгоритм показал себя более формальным и универсальным, чем привычный. Как и все новое, идея Константина вызвала много вопросов. Презентацию можно посмотреть по ссылке.

19753780070_f484cdefaa_k

Эллина Азадова, Senior QA Engineer в DataArt, рассказала, «Что за зверь Usability… и как его протестировать». Говорили в основном о юзабилити сайтов для ПК. Эллина поделилась знаниями о психологии восприятия изображений, цветов и шрифтов, типографских стандартах и принципах юзабилити. Интерактивные слайды, тесты и примеры помогли слушателям почувствовать себя на месте пользователя.

19319171534_2520caff5e_k

Как и всегда сообщество радо видеть новых докладчиков и слушателей, так что смело пишите Константину Ковалю (Skype: kkoval_ ) или Андрею Гаевскому (Skype: begemot1203), если хотите чем-нибудь поделиться с одесскими тестировщиками.

Все фотографии.

Viewing all 1532 articles
Browse latest View live