Анимации переходов между представлениями (view transition) были доступны с самой первой версии фреймворка SwiftUI. Фреймворк позволяет указать определенную анимацию перехода, которая будет применяться всякий раз, когда представление удаляется или добавляется в иерархию представлений. С недавних пор фреймворк SwiftUI предлагает нам еще один тип анимаций перехода — анимации переходов для содержимого (content transition). Суть та же, что и раньше. Фреймворк теперь позволяет нам указывать определенную анимацию перехода для содержимого представления, которая будет проигрываться всякий раз, когда оно изменяется. В этой статье разберемся, как использовать новый API для анимирования переходов содержимого в SwiftUI.
Ваше первое знакомство с BI-as-code
Сегодня я хочу представить вашему вниманию такую вещь, как BI-as-code, разобрав на примере нашего нового решения Lightdash CLI несколько базовых рабочих моментов. В этом руководстве собран передовой опыт работы с кодом для бизнес-аналитики.
API Тестирование без Postman
Современные приложения и сервисы в большинстве своем состоят из фронтона и бэкенда. Когда мы говорим о тестировании бэкенда, в основном речь идет о тестировании с помощью API запросов и ответов. А для этого желательно иметь под рукой необходимые инструменты. Полагаю что одним из лучших и самых популярных инструментов тестирования API является Postman. А есть ли альтернатива?
Сегодня мы рассмотрим одну из лучших альтернатив этому популярному инструменту. Особенно она понравится тем, кто работает с Postman постоянно.
Разработка мобильных приложений на Go
Язык программирования Go стал настоящим открытием для разработчиков инструментов для системного администрирования и DevOps благодаря комбинации возможностей низкоуровневой разработки (и в этом он подобен C) и поддержке автоматической сборки мусора, исключению прямой работы с указателями, наличию конкуретной многозадачности (goroutines) и возможности компиляции непосредственно в исполняемый образ. Постепенно Go начал использоваться для других целей: создание веб-приложений, разработка для микроконтроллеров. Почему бы не использовать все его возможности для создания мобильных приложений? В статье мы обсудим некоторые подходы к разработке приложений на Go для мобильных устройств.
Как упаковывать и дистрибутировать модели машинного обучения с помощью MLFlow
MLFlow - это инструмент для управления всеми стадиями жизненного цикла модели машинного обучения. Более того, в статье рассматриваются вопросы инсталляции и настройки службы MLFlow, а также приводятся примеры создания и совместного использования проектов с помощью MLFlow.
На каждом этапе разработки жизненного цикла ML-модели одним из основных видов деятельности является сотрудничество. Прохождение пути ML-модели от концепции до внедрения (деплоя) требует участия и взаимодействия различных функций, вовлеченных в создание модели. Кроме того, природа разработки ML-модели включает в себя проведение экспериментов, отслеживание артефактов и метрик, версий модели и т.д., что требует эффективной организации для корректной поддержки жизненного цикла ML-модели.
К счастью, существуют инструменты для разработки и обеспечения жизненного цикла модели, такие как MLflow. В этой статье мы расскажем о MLflow, его основных компонентах и характеристиках. А также приведем примеры, показывающие, как MLflow работает на практике.
Эволюция управления доступом объяснена с помощью Python
ОС CTSS (Compatible Time-Sharing System) Массачусетского технологического института была разработана в 1961 году для обеспечения независимого доступа нескольких пользователей к большому компьютеру. Вскоре разработчики обнаружили, что существует огромная потребность в предоставлении друг другу общего доступа к программам и данным. Это способствовало возникновению первых разговоров о компьютерной безопасности и привело к тому, что защита стала основной целью разработки ОС Multics. Спустя годы после выпуска Multics, Зальтцер (Saltzer) и Шредер (Schroeder) опубликовали книгу "Защита информации в компьютерных системах", в которой были учтены уроки, полученные при ее разработке и реальном использовании. Их работа является одной из самых цитируемых в истории работ по безопасности и первой, где были использованы многие термины, которые мы употребляем сегодня, включая понятие "Наименьшая привилегия".
Как выразительно отвечать на вопросы на английском языке и звучать убедительно
В наше время коротких текстовых и голосовых сообщений бывает сложно дать развернутый ответ о своих предпочтениях в выборе инструментов и техник на собеседовании с HR- специалистом или при обсуждении вопросов специфики проекта с потенциальным работодателем. Часто краткие ответы не подходят в данной ситуации и ведут к еще большему потоку вопросов со стороны собеседника. Как же быть в таком случае?
Предлагаю обратиться к аутентичным источникам и посмотреть, как это делают носители языка. Прочитав отрывок из интервью с Полом Айришем (Paul Irish) каналу Treehouse, который на момент съемки занимал должность разработчика в Google Chrome, мы можем найти фрагменты ответа, указывающие:
С какими багами приходится сталкиваться Game QA?
Выбор лучшего движка для игры, без сомнения, является сложной задачей для разработчиков, но QA часто бывает сложнее подготовиться к тестированию любого диапазона движков, которые им выдаются. Они должны учитывать все особенности каждого движка и беспрепятственно применять различные типы игрового тестирования, чтобы тщательно проверить его.
React hooks, как не выстрелить себе в ноги. Часть 4
Использование ref в функциональных компонентах играет две роли:
1. С помощью них можно получить ссылку на dom элементы и react компоненты
2. ref можно использовать как стабильные переменные.
В этой статье сосредоточимся на первой роли, разберем, как с помощью ref
получить доступ к dom элементам и компонентам react, включая такие какие способы как createRef
, useRef
и ref callback
. Обсудим для чего нужны forwardRef
и useImperativeHandle
, и как с их помощью получить ссылку на функциональные компоненты, спойлер: нельзя так просто получить ссылку на функциональный компонент с помощью ref
. А уже в следующей статье обсудим роль ref в качестве стабильной переменной, и как это облегчит нам жизнь при использовании useEffect
, useMemo
, useCallback
.
Сертифицированный тестировщик. Часть 1
Многие IT специалисты, особенно те, которые только находятся в начале карьерного пути, часто задаются вопросом: “А какие сертификаты котируются / ценятся при устройстве на работу?”. Этот вопрос можно переформулировать так: “Какую бумажку мне надо получить, чтобы взяли на работу без собеседования или не задавали сложные технические вопросы?”. К сожалению, за 10 лет опыта работы в IT я так и не нашел такую волшебную грамоту, которая могла бы удовлетворить и тех, кто собеседует меня, и тех, кого собеседую я. Однако, это не значит, что все они бесполезны. В цикле “Сертифицированный тестировщик” я хочу разобрать, какие сертификаты и экзамены бывают в мире обеспечения качества, а также поделиться своим опытом их сдачи, и что из этого мне пригодилось. Первая часть будет включать только общий обзор различных типов сертификатов и выводы о мотивации их получения без привязки к тестированию. В следующих же частях мы рассмотрим конкретные примеры сертификатов, которые могут быть полезны и интересны тестировщикам.
Экспресс-курс по моделированию бизнес-компетенций
В последние годы в кругах корпоративной и бизнес архитектуры все громче звучит идея моделирования бизнес-компетенций (business capabilities). О планировании на основе бизнес-компетенций написано много материалов, но очень немногие руководители корпораций используют эту концепцию на практике. Хорошие примеры трудно найти даже в интернете. Парадигма бизнес-компетенций - чрезвычайно мощный инструмент, когда он на вооружении у реального бизнеса. Но эти знания почему-то до сих пор воспринимаются как сокровище сокрытое в “башне из слоновой кости” (ivory tower) для архитекторов. Чтобы изменить эту ситуацию, Architectural Thinking Framework предоставляет вам план с подробными руководствами, которые шаг за шагом показывают, как моделировать бизнес-компетенции.
Сегодня мы рады поделиться с вами серией из трех постов, которая представляет из себя экспресс-курс по моделированию бизнес-компетенций. Она заключает в себе десятилетний опыт проб и ошибок в нескольких компаниях, проверенный многими передовыми практиками.
Исключения в лямбда-выражениях Java
Java Stream API плохо работает с проверяемыми исключениями. В этой статье рассмотрим, что делать в таких ситуациях.
Топ-15 инструментов с открытым исходным кодом для нагрузочного тестирования в 2022
Тестирование — неотъемлемая составляющая разработки программного обеспечения. Независимо от того, насколько хорошо вы пишете код или насколько тщательно продуманным может быть первоначальный процесс тестирования, всегда есть вероятность, что что-то может ускользнуть.
Вот почему нагрузочное тестирование так важно. Кроме коммерческих инструментов, также доступны варианты с открытым исходным кодом.
Как я учил английский язык на всякий случай и вдруг переехал в Берлин
В этой статье хочу поделиться своей историей изучения английского, и как мне это помогло в будущей карьере. Возможно это будет вам полезно, а может кому-то поможет усилить мотивацию к изучению.
Для начала дам немного контекста, чтобы вы поняли мой предыдущий бэкграунд. Я работаю в IT на позициях QA Lead / SDET в зарубежных компаниях уже более 7 лет. Как и большинство из нас изучал язык еще в школе, но делал это крайне неохотно, давалось через силу. Скажу кое-что страшное для лингвистов: транскрипцию я так и не запомнил. Но в целом на 4 из 5 баллов в обычной ГОУ СОШ вытягивал. Все шло гладко и после поступления в технический институт. Первые два года английский был насыщенный, но спрашивали не строго. Была возможность изучать язык в растяжку для зачета, опять же без сильного рвения. Начиная с третьего курса мир перевернулся.
Наш вуз подписал партнерское соглашение с IELTS, и тогда мы в обязательном порядке должны были его сдать к концу четвертого курса хотя бы на 4.5 балла (из 9). Для тех кто не в курсе: IELTS – это один из двух самых популярных экзаменов для поступления в зарубежные вузы наравне с TOEFL. Кажется, что 4.5 балла из 9 это не так уж и много, но когда я впервые погрузился в секции reading и listening, то понял, что дела плохи, ведь IELTS прежде всего заточен, прежде всего, на академический английский, где приходится читать тексты и писать эссе не про “курочку Рябу”, а про глобализацию, сельское хозяйство, астрономию и прочее. Тогда было довольно страшно, а сейчас я благодарен своему вузу (привет, МИСиС) за такую инициативу. Ведь хочешь не хочешь, а надо было получить зачет. Пришлось основательно погрузиться в язык, качественно делать домашнюю работу, регулярно учить новые слова на незнакомые темы. Помимо трех занятий в неделю в вузе, я еще посещал курсы английского в школе BKC.
Будущее рекрутинга — это люди и технологии
Работодатели долгое время полагались на традиционные методы поиска высококвалифицированных специалистов, но в последние годы благодаря развитию технологий в сфере подбора персонала произошла революция. Сейчас компании осуществляют инвестиции в автоматизированные системы, которые прочесывают интернет в поисках кандидатов, отвечающих их конкретным критериям.
Это может показаться слишком безучастным и равнодушным способом заполнения вакансий, и это правда, что человеческий фактор незаменим, когда речь идет о привлечении талантливых кадров. Однако лучшие компании понимают, что для поиска подходящего кандидата требуется нечто большее, чем просто резюме.
Они используют сочетание технологий и личного общения, чтобы найти наилучшего кандидата на открытые вакансии. Такой подход может потребовать больше времени и усилий на начальном этапе, но в долгосрочной перспективе он окупается привлечением лучших специалистов, которые помогут компании добиться успеха.
Размышления о тестировании на основе рисков
В прошлом месяце я много размышлял о тестировании на основе рисков и выделил три основные мысли на эту тему, которыми я хочу поделиться в этой статье.
Пайплайн gitlab для Spring REST приложения. Часть 3
В статье описан мой первый опыт подготовки нетривиального пайплайна gitlab ci/cd при разработке микросервиса.
Предыдущие части:
Методы обнаружения дрейфа данных. Часть 1: Многомерные методы обнаружения дрейфа табличных данных
Это первая статья из серии, в которой мы исследуем задачу обнаружения дрейфа данных. Мы разбираем не только, почему это очень важная часть мониторинга моделей, но также обсуждаем методы и подходы, которые следует взять на заметку. В первой части этой серии мы обсуждаем дрейф в контексте табличных данных и описываем одномерные и многомерные методы решения этой задачи. В следующих постах мы рассмотрим неструктурированные данные, такие как изображения и документы, и обсудим, как мы можем построить системы обнаружения дрейфа в этих более сложных данных.
Умные конструкторы для кейс-классов
В число огромных преимуществ использования Scala входит безопасность типов. Если мы четко и внимательно относимся к используемым нами типам, компилятор способен направить нас в правильном направлении и указать, где мы можем ошибиться.
Существуют способы, с помощью которых мы можем положиться на систему типов и язык в целом, для большей уверенности в создаваемом коде.
Ситуация на рынке Game QA в 2022
Доброго времени суток, коллеги и будущие коллеги в индустрии разработки игр. Хотелось бы рассказать, что сейчас происходит на рынке QA в РФ и какие перспективы существуют для новых специалистов.
Начну с ожидаемых hard skills, которые ожидаются от QA. Глобально ничего не поменялось и список на данный момент такой: