Рубрика «Блог компании FunCorp» - 6

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

Знакомство с драйверами Appium (или как выбрать нужный) - 1

Appium — это кроссплатформенный инструмент, который позволяет автоматизировать тестирование мобильных (iOS и Android) и десктопных приложений одновременно. Способ реализации этой мультиплатформенной модели заключается в использовании различных драйверов. По сути, Appium имеет примерно ту же архитектуру, что и Selenium WebDriver, который также использует ряд независимых драйверов для поддержки кроссбраузерной автоматизации тестирования.
Читать полностью »

Всю неделю мы проверяли ответы, оценивали архитектуру, продуктовую часть, технику выполнения задания. Выбирать оказалось сложно, потому что все решения были интересными и хорошо проработанными. После жарких дискуссий составили шорт-лист из 14 вариантов. В конце нам даже пришлось поиграть в CS:GO и Dota 2, чтобы набить реальных данных и посмотреть, как будут работать приложения.

Итоги FunCode iOS challenge: называем имена победителей - 1
Читать полностью »

Значения null, при бездумном их использовании, могут сделать вашу жизнь невыносимой и вы, возможно, даже не понимаете, что именно в них причиняет такую боль. Позвольте мне объяснить.

«Нулевой» ад и как из него выбраться - 1

Читать полностью »

Анонимные функции в PHP: сеанс чёрной магии с разоблачением - 1

Начать, наверное, следует с того, что анонимная функция(замыкание) в PHP — это не функция, а объект класса Closure. Собственно, на этом статью можно было бы и закончить, но если кому-то интересны подробности — добро пожаловать под кат.

Читать полностью »

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере - 1

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

В JVM-мире всё немного сложнее. Есть огромное количество фреймворков и библиотек, блокирующих потоки при использовании. Так и сама stdlib может делать то же самое порой. Да и в Java нет аналогичного механизма, похожего на горутины в Golang.

Тем не менее, JVM активно развивается и появляются новые интересные возможности. Есть Kotlin с корутинами, которые по своему использованию очень похожи на горутины из Golang (хоть и реализованы совершенно по-другому). Есть JEP Loom, который в будущем привнесёт fibers в JVM. Один из самых популярных веб-фреймворков — Spring — не так давно добавил возможность создавать полностью неблокирующие сервисы на Webflux. А с недавним релизом Spring boot 2.2 интеграция с Kotlin стала ещё лучше.

Предлагаю на примере небольшого сервиса по переводу денег с одной карты на другую самим написать приложение на Spring boot 2.2 и Kotlin для интеграции с несколькими внешними сервисами.

Читать полностью »

После длительного перерыва я продолжу рассказывать о популярном фреймворке Flutter в формате «вопрос — ответ». Первую статью для Android-разработчиков вы можете найти здесь, а сегодня будет полезный материал для разработчиков под iOS.

Если у вас мало времени для самостоятельного и глубокого изучения документации, но вы хотите понять, чем хорош Flutter и как его использовать, загляните под кат.

[По докам] Flutter. Часть 2. Для iOS разработчиков - 1

Flutter. Часть 1. Для Android-разработчиков
Flutter. Часть 2. Для iOS-разработчиков
Flutter. Часть 3. Для React-Native-разработчиков
Flutter. Часть 4. Для Web-разработчиков
Flutter. Часть 5. Для Xamarin.Forms-разработчиков
Читать полностью »

От веба до приложения за один DeepLink - 1

Android-приложения являются отражением сайта или сервиса и зачастую представляют собой сходный функционал в удобной оболочке. Из-за этого становится насущным вопрос навигации между страничкой в вебе и установленным клиентом. Для решения этой проблемы были изобретены диплинки (deeplink). Под катом вас ждёт увлекательная история о том, как мы внедряли их у себя и обрабатывали случай, когда у пользователя ещё не было установлено наше приложение.
Читать полностью »

Вместо предисловия

Vue используется во всех проектах FunCorp. Мы внимательно следим за развитием фреймворка, постоянно улучшаем процесс разработки и внедряем лучшие практики. И, конечно же, мы не могли пройти мимо и не перевести статью Филиппа Раковски, сооснователя VueStorefront, про новые фичи Vue 3, серьёзно влияющие на написание кода.

image
В прошлый раз мы рассматривали фичи, которые влияют на производительность Vue 3. Нам уже известно, что приложения, написанные на новой версии фреймворка, работают очень быстро, но производительность — не самое важное изменение. Для большинства разработчиков намного важнее то, как Vue 3 повлияет на стиль написания кода. Читать полностью »

image

29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, нежели в Ops, но я постараюсь быть как можно объективнее.

DevOops входит в число мероприятий, которые проводит JUG Ru Group. И нужно признать, организация и уровень докладов были на уровне. Конференция длилась два дня, в три потока. Помимо этого, были дискуссионные зоны для общения со спикерами, мастер-классы, а также lightning talks — более лёгкие и короткие доклады, в том числе для тех, кто ранее не выступал и хочет попробовать себя в качестве спикера.

Тематическая канва DevOops 2019 — cloud native. Бо́льшая часть докладов была прямо или косвенно посвящена облакам. Тема давно уже не новая, однако есть множество неочевидных сложностей, которые возникают в процессе использования облачных технологий. И многие пришли специально, чтобы найти ответы. Это было особенно заметно на QA-сессиях после докладов. Спикерам задавали практические вопросы, которые действительно волнуют людей. Почти на каждый вопрос следовали реплики других участников «У нас такая же проблема!» и начиналась оживлённая дискуссия.
Читать полностью »

В конце октября наши Android-разработчики Антон Потапов FlashLight13 и  Дмитрий Васильев smartdev посетили Droidcon London и сегодня делятся с уважаемыми хабравчанами своими впечатлениями.

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

Droidcon London 2019: новые тенденции и самые интересные доклады - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js