Рубрика «Программирование» - 793

В предыдущей части мы познакомились с расширениями привязки и разобрались, как их применять на практике, например, для локализации. Сегодня же продолжим изучать особенности библиотеки Aero Framework и рассмотрим довольно интересную тему об инжекции контекста данных в xaml-разметку представлений, а заодно применим познания из прошлой статьи.

На практике часто встречается следующая задача: связать вью-модель, которая хранится в unity-контейнере, с одним или несколькими её представлениями (экранами). Обычно такое связывание происходит в бехаинд-коде, в результате чего у представления устанавливается нужное значение в свойство DataContext.

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

Все эти трудности так или иначе решаемы, но существует универсальный и очень простой способ их красиво разрешить. О нём и пойдет речь.
Инжекторы контекста xaml - 1
Читать полностью »

Big Data на практике: ожидание VS реальность - 1Привет, хабр!

После последней публикации «Ваш персональный курс по Big Data» мне пришло несколько сотен писем с вопросами, читая которые, я с удивлением обнаружил, что люди очень сильно погружаются в теорию, уделяя мало времени решению практических задач, в которых навыки необходимы совершенно другие. Cегодня я расскажу, какие сложности появляются на практике и с чем приходится работать при решении реальных задач.
Читать полностью »

С момента создания сервиса Wolfram|Alpha, Википедия занимала особое место на пути его развития. Мы обычно используем её не как первичный источник данных, но скорее в качестве важнейшего ресурса для улучшения распознавания естественного языка. В частности, для добычи данных о том, как люди описывают те или иные вещи в разговорном/официальном стиле.

В течение многих лет мы разрабатывали различные инструменты для анализа и извлечения информации из Википедии, однако теперь мы добавляем «сервис интеграции» с Википедией, который будет доступен в новой версии языка Wolfram Language (системе Mathematica 10.1, выходящей уже совсем скоро). Теперь встраивать контент из Википедии в рабочие процессы внутри Wolfram Language стало значительно проще.

Конечно, вы можете просто взять текст из статьи в Википедии и передать его новым функциям Wolfram Language для обработки текста и визуализации:

Новое в Wolfram Language: функция WikipediaData для интеграции с Википедией и обработки её данных - 1

Новое в Wolfram Language: функция WikipediaData для интеграции с Википедией и обработки её данных - 2
Читать полностью »

Недавно была выпущена первая бета версия тестового фреймворка NUnit v3. Кроме всего прочего, эта версия реализует параллельное выполнение тестов (практически «из коробки»). Я решил проверить как это работает на одном реальном проекте и обнаружил, что новая версия nunit-а не поддерживает часть используемых вещей предыдущих версий. В частности предлагается вместо аттрибута ExpectedException использовать Assert.Thorws или Assert.That.
Независимо от релиза этой беты, в одном из проектов начал использовать модель Assert.That вместо всех остальных методов и атрибутов nunit-а.

Под катом небольшой опыт перевода аттрибута ExpectedException в модель Assert.That.
Читать полностью »

image
Опыт поиска работы на бирже Elance разгорелось горячее обсуждение темы способов конкуренции с индийцами и пакистанцами на площадках сайтов для фрилансеров. В продолжение этой темы публикую свой вольный перевод статьи Евгения Розинского о проблемах краудсортинга в Индии. По словам Евгения он имеет 15 летний опыт в этой области и знает о чём говорит. Это взгляд из США, со стороны работодателей. Статья была опубликована ещё в 2013 году, но проблемы которые в ней рассматриваются сегодня стали ещё более актуальными.
Индийский ИТ-аутсорсинг стал бизнесом, который поставлен на поток. Бизнесом без каких-либо инноваций Единственным сомнительным плюсом которого является дешевизна. Но не миф ли это?
Это не попытка написать научную статью или предсказать будущее. Это просто личное мнение, сложившиеся у меня на основе более чем 15 лет работы с различными поставшиками услуг в Индии и по всему миру. Не стоит рассматривать статью как попытку сформировать стереотип для каждого сотрудника страны с населением 1,2 миллиарда человек. На протяжении многих лет мне посчастливилось работать с блестящими индийскими инженерами и менеджерами, как в Индии, так и в США. Этой рецензией я пытаюсь описать индустрию аутсорсинга Индии в целом и отметить характерные проблемы с которыми мы сталкиваемся в качестве клиентов, а не людей, работающих там.
Мои выводы и предположения базируются на том, что многие компании переходят к более гибким стратегиям разработки, в которых процесс принятия решений и способность адаптироваться является ключевой.
Читать полностью »

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

Новое в Wolfram Language: функция TimelinePlot для создания временной шкалы - 1

В общем, в прошлом году мы добавили функцию NumberLinePlot в Wolfram Language для визуализации точек, областей и неравенств. Как только пользователи начали работать с NumberLinePlot, мы начали получать просьбы о введении подобной функции, но с датами и временем, поэтому мы решили, что пришло время для TimelinePlot.
Читать полностью »

Мы продолжаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.

Всего в программе — девять лекций. Первая из них уже была опубликована. В ней рассказывалось о том, в каких областях встречается анализ изображений, его перспективах, а также о том, как устроено наше с вами зрение. Вторая лекция посвящена основам обработки изображений. Речь пойдет о пространственной и частотной области, преобразовании Фурье, построении гистограмм, фильтре Гаусса. Под катом — слайды, план и дословная расшифровка лекции.
Читать полностью »

Создание полноценных приложений на Max 7. Часть 1 — Постановка задачи, визуальное программирование - 1При решении задач визуализации информации, очевидно, возникает вопрос о практической реализации задуманного. Данный цикл статей посвящен процессу проектирования приложений с помощью визуального программирования в Max 7 от компании Cycling '74. Начнем изучение вопроса, от простого к сложному. Пройдем путь от любительской заготовки до полноценного «однофайлового» приложения (standalone .exe).

Уровень: легкийЧитать полностью »

Не секрет, что внедрение высокого разрешения экранов идет быстрее, чем адаптация Windows программ под них. Проблемы появляются в первую очередь тогда, когда нам надоедает напрягать глаза и пользоваться увеличительными стеклами, и мы изменяем масштабирование системы. Программы можно разделить на три категории по тому, как они ведут себя при этом:

  • Все элементы программы масштабируются правильно
  • Только некоторые элементы масштабируются правильно
  • Программа говорит Windows, что не умеет масштабироваться, и тогда операционная система сама масштабирует всю программу как умеет (в результате чего мы и видим замыленный интерфейс во многих старых программах)

Самый неприятный вариант для пользователя — это конечно же второй. Он может не только сделать программу неудобной для использования, но и вообще сделать пользование невозможным.
Ниже я покажу на примере QTIPlot как это можно исправить. Читать полностью »

Представьте себе высокоуровневый язык, в котором не нужно указывать КАК получить результат, вместо этого нужно просто указать ЧТО вы хотите получить. При этом область применения языка не ограничена и язык способен решать те же задачи, что и любой другой высокоуровневый язык, наподобие JAVA. Кажется фантастикой, не правда ли? Однако такой язык есть и называется он PROLOG. Посмотрим как PROLOG справляется с этой задачей на примере загадывания прологу некоторых загадок и попросим PROLOG выдать доказательство теоремы.

image

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js