Pull to refresh
0
0
mono @mono

User

Send message

Тестирование мобильных приложений на Flutter с использованием Python + Appium

Reading time5 min
Views4.3K

Тестирование нативных мобильных приложений для Android и iOS обычно обеспечивается библиотеками UiAutomator2 и XCUITest, но сейчас, в связи с появлением мобильных приложений, разработанных с использованием Flutter Framework, использовать их для тестирования становится затруднительно, поскольку семантическая информация, публикуемая Flutter, в большинстве случаев недостаточна для однозначной идентификации виджетов и взаимодействия с ними. В этой статье мы рассмотрим возможности драйвера appium-flutter-driver для тестирования flutter-приложений, разберемся с использованием виджетов описания семантики и разработаем несложные тесты на Python с использованием Appium.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments0

Тестирование Flutter-приложений c помощью Appium

Level of difficultyMedium
Reading time15 min
Views3.6K

Рассмотрим создание тестов для Flutter-приложения на Python с помощью Appium.

Настроим окружение, создадим проект и покроем тестами небольшое демо-приложение.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments1

Как на самом деле Async/Await работают в C#. Часть 1. Проблемы модели асинхронного программирования (APM)

Level of difficultyHard
Reading time13 min
Views17K

Это перевод первой главы из поста How Async/Await Really Works in C#

Этот пост .Net блога является продолжением исходного поста, глубоко погружающим в историю, приведшую к созданию конструкций async/await и стоящие за этим дизайнерские решения и детали реализации async/await в C# и .NET.

Исходный пост What is .NET, and why should you choose it? предоставляет обзор платформы на высоком-уровне, перечисляя различные компоненты и решения на уровне дизайна, и предваряя последующие посты в глубину обозначенных тем.

Ссылки в развитие темы:

1. Часть 2 Артефакты от EAP шаблона, SynchronizationContext

2. Уроки по асинхронному программированию из первой половины работы

3. Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext)

4. Async/Await из C#. Головоломка для разработчиков компилятора и для нас

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments12

Простой, но масштабируемый State Management для Flutter

Level of difficultyMedium
Reading time4 min
Views3.8K

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

Чувствуете ли вы легкое покалывание при виде OnRefreshPostsButtonClickedHomeScreenEvent? Возможно, вы используете bloc.

Нет? А сейчас -firstNameUserProfileStateProvider ? Ага, riverpod.

Все еще нет? Тогда, может: Succeeded after 104.6s with 364 outputs (2412 actions)? Все ясно - MobX

"Нужен ли нам еще один State Management", или как я написал библиотеку, с которой снова начал любить Flutter.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments23

Как подружить Elementary и BLoC

Reading time6 min
Views4.1K

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

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

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments1

Как я писал клиент PeerJS(WebRTC) под Android

Reading time13 min
Views14K
Недавно пришлось писать клиентское приложение на Android для сервера, который организовал видеосвязь между пользователями с помощью библиотеки PeerJS. Эта библиотека является надстройкой над WebRTC, ну или что-то типо того.

Подошел к делу с энтузиазмом, так как до этого ничего такого сложного не делал.
Естественно, первым шагом был поиск библиотек, проектов, которые реализуют такой функционал.
Нашел sample WebRTC, но потом обнаружил проект, который попроще все это реализовывал.
Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments4

Masking Bitmaps на Android

Reading time12 min
Views20K


Введение


При разработке под Android довольно часто возникает задача наложить маску на изображение. Чаще всего требуется закруглить углы у фотографий или сделать изображение полностью круглым. Но иногда применяются маски и более сложной формы.

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

Я предполагаю, что читатель имеет опыт в разработке под Android и знаком с классами Canvas, Drawable и Bitmap.

Код, используемый в статье, можно найти на GitHub.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments7

Пишем MVP приложение на Kotlin под Android

Reading time19 min
Views108K


Разработка приложений на Kotlin под Android набирает популярность среди разработчиков, однако статей в русскоязычном сегменте Интернета довольно мало. Я решил немного подправить ситуацию, и написать туториал по разработке приложения на Kotlin. Мы напишем полноценное приложение с использованием всех трендовых библиотек (кроме RxJava) в мире Android-разработки. В конце у нас должно получиться расширяемое и легко тестируемое приложение (сами тесты мы писать не будем).
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments24

Видео лучших докладов Java-конференции JPoint 2015 — Часть 2

Reading time4 min
Views21K


Как многие из вас знают, в конце апреля в Москве JUG.ru проведет четвертую по счету конференцию JPoint. Любителей окунуться в океан Java-технологий ждут два увлекательных дня с морем общения и кучей докладов. Месяц назад я начал рассказывать о лучших докладах прошлогодней JPoint. Сегодня пришло время второй части.

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

Top 5 докладов JPoint 2015
Total votes 21: ↑20 and ↓1+19
Comments18

Встраиваем бэкдор в публичный ключ RSA

Reading time4 min
Views111K

Привет, %username%!
Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
Читать дальше →
Total votes 135: ↑125 and ↓10+115
Comments75

Но зачем? Интервью с автором рисунка про троллейбус из буханки хлеба

Reading time6 min
Views50K
«Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?» Вряд ли кто-то из завсегдатаев Хабрахабра и Гиктаймс ни разу не видел этой забавной картинки — она часто появляется в комментариях к статьям о самоделках, изобретениях «британских учёных» и вообще любых проектах, которые появились на свет не потому что были кому-то нужны, а потому что были кому-то интересны.

Сегодня у нас в гостях автор этой и многих других не менее интересных картинок — Борис Могилин, более известный в сети под ником Borya_Spec. Борис — не профессиональный художник, и не собирается им становиться. Его манера рисования родом из детства, из советских комиксов про Мурзилку. Его рисунки нравятся не только взрослым, но и детям, хотя в их сюжетах детского совсем мало, даже если их герои — забавные зверушки или Карлсон.

image
Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments13

Собираем за один вечер Virtual Reality шлем своими руками, с HD изображением и трекингом головы

Reading time25 min
Views602K
Практически не осталось уже людей, которые бы не слышали о виртуальной реальности, и, наверное все уже слышали о VR-шлеме Oculus Rift, который можно сказать стал стандартом для подобного рода устройств. Так же на рынке есть решения, позволяющие использовать экран смартфона диагональю 4-5" в качестве экрана VR-очков, такие как Durovis Dive или нашумевший Google Cardboard, которые снизили планку демократичности вхождения в виртуальную реальность можно сказать уже для всех, но, тем не менее, пока что эта технология не стала повсеместной: не у всех есть смартфон с нужной диагональю, чтобы воспользоваться тем же картонным проектом гугла, покупать пусть не дорогое, но стоящее денег устройство типа Durovis Dive без какого либо понимания, что с ним конкретно делать дальше, а тем более заказывать и ждать сам шлем Oculus Rift простому обывателю довольно проблематично по многим причинам — начиная от цены за устройство, что делать с которым пока не совсем понятно и заканчивая довольно длительным ожиданием доставки заказа. Естественно, самым главным тормозом, помимо цены, является обычная лень и потухшая любознательность.

В этой статье я расскажу вам о своем пути к виртуальной реальности, опишу детальное и практически исчерпывающее руководство по изготовлению VR-шлема с использованием любого относительно современного андроид-смартфона или планшета любой диагонали, этот проект обойдется примерно в 5-8 часов работы и в 500-2000 рублей затрат, в зависимости от ваших пожеланий и возможностей, а на выходе вы получите очень интересное устройство, которое позволит вам смотреть fullHD 3D фильмы и фотографии, играть в андроид-игры а также использовать шлем для игр в ваши любимые PC-игры любой степени современности. Да, с трекингом головы и погружением в VR.

Поэтому, если вами не овладевает лень и вы любознательны, прошу под кат, но предупреждаю, статья наполнена тремя десятками «potato quality» изображений, общим весом на 4 мегабайта.
Читать дальше →
Total votes 114: ↑112 and ↓2+110
Comments66

Что делать, если звук слишком тихий, и как уберечь уши от слишком громкого

Reading time7 min
Views24K
Привет, Geektimes! Что делать, если вы купили себе отличные дорогие наушники, а «справляется» с ними только звуковая карта вашего компьютера? Смартфон — еле-еле слышен, ноутбук — чуть лучше, но, опять же, не в силах раскачать нормальные «уши».



Правильно, надо применить усилитель сигнала. О портативном усилителе (который скрывает в себе ещё несколько интересных функций), а также о здоровье ушей в целом сегодня и поговорим.
Читать дальше →
Total votes 41: ↑27 and ↓14+13
Comments8

Подсчет себестоимости часа разработки программного обеспечения

Reading time4 min
Views148K
Сегодня я расскажу о больной теме как для покупателей программного обеспечения, так и для провайдера этой услуги – себестоимости разработки. Понятно, что сейчас не самое лучшее время для того, чтобы разбрасываться бюджетами. Только это не значит, что производители должны работать себе в убыток. Многие говорят о жадности предпринимателей, но я вам вот что скажу: нет ничего постыдного в том, чтобы делать честный бизнес и адекватно считать свои косты.

image
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments79

Знаешь ли ты JAVA, %username%?

Reading time11 min
Views148K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

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

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

Читать дальше →
Total votes 136: ↑124 and ↓12+112
Comments85

Фрактальное пламя — алгоритм построения

Reading time4 min
Views25K


Фрактальное пламя (или фрактальные искры, англ. fractal flame) – алгоритм, предложенный Скоттом Дрейвсом (Scott Draves) и использующий для построения изображений системы итерируемых функций (СИФ). Благодаря разным значениям seed для генератора псевдослучайных чисел можно получить множество разнообразных «картин». Хотя фрактальность в них просматривается далеко не всегда, результаты получаются очень интересными.

Под катом – краткое описание основных моментов реализации алгоритма.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments16

«Выход из тела» на несколько дней при помощи Oculus Rift

Reading time4 min
Views63K


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


Чуть больше ста лет назад американский психолог Джордж Стрэттон задумался над вопросом: насколько жесткий алгоритм человеческого зрения в мозге, а именно, насколько мозг привязан к ориентации изображения, попадающего на сетчатку (как мы знаем, на сетчатку изображение попадает в перевернутом виде)? В результате своего любопытства он построил оптическое устройство с зеркалами, надевающееся на голову, которое переворачивает изображение вверх ногами (иногда его называет «инвертоскоп»).

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

Моя идея


Получив первый Development Kit очков Oculus Rift, я подумал: а что, если сделать аналогичный эксперимент, только еще больше исказить реальность человека?
(осторожно, трафик)
Читать дальше →
Total votes 116: ↑114 and ↓2+112
Comments108

Визуализация «В Контакте»: Скажи мне, кто твой друг?

Reading time2 min
Views145K
Привет, Хабралюди!

У меня есть хобби. Я ночами (в нерабочее время) пишу библиотеку укладки графов: vivagraph.js. Хотел поделиться с вами, узнать что думаете. Визуализировал я сеть друзей своих на «В Контакте» с использованием WebGL. Но лучше один раз увидеть, чем читать, верно?



Это мои друзья. Каждая точка — человек, целый мир, с которым так или иначе мне повезло встретиться. Линия между точками обозначает дружбу. По этой сети можно, правда, сказать многое о человеке.

Как построить свою сеть?
Total votes 314: ↑302 and ↓12+290
Comments256

Как я нашел работу в Сан Франциско

Reading time5 min
Views51K
Все, что я здесь пишу — это мой личный опыт и наблюдения. За то время, что я искал работу, столкнулся с тем, что в интернете очень много, мягко говоря, противоречивой информации по данной теме. Все люди очень разные, ситуации у всех очень разные — то, что сработало со мной, не сработает с вами, и наоборот. Поэтому мой текст нужно воспринимать не как инструкцию, а как просто одну из историй о том, как можно найти работу в Сан Франциско.

Кроме того, важно иметь в виду, что описаный в статье опыт актуален на момент написания (сентябрь 2014 года). Экономическая ситуация меняется, иммиграционное законодательство тоже (по крайней мере, в теории), это все тоже нужно учитывать.
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments54
1
23 ...

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity