Как стать автором
Обновить

Компания FUNCORP временно не ведёт блог на Хабре

Сначала показывать

Образ современного тестировщика. Что нужно знать и уметь

Время на прочтение20 мин
Количество просмотров159K


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

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

Возросшие требования к тестировщикам, их знаниям и квалификации, так как всё чаще решаются задачи чуть сложнее, чем «клик-клик — и в продакшен». Работа тестировщиков становится всё более «инженерной», требует технической подкованности, специфических знаний, навыков и компетенций. Тестировщики всё чаще становится QA-инженерами (кто в теме, тот понимает разницу).

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

Поэтому сегодня всё реже можно полагаться исключительно на морально-волевые качества для входа в IT в свете возросших аппетитов рынка и обилия конференций, курсов, тренингов, литературы, статей и прочих информационных источников, которые находятся на расстоянии вытянутой руки начинающих специалистов.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии33

Баннерная реклама в iOS-приложении

Время на прочтение12 мин
Количество просмотров6.2K


Сегодня мы открываем цикл статей о том, о чём обычно не говорят на технических конференциях и митапах. Этот и последующие посты расскажут, как устроен механизм монетизации в популярном в США развлекательном iOS-приложении iFunny, разработкой которого мы занимаемся.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Нестыдные вопросы про жизненный цикл

Время на прочтение8 мин
Количество просмотров16K


Каждый разработчик сталкивался с вопросами про жизненный цикл Activity: что такое bind-сервис, как сохранить состояние интерфейса при повороте экрана и чем Fragment отличается от Activity.
У нас в FunCorp накопился список вопросов на похожие темы, но с определёнными нюансами. Некоторыми из них я и хочу с вами поделиться.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии8

Kotlin: копаем глубже. Конструкторы и инициализаторы

Время на прочтение12 мин
Количество просмотров27K


В уже далёком мае 2017 года Google объявила о том, что Kotlin стал официальным языком для разработки под Android. Кто-то тогда впервые услышал название этого языка, кто-то на нём уже продолжительное время писал, но с того момента стало понятно, что все, кто близок к Android-разработке, теперь просто обязаны познакомиться с ним. Далее последовали как восторженные отклики «Наконец-то!», так и жуткое негодование «Зачем нам нам новый язык? Чем Java не угодила?» и т.д. и т.п.

С тех пор прошло достаточно времени, и хоть споры о том, хороший Kotlin или плохой, до сих пор не утихли, всё больше кода под Android пишется именно на нём. И даже вполне консервативные разработчики тоже переходят на него. Кроме того, в сети можно наткнуться на информацию, что скорость разработки после освоения этого языка увеличивается на 30% по сравнению с Java.

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

И вот на этой волне мне пришла в голову идея подробно разобрать отдельные элементы молодого, но популярного языка. Обратить внимание на сложные моменты и сравнить их с Java для наглядности и лучшего понимания. Разобраться в вопросе несколько глубже, чем это можно сделать, прочитав документацию. Если эта статья вызовет интерес, то, скорее всего, она положит начало целому циклу статей. А пока начну с довольно базовых вещей, которые, тем не менее, скрывают массу подводных камней. Поговорим о конструкторах и инициализаторах в Kotlin.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

Обзор конференции Atlassian

Время на прочтение5 мин
Количество просмотров2.9K


Это обзор конференции Atlas Camp, которая проходила с 5 по 8 сентября в Барселоне. Организовала её компания Atlassian, чтобы рассказать о нововведениях в своих продуктах и для непосредственного общения разработчиков Atlassian с посетителями. Докладчики говорили о грядущих изменениях в своём API, о том, как будет развиваться их маркетплейс, об изменениях в интерфейсе и best practices в разработке. Кроме того, в программе конференции были выступления представителей компаний, разрабатывающих наиболее успешные и важные плагины.

Так как довольно большая часть моих задач по автоматизации связана с продуктами Atlassian (на данный момент это Confluence и Jira, а раньше приходилось иметь дело с Crucible, Fisheye, Bitbucket), то мне было интересно, какие нововведения появятся в ближайшее время в их API. К тому же мне хотелось послушать про интересные плагины и узнать больше про разработку собственных. Под катом подробный отчёт о том, что в итоге я увидел и узнал, а также прочие важные организационные моменты.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

Видео докладов с Deerploy DevOps MeetUp

Время на прочтение1 мин
Количество просмотров4K


29 сентября мы провели Deerploy DevOps MeetUp, а сегодня публикуем видео выступлений.

«Доставляем в Kubernetes. Непрерывно и по-своему», Евгений Дехтярёв, 2ГИС


Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Обзор конференции droidcon Vienna

Время на прочтение7 мин
Количество просмотров1.1K


В середине сентября двое наших Android-разработчиков отправились в Вену на droidcon. Вернувшись, они поделились своими впечатлениями. Подробности под катом.

Внимание: под катом много фоток!
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Видео докладов с CocoaHeads @ FunCorp митапа

Время на прочтение1 мин
Количество просмотров4.7K


25-го августа мы (FunCorp) совместно c CocoaHeads провели iOS митап. А сегодня для тех, кто не смог посетить мероприятие и посмотреть трансляцию, выкладываем записи докладов.
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Deerploy DevOps MeetUp

Время на прочтение2 мин
Количество просмотров2.6K

Мы продолжаем серию технических митапов. Следующий на очереди — Deerploy DevOps MeetUp, на котором выступят специалисты от 2ГИС, Mail.ru Group, Altinity, Мамбы, Positive Technologies и, конечно, же FunCorp. Программа под катом.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии0

Иконка со счётчиком в верхнем тулбаре: пример разнообразия подходов к одной задаче

Время на прочтение13 мин
Количество просмотров8.4K

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

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

Так и случилось со мной, когда возникла необходимость добавить в верхнюю панель иконку со счётчиком. Я был очень удивлён, когда выяснилось, что для реализации такого привычного и востребованного элемента UI нет простого решения. Но так бывает, к сожалению. И я решил обратиться к знаниям всемирной сети. Вопрос размещения иконки со счётчиком в верхнем тулбаре, как выяснилось, волновал довольно многих. Проведя на просторах интернета некоторое время, я нашёл массу разных решений. В целом все они рабочие и имеют право на жизнь. Более того, результат моего исследования наглядно показывает, как по-разному можно подойти к решению задач в Android.

В этой статье я расскажу о нескольких реализациях иконки со счётчиком. Здесь представлено 4 примера. Если мыслить чуть шире, то речь пойдёт о практически любом кастомном элементе, который мы хотим разместить в верхнем тулбаре. Итак, начнём.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии7

Тренды дизайна в 2018: прогноз и реальность

Время на прочтение11 мин
Количество просмотров34K


Примечание переводчика: эту замечательную статью не перевели для Хабра ни в начале года, ни позднее. При том что она действительно полезная и заслуживает внимания. Поэтому, несмотря на то, что почти ⅔ 18-го года уже прожиты, я всё-таки решилась на перевод. Заодно сравнила прогнозы с реальностью, о чём оставила комментарии по тексту.

Внимание: под катом много тяжёлых гифок и красоты!
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии20

«Поясняем за чёлку» в Android P. Что делать с Android Cutout?

Время на прочтение5 мин
Количество просмотров19K
Горел сентябрь 2007 года. Шёл сентябрь 2017 года, Apple вернули моду на чёлку, представив iPhone X. Неудивительно, что наши друзья из Китая, недолго думая, скопировали этот дизайн у Apple (хотя самая первая мини-чёлка была ещё в Essential Phone, который не взлетел). Но что мы видим сейчас? Huawei P20, Asus Zenfone 5, OnePlus 6, Motorola One Power, Xiaomi Redmi 6 и другие более-менее известные производители уже выпускают или анонсировали телефоны с чёлкой. Samsung и Google остались последними оплотами в этой гонке за хайпом борьбе за безрамочность. Или нет? По слухам, Google Pixel 3 XL тоже будет с этой хренью с изящным вырезом. Что ж, нам, как разработчикам, остаётся только оптимизировать свои приложения под этот вырез, чтобы пользователи смогли продолжать комфортно ими пользоваться. За подробностями прошу под кат.


Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии18

Организация безопасного тестирования в продакшене. Часть 2

Время на прочтение12 мин
Количество просмотров12K


В этой части статьи мы продолжим рассматривать различные виды тестирования в продакшене. Те, кто пропустил первую часть, могут прочитать её здесь. Остальным — добро пожаловать под кат.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

CocoaHeads в FunCorp

Время на прочтение2 мин
Количество просмотров1.6K

У нас отличная новость! 25-го августа совместно с сообществом CocoaHeads мы проведём iOS митап (наш первый митап в Москве).

Программа


Сергей Турсунов, VK.com

«Swift Method Dispatch»


  • Типы диспатча Direct / Witness / Table / Message и почему это фундаментальная часть ООП
  • Какие типы применяются к value types, reference type и extension
  • Как меняются типы диспатча с помощью модификаторов final / dynamic / inline / objc / nonobjc в классах
  • Влияние WMO на диспатч и почему это хороший помощник при разработке
  • Как самостоятельно проверить, какие типы диспатча создаются для компилируемых файлов (SIL) и немного о процессе компиляции в Swift.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Организация безопасного тестирования в продакшене. Часть 1

Время на прочтение28 мин
Количество просмотров20K


В этой статье рассматриваются различные виды тестирования в продакшене и условия, при которых каждый из них наиболее полезен, а также рассказывается о способах организации безопасного тестирования различных сервисов в продакшене.
Всего голосов 26: ↑25 и ↓1+24
Комментарии1

Улучшаем загрузку контента без котиков

Время на прочтение8 мин
Количество просмотров5.1K


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

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

В этой статье я расскажу про то, как выглядит префетчинг в iFunny сейчас и о том, как автоматизировали процесс исследования для дальнейшего тюнинга его настроек.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии0

Что нового в ARKit 2.0

Время на прочтение4 мин
Количество просмотров7.8K

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



В первой версии ARKit была возможность отслеживать перемещение телефона в пространстве, определять количество и теплоту света вокруг, а также получать информацию о горизонтальных плоскостях. В ARKit 1.5, который вышел вместе с iOS 11.3, улучшили качество изображения, добавили определение вертикальных плоскостей, распознавание статичных 2D-изображений и автофокус. Давайте посмотрим, что добавили в версии 2.0.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Анимированные переходы в мобильных приложениях

Время на прочтение4 мин
Количество просмотров14K

Изображение: Ramotion

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

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

Осторожно: под катом много тяжёлых гифок.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии26

Адаптивные лимиты параллельных подключений в Netflix

Время на прочтение5 мин
Количество просмотров4.7K


Компания Netflix одержима вопросом доступности сервисов. Мы уже не раз рассматривали его в нашем блоге и рассказывали, как нам удаётся достичь своих целей. Мы используем circuit breakers, лимиты параллельных подключений, тестирование с помощью намеренного внедрения ошибок (chaos testing) и многое другое. Сегодня мы представляем вам ещё один инновационный подход, который существенно повышает стабильность приложения при экстремальных нагрузках и позволяет избежать каскадных сбоев в работе сервисов — адаптивные лимиты параллельных подключений. Больше не нужно тратить силы, чтобы определить лимиты параллельных подключений, позволяющие системе поддерживать небольшое время отклика. В рамках этого анонса мы также выкладываем в открытый доступ простую Java-библиотеку с возможностями интеграции для сервлетов, управляющих программ и gRPC.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Как мы разрисовали Habr

Время на прочтение1 мин
Количество просмотров15K
Несколько дней назад Хабру исполнилось 12 лет. В честь этого нам в FunCorp захотелось сделать что-то особенное. Мы немного подумали и решили подарить Хабру — Habr.


Всего голосов 82: ↑74 и ↓8+66
Комментарии36
Изменить настройки темы