Унифицируем поведение LINQ to IEnumerable и LINQ to IQueriable в части работы с null значениями. Часть вторая. Своя реализация IQueryProvider

Автор: admin от 22-04-2015, 23:28, посмотрело: 443

В комментариях к первой части мне справедливо сделали замечание, что я обещал унификацию IEnumerable и IQueriable, а сам спрятал их за самописным интерфейсом типа репозитория. В этой статье я постараюсь исправится и дать пример что же делать, если мы хотим работать с LINQ напрямую. Для этого я предложу собственную реализацию интерфейса IQueryProvider.

GitHub
Nuget

Много кода

Категория: Программирование

 

Сравнение Visual Studio Community 2013 с Visual Studio 2013 Express. Особенности лицензионного соглашения

Автор: admin от 22-04-2015, 23:18, посмотрело: 1717

Совсем недавно корпорация Microsoft представила новую редакцию самой популярной среды разработки — Visual Studio Community 2013. Большинство разработчиков не могут разобраться в особенностях лицензионного соглашения, в следствии чего и возникают вопросы, например, «Можно ли использовать Visual Studio Community 2013 в коммерческой разработке?». Давайте вместе разберемся в этом вопросе.

Собственно как сама Microsoft позиционирует Visual Studio Community 2013? — это бесплатная полнофункциональная интегрированная среда разработки. Что это значит? — это значит, что любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community. К сожалению в редакция Community предоставляется без подписки MSDN.

Категория: Программирование, Microsoft

 

Обфускация программ

Автор: admin от 22-04-2015, 20:20, посмотрело: 1621

Обфускация программ — это прорывная, самая горячая сегодня, область криптографии. За последние два года написано свыше 70ти статей по этой теме, она вызывает жаркие дискуссии, создает настоящие гонки между исследовательскими группами, открывает полигон для научных изысканий. Более того, оказывается, что обфускация — фундаментальный, образующий примитив, который порождает практически всё, что мы имеем в криптографии сегодня. Разберемся, с тем что же это такое.

Давая пользователям доступ к установочным файлам программ, компании неизбежно раскрывают свои профессиональные секреты и наработки, и ничто не останавливает злобонравных конкурентов от беззастенчивого копирования и воровства чужих алгоритмов. Обратим внимание и на другой пример, это важные обновления (патчи), исправляющие ошибки в операционных системах. Почти мгновенно очередное обновление анализируется хакерами, они выявляют проблему которую это обновление чинит, и атакуют несчастных, не успевших вовремя обновиться, пользователей.
Обфускация программЭти две ситуации связывает одна фундаментальная проблема, а именно: написанная человеком программа может быть человеком же и понята, проанализирована, разобрана. А что если существовал бы алгоритм, который бы мог до неузнаваемости, необратимо переделать программу при этом сохраняя ее функциональность? Так чтобы программу совершенно невозможно было бы понять, но при этом она работала бы ничуть не хуже исходной? Такой алгоритм и называется «обфусцирующий» или «обфускатор».

Категория: Информационная безопасность » Криптография

 

Как сделать Xamarin Studio чуточку лучше?

Автор: admin от 22-04-2015, 19:05, посмотрело: 569

Как сделать Xamarin Studio чуточку лучше?

Итак, прошло уже полтора года с тех пор как я начал разрабатывать мобильные приложения с помощью Xamarin и C#. За это время ребята из Xamarin основательно поработали над своей IDE, так что от связки iMac-Parallels Desktop-Visual Studio-Android я с радостью отказался в пользу iMac-Xamarin-Genymotion. Однако, Xamarin Studio все еще находится на том уровне, когда некоторые действия приходится выполнять вручную, но что делать, если это приходится совершать 5, 10, 15 и более раз за день? Ответ простой – проапгрейдить Xamarin Studio, написав Add-in, который будет делать всю работу за тебя. В этой статье я расскажу как создать простой Add-in и куда двигаться, если нужно что-то посерьезнее.

Категория: Веб-разработка, Game Development, Android, iOS

 

Моделирование спринтов Scrum. Решаем проблемы взаимодействия с клиентом и внутри команды

Автор: admin от 22-04-2015, 18:32, посмотрело: 693

«Мобильное приложение должно быть «живым», пользователь должен видеть, что проект развивается»
Моделирование спринтов Scrum. Решаем проблемы взаимодействия с клиентом и внутри команды

Мы в Redmadrobot работаем по гибким методологиям Agile и Scrum. Как известно, они предполагают значительную свободу в том, как организуются спринты по проектам, — каждая компания подбирает удобную для себя модель. Кейсов — информации о том, как организуются команды во время выполнения спиринтов — во внешних источниках крайне мало. Раскрываем свою “кухню”.

Категория: Веб-разработка, Game Development

 

«Перегрузка операторов» в Scala

Автор: admin от 22-04-2015, 16:54, посмотрело: 535

Некоторое время назад я анонсировал курс по Scala. Он стартовал и выкладывается на MOOC-платформу UDEMY — «Scala for Java Developers». Больше о курсе вы можете прочитать в конце статьи.

Сейчас я бы хотел представить материал по одной из тем курса — перегрузке операторов в Scala.


  • Введение

  • Infix operators

  • «Pointless style» (infix notation) это не «point-free style» (tacit programming)

  • Приоритет операторов

  • Ассоциативность операторов

  • Infix types

  • Prefix operators

  • Postfix operators

  • О курсе


Категория: Программирование

 

Как мы научили iPhone футбольные клубы распознавать

Автор: admin от 22-04-2015, 16:53, посмотрело: 333

Как мы научили iPhone футбольные клубы распознавать

Привет, Хабр!

Меня зовут Игорь Литвиненко, я уже более трех лет занимаюсь разработкой под мобильные устройства, в основном под iOS. В DataArt изучаю продвижение различных задач тематики компьютерного зрения: обработка изображений, разработка программ дополненной реальности, использование нейронных сетей и т. д со спецификой для мобильных устройств. Сегодня я хочу вам рассказать про наш исследовательский/фановый проект, связанный с футболом.

Вместо вступления и длинной речи о развитии современных технологий и распознавания образов давайте сразу перейдем к постановке задачи.

Постановка задачи

Необходимо разработать мобильное приложение, которое бы показывало актуальную информация по футбольным клубам, составам, последним матчам. Для легкости использования своеобразной киллер-фичей приложения будет возможность отображения информации про команду при наведении телефона на ее логотип. Приложение также должно работать без подключения к интернету. Предполагаемое количество распознаваемых команд — около ста (тут уже не мы выбирали. Просто хотели охватить все клубы главных футбольных лиг Англии). Еще одна особенность — возможность «перекрашивать» пользовательский интерфейс на основе последнего распознанного логотипа.

Категория: Программирование, Веб-разработка, Game Development, iOS

 

Первый опыт продаж в Unity Asset Store

Автор: admin от 22-04-2015, 16:03, посмотрело: 915

Я уже несколько лет занимаюсь разработкой небольших мобильных проектов на движке Unity3D и иногда заглядываю в Asset Store для покупки полезных ассетов. Недавно я решил попробовать создать какой-нибудь ассет для продажи в этом магазине и посмотреть что из этого выйдет.

После изучения категорий ассетов в Asset Store, я остановился на Complete Projects. В этой категории продаются завершенные проекты и шаблоны игр для самых ленивых разработчиков. Я решил сделать один из таких шаблонов, предназначенный для создания простенькой танковой аркады. Вот что из этого вышло:

Первый опыт продаж в Unity Asset Store

Категория: Программирование » Game Development

 

Гугл предлагает усилить JSON с помощью Jsonnet

Автор: admin от 22-04-2015, 15:50, посмотрело: 528

Гугл открыла исходный код своего проекта Jsonnet, языка для конфигурации, который заменяет стандартный JSON и добавляет новые возможности без нарушения обратной совместимости. Среди таких возможностей: комментарии, ссылки, арифметические и условные операторы, массивы и работа с объектами, импорт, функции, локальные переменные. Программы на Jsonnet транслируются в совместимый JSON формат данный.

Комментарии. Jsonnet принимает комментарии в стиле С ( /* … */ ) и С++ ( // )

Ссылки. Ключевое слово self может быть использовано для ссылки на текущий объект. Оператор $ позволяет использовать корневой объект.

Арифметические и условные операторы. Оператор + может складывать числа, строки, массивы и объекты. Операторы == и != возвращают true или false. Оператор if работает как тернарный оператор ?: в С. Далее несколько примером с операторами языка и результат. Примеры взяты со страницы проекта.


// bar_menu.3.jsonnet
{
foo: 3,
bar: 2 * self.foo, // Multiplication.
baz: "The value " + self.bar + " is "
+ (if self.bar > 5 then "large" else "small") + ".",
array: [1, 2, 3] + [4],
obj: {a: 1, b: 2} + {b: 3, c: 4},
equality: 1 == "1",
}

Категория: Программирование, Google

 

Поиск по подобию. Поиск нечетких дубликатов. Лекции от Яндекса

Автор: admin от 22-04-2015, 15:43, посмотрело: 466

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



Всего в программе девять лекций, из которых уже были опубликованы:

  • Введение в курс «Анализ изображений и видео».

  • Основы пространственнои и частотнои обработки изображении.

  • Морфологическая обработка изображений.

  • Построение признаков и сравнение изображений: глобальные признаки.

  • Построение признаков и сравнение изображений: локальные признаки.


  • Под катом, вы найдете план новой лекции, слайды и подробную расшифровку.

    Категория: Программирование, Яндекс

     
    Назад Вперед