З радістю запрошуємо вас 7 і 8 березня в 19:00 (МСК) приєднатися до онлайн-трансляции запуску Visual Studio 2017! Де ви отримаєте можливість не лише завантажити нову версію улюбленого інструмента, але і разом з нами відсвяткувати 20 років Visual Studio!



Читати далі →



Привіт! Мене звуть Паша Матлашов. Я Director of Game Server Development Department в ігровій компанії Plarium.

Сьогодні на прикладі наших проектів я розповім про особливості кешування, підводних каменях і про те, як їх обійти.

Читати далі →

Всім добрий день. Я хочу представити на суд громадськості (ще один) простий спосіб зробити локалізацію додатків. Стандартний механізм з ресурсними збірками мене не влаштовує з наступних причин:
  1. Отримуючи значення локалізованої рядка в коді, дуже хочеться покладатися на всю міць ООП і підказки компілятора. Дуже неприємно зібрати проект ввечері в п'ятницю, а вранці в суботу отримати дзвінок від впахивающих overtime QA на тему того, що хтось неуважний написав GetResource(«asdf») замість GetResource(«assf»), і тепер щось падає або неправильне, а проект в понеділок вже здавати у друк ...
  2. (В продовження попереднього пункту...) Писати string foo = language.Ui.PromtDialog.AdditionalQuestion просто приємніше, ніж string foo = Resources.GetResource(«Ui_PromtDialog_AdditionalQuestion»). Так, в тому числі і за рахунок підказок компілятора.
  3. Іноді локалізувати потрібно не рядки, а цілі об'єкти. Наприклад, іменник (рядок + рід М/Ж/З/Мн) і прикметник (рядок М + рядок Ж + рядок З + рядок Мн). Пхати в ресурси сериализованную рядок, а потім діставати і десериализовать кожен раз? Мсьє знає толк в збоченнях...
  4. Ресурсний файл — це плоский список рядків, а хотілося б, щоб все-таки мали більш складну ієрархічну структуру, за якої не потрібно повзати з допомогою Ctrl+F.
  5. Створення нової мови має бути настільки простим, наскільки це можливо. Локалізувати додаток повинен бути здатний людина, що вміє поводитися з комп'ютером і володіє потрібними мовами. І йому для цього не потрібні ні Visual Studio, ні метушня з створенням ресурсних збірок.
Ще одна обов'язкова вимога — можливість простій прив'язки до локалізації елементів UI. Бажано — одночасно і WPF, і WinForms.

Читати далі →

Як тільки 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.
І ось, що я знайшов для себе.

Читати далі →

Ця стаття присвячена створенню моделі даних, яка красиво лягала б на SQL і містила в собі «правильне» ООП спадкування. Треба сказати, що ця задача виникала у мене в різний час на різних проектах, і вирішувалася вона там теж по-різному. Назви підходів взяті з ситуації на відповідних проектах термінології.

Читати далі →

нещодавно Вирішив написати невелике ASP.Net MVC додаток після багаторічної перерви і знаючі люди на Хабре підказали спробувати новий ASP.Net Core, тим більше, що він працює в Лінуксі з коробки без необхідності задіяти mono, і, судячи з останніми тестами, навіть показує непогану продуктивність. За основу взяв аналогічну статтю для Mac, але тут на відміну від надихнула мене статті хочу описати процес покроково в одному місці, для того, щоб не довелося лазити по перехресним посиланням, намагаючись розібратися як встановити незрозуміло для чого призначені програми та пакети. Таке докладний опис процесу можливо допоможе багатьом уникнути граблів, з якими довелося зіткнутися мені. Кілька фраз і малюнків, в частині однаковою для будь-якої платформи, з правками і доповненнями взяті з статті для Mac.


Читати далі →

У світі .NET все чудово — платформа рухається в правильному напрямку, нові технології вдосконалюються і стають на ноги. Останнім часом багато розмов про .NET/ASP.NET Core, і здається, що всі забули про Roslyn, який надає широкі документовані можливості по роботі з кодом як під час рантайма, так і в процесі розробки.


Щоб виправити це, ми взяли інтерв'ю у Filip W, Microsoft MVP, контрибьютора Roslyn і просто одного з найбільш популярних у світі ASP.NET блогерів. Чому Filip вважає, що зміни в новому# можуть пройти непоміченими, навіщо писати власні аналізатори коду, а також чому скриптінг на C# краще, ніж будь скриптовом мовою?

Читати далі →