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

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

Send message

Dagger 2. Лечим зависимости по методике Google

Reading time11 min
Views38K

Автор: Константин Марс
Senior Developer @ DataArt,
Co-Organizer @ GDG Dnipro


Dependency Injection



Что, зачем и когда это нужно


Сегодня мы поговорим об инструменте, который помогает улучшить качество разработки для Android. Решить эту задачу можно с помощью Dependency Injection (DI). Обычно этот термин ассоциируется с инъекциями, шприцами и немножко с «зависимостями». На самом деле, Dependency Injection — паттерн проектирования, обеспечивающий реализацию принципа инверсии зависимостей и реализующий правила создания объектов и независимость реализаций.
Итак, у нас есть класс, у класса есть конструктор, и есть несколько членов класса. Когда вы создаете сущность этого класса, вам необходимо обеспечить класс инстансами тех самых типов, которые объявлены для его членов класса. В данном случае, это имя машины и тип двигателя Engine. Вы будете использовать ссылки на объекты, соответственно, ссылки внутри вашего класса не будут пустовать.
Таким образом, вы реализуете ОOП и можете создавать объекты.
Читать дальше →

Xamarin Forms в действии. Medchest Assistant

Reading time6 min
Views12K

Автор: Константин Марс

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

Мы долго колебались с выбором платформы между популярной и престижной iOS и модным, современным и приятным в разработке Android. Поэтому я предложил использовать Xamarin, который, между прочим, использует C# как основной язык разработки (и это главный язык, на котором в повседневной жизни пишет организатор нашей команды Арсений). Таким образом мы подошли к началу путешествия в мир кроссплатформенной разработки с Xamarin.
Читать дальше →

P2P в браузере

Reading time10 min
Views22K

Автор: Александр Трищенко


Я расскажу о своем хобби — организации видеотрансляций в браузере по технологии WebRTC (Web Real-Time Communication — веб-коммуникация в режиме реального времени). Этот проект с открытым исходным кодом Google активно развивает с 2012 г., а первый стабильный релиз появился в 2013 г. Сейчас WebRTC уже хорошо поддерживается самыми распространенными современными браузерами, за исключением Safari.

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

Если мы используем WebRTC, мы решаем следующие проблемы:

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

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

Робот на трех осях

Reading time5 min
Views10K

Автор: Николай Хабаров

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

Первый робот-станок



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


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

Побеждаем злой вулкан с Rails и RGeo​

Reading time3 min
Views5.3K

Автор: Сергей Зиновьев

Многие мобильные и веб-приложения включают в себя разные географические данные, ведь мы сталкиваемся с картами практически везде. Так, они используются в разных социальных приложениях — от геосоциальных сетей вроде Foursquare до сервисов по поиску попутчиков вроде BlaBlaCar. Google, Microsoft, Yahoo и многие другие IT-гиганты предоставляют свой API для простых операций: отображение карт, маркеров на этих картах и проведение наиболее востребованных вычислений. Популярный фреймворк для быстрой разработки Ruby on Rails часто используется для разработки геоинформационных систем (ГИС) и веб-приложений с использованием картографических данных. На простом примере продемонстирую, какие проблемы могут ждать при использовании пространственных данных и как их избежать в Ruby on Rails-приложении.

Как не встретиться со злым вулканом



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

Дэниэл предлагает нам рассмотреть следующую гипотетическую ситуацию. Представьте самолет, которому нужно совершить рейс из Сан-Франциско в Афины во время очередного извержения ТогоСамогоВулканаКоторыйНевозможноПроизнести в Исландии. Задача летчика — спланировать маршрут так, чтобы пролететь на безопасном расстоянии от вулкана. Также ему нужно знать длину маршрута, чтобы заправить самолет достаточным количеством топлива. Чтобы верно все рассчитать, командир воздушного судна делает запрос в центр организации воздушного движения.
Читать дальше →

Анастасия Режепп: «Индустрия стала меньше думать о красивых кнопках»

Reading time8 min
Views4K


Продолжаем серию интервью с лидерами индустриальных практик и направлений DataArt. На этот раз мы поговорили с главой дизайн-студии DataArt Анастасией Режепп. Узнали, что нового в UX, почему стало больше шрифтов и обсудили интерфейсы будущего.

— Со стороны кажется, что в индустрии стали все больше думать о UX, и меньше — о красивых кнопках. Насколько это соответствует истине?

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

Почему так произошло — хороший вопрос. Мне кажется, что интересующиеся люди (а среди наших клиентов много интересующихся всем в индустрии) поняли, что UX — это важно, когда вокруг стало появляться все больше статей, видео, в которых популярно объясняется, как какую-нибудь новую функцию не просто внедрили, а протестировали, например. Вот недавно фейсбук сделал новые лайки. Так об этом не написал только ленивый: статьи в Wired, Techсrunch и так далее. А сама команда написала пространный текст, как они год — год, Карл! — работали над этими лайками: изучали пользовательское поведение в разных странах, эмоции, собирали статистику, тестировали. Все эти вещи просто на слуху.
Читать дальше →

Was geht ab? – DataArt на THack Berlin 2016

Reading time7 min
Views2.1K

Автор: Андрей Беляев


“Was gent ab?” — письмо c таким заголовком упало на рассылку travel-практики DataArt 18 января. В этом году в Берлине ведущие портала tnooz.com опять собирали хакатон, и мы вновь решили поехать. Причин было две:
  1. Интересный опыт. Хотелось посмотреть, какие еще идеи приходят в голову коллегам из других компаний.
  2. 9 марта начиналась 50-я — юбилейная — выставка ITB в том же Берлине и наше участие или, тем более (ну вдруг!) победа, могли принести неплохие дивиденты при разговорах с будущими клиентами.

В прошлом году команда DataArt участвовала впервые и совершенно неожиданно получила первый приз tnooz для больших команд. На этот раз мы уже примерно представляли, что нас ожидает. С технической стороны были готовы на 150 %: два разработчика, которые участвовали в хакатоне в 2015 году, Дима и Ярослав, были готовы ехать опять. Дениса Цыплакова, который организовывал всю поездку в прошлый раз, заменил я. Возникла только одна проблема: не было идейного вдохновителя. Все генераторы идей, включая Романа Пескина, были по уши заняты текущими делами и не могли быть в Берлине в марте. Кроме того, в анонсе ограничились ограничились общими фразами о теме хакатона:
Tnooz, the leading source of news and analysis about travel tech, brings together developers and the travel industry to invent mobile applications for the airline passenger and in-destination experiences during the weekend hackathon.
Читать дальше →

Microservices. Как правильно делать и когда применять?

Reading time19 min
Views76K



Автор: Вячеслав Михайлов



Монолитные приложения и их проблемы



Все прекрасно знают, что такое монолитное приложение: все мы делали такие двух- или трехслойные приложения с классической архитектурой:





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





Так или иначе, по мере роста и развития приложения, вы сталкиваетесь с проблемами монолитных архитектур:



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


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


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

Модули расширения Python на Rust

Reading time9 min
Views17K


“Absolute statements are the root of all evil.
The key is balance. There are no answers, only questions.”
????


Автор статьи: zolkko.
Оптимизации

Когда говорят про оптимизацию в контексте ПО, часто подразумевают оптимизацию производительности программиста и/или оптимизацию самого ПО.

Исходя из YAGNI-принципа, Python позволяет программисту сосредоточиться на реализации ПО, избавив его от необходимости заботиться о низкоуровневых вещах: регионах памяти, в которых выделяются объекты, освобождении памяти, соглашениях о вызовах.

На обратную проблему в одной из его лекций о Haskell указал Саймон Джонс. У него был слайд со стрелкой, закрашенной градиентом. В начале было написано “no types”, посередине — “Haskell”, в конце — “Coq”. Указав на Coq, он сказал: “This stresses power over usability. Right?! You need a PhD here!”[1]. Несмотря на то, что это была шутка, мантра Python — одна из любимых программистами особенностей этого языка. По моему опыту, это то, что позволяет выпускать готовый продукт несколько быстрее.
Читать дальше →

Ловим усталость с помощью AndroidWear

Reading time4 min
Views4.6K


Это небольшая история про один из экспериментов нашей компетенции Wearables.
Мы провели его больше года тому назад, поэтому код изрядно устарел, да и AndroidWear-приложением сегодня уже никого не удивишь, однако задумка была очень интересной, и поработать над ней было здорово. За что огромное спасибо авторам идеи: Арсению Печенкину и VP of Engineering Роману Чернышеву, благодаря которым стартовал этот R&D.

Посмотреть код можно на GitHub. А вот небольшая презентация.


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

Дополняем реальность: обзорный материал

Reading time6 min
Views6.3K

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

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

Подходы к проектированию RESTful API

Reading time17 min
Views155K

Автор: Вячеслав Михайлов, Solutions Architect.

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

Часть 1. Теория


Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

Почему хороший API — это важно?

  • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
  • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
  • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
  • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
  • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.


Теперь посмотрим, какие бывают виды API.

Виды API по способу реализации:
  • Web service APIs
    • XML-RPC and JSON-RPC
    • SOAP
    • REST

  • WebSockets APIs
  • Library-based APIs
    • Java Script

  • Class-based APIs
    • C# API
    • Java



Виды API по категориям применения:

  • OS function and routines
    • Access to file system
    • Access to user interface

  • Object remoting APIs
    • CORBA
    • .Net remoting

  • Hardware APIs
    • Video acceleration (OpenCL…)
    • Hard disk drives
    • PCI bus



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

Дети обсудили недетские вопросы дизайна

Reading time2 min
Views4.7K


Дизайн-студия DataArt провела мастер-класс по дизайну интерфейсов для детей коллег. Каждый дизайнер знает, как важно в работе мыслить с позиции конечного пользователя, но как подготовить мастер-класс для компании детей от 6 до 15 лет?

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

Ежедневные релизы — это не так уж страшно

Reading time7 min
Views34K


Меня зовут Оксана Харчук, я работаю QA-инженером в DataArt чуть больше года. Расскажу, как в нашем проекте организован процесс работы, и как быть, если релиз каждый день.

Сначала, когда я только пришла в DataArt, слово «релиз» ассоциировалось у меня с чем-то страшным. Но, как оказалось, если процесс работы построен правильно, релизы даже каждый день — совсем не страшно, а очень даже удобно.Чтобы этого достичь, процесс разработки в нашем проекте построен на принципах непрерывной поставки (continuous delivery) и непрерывной интеграции (continuous integration).

Что такое Continuous delivery и Сontinuous integration?


Continuous delivery или непрерывная поставка ПО — набор практик и принципов, нацеленных на сборку, тестирование и поставку ПО быстрее и чаще. Непрерывная поставка качественного кода опирается, в свою очередь, на непрерывную интеграцию.

Сontinuous integration, или непрерывная интеграция — это практика разработки ПО, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Ведь ясно: если над разными частями кода работают несколько программистов, при интеграции этих частей возникает много трудностей. Непрерывная интеграция помогает справиться с ними.
Читать дальше →

Дмитрий Штилерман: «IT-департаменты в банках не готовы быстро реагировать на изменения»

Reading time10 min
Views3.2K


Один из лидеров финансовой практики DataArt Дмитрий Штилерман рассказывает, как современные IT-технологии привели к революционным изменениям на мировых финансовых рынках, и как компания помогает клиентам адаптироваться к этим изменениям.

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

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

Скажем, мы делаем проект для компании BondWave. Компания эта хочет сделать лучший на свете продукт для людей, которые торгуют облигациями или, шире, так называемыми fixed income инструментами. Fixed income — часть рынков капитала, в которой существует больше всего различных инструментов, характеризуемых большим количеством важных для трейдера параметров, для анализа которых нужна достаточно сложная математика. Поэтому клиенты с нашей помощью пытаются найти совершенно новые способы представлять информацию об этой «вселенной инструментов» пользователю, который занимается аналитикой или разработкой торговой стратегии — и это большая работа в области визуализации данных.

Но DataArt работает не только с FinTech. До настоящего времени мы в основном работали с сегментом компаний, которые предоставляют financial services. Этот сегмент, в свою очередь, — только часть мира финансов в целом. Поэтому то, о чем я буду дальше говорить, — шире «финтека», но уже мира финансов вообще.

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

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

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

Reading time8 min
Views7.6K

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

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

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

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

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

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


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

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

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

Reading time7 min
Views8.9K

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

Введение

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

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

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

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

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

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

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

Reading time3 min
Views7.5K

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

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

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

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

Reading time12 min
Views9.1K


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

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

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

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

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

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

Reading time4 min
Views24K


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

Введение

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

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

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

Information

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