
Заключительный пост №5 для начинающих посвящен сопоставительной визуализации электоральных данных.
Искусство создания компьютерных программ
Заключительный пост №5 для начинающих посвящен сопоставительной визуализации электоральных данных.
Пост №2 для начинающих посвящен описательным статистикам, группированию данных и нормальному распределению. Все эти сведения заложат основу для дальнейшего анализа электоральных данных.
Сегодня мне пришлось разгадывать загадку выполнения кода на Python, и воспользовался фокусом с отладкой в режиме мачете, чтобы понять, в чем дело. Если раньше вы никогда не слышали этот термин, то поясню, режим «мачете» — это когда вы используете грубый временный кода для получения информации любым способом.
Вот как это было. Я добавил новый параметризованный тест к тестовому набору coverage.py. Работало все очень медленно, поэтому я запустил его с отображением таймингов:
Задача классификации - одна из самых известных в машинном обучении. Очень многие проблемы, решаемые с помощью ML, так или иначе сводятся к классификации — распознавание изображений, например. И все выглядит просто и понятно, когда нам нужно определить объект в один из нескольких классов. А что если у нас не плоская структура из нескольких классов, а сложная разветвленная иерархия на 683 категории? Именно о таком случае мы сегодня и поговорим. Под катом - рассказ о том, зачем в задачах классификации нужны сложные иерархии и как с ними жить.
Способ создания переиспользуемых Linq фильтров (построителе предикатов для условия Where), которые можно применять для разных типов объектов. Поля объектов для фильтрации указываются с помощью MemberExpression.
Способ подходит для Entity Framework, включая Async операции.
В августе прошлого года команда инструментов JavaScript/TypeScript выпустила Angular Language Service для пользователей Visual Studio. Этим мы хотели обратиться ко многим пользователям ASP.NET/ASP.NET Core, которые создают свои клиентские проекты с помощью Angular. Хотя это расширение вызвало много хвалебных отзывов, не для всех пользователей оно было таким удобным. Мы хотим, чтобы вы знали, что мы вас услышали и внесли некоторые изменения. Немного подробностей под катом.
Казалось бы тема давно исхоженная, пик инновационности OSS систем давно позади. Однако иногда бывают локальные жаркие всплески и бурные споры на эту тему. Можно ходить по торной вендорской дороге, а можно попробовать погрызть эту задачку с другого угла.
Ключевые слова: cmdb, multi-agent sumulation, monte-carlo, ml.
Является продолжением серии предыдущих публикаций.
Придумал тест для BPM системы. Ну или забаву для BPM системы. Почему бы не посчитать факториал числа 100 рекурсией процесса в BPM системе? Предполагаю, что это хороший тест ядра BPM системы, выдержит ли ядро 100 вложенных вызовов процесса. И вернет ли результат из самого нижнего 100-го подпроцесса обратно в 1-й родительский процесс. В Camunda это получилось. Из рекламного буклета Camunda: Разработан для обеспечения производительности: высокая пропускная способность, готовность к работе с кластерами и масштабируемость с очень легким (<3 МБ) механизмом выполнения моделей рабочих процессов BPMN. Да, до тестирования Camunda, попробовал рекурсию процессов в двух других системах, правда не совсем BPM. Под рукой были две CRM системы, в которых есть дизайнер процессов. В первой CRM/BPM системе нельзя вызвать в качестве подпроцесса этот же процесс, то есть рекурсия запрещена. Причем обмануть ограничение не удалось, создав две копии процесса, чтобы они друг друга вызывали. Система увидела, что в дизайне процесса из второго процесса вызывается снова первый, и выдала ошибку при попытке сохранить процесс. Во второй CRM/BPM системе рекурсия запустилась, и факториал от 10 удалось посчитать, а вот для чисел выше 10, система зависала, зависший процесс приходилось убивать. Итого, в Modeler нарисовал процесс: . 1. В начале процесса условием «Check Init» выполняется проверка, если параметры процесса еще не инициализированы, то выполняется инициализация. 2. Активность «Recursion Input» считывает входящие параметры. 3. Условием «Check End 1» проверяется количество рекурсий, если все рекурсии вызваны, то процесс завершается. 4. Активность «Call Self» собственно вызов самого себя, с передачей параметров в процесс, и получением параметров из процесса. 5. Условием «Check End 2» проверяется количество рекурсий, если все рекурсии вызваны, то создается задача, и выводится полученный из вызванного процесса результат. 6. Активность «Recursion Output» передает параметры из процесса. Повозиться пришлось с типом получаемых на входе параметров, пришлось вместо Text поменять на Script, иначе экспоненциальная форма числа не проходила. Отработавший процесс: Подводя итог: Camunda это круто! ))) PS: к сожалению, больше про Camunda писать не буду, переключился на другие темы.
Scala 3 — это новая основная версия языка программирования Scala. Это результат многолетних исследований, разработок и сотрудничества между компаниями и организациями, которые координируют развитие Scala с помощью многих других людей и организаций, и которые вкладывают свое свободное время, чтобы сделать это возможным. Эти совместные усилия принесли нам наиболее заметные изменения в языке.
Что мотивировало появление новой версии, которая связана с самой сутью Scala (а именно DOT-вычисления — причина, по которой Scala 3 начиналась как Dotty); в новой версии наблюдается повышение производительности и предсказуемости, что делает код более легким, интересным и безопасным; улучшение инструментария и бинарной совместимости; а также еще более дружелюбное отношение к новичкам.
В этой статье мы выделим некоторые изменения, которые, по нашему мнению, имеют большую ценность для начинающих программистов Scala. Мы также поговорим о процессе миграции и бинарной совместимости. Наконец, в конце мы поделимся нашим мнением об этой новой версии.
Лучшие команды получат денежные призы, возможность пройти обучение в школе стартапов «Сколково» и станут первыми резидентами нового технопарка высоких технологий IQпарк в Уфе.
Привет, Хабр! Сегодня рассказываем о наших трех крутых мероприятиях для разработчиков в марте, которые связаны с технологиями Microsoft Azure. Среди тем: основы искусственного интеллекта, DevOps с GitHub и основы работы с данными. Ну и без бесплатных возможностей по сдаче сертификационных экзаменов Microsoft как обычно не обойдется. Заглядывайте под кат за подробностями!
Несколько лет назад, занимался изучением теории музыки, продавал и писал аудио-инструментал. Изначально, процесс явно творческий, но вскоре, мой интерес к коммерческой части превысил и возник вопрос: «В каком же темпе создавать ритм музыки?». Поэтому, идея анализа крупной выборки лучших композиций, для определения популярного [часто: самого продаваемого] диапазона темпа исполнения, не покидала с тех пор…
Эта статья является конспектом материала Effective Aggregate Design Part III: Gaining Insight Through Discovery.
Во второй части обсуждали, как агрегаты ссылаются друг на друга и как использовать конечную согласованность для достижения определенных бизнес целей. В третьей части увидим, как соблюдение правил агрегатов влияет на проектирование модели Scrum (тестовый проект из первой части).
Для разработчиков не секрет, что создание нового сервиса влечет за собой немало рутиной настройки: билд скрипты, зависимости, тесты, docker, k8s дескрипторы. Раз мы выполняем эту работу, значит текущих шаблонов IDE недосточно. Под катом мои попытки автоматизировать все до одной кроссплатформенной кнопки "сделать хорошо" сопровождаемые кодом, примерами и финальным результатом.
Если перспективы создания сервисов в один клик с последующим автоматическим деплоем в Digital Ocean звучат заманчиво, значит эта статья для вас.
Quality Gates – это автоматические проверки качества, которые устанавливают пороговые значения для продвижения продукта по конвейеру разработки. Рассказываем, как работает эта технология, и поделимся дорожной картой, которую мы составили, чтобы внедрить Quality Gates во всех наших командах.
Принцип Quality Gates – буквально «ворота качества» – помогает решать проблемы в коде на ранних этапах, до того, как он обрастёт зависимостями. Если в коде есть дублирование, обнаруживаются проблемы с переменными или не хватает тестов, он не «проходит в ворота» и возвращается автору. В результате код становится чище и понятнее, баги оказывается проще исправлять, да и появляются они реже.
Для чего вообще нужен docker контейнер? Обычно, во время разработки, для каждого проекта вы настраиваете своё окружение. Но вот произошла такая ситуация: что-то случилось с вашим компьютером и приходится переустанавливать операционную систему(ОС). Соответственно, чтобы запустить ваш проект, необходимо настраивать окружение заново. Бывает ещё гигантское количество ситуаций, которые сводятся к одной проблеме - настройка окружения для разработки.
Привет, хабровчане! Наши преподаватели — Виктор Коробков, эксперт с 15-летним стажем в IT, и Андрей Кравчук, разработчик в RavenPack International, рассказали, почему язык C до сих пор актуален, и зачем его осваивать тем, кто занимается разработкой на других языках. Статья подготовлена специально в преддверии старта нового практического онлайн-курса «Программист C», чтобы помочь разобраться, пригодятся ли эти навыки вам.