All streams
Search
Write a publication
Pull to refresh
187
0
DataArt @DataArt

Пользователь

Send message

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

Reading time18 min
Views682K


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

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

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


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

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

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

Войти в IT: «Я писал игры для калькулятора»

Reading time3 min
Views6.3K
Продолжаем рубрику «Войти в IT»! Сегодня у нас в гостях заслуженный ветеран индустрии и просто отличный человек Константин Хаустов, Delivery Manager DataArt. Костя перенесет нас на 30 лет в прошлое и расскажет о том, как путь в IT начинался для него.



Мой «вход» в IT случился задолго до того, как я услышал слово “IT”. Даже слово «компьютер» тогда использовалось редко. Обычно говорили «ЭВМ» или просто «машина». Это вполне соответвтвовало внешнему виду – шкаф размером с большой холодильник, в котором вставлены какие-то платы соединённые кабелями, огромные дисководы, блоки питания и вентиляторы. Всё это мигало лампочками и тарахтело, как трактор.

В нашей школе было две таких «машины», назывались «Электроника-60». Как я позже выяснил, это был советский клон компьютера DEC PDP-11, того самого, на котором когда-то появилась операционная система Unix. Но тогда, в 1985 году, было всё равно, что это за компьютеры. Иметь хоть какие-то компьютеры в школе было запредельно круто и необычно. Настолько необычно, что никто толком не понимал, что с ними делать. Информатики как школьного предмета не было, даже калькуляторы в школе только-только появились. У нас всё держалось на директоре-энтузиасте, который сам увлёкся этим хардом и софтом и отправил заинтересовавшихся учителей математики на курсы. Учителя сразу же открыли кружки, чтобы передавать знания детям, пока не забыли. Это был скорее испорченный телефон, чем обучение, но нам давали самое главное — доступ к компьютерам.
Читать дальше →

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

Reading time9 min
Views26K


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

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


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

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

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

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

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

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

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

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

Как победить Excluded Constraints с помощью RubyGem

Reading time3 min
Views4.8K


Во время разработки iOS/OSX-приложений непременно приходится использовать Interface Builder и Auto Layout. В приложениях со сложными интерфейсом и в приложениях, находящихся в разработке достаточно давно, часто появляется проблема с большим количеством «исключенных констрейнов». Storyboard грузится необоснованно долго, а во время перехода между сценами можно успеть сходить за кофе.

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

Это значит, что в остальных ситуациях эти constraints не используются. У Xcode Interface Builder есть особенность, которая помогает при разработке сложных интерфейсов и мешает при разработке простых. Если добавить constraint к какому-то UIView и затем удалить его из Xcode Inspector (а чаще всего это — самый удобный путь), Xcode не удалит его, а лишь сложит в список неиспользуемых на случай, если понадобится для другого дисплея или ориентации.

Иногда, если развернуть все группы constraints, можно ужаснуться происходящему в storyboard-файле:


Не хотите наблюдать подобное? Добро пожаловать под кат!
Читать дальше →

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

Reading time1 min
Views3.4K


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

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

Войти в IT: Завалить олимпиаду и стать программистом

Reading time2 min
Views8.9K
Продолжая рубрику «Как войти в IT», мы спросили наших бывших практикантов, нынешних Senior Developer, об их пути в IT и DataArt. Сегодня своей историей поделится Ярослав Воронцов, iOS-гуру и преподаватель одного из технических факультетов.



До должности Senior Software Engineer меня довела чреда в каком-то роде закономерных случайностей. Начиналось всё вполне безобидно: будучи десятиклассником, завалил районную олимпиаду по информатике, после чего решил доказать себе, что я хороший программист…
Читать дальше →

Видео с очередной встречи PUG: Phalcon и Zephir

Reading time1 min
Views3.9K


Привет, Хабр!

Сегодня хотим поделиться видео с пятой встречи днепропетровской PHP User Group. Александр Трищенко и Иван Стеценко рассказывали про Phalcon и Zephir. Информацию о спикерах и докладах можно найти под видео.


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

Обзор time tracking tools для платформы Salesforce

Reading time7 min
Views2.5K


Salesforce CRM — наиболее комплексное отраслевое решение в области управления взаимоотношениями с клиентами (CRM). Оно сочетает управление продажами с маркетингом и обслуживанием клиентов, позволяет качественно управлять каждой сделкой и отношениями со всеми потенциальными и существующими клиентами.

Лучший способ найти желаемое — посмотреть готовые приложения на https://appexchange.salesforce.com. Для установки приложения с AppExchange достаточно проделать несколько несложных операций:

  1. Log in to AppExchange https://appexchange.salesforce.com (Another way: click Setup —> AppExchange Marketplace in your org).
  2. Find the App.
  3. Press the button "Get It Now".
  4. Press "Install in production" or "Install in sandbox" button depending on the installation location.
  5. Confirm your agreement to terms of agreements.
  6. Check Package Installation Details.
  7. Approve Package API Access.
  8. Choose security level.
  9. Install Package (press button "Install").

Enjoy!

Мы опробовали три приложения с AppExchange. Далее — результаты по каждому.
Читать дальше →

DevOps tools от Microsoft

Reading time5 min
Views18K
Вступление

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

Что такое DevOps?

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



Методология DevOps довольно молодая — появилась в 2007 г. и развилась в сообществе IT-профессионалов, что обусловило ее практическую направленность.

Когда и как используют DevOps?

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


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



Для ускорения взаимодействия команд Development и Operations используют средства автоматизации. Мы можем автоматизировать:
  • Управление релизами.
  • Мониторинг установленных приложений и доставку команде разработчиков отзывов о работе установленного приложения.


Далее будут описаны средства автоматизации, предлагаемые Microsoft.
Читать дальше →

Когда стоит привлекать бизнес-аналитика в проект

Reading time3 min
Views5.7K


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

Однако очень часто в проекте нет выделенного бизнес-аналитика, и его обязанностями частично занимаются менеджер проекта или QA-менеджер. Такое совмещение иногда может навредить.

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

Конечно, такие проблемы возникают не во всех проектах, где нет выделенных бизнес-аналитиков. И в каждом случае нужно принимать во внимание множество факторов. Мы решили понять, какие индикаторы могут подсказать, что надо задуматься о привлечении бизнес-аналитика. Для этого сотрудники центра компетенции по бизнеc-анализу DataArt провели опрос ключевых менеджеров компании и получили наиболее распространенные признаки.
Читать дальше →

Приложения для «умных часов» — три простых важных момента

Reading time3 min
Views3.1K


Об авторе: Игорь Кожуренко — эксперт в индустрии ПО уже 17 лет. Последние четыре года возглавляет разработку программных экосистем для носимых гаджетов, сейчас — вице-президент DataArt.

Старт продаж Apple Watch ознаменовал сильно возросший интерес к «носимым устройствам», в частности, к «умным часам». Только представьте: по данным Juniper Research, к 2018 г. в активном пользовании будут находиться более 70 млн носимых фитнес-устройств! Для сравнения, в 2014м г. цифра не превышала 19 млн. Кроме того, Business Insider прогнозирует рост доли «умных часов» среди всего количества поставляемой «носимой электроники» до 59 % в 2015 г. и увеличит оную до 70 % к 2019.

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

IoT за копейки, или Что может DeviceHive

Reading time4 min
Views45K
В современном мире «интернет вещей» (IoT) стремительно набирает популярность. Он в будущем поможет человечеству автоматизировать многие аспекты жизни, упростить рутинные операции, да и просто сделать жизнь комфортнее и приятнее. Современная элементная база только способствует этому. Еще несколько лет назад задача управления устройством из сети порождала необходимость использовать высокопроизводительные процессоры, что увеличивало стоимость конечного исполнительного устройства в разы. Сейчас же есть возможность построить простые и эффективные IoT-решения за копейки.

Сделать свой дом поистине «умным» можно и без использования модных Raspberry Pi или Arduino. Большинство IoT-задач сводится к подключению типовых датчиков и исполнительных механизмов со стандартными интерфейсами: I2C, SPI, UART. А иногда даже с элементарным аналоговым выводом, с которого нужно считать наличие напряжения или подать его, или просто замкнуть.


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

Компоненты, React и Flux обсудили на IT talk

Reading time1 min
Views3.3K
Тема 30-й встречи петербургского технического сообщества IT talk «Компоненты, React и Flux» оказалась настолько актуальной, что мест в зале не хватило. Выступал Даня Абрамов, который сейчас занимается опенсорсом и консалтингом по проектам, написанным на React.js.

React — относительно новый фронтенд-фреймворк, продукт компании Facebook. Но Даня говорил, скорее, не про React, а про его парадигму, которая существенно меняет подход к UI-приложениям. Он отметил, что сейчас самые интересные инновации в UI-приложениях происходят именно в вебе.



P.S. Извините за качество записи и проблемы со звуком. Решили, однако, что контент стоит того, чтобы поделиться.

Бизнес-аналитики в Agile — зачем, почему, как

Reading time7 min
Views30K
Зачем вообще нужны бизнес аналитики

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


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

Google I/O 2015 глазами непрограммиста

Reading time4 min
Views10K
Елена Федорова, HRM-директор воронежского офиса DataArt и координатор сообщества Google Developer Group Voronezh побывала на конференции Google I/O 2015 в Сан-Франциско и делится впечатлениями — не с точки зрения разработчика, а c позиции обычного пользователя.



Google I/O — крупнейшая в мире конференция для разработчиков, программистов, любителей и поклонников технологий Google. Проходит ежегодно уже восемь лет, длится два дня. На этот раз на нее съехались более 6000 участников. Попасть на Google I/O может любой желающий. Для этого надо успеть купить билет за $900 — а заканчиваются они очень быстро. Еще одна возможность попасть на конференцию — быть крутым Android-разработчиком или помогать продвигать технологии Google. Я поехала в Сан-Франциско как координатор и организатор Google Developer Group Voronezh. Мы с 2008 года проводим мероприятия на тему технологий Google. Например, в декабре 2014 г. у нас прошел GDG DevFest Voronezh, в котором участвовали 300 человек — по меркам Воронежа очень большая конференция.

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

9 инструментов тестирования юзабилити

Reading time8 min
Views22K

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

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

  • Эффективность (выполнения задач пользователем).
  • Результативность (по времени выполнения).
  • Удовлетворение (опытом пользования) в указанном контексте использования (пользователи, задачи, оснащение и окружения).

Рассмотрим инструменты для измерения юзабилити. Мы использовали три основных критерия оценки:
Читать дальше →

DataArt.EDU, или 240 000 часов учебы без университетов

Reading time4 min
Views7.2K


«Жизнь проходит мимо, пока я тут сижу в проекте», — мысль, которая иногда посещает многих профессионалов. «Как бы синхронизировать всю кучу знаний, которая концентрируется у разных коллег?» — думает компания. Примерно такие мысли крутились умных в головах в DataArt четыре года назад, когда мы начали обучающую инициативу DataArt.EDU, которая так и называется до сих пор.

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

Сегодня DataArt. EDU — разветвленная структура, в которую входят сразу несколько направлений: от корпоративного английского, семинаров, РМ-курсов до курсов для самостоятельного обучения. Не сразу начали отдельно учитывать, сколько же мы учимся, но даже уже учтенных часов — более 240 тыс.!

Ниже для примера — некоторые программы, входящие в DataArt. EDU.
Читать дальше →

Банкатон в Германии — как мы получили приз «за эмоции»

Reading time4 min
Views3.5K


Привет, ГТ!

Меня зовут Илья Аристов, я — РМ в DataArt. Расскажу, как мы съездили на Банкатон-2015 во Франкфурт.

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

Кодинг начинался в понедельник с утра и заканчивался во вторник вечером, а в воскресенье прошла официальная часть, представление команд, рассказ о регламенте. За бутылкой немецкого официального напитка мы начали раздумывать, чтобы такое реализовать за отведенное время. Благо компания у нас большая — недавно открыли офис в Мюнхене и смогли привезти немецкого коллегу. После продолжительного брейншторма решили делать то, что интересует самих немцев (спасибо за идею коллеге!), а именно — простой механизм пожертвований проверенным организациям.
Читать дальше →

Войти в IT: Junior 2 Senior

Reading time3 min
Views10K
Привет. Меня зовут Иван Крючков. Вкратце расскажу, как попал в DataArt и как там все складывалось.

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

Миграция данных Salesforce с помощью Pentaho Data Integration

Reading time8 min
Views15K
Привет, Хабр.

Меня зовут Илья Гребцов, я работаю Java/JS Developer в DataArt. Хочу поделиться кое-чем полезным с теми, кто работает с Salesforce.

В Salesforce часто возникает задача массово создать/изменить/удалить группу связанных записей в нескольких объектах, аналогах таблиц в реляционной базе данных. Например, часто используемые стандартные объекты Account (информация о компании клиента), Contact (информация о самом клиенте). Проблема в том, что при сохранении записи Contact необходимо указать Id связанной записи Account, т. е. аккаунт должен существовать на момент добавления записи контакта.

В реальности связи могут быть еще сложнее, например, объект Opportunity ссылается и на Account, и на Contact. Плюс возможны ссылки на какие-либо нестандартные (custom) объекты. В любом случае, запись по ссылке должна быть создана раньше записи, на нее ссылающуюся.

Рассмотрим варианты решения этой проблемы:
Читать дальше →

Information

Rating
Does not participate
Location
США
Date of birth
Registered
Activity