Уявімо, що ви хочете перетворити свою систему з одного стану в інший. Початковий стан — це коли DateTime використовується скрізь, в C# коді і в БД. Кінцевий стан — коли скрізь використовується DateTimeOffset. Ви хочете зробити перехід плавно і внести якомога менше змін. Цей опис може бути початком дуже цікавою завдання з тупиком в кінці.

Читати далі →

Як тільки Microsoft оголосила про те, що .NET стане opensource і зможе працювати не тільки на Windows, але і на інших операційних системах, що було дуже актуально у зв'язку з намітився трендом на імпортозаміщення, перехід на Linux і т. п., мене зацікавив цей проект. Я став шукати інформацію. І Віртуальної Академії Microsoft знайшов курс «what's New with ASP.NET 5». Але проект ще тільки розвивався. Вносилися зміни. Версії не завжди були сумісні між собою. І я вирішив почекати, поки процес стабілізується. З'явиться фінальна версія. І, можливо, виправлення до фінальної версії, як це нерідко трапляється.

В результаті замість ASP.NET 5 у результаті з'явилися .NET Core 1.0 ASP.NET Core 1.0. Існуючий «повний» фреймворк .NET був обмежений Windows .NET Core став кросплатформним і націлений на роботу в хмарі. Я вирішив повернутися до його вивчення і подивитися, що зараз мені можуть запропонувати Віртуальної Академії Microsoft.
І ось, що я знайшов для себе.

Читати далі →

Ця замітка містить ряд хитрощів, що дозволяють скоротити код, одержаний після застосування патерну «стратегія». Як неважко здогадатися з назви, всі вони так чи інакше пов'язані з використанням generic-типів.

Читати далі →

Зміна вмісту Web.config в runtime при налагодженні Visual Studio і IISExpress

Технологічно в цій статті нічого нового, просто ще одне корисне застосування winapi-хуків для вирішення специфічної проблеми.

При роботі з веб-проектами в Visual Studio існує одна неприємна дрібниця — при використанні в процесі розробки декількох бранчів, кожен з яких повинен використовувати свою копію оточення (наприклад базу даних, або якісь зовнішні сервіси), виникає проблема з конфігураційними файлами в момент налагодження IISExpress використовує тільки основний web.config в папці проекту, де зазвичай всякі connection strings містять значення за замовчуванням і де немає ніяких специфічних для бранчу налаштувань, і ніяких трансформацій при запуску до нього не застосовується. Можна звичайно примусово або автоматично, або вручну, застосовувати трансформації до web.config, але по-перше змінений файл буде постійно висіти в pending changes, що створює ризик коміта небажаних змін, які потім потраплять в інші бранчі, а по-друге це створює масу незручностей при його редагуванні, оскільки перед комітом будь-яких змін у конфігураційному файлі такі трансформації доведеться прибирати вручну.

Розглянемо як цього уникнути.

Читати далі →

Розбір доповіді Андрія Акіньшина про арифметику

Всім привіт, готовий ще один розбір. Сьогодні будемо дивитися доповідь не з JPoint, а з DotNext! Автор доповіді   Андрій DreamWalker Акіньшин, і присвячене його виступ деталей реалізації арифметики з плаваючою точкою .NET:

Слайди можна знайти на .

Дисклеймер: про реалізацію арифметики тільки сам розбирається доповідь, а не власне стаття.

Читати далі →

OdataToEntity легкий спосіб створення .Net Core OData сервісів


Коли вийшов .Net Core, стара версії OData ASP.NET Web API виявилася несумісною з новою платформою. Цей фатальний недолік дозволив мені створити свою реалізацію OData на платформі .Net Core. В результаті творчого переосмислення попередньої реалізації прийшло розуміння, що вона страждала від переусложненного дизайну з великою кількістю непотрібних абстракцій. Виникла ідея створити просту у використанні, вимагає мінімального кодування бібліотеку. Уявляю вашій увазі OdataToEntity, бібліотеку створення OData сервісів без написання коду, потрібен тільки контекст доступу до даних.
Читати далі →

DotNext 2016 Moscow: Спокій після бурі



У червні, коли конференція DotNext проходила в Петербурзі .NET-світ переживав складний момент: Microsoft раптово змінювала багато .NET Core вже на стадії release candidate. Тепер, коли пройшла московська версія конференції, можна порівняти і зрозуміти: як минулі півроку позначилися на ситуації? А які доповіді московської були присвячені не останнім потрясінь, а «вічних проблем»? На Хабре вже з'явився відгук очима глядача, а тепер ми публікуємо свій текст.

Читати далі →

WildData: легкий фреймворк доступу до даних

Доброго часу доби, %username%! Ось і я зважився на написання статті на даному ресурсі. Мова піде про доступ до даних з додатків написаних на .NET, зокрема на мові C#. Всі мої думки, і у що вони в підсумку вилилися, я спробую викласти під катом. Ласкаво просимо!

Читати далі →

Митап спільноти MSK.NET у «Лабораторії Касперського»

Як відомо, платформа .NET активно використовується безліччю програмістів по всьому світу. Є у неї чимало шанувальників і в Москві. Зокрема, це співтовариство MSK .NET, яка проводить регулярні зустрічі, де учасники обговорюють нові підходи, хінти і практики розробки для цієї платформи.

Серед учасників спільноти є і наші співробітники — адже в наших проектах .NET також активно використовується. Тому чергову зустріч MSK .NET було вирішено провести у нас, в штаб-квартирі «Лабораторії Касперського».

image
На зустрічі, яка відбудеться 14 листопада в 19:00, разом з експертами ми поговоримо про прийоми оптимізації desktop-додатків і діагностики проблем .NET.


Читати далі →