Після інституту я прийшов працювати в проектну компанію інженером-електриком. Всі розрахунки велися в програмі Excel, після чого необхідно було креслити схеми за розрахунковими даними, що займало багато часу. Крім того, при перенесенні даних з Excel в Autocad накопичувалися помилки. При зміні вихідних даних доводилося виправляти розрахунки, а потім і схеми. Загалом, купа марної роботи, яка забирала багато часу.
Добре, що AutoCAD надає широкі можливості для розробників в області автоматизації процесу проектування і допомагає економити сотні і тисячі годин роботи.
Був розроблений спеціальний плагін на базі .NET, який експортував дані з Excel і створював електричні схеми в AutoCAD.

Читати далі →

CEF, ES6, Angular 2, WebPack 2 .Net Core декстопное додаток без серверної частини

Це продовження статей:

CEF, ES6, Angular 2, TypeScript використання класів .Net Core. Створення міжплатформового GUI .Net за допомогою CEF
CEF, Angular 2 використання подій класів .Net Core

Основна ідея цих статей — створення кроссплатформенних додатків на CEF з використанням Angular 2 і .Net Core. Щоб відв'язатися від сервера, використовуємо свіжий WebPack і налаштуємо на локальне використання файлів.

Читати далі →

Mahou — чарівний перемикач розкладок

Як я створив першу функцію
Все почалося з того що я захотів програмувати на C#(до створення цієї програми у мене було майже ніяких знань про C#), і була одна програма, яка не працювала так, як я хотів (Punto Switcher) довго-довго я шукав до неї альтернативи і ненадовго зупинився на dotSwitcher подобалася вона мені… Але через деякий час я вирішив що їй не вистачає функціоналу і вирішив подивитися вихідний код, подекуди дещо як я розібрався як все працює, але більше всього не розумів одну річ — WinAPI, і почав z шукати інформацію по функціях використовуються в dotSwitcher і потроху я починав запам'ятовувати й розуміти сенс всього цього чарівництва (так мені тоді здавалося).
Читати далі →

Як запустити фоновий процес Asp.net

Мені знадобилося запустити фоновий процес ASP.NET. Виникло питання: як краще це зробити? Трохи погугливши в блозі SCOTT HANSELMAN, я знайшов запис «How to run Background Tasks in ASP.NET». Стаття не дуже нова – 2014 роки, але цілком актуальна, тому я вирішив перекласти її на російську мову.

Читати далі →

CEF, Angular 2 використання подій класів .Net Core

Це продовження статті CEF, ES6, Angular 2, TypeScript використання класів .Net Core для розширення можливостей.

Як і очікувалося, вона не привернула особливої уваги. Але величезне спасибі тим, кого зацікавила моя творчість. Саме ви даєте мені стимул на продовження пошуків.

Хочу трохи зупинитися на CEF.

Це багатоплатформовий браузер (з ядром використовуваним Google Chrome), з неограаниченными розширенням за рахунок використання альтернатива на С++, що дозволяє писати повноцінне крооссплатформенное декстопное додаток з UI.

Сьогодні я покажу як використовувати події об'єктів .Net Core класів у Angular 2.
Багато прочитавши мою першу статтю наводили аргумент, що замість використання класів .Net можна використовувати HTTP сервіси.

Але ось з подіями ми можемо робити повноцінне декстопное додаток використовуючи торгове обладнання, обмін даними по різних протоколах, використання месенджерів ітд ітп.

Для прикладу візьмемо клас з подіями.

Читати далі →

Структура "Feature Folders" ASP.NET Core MVC



Перша версія ASP.NET MVC з'явилася ще в 2009 році, а перший перезапуск платформи (ASP.NET Core) почав поставлятися з минулого літа. Протягом цього часу структура проекту за замовчуванням залишилася майже незмінною: папки для контролерів, уявлень (views) і часто для моделей (або, можливо, ViewModels). Такий підхід називається Tech folders. Після створення нового проекту ASP.NET Core MVC організаційна структура папок має наступний вигляд:


У чому проблема зі структурою папок за замовчуванням?
Великі веб-додатки вимагають кращої організації ніж маленькі. Коли є великий проект, організаційна структура папок, що використовується за умовчанням в ASP.NET MVC (і Core MVC), перестає працювати на вас.

Читати далі →

CEF, ES6, Angular 2, TypeScript використання класів .Net Core для розширення можливостей

Мене всі питають — «Навіщо це потрібно?». На що я гордо відповідаю — «Я в 1С використовую для доступу до торговельного обладнання, до Веб-сервісів по ws-протоколах, готовим компонентів. 1С, Linux, Excel, Word, OpenXML,ADO і Net Core. Крім того, зроблю передачу JS об'єктів на бік .Net з використанням через DynamicObject.

Можна зробити певну конфігурацію CEF для всіх платформ і можна робити кросспалатформенные декстопні програми. Як аналог Electron. .Net Core розвивається і можна досить легко перевести програми під WPF і UWP на Angular 2» зробивши опис класів і використовувати IntelliSense при кодуванні на TS.

Але я прекрасно розумію, що це всього лише пишномовні слова, і мало кому це потрібно. Але мені дуже цікаво, особливо після програмування на 1С.

Читати далі →

Анонс DotNext 2017 Piter: Jon Skeet в Петербурзі

19-20 травня в Петербурзі відбудеться восьма за рахунком .NET-конференція DotNext 2017 Piter. За чотири роки багато що змінилося, конференція зросла як за кількістю учасників, так і за рівнем спікерів. За прикладами далеко ходити не треба: у грудні 2016 року 500 учасників могли за один день послухати понад 20 доповідей, 10 з яких готували Microsoft MVP зі всього світу.



Що ми зробили, щоб наступний DotNext 2017 Piter зміг стати ще краще?
  • На ній виступить Jon Skeet і інші MVP;
  • Конференція пройде протягом двох днів;
  • Доповіді будуть орієнтовані на практичну застосовність;
  • Можливо, організуємо тренінг Sasha Goldshtein;
Подробиці під катом.

Читати далі →

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


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