Начиная с первых версий .NET Core для сборки приложений, компания Microsoft предоставляет простой и удобный интерфейс командной строки (.NET CLI). Его возможности покрывают большинство потребностей по сборке, упаковке и тестированию приложений. Несмотря на это, по мере роста приложения, увеличения количества его составных частей/сборок/пакетов, усложнения процессов тестирования и развертывания, рядом с проектом часто появляются такие файлы сценариев как build.ps1, build.sh, build.cmd или даже полноценные инфраструктуры автоматизации построения приложений. В статье TeamCity C# script runner была предложена еще одна альтернатива - сценарии C#, которые особенно полезны, когда необходимо эффективно автоматизировать какой либо аспект сборки силами .NET разработчиков или DevOps, знакомыми с синтаксисом C#. Тогда же была упомянута идея расширить встроенный API сценариев для более глубокой интеграции с TeamCity и для поддержки наиболее частых вариантов использования. Предполагая, что API сценариев чаще всего будет задействован при сборке приложений, мы в первую очередь решили расширить именно его. В этой статье будут приведены примеры использования этого API.
Компания JetBrains временно не ведёт блог на Хабре
Зачем CI/CD тестировщикам?
Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в CI/CD") и даже внедрять свои. Так почему же CI/CD — отличный инструмент контроля качества? Давайте разбираться.
GoLand 2021.3: полная поддержка WSL, запуск gofmt при сохранении файла, Inline Function, удаленная разработка
Привет, Хабр!
Сегодня расскажем о свежем релизе GoLand.
Что нового: полная поддержка WSL, запуск gofmt при сохранении по умолчанию, рефакторинг Inline Function, удаленная разработка (Beta), поддержка gRPC в HTTP-клиенте, улучшения отладчика и многое другое!
Под катом подробный разбор новых возможностей с гифками.
Скачать GoLand 2021.3 можно на сайте JetBrains или через приложение Toolbox App.
Релиз CLion 2021.3: новый механизм удаленной разработки, тулчейн для Docker, улучшения отладчика и многое другое
Привет, Хабр!
Традиционно начало декабря — время, когда релизятся все продукты JetBrains. И сегодня я расскажу о CLion 2021.3 — новой версии нашей кроссплатформенной IDE для разработки на C и C++.
Главная новость прошедшей релизной недели — выпуск нового решения для удаленной разработки. Другие улучшения в CLion: оптимизация и новые возможности по работе с тулчейнами, улучшенное представление данных в отладчике, подсказки для выведенных типов в редакторе, повышение точности и новые возможности анализатора кода, новая опция для представления структуры текущего файла.
Вышел PhpStorm 2021.3
В этом релизе мы полностью поддержали PHP 8.1, улучшили обработку дженериков, реализовали drag-and-drop для перемещения классов и пространств имен, обновили HTTP-клиент, повысили удобство процесса развертывания и управления версиями, а также добавили новые возможности удаленной разработки.
Под катом подробный разбор всех изменений и новых возможностей с кучей гифок.
Скачать PhpStorm можно на сайте или через приложение Toolbox App.
Как и раньше, студентам, преподавателям и тем, кто занимается опенсорс-проектами, JetBrains предоставляет бесплатные лицензии. Стартапам доступна скидка 50%.
Истории
Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое
Привет, Хабр!
Datalore Enterprise — это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании.
Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций.
Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3!
AppCode 2021.3: акторы, редактор plist-файлов, улучшенная поддержка документации и многое другое
Всем привет!
Вышел AppCode 2021.3, а значит, пора о нем рассказать.
Экосистема разработки в 2021 году: чем живут программисты в России и мире
Привет, Хабр! В этом году мы провели пятый ежегодный опрос о состоянии экосистемы разработки и выяснили, чем живут программисты, какие языки, технологии и инструменты они используют и как изменился мир разработки по сравнению с 2020 годом. Мы доработали методологию и расширили географию опроса — теперь он охватывает весь мир.
Отчет основан на мнениях 31 743 респондентов из 183 стран и регионов, большое спасибо всем участникам! Около двух тысяч опрошенных программистов — из России, и это позволило сделать выводы о том, чем российский рынок разработки отличается от остального мира. Вот некоторые интересные отличия:
— Российские разработчики моложе, но менее счастливы. В мире доля программистов старше 40 лет составляет 14%, а в России их 8%. Однако только 6% российских программистов считают, что они очень счастливы, в других же странах – 21%.
DataGrip 2021.3: Aggregate view в редакторе, табличное представление узлов дерева БД, новое окно сравнения БД и др
Привет! Сегодня расскажем, что нового в свежем релизе DataGrip 2021.3. Если вы работаете с базами данных в других IDE от JetBrains, то этот пост и для вас тоже.
YouTrack теперь с конструктором рабочих процессов
Привет, Хабр!
На связи команда YouTrack из JetBrains. Как вы знаете, YouTrack подстраивается под работу практически любой команды с помощью рабочих процессов (workflows). Рабочие процессы позволяют автоматизировать многие рутинные действия, однако до недавнего времени это требовало навыков программирования. Мы добавили в новую версию YouTrack конструктор рабочих процессов, позволяющий командам любого (не)технического уровня создавать рабочие процессы без единой строки кода.
Об этом и о других нововведениях расскажу ниже, добро пожаловать в пост!
TeamCity C# script runner
На операционных системах Windows администраторы традиционно используют PowerShell как средство автоматизации. Хотя PowerShell имеет .NET в своей основе, синтаксис его сценариев отличается от языка C#, к которому привыкли разработчики .NET, многие из которых занимаются и настройкой сборок. Для них альтернативой сценариям PowerShell могут быть сценарии C#, синтаксис которых практически идентичен синтаксису C#. В TeamCity 2021.2 появился специальный раннер для их поддержки.
Сделать статический анализ умным — полдела, потом его надо делать глупым
Одна из проблем статического анализа в том, что его легко сделать умнее, чем надо. В результате он начинает выдавать предупреждения в таком коде, который человеку кажется нормальным. И так и хочется сказать анализатору «Отстань, зануда! Сильно умный что ли?»
Я в очередной раз почувствовал вкус всего этого, когда работал над поиском константных выражений для Kotlin. Ранее такой анализ был для Java, но для Kotlin он впервые появится только в следующей версии IntelliJ IDEA 2021.3. Инспекция базируется на анализе потока данных и находит в коде выражения, которые всегда равны одному и тому же. Изначально такая инспекция на Java сообщала только о логических выражениях, которые всегда равны true или false. Потом мы осторожно расширили её, и она стала сообщать ещё и о выражениях, которые всегда равны null или 0. Было решено проделать тот же путь для Kotlin.
Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine
Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших компаний, занимающихся игровой разработкой. Нам стало интересно узнать, за что эти люди ценят наш продукт, что им нравится и чего не хватает. Мы решили поговорить с Вячеславом Дубиковским — техническим директором в компании Wargaming RED, которая совсем недавно начала свою работу в Москве.
Code Completion. Часть 4: обучение модели
Хотим поделиться специфическими проблемами, возникшими у нас при обучении модели, и решениями, которые мы для этих проблем придумали.
В прошлый раз мы остановились на том, что из-за необходимости защищать код пользователей даже от себя самих нам необходимо анонимизировать все собранные данные. Вызову окна автодополнения сопоставляется набор параметров, каждый из которых — либо число, либо перечислимый тип. А вот сам код, на котором пользователь вызвал окно, мы не сохраняем.
Если при сборе данных мы допустим ошибку, нельзя будет просто заглянуть в код и все понять. Нам придется устраивать целое расследование без всякой гарантии успеха.
Ближайшие события
Представляем MPS 2021.2
Мы выпустили версию 2021.2 — второй крупный релиз MPS в этом году. Как и в прошлый раз, мы подготовили для вас демо, в котором показываем новые возможности:
Ниже читайте краткий обзор новой функциональности.
KotlinDL 0.3: поддержка ONNX, Object Detection API, 20+ новых моделей в ModelHub, и много новых слоев
Представляем версию 0.3 библиотеки глубокого обучения KotlinDL!
Вас ждет множество новых фич: новые модели в ModelHub (включая модели для обнаружения объектов и распознавания лиц), возможность дообучать модели распознавания изображений, экспортированные из Keras и PyTorch в ONNX, экспериментальный высокоуровневый API для распознавания изображений и множество новых слоев, добавленных контрибьюторами. Также KotlinDL теперь доступен в Maven Central.
В этой статье мы коснемся самых главных изменений релиза 0.3. Полный список изменений доступен по ссылке.
Плагин Big Data Tools теперь поддерживает IntelliJ IDEA Ultimate, PyCharm Professional, DataGrip 2021.3 EAP и DataSpell
Недавно мы выпустили новую сборку плагина Big Data Tools, совместимую со свежими (2021.3) версиями IntelliJ IDEA Ultimate и PyCharm Professional. Когда в октябре выйдет DataGrip 2021.3, эта сборка тоже будет с ним работать. Более того, теперь мы умеем запускаться в DataSpell — новой IDE для Data Science.
Если вы используете старые версии Big Data Tools, сейчас самое время обновиться и попробовать новую версию плагина вместе со свежей версией IDE!
В этом году мы много чего улучшили и добавили совершенно новые фичи (например, запуск Spark Submit в виде Run Configuration). Вот небольшой список изменений за этот год. Этот список — лишь небольшая капля в море того, что изменилось с прошлого года.
Code Completion. Часть 3: где взять данные для обучения?
В предыдущей статье цикла мы установили, что современной системе автодополнения нужно машинное обучение — чтобы ранжировать варианты подсказок.
Машине, как и человеку, для обучения нужны данные. Мы используем подход «обучение с учителем». Он предполагает, что мы показываем алгоритму примеры задач, для которых нам заранее известно правильное решение. Алгоритм извлекает из этих примеров закономерности и учится принимать правильные решения даже в тех ситуациях, которых он раньше не видел.
Результат обучения критическим образом зависит от качества и объема этих примеров. И именно здесь у нас возникают трудности.
С одной стороны, собирать базу на основе кода наших пользователей нельзя: результат вашего труда остается только у вас, на серверы JetBrains он не попадает.
С другой стороны, из доступных репозиториев с открытым кодом полноценный датасет собрать не получается. Делая так, мы обучали бы алгоритм работать только с готовым (рабочим) кодом.
Сегодня обсудим, как мы выкручиваемся из этой ситуации. Для начала давайте более подробно рассмотрим, почему не получается работать с готовыми репозиториями.
Программа раннего доступа к JetBrains DataSpell открыта для всех
С тех пор, как мы анонсировали JetBrains DataSpell в марте, наша новая IDE для Data Science была доступна для ограниченного числа пользователей, которые помогали нам с тестированием IDE и обратной связью. Сегодня мы запускаем программу раннего доступа для всех желающих. Всем, кто хотел участвовать в программе, придут приглашения. Вы можете скачать свежую EAP-сборку на сайте JetBrains DataSpell (регистрация не требуется).
Test as Text в IntelliJ IDEA
Test as Text в IntelliJ IDEA - коротко о том, как мы видим управление чеклистами и тестовыми сценариями в agile командах.