15 лучших баг-трекеров
Обзор программ: Zendesk, Slack, ClickUp, GitHub, LiveAgent, Freshservice, SolarWinds Service Desk, SysAid, Shortcut, HappyFox, Freshdesk, Wrike, TeamSupport, Jira, Spiceworks
Oracle анонсирует MySQL HeatWave
HeatWave ML полностью автоматизирует обучение моделей, логические выводы и интерпретацию. Для сравнения: машинное обучение с HeatWave в 25 раз быстрее Amazon Redshift, что в итоге получается на 99% дешевле.
Координация навигации по вью в SwiftUI с помощью паттерна Flow Coordinator
В этой статье я продемонстрирую, как можно использовать паттерн Flow Coordinator (далее флоу-координатор) в SwiftUI, чтобы отделить логику навигации от логики представления.
Следим за облачной инфраструктурой в IBM Cloud
Привет, Хабр! Меня зовут Рустем, являюсь Senior DevOps Engineer в компании IBM, город Краков. Недавно я рассказал, как можно задеплоить приложение в кластер Openshift в IBM Cloud, а сегодня расскажу, как за этим всем следить. Нам понадобится кластер в IBM Cloud и LogDNA для мониторинга и алертинга.
Топ-5 инструментов для MongoDB в 2022 году
Любое приложение, работающее с большими объемами данных, нуждается в такой базе данных, которая будет способна предоставить наиболее высокопроизводительные решения, связанные с хранением этих данных. Есть два распространенных выбора, которые могут удовлетворить такую потребность — реляционные системы управления базами данных (RDBMS или рСУБД) или NoSQL решения. В настоящее время все чаще выбор происходит в пользу баз данных NoSQL из-за их простой структуры и возможности как горизонтального, так и вертикального масштабирования, чего нельзя достичь с помощью традиционных рСУБД. Одна из самых известных баз данных NoSQL — MongoDB, которая включает в себя целый набор MongoDB-инструментов.
Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
В своей предыдущей статье я рассказал о том, почему считаю, что мы можем значительно улучшить управление UI State (состояние пользовательского интерфейса) между View (представление) и ViewModel (модель представления) в Android, используя архитектуру Model-View-Intent (модель-представление-намерение) (MVI) с помощью Finite State Machine (машина с конечным числом состояний. конечный автомат) (FSM).
В этой статье я подскажу вам шаги, необходимые для модернизации этого решения до уровня Kotlin Multiplatform Mobile (KMM), где можно воспользоваться общим исходным кодом, содержащим MVI+FSM, так что обе платформы — Android и iOS — могут унаследовать его преимущества, отвечая только за платформозависимые реализации: UI/UX.
Go в браузер. Создание веб-приложений с использованием Web Assembly на Go
Технология WebAssembly появилась относительно недавно (в 2015 году) и позиционировалась как альтернатива JavaScript для выполнения в среде браузера с максимально достижимой производительностью. Приложение на WebAssembly может использовать все возможности, доступные в "песочнице" браузера для JS (доступ к Document Object Model, дополнительным классам HTML5), но при этом может быть изначально написано на других технологиях разработки и скомпилировано в формат байт-кода WASM, предоставляя свои интерфейсы сценариям на JavaScript.
Наиболее известным набором инструментов для компиляции в wasm32 является emscripten, с его помощью можно скомпилировать приложение, написанное на C/C++ или на любом языке, имеющим frontend-компилятор для LLVM. При этом компилятор подменяет вызовы OpenGL и POSIX на соответствующие аналоги в браузере, что например используется при компиляции библиотеки skia для браузера (canvaskit) из исходного кода на C++, а также портирование существующих библиотек (например, ffmpeg или opencv). Но некоторые языки программирования поддерживают wasm32 как одну из целевых платформ, среди которых можно выделить Kotlin (Native) и Go. В этой статье мы обсудим общие вопросы о запуске приложений Go в среде браузера и использование библиотеки Vecty для создания веб-приложений на основе переиспользуемых компонентов.
Разбираемся с декораторами в Python
Декораторы – это обертка вокруг функций (или классов) в Python, которая меняет способ работы этой функции. Декоратор абстрагирует свой собственный функционал. Нотация декоратора в целом наименее инвазивна. Разработчик может писать свой код так, как ему хочется, и использовать декораторы только для расширения функциональности. Все это звучит крайне абстрактно, поэтому давайте обратимся к примерам.
55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
Коротко:
IoT Analytics определила 58 технологий, которые должны быть на слуху у тех, кто работает над проектами IoT: 21 в области программного обеспечения IoT, 21 в области аппаратного обеспечения IoT и 16 в области подключения IoT.
Из 58 технологий, находящихся на радаре, лишь несколько классифицируются как близкие к зрелости, достаточно зрелые или мейнстримные — большинство из них находятся еще дальше и им потребуется время, чтобы достичь состояния зрелости массового рынка.
Thymeleaf + Spring WebFlux + Spring Security
Thymeleaf появился довольно давно, как минимум 10 лет назад, но он до сих пор весьма популярен и активно поддерживается. Шаблоны Thymeleaf удобны тем, что при простом открытии в браузере они выглядят как обычные HTML-страницы и их можно использовать как статический прототип приложения.
В этой статье рассмотрим, как создать простое приложение Spring WebFlux с Thymeleaf, аутентификацией Okta OIDC, защитой от CSRF-атак и контролем полномочий.
Кто такой Analytics Engineer – E2E-решение с использованием bash + dbt + Looker
Привет! Меня зовут Артемий Козырь, и я Analytics Engineer в Wheely.
Мы могли бы долго и нудно обсуждать, кто такой Analytics (Data / Backend) Engineer, какими инструментами он должен владеть, какие buzzwords в тренде и ценятся в CV, однако, на мой взгляд, гораздо интереснее рассмотреть процесс и результаты его деятельности в рамках конкретной прикладной задачи.
В этой публикации:
Заполнители типа в Swift: что это такое и когда их следует использовать
Заполнители типа (type placeholders) — это новая языковая фича, представленная в Swift 5.6 (Xcode 13.3).
Сама концепция очень проста - вместо указания конкретного типа мы можем поставить _ (заполнитель типа), который предписывает компилятору самому определить заполняемый тип.
В следующем примере я использую заполнитель типа для name
, который впоследствии разрешается в String
.
Матстат и опоздания на работу
Привет, народ! В рамках курса Python для аналитики, хочу поделиться с вами небольшим шуточным исследованием, которое немного раскроет методику применения математической статистики и A/B тестирования в повседневной жизни. Данное исследование, как и статью в целом, подготовил мой коллега Роман Козлов.
В последнее время проблема с опозданиями не так уж остро стоит, ведь большинство работников, особенно в IT-сфере, работают на удалёнке. Однако, остались еще те последние из могикан, кто вынужден ходить на работу по старинке в офис.
Пишем деплой в Openshift с помощью Jenkins
Меня зовут Рустем и я занимаю должность Senior DevOps Engineer в компании IBM, город Краков. Сегодня я хотел бы Вам показать и рассказать, как можно подружить Openshift и Jenkins и использовать их связку в CI-процессе.
7 трендов, которые изменят рынок автоматизации тестирования
В сфере автоматизации тестирования происходят изменения. Компании под давлением набирающей обороты цифровизации стремятся ускорять релизы продуктов, чтобы не отставать от своих коллег по рынку. Однако ускорение без качественных противодействующих сил увеличивает общий долг, что в конечном итоге замедляет компании. Вот где автоматизация тестирования еще более важна, чем раньше. В статье поговорим об основных изменениях на рынке автоматизированного тестирования, знания которых поможет принимать наилучшие решения.
О безопасности Kubernetes. Часть 2. Ищем уязвимости и защищаемся
В предыдущей статье мы рассмотрели архитектуру Kubernetes, и обсудили те виды уязвимостей, которые можно встретить в его программных компонентах и их настройках. Теперь перейдем к практическим аспектам защиты и поговорим о том, как обнаружить уязвимости и как грамотно от них защититься.
Матчинг шаблона в Python 3.10
В Python 3.10 имплементирован своего рода оператор switch
— что-то вроде него. Оператор switch
в других языках, таких как C или Java, выполняет простой матчинг значения переменной и исполняет код в зависимости от этой величины.
Он может использоваться просто, как обычный оператор switch
, но способен на гораздо большее.
Возможно, этого было бы достаточно для языка C, но ведь речь о Python, а в Python 3.10 реализована гораздо более мощная и гибкая конструкция, называемая структурным сопоставлением шаблона. Она может использоваться как простой оператор switch
, но способна на гораздо большее.
Давайте рассмотрим несложный пример с оператором switch
. Ниже приведен сниппет, который осуществляет выбор одного значения. Мы проверим его, запустив в цикле со значениями 1,2,3 и 4.
6 обязательных навыков коммуникации для ИТ-специалистов
Cпойлер:
1. Общайтесь на равных.
2. Ставьте бизнес превыше всего.
3. Проявляйте сочувствие.
4. Стремитесь к ясности.
5. Общайтесь с холодным умом.
6. Проявляйте уверенность.
6 топовых трендов в области данных и аналитики на 2022 год
На протяжении десятилетий управление данными означало, по сути, сбор, хранение и периодический доступ к ним. В последние годы все изменилось, поскольку компании ищут критически важную информацию, которую можно извлечь из огромных объемов данных, генерируемых, доступных и хранящихся в различных местах, от корпоративных центров обработки до облачных и периферийных сред. В связи с этим аналитика данных — благодаря таким современным технологиям, как искусственный интеллект (AI) и машинное обучение (ML) — стала обязательной функцией, а в 2022 году ее значение возрастает еще больше. Предприятиям необходимо быстро анализировать данные — в основном неструктурированные — для поиска информации, которая будет определять бизнес-решения. Для этого им также необходимо создать современную среду данных.
Ниже приведены несколько тенденций в управлении данными, которые выйдут на первый план в 2022 году.