Рубрика «C#» - 132

Класс ObservableCollection не позволяет добавлять, удалять и т.д. коллекции элементов.
Чтобы добавить такую функциональность можно создать потомок этого класса, в котором реализовать необходимый функционал.
Читать полностью »

В свободное от работы время занимаюсь созданием торговых роботов. Тема финансовых рынков и автоматизации торгов меня интересует давно, и сегодня я рад поделиться примером создания простого робота на примере известного биржевого терминала от Альфа Банка.

Предыстория

Многие банки (и другие компании) сейчас предоставляют брокерские услуги, это означает, что заключив дополнительный договор с банком (кроме основного), клиент может инвестировать свои сбережения в различные финансовые инструменты. Довольно давно появились торговые терминалы — программы, через которые клиент банка, пройдя авторизацию, может выставлять заявки, покупать и продавать. Например, акции, фьючерсы, опционы.

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

От переводчика: англоязычные it-блоггеры обычно начинают такие статьи со слов I'm so excited. Про Wix# я узнал совершенно случайно и спешу поделиться этим открытием с читателим, т.к. каждый, кто имел дело с «голым» WiX, знает, насколько неприятным может быть этот процесс. И вот теперь можно сделать msi-дистрибутив, написав всего лишь несколько строчек на C#! По-моему, это круто! А относительно недавно (4 дек 2014) автор Wix# Олег Шило дал интервью изданию InfoQ. Перевод этого интервью я и представляю вашему вниманию. И прошу не судить строго за кальку некоторых слов — тот же «деплоймент» мне как-то ближе, чем «развертывание».
Читать полностью »

С моего предыдущего поста прошёл месяц, по-моему самое время продолжить. В этот раз поговорим об Inheritance Mapping’е, ну а особо интересующихся в конце статьи ждёт сюрприз.

Итак, начнём.

Проблемы с дискриминатором

Разумеется, мы храним в нашей базе данных полиморфные сущности. Например, есть сущность CustomerOperation, которая отражает некоторую операцию, которую можно совершать над потребителем. Операции совершаются в основном через сервисы, поэтому есть наследник CustomerServiceOperation, а так же у нас есть механизм WebTracking’а, для которого есть WebTrackingOperation. Но довольно слов, лучше покажу код:
Читать полностью »

Привет, коллеги!

Совсем недавно мы анонсировали конференцию, посвященную Desktop UI & Business Application. В поддержку, чтобы посмотреть на настроения публики, была опубликована статья «WPF живее всех живых», которая оказалась дискуссионной и заставила нас в несколько другом свете взглянуть, на то, что и как мы хотим донести до широкой публики.

Как показали комментарии, не WPF единым живет десктоп разработка. Есть порты Qt для .NET, есть WinRT, если в эпсилон окрестности от дефолт-сити есть спецы по этим технологиям, которые хотят высказаться – у нас есть трибуна! Для этого все и задумано, чтобы показать различные варианты для ваших проектов.

Бэкенд и «золотые молотки» - 1

Буквально вчера закончилась онлайн конференция dotNetConf 2015, которую, исходя из сообщений, Microsoft скорее возродила, нежели придумала заново. Конференция, судя по содержанию старается покрыть все основные области использования языка, это мультиплатформенность, веб, десктоп, доставка приложений, интеграция с Xamarin, будущее .NET, .NET Core, Roslyn Analyzer и другие темы. На мой взгляд, это генеральная репетиция перед конференцией //build, которая состоится в конце апреля-начале мая.

Про золотые молотки

Кроме WPF для энтерпрайз разработчиков есть еще много тем, на которое можно поговорить, и львиная доля разговоров всегда упирается в бэкенд. Различных дизайн-шаблонов для корпоративных приложений очень много, и большая их часть посвящена бэкенду. Мартин Фаулер посвятил этому книгу, которая, насколько я смог увидеть за время тренингов, является настольной для многих разработчиков и тим-лидов. Из шаблонов, описанных там, вырастают конкретные инструменты, которые позволяют решать задачи наиболее эффективным способом.
Читать полностью »

Сегодня мы особенно рады сообщить что MSBuild (наверное, самая часто используемая и самая таинственная по документированности — прим. перев.) — теперь доступен на github и мы вносим его в список .NET Foundation! The Microsoft Build Engine (MSBuild) — это платформа для построения приложений. Вызывая msbuild на вашем проекте или решении, вы можете организовывать и строить свои продукты в окружениях, где нет установленной MS Visual Studio. Например, MSBuild используется чтобы строить такие Open Source проекты, как .NET Core Libraries и .NET Core Runtime.

MSBuild — в Open Source на github - 1

Ядро, библиотеки, миграция на Mac/Linux, msbuild… Еще немного и я поверю в выход на github MS Visual Studio =)
Читать полностью »

image

И вот мы здесь! Добро пожаловать на первый урок.

В этом уроке вы создадите ваши первые акторы и будете введены в основы Akka.NET.

Основные понятия / предпосылки


В этом первом уроке вы узнаете основы создания консольного приложения с вашей первой системой акторов и простыми акторами внутри. Мы создадим два актора, один для чтения с консоли, и один для записи после некоторой простой обработки.
Читать полностью »

image

В первой части вы изучите основы о том, как модель акторов и Akka.NET работают.

Концепции, которые вы узнаете


В *NIX системах есть tail утилита, встроенный мониторинг изменений в файле, которую Windows не имеет. Мы пересоздадим tail для Windows и в процессе будем изучать фундаментальные вещи.

В первой части мы узнаем:

  1. Как создать вашу собственную ActorSystem и акторы.
  2. Как отправлять сообщения акторов и как обрабатывать различные типы сообщений.
  3. Как использовать Props и ActorRef в построении слабосвязанных систем
  4. Как использовать пути акторов, их адреса, и ActorSelection для отправки сообщений акторам
  5. Как создать потомков акторов (child actors) и иерархию акторов, и как контролировать потомков используя SupervisionStrategy
  6. Как использовать жизненный цикл актора чтобы управлять поведением запуска, выключения и перезапуска актора

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

Для дотошных

В последнее время в среде разработчиков серверных приложений часто возникают споры о том, как лучше управлять фалами и какая технология обеспечивает более быстрые чтение/запись файлов. В сети стали появляться статьи и статейки о сравнительной производительность локальной файловой системы и GridFS. Или о хранении файлов в реляционной базе как BLOB против хранения на жёстком диске в файловой системе. Вот и я решил ввязаться в этот противостояние. Сегодня мы будем сравнивать производительность и накладные расходы MongoDB 2.6.7 x64 GridFS против MS SQL Server Express 2012 v11.0.5058.0 x64 против NTFS. Для эксперимента была использована платформа Windows 7 x64 SP1 на AMD Athlon(tm) II X2 250 Processor 3.00 GHz c 4ГБ ОЗУ 1033 MHz и HDD 600 Gb SATA 6Gb/s Western Digital VelociRaptor 10000rpm 32Mb. После каждого теста компьютер перезапускался, а базы обнулялись. Производительность будем рассматривать на примере файлового сервера на C# под .NET 4.5, код которого прикреплён к статье.
Читать полностью »

Введение в ASP.NET 5 - 1

Первый предварительный релиз ASP.NET 1.0 вышел практически 15 лет назад и с тех пор миллионы разработчиков использовали его чтобы создавать и запускать различные приложения., а мы на протяжении этих лет добавляли в совокупности колоссальное количество кода и возможностей.

Я сегодня сильно взволнован из-за того что пишу новость о новом релизе ASP.NET, над которым работает наша команда, и который называется ASP.NET 5. Этот релиз – одно из самых значимых обновлений архитектуры, которое мы делали когда-либо. В рамках этого релиза мы сделали ASP.NET более компактным, модульным и кросс-платформенным, а также ориентированным на облачные хостинги. ASP.NET 5 Preview доступна для скачивания в последнем Visual Studio 2015 CTP, которая стала доступна совершенно недавно.

ASP.NET 5 – web фреймворк с открытыми исходными текстами, который предназначен для создания современных web приложений и работы на Windows, Linux и Mac. Он включает фреймворк MVC 6 и Web API. ASP.NET 5 также станет базой для SignalR 3. Изначально ASP.NET 5 разработан для работы на .NET CoreCLR, но также может быть запущен и на полном .NET Framework.

C ASP.NET 5 мы внесли ряд архитектурных изменений, которые сделали ядро web фреймворка значительно более компактным (он более не нуждается в System.Web.dll) и модульным (теперь большинство функций сделано в виде NuGet пакетов, позволяя вам иметь в приложении только то, что вам необходимо). С ASP.NET 5 вы получаете следующие изменения:

  • Сборка и работа кросс-платформенных ASP.NET приложений на Windows, Linux и Mac.
  • Работа на .NET Core
  • Новый инструментарий, который упрощает разработку современных web приложений
  • Единый технологический стек для Web UI и Web APIs
  • Конфигурация, готовая для работы в облаке, и основывающаяся на окружении (Cloud-ready environment-based configuration)
  • Встроенная поддержка создания и использования NuGet пакетов
  • Встроенная поддержка Dependency Injection
  • Возможность хостироваться в IIS либо в вашем собственном приложении

И как конечный результат – ASP.NET, с которым вы хорошо знакомы, но который стал гораздо более хорошо подтюнен под современные реалии веб-разработки.
Читать полностью »


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