Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

1С, Linux, Excel, Word, OpenXML,ADO и Net Core

.NETC++1С-БитриксC#
Доброго времени суток хабратчане! Сегодня я продолжу мучить вас великим и могучим Руслишем. Это продолжение статей:

» Разработка → Кроссплатформенное использование классов .Net из неуправляемого кода. Или аналог IDispatch на Linux
» Разработка → Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux
» Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux II
» Асинхронное программирование в 1С через .Net Native ВК

С того времени я добавил использование расширений Linq. В этой статье я коснусь практического использования моей компоненты. А именно кроссплатформенной работой с файлами Excel и Word c помощью OpenXML и NetStandart.

Собственно ради чего эта разработка и задумывалась. Исходники были взяты отсюда. К сожалению без Nuget подключить библиотеку к проекту нельзя. Но через CoreClr его можно подключить. Справочную информацию по работе с OpenXML можно посмотреть здесь.
Как мне… (Open XML SDK)

Итак начнем с чтения страниц Excel. Задача преобразовать данные в ТаблицуЗначений.
Читать дальше →
Всего голосов 19: ↑11 и ↓8 +3
Просмотры7.3K
Комментарии 17

Анонс .NET Standard 2.0

.NETMono и MoonlightXamarinРазработка под Windows

Не так давно в сети появился пост Immo Landwerth, который рассказывает о .NET Standard 2.0
Если вкратце, то это унификация .NET для следующих веток .NET Framework, .NET Core и Xamarin. Выражаясь понятными словами это набор API, который будет реализован всеми платформами.

И сразу значительное изменение: .NET Standard заменит библиотеки PCL. Хотя для разработчиков суть и останется прежняя, реализация будет другой. Ездить машина будет, как и раньше, но изменится название и содержимое под капотом (пожалуй, в лучшую сторону).
Читать дальше →
Всего голосов 51: ↑40 и ↓11 +29
Просмотры36.2K
Комментарии 24

.NET Standard Library – адекватный стандарт?

.NETMono и MoonlightC#XamarinРазработка под Windows
Всякий раз, когда в текущем процессе появляются отклонения, надо задать следующие вопросы: «Это случилось потому, что у нас не было стандарта? Это случилось потому, что мы не следовали стандарту? Это случилось потому, что стандарт не был адекватным?»
Масааки Имаи (автор концепции Кайдзен)

image
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Просмотры31K
Комментарии 37

Развертывание .NET Core проекта в Azure Web App для Linux

.NETC#Microsoft Azure
Tutorial
Web Apps на базе Linux позволяет разработчикам запускать веб-приложения в Docker контейнерах для Linux. Это облегчает перенос существующих приложений, размещенных и оптимизированных для платформы Linux в Azure App Service. Кроме того, разработчики могут разворачивать приложения на различных языках программирования и платформах используя при этом уже знакомый инструментарий Docker и Azure App Service.

image
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры6.1K
Комментарии 4

Анатомия .NET Core: как мы настроили NTLM под Linux

Блог компании True Engineering.NETРазработка под Linux
Tutorial

Мы продолжаем рассказывать про миграцию мобильного сервиса в ASP.NET Core и Docker. В этой статье будет идти речь про модуль WCF-клиента, упомянутый в предыдущей статье, NTLM-авторизацию и другие проблемы при его миграции. Сейчас расскажем, почему нам пришлось немного изучить анатомию и пощупать .NET Core изнутри.


Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры11.7K
Комментарии 12

Генеалогическое древо внутри Git

Ненормальное программированиеGitGitHub

Поздравляю всех с днем программиста! Желаю больше ярких "коммитов", принятых "пулл-реквестов", меньше незапланированных "мержей" и чтобы ваши ветви жизни оставались актуальными как можно дольше. В качестве идейного подарка предлагаю реализацию генеалогического древа средствами системы контроля версий Git. Ну что же… звучит как план!


Kochurkins


Для тех, кто сразу все понял, выкладываю исходники генератора: GenealogyTreeInGit и сами генеалогические древа — мое и президентов США.


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

Читать дальше о реализации, подробностях, а также смотреть картинки
Всего голосов 44: ↑42 и ↓2 +40
Просмотры13.5K
Комментарии 8

ThinkingHome.Migrator — версионная миграция схемы базы данных на платформе .NET Core

MySQLPostgreSQL.NETMicrosoft SQL ServerSQLite

Привет! Сегодня я выпустил новую версию ThinkingHome.Migrator — инструмента для версионной миграции схемы базы данных под платформу .NET Core.


Пакеты опубликованы в NuGet, написана подробная документация. Вы уже можете пользоваться новеньким мигратором, а я расскажу, как он появился, почему у него номер версии 3.0.0 (хотя это первый релиз) и зачем он нужен, когда есть EF Migrations и FluentMigrator.

Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Просмотры4.7K
Комментарии 24

.NET гуру Дино Эспозито: «Не будь пассажиром поезда, идущего под откос»

Блог компании EPAM.NET
Recovery mode

Дино приезжал в Минск лишь однажды, и нам удалось пообщаться с ним между лекциями, которые он давал для .Net-чиков. Мы решили не быть банальными и поговорили с Дино не только о работе, но и о книгах, о будущем и о том, какой становится жизнь после 40.


image
Читать дальше →
Всего голосов 29: ↑26 и ↓3 +23
Просмотры16.1K
Комментарии 14

Как мы перевели конфигурирование наших сервисов с XML на YAML

Блог компании United Traders.NETC#Разработка под LinuxРазработка под Windows

Предыстория вопроса


Нашей компанией, среди прочего, разработаны несколько сервисов (точнее — 12), работающих бэкендом наших систем. Каждый из сервисов представляет собой Windows-службу и выполняет свои специфические задачи.

Хочется все эти сервисы перенести под *nix-ОС. Для этого надо отказываться от обёртки в виде Windows-служб и переходить с .NET Framework на .NET Standard.

Последнее требование приводит к необходимости избавиться от некоторого Legacy-кода, который не поддерживается в .NET Standard, в т.ч. от поддержки конфигурирования наших серверов через XML, реализованного с использованием классов из System.Configuration. Заодно таким образом решается и давняя проблема, связанная с тем, что в XML-конфигах мы время от времени ошибались при изменении настроек (например, иногда не туда ставили закрывающий тэг или забывали его вовсе), а замечательная читалка XML-конфигов System.Xml.XmlDocument молча проглатывает такие конфиги, выдавая совсем непредсказуемый результат.

Было решено перейти на конфигурирование через модный YAML. Какие проблемы при этом перед нами встали, и как мы их решили — в этой статье.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры4.5K
Комментарии 23

Работа с сервисом Managed Databases от Digital Ocean в .NET Core

PostgreSQL.NETОблачные сервисы


В том время, как у других облачных платформ уже давно есть свои решения для баз данных, Digital Ocean в этом сегменте до сегодняшнего дня ничего не предлагал. Но 14 февраля, в день всех влюбленных, компания решила сделать подарок своим клиентам и в режиме Limited Availability запустила сервис Managed Databases.

Поскольку Digital Ocean сейчас является довольно популярной платформой для хостинга небольшой проектов на .NET Core, я не мог обойти вниманием это событие.

Как работает сервис и какие есть нюансы при подключении к базе при использовании .NET Core в я расскажу в этой публикации.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры4K
Комментарии 3

Использование Identity Server 4 в Net Core 3.0

.NET
Tutorial

Введение


На одном из моих поддерживаемых проектов недавно встала задача проанализировать возможность миграции с .NET фреймворка 4.5 на .Net Core по случаю необходимости рефакторинга и разгребания большого количества накопившегося технического долга. Выбор пал на целевую платформу .NET Core 3.0, так как, судя по утверждению разработчиков от Microsoft, с появлением релиза версии 3.0, необходимые шаги при миграции legacy кода уменьшатся в несколько раз. Особенно нас в нем привлекли планы выхода EntityFramework 6.3 для .Net Core т.е. большую часть кода, основанную на EF 6.2, можно будет оставить «как есть» в мигрированном проекте на net core.


С уровнем данных, вроде, стало понятно, однако, еще одной большой частью по переносу кода остался уровень безопасности, который, к сожалению, после беглых выводов аудита придется почти полностью выкинуть и переписать с нуля. Благо, на проекте уже использовалась часть ASP NET Identity, в виде хранения пользователей и других приделанных сбоку «велосипедов».


Тут возникает логичный вопрос: если в security часть придется вносить много изменений, почему бы сразу же не внедрить подходы, рекомендуемые в виде промышленных стандартов, а именно: подвести приложение под использование Open Id connect и OAuth посредством фреймворка IdentityServer4.

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры54.2K
Комментарии 4

Быстрая интеграция с 1С: Предприятие

PHPPython.NET
Из песочницы
В данной статье я расскажу о наиболее простом, на мой взгляд, способе интеграции сторонних приложений с конфигурациями 1С. Статья будет интересна в первую очередь разработчикам, пишущим на .Net Core, PHP и Python.

Способов интеграции с 1С известно много, этому даже посвящена прекрасная статья от самой компании 1С. Из нее вы в частности узнаете, что 1С поддерживает механизмы web-сервисов, а значит мы можем реализовать свой собственный сервис на стороне 1С, и, как следствие, свою собственную ORM-библиотеку на стороне клиентского приложения. Об одной из таких и библиотек и пойдет речь далее.
Читать дальше →
Всего голосов 37: ↑26 и ↓11 +15
Просмотры25.9K
Комментарии 108

Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо

Разработка веб-сайтовПрограммирование.NETASPC#
Tutorial
Привет, Хабр!

Таки да, скоро выходит net core 3.0 и там будет шаблон проекта с Blazor как один из дефолтных. Название у фреймворка, по-моему, похоже на название какого-нибудь покемона. Блазор вступает в бой! Решил я значит глянуть что за зверь такой и с чем его едят поэтому сделал на нем Todo лист. Ну и на Vue.js тоже, для сравнения с сабжем потому что по моему они похожи система компонентов в обоих и реактивность и вот это все. Больше тудушек богу тудушек! По факту это Гайд для юных, не окрепших умов которым лень TypeScript или JavaScript учить а кнопочки и инпуты на сайте сделать хочется. Как в том меме -«Технарь хотел написать книгу но получилась инструкция». Кому интересны мои похождения в фронт энде или узнать что за Blazor такой добро пожаловать под кат.
Читать дальше →
Всего голосов 23: ↑17 и ↓6 +11
Просмотры13.4K
Комментарии 73

System.IO.Pipelines — малоизвестный инструмент для любителей высокой производительности

Высокая производительность.NETC#
Здравствуй, читатель. Прошло уже достаточно много времени с момента выхода .NET Core 2.1. И такие крутые нововведения, как Span и Memory, уже рассмотрены весьма широко, про них можно достаточно много прочитать, посмотреть и услышать. Однако, к сожалению, библиотека под названием System.IO.Pipelines не удостоилась такого же внимания. Почти все, что есть по этой теме — единственный пост, который многие перевели и разместили у себя. Информации должно быть однозначно больше, чтобы интересующиеся могли взглянуть на технологию с разных углов.


Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры15.6K
Комментарии 9

Family tree inside Git

Ненормальное программированиеGitGitHub
Перевод

Happy programmer's day! I wish you more bright commits, merged pull requests, less merge conflicts, and that your life branches remain relevant as long as possible. As a conceptual gift, I propose the implementation of a family tree by means of the Git version control system. Well… sounds like a plan!



For those who have immediately understood everything, I give links to the source code: GenealogyTreeInGit and family trees: mine and US presidents.


In addition, I implemented a simple social graph. It displays not only the degree of kinship, but also the status of relations between descendants, events such as wedding, divorce, childbirth, as well as contributions to the relations.

More about implementation, details, and pictures
Всего голосов 4: ↑4 и ↓0 +4
Просмотры2.9K
Комментарии 2

Сериализация и десериализация данных .NET Core vs Go

Блог компании ООО «Хоум Кредит Энд Финанс Банк».NETGo
Recovery mode

Привет, %username%


Передо мной была поставлена задача сравнить производительность при сериализации для .NET Core и Golang. Поискав в интернете, наткнулся на репозиторий. Рассматривается простой пример REST микросервиса. Это именно то, что нужно, подумал я. Посмотрев результаты тестирования, я был удивлен. Посмотрев исходный код, я понял, что не так. Вот что мне не понравилось:


  • Для сериализации и десериализации выбран массив из 3-х элементов. Этого явно недостаточно.
  • Для Golang не используются все возможности языка, а, как известно, встроенная библиотека encoding/json работает медленно.
  • В итоге автор сравнивает производительность веб-серверов kestrel и net/http.

Именно эти недочеты стали причиной более подробного рассмотрения производительности в рамках примера, описанного выше. Надеюсь, вам будет интересно узнать результаты.

Читать дальше →
Всего голосов 33: ↑18 и ↓15 +3
Просмотры6.3K
Комментарии 12

Девелопишь на .NET Core? Го в Ubuntu, я создал

Open source.NETC#Разработка под Linux
Tutorial
image
Photo by Kevin Horvat
Все 12 лет своей карьеры я работал с .NET и был крепко привязан к Windows и проприетарным инструментам разработки. Но, спасибо Microsoft, .NET Core все изменил и теперь разрабатывать для .NET можно почти на чем угодно и в чем угодно. Дело за малым — перетащить на Core свои проекты. Не так давно я решил и этот вопрос и завел трактор для полного переезда на Ubuntu.

Результат очень понравился — все взлетело, разрабатывать легко, а Docker и Kubernetes сделали процесс переезда намного легче. Но из-за слабого знания ОС, bash и запутанности вариантов установки некоторых инструментов (например, того же Docker) изначальная настройка заняла больше дня. То есть процесс довольно долгий и местами запутанный.

Дабы сэкономить время будущему себе и тем, кто также планирует попробовать разработку под Linux, я оформил все в виде скриптов. Их можно запустить на чистой Ubuntu и они все настроят пока ты сидишь и пьешь чаек. Также, при желании, их легко допилить под свои нужды.

Если для вас это звучит полезно — добро пожаловать под кат.
Читать дальше →
Всего голосов 26: ↑21 и ↓5 +16
Просмотры25.5K
Комментарии 39

.NET Core vs Framework. Производительность коллекций

.NETC#

image


Релиз .NET Core 3.1 — хороший повод мигрировать свой проект с Framework на Core. Во-первых, это отполированная версия с долгосрочной поддержкой (LTS), т.е. её можно смело использовать в продакшене. Во-вторых, в третьей версии добавили поддержку WPF и WinForms, так что теперь появилась возможность мигрировать и десктопные приложения.


Мне стало интересно, какой прирост производительности можно ожидать от Core в самых базовых классах, которые максимально часто используются в коде. Например, коллекции List, Array и Dictionary.


Если вам тоже интересно, как и почему изменилась производительность основных коллекций в Core 3 — прошу под кат!

Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Просмотры18.7K
Комментарии 40

Blazor Client Side Интернет Магазин: Часть 2 — CI/CD

Разработка веб-сайтовПрограммирование.NETASPC#


Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как я настроил CI/CD для него. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры3.9K
Комментарии 0

Blazor Client Side Интернет Магазин: Часть 3 — Витрина товаров

Разработка веб-сайтовПрограммирование.NETC#WebAssembly


Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него витрину товаров и сделал свои компоненты. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры2.3K
Комментарии 0
1