С чего начать переход на .NET Core
От: Министр Промышленности СССР  
Дата: 07.10.19 07:42
Оценка: :)
есть внушительный опыт .NET разработки (практически с момента его первого релиза)
но .NET Core до сих пор не зацепил
а чувствую, что надо эту работу найти уже с ним

соответственно за неделю-2-три надо полностью прокачать его
как это делать?
есть известные грамотные пособия?
на русском?
Re: С чего начать переход на .NET Core
От: Kolesiki  
Дата: 07.10.19 08:35
Оценка: +1 :)))
Здравствуйте, Министр Промышленности, Вы писали:

МП>как это делать?


Ну я б посоветовал начать с психиатора. Классические темы "как не поддаваться хайпу", "не всё то золото, что блестит", "компания, продающая инструменты, делает деньги НА ВАС, а не на том, что вы делаете этими инструментами", "трезвая оценка технологий, включая бизнес-взгляд" и т.п.
Я не шучу. Core — это, мягко говоря, "игры мелкомягких индусов в швабодку". Завтра этих танцоров разгонят к чертям, а ты останешься со своим Корем и верой "это работает везде". А оно вам надо — "везде"??

Я лично занимаюсь корой ТОЛЬКО в силу того, что в задаче есть RaspberryPI и там идеальное решение — Raspbian + Core + наша программа (потому что мы не хотим распаляться на десятки языков — везде только C#).
Как человек, прошедший аналогичную вам дорогу, КРАЙНЕ рекомендую воздерживаться от Коры. По кр. мере в продакшене. Вы-то — всего лишь программистик, небольшой винтик в механизме фирмы, а если вы зафэйлите проект из-за того, что Кора не всё поддерживает (или сторонняя библиотека тупит), то будет очень неприятная ситуация.
Re: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 11:10
Оценка: 13 (4)
Здравствуйте, Министр Промышленности, Вы писали:

МП>есть внушительный опыт .NET разработки (практически с момента его первого релиза)

МП>но .NET Core до сих пор не зацепил
МП>а чувствую, что надо эту работу найти уже с ним

МП>соответственно за неделю-2-три надо полностью прокачать его

МП>как это делать?
МП>есть известные грамотные пособия?
МП>на русском?
Специальных пособий не видел.
Никаких шевелений ИМХО не нужно делать особенных.
Просто нужно понять-что вся платформенная специфика(вроде IOCP и GUI)-в .NET Core отсохла по очевидным причинам.
И все.
Я портировал прорву (сотни и сотни тысяч строк) нетривиального кода на .NET Core c .NET Framework, в том числе unsafe, из проблем было несколько иное поведение сетевого стека в ряде нетривиальных случаев, с которыми пришлось разбираться.
И под лупой необходимо изучить все ручки GC, которые вывели наружу в .NET Core и которые могут быть очень полезны в некоторых задачах, а также пулинг массивов и все прочие приятности, что имеют место в .NET Core "из коробки".
Чуть не забыл, одна из внезапных засад на .NET Core-это очень медленная генерация GUID. Было несколько итераций починки производительности командой разработчиков, но все равно, на Linux'е генерация GUIDов более тяжелая операция, чем на Windows(edited: устаревшая инфа, все таки пришли к тождественности результатов спустя 3+ года )
Я на этом встрял несколько лет назад, у меня order flow миллионы ордеров в секунду, и как оказалось-ID в виде Guid под Linux'ом была откровенно плохая затея, пришлось извращаться.
Отредактировано 07.10.2019 11:49 Hardballer . Предыдущая версия . Еще …
Отредактировано 07.10.2019 11:48 Hardballer . Предыдущая версия .
Re[2]: С чего начать переход на .NET Core
От: Sharov Россия  
Дата: 07.10.19 11:26
Оценка: :)
Здравствуйте, Hardballer, Вы писали:

H>Чуть не забыл, одна из внезапных засад на .NET Core-это очень медленная генерация GUID. Было несколько итераций починки производительности командой разработчиков, но все равно, на Linux'е генерация GUIDов более тяжелая операция, чем на Windows.

H>Я на этом встрял, у меня order flow миллионы ордеров в секунду, и как оказалось-ID в виде Guid под Linux'ом была откровенно плохая затея, пришлось извращаться.

Это почему так? Что в этом такого, что на линуксе в разы медленнее?
Кодом людям нужно помогать!
Re[2]: С чего начать переход на .NET Core
От: Министр Промышленности СССР  
Дата: 07.10.19 11:36
Оценка:
K>Ну я б посоветовал начать с психиатора. Классические темы "как не поддаваться хайпу", "не всё то золото, что блестит", "компания, продающая инструменты, делает деньги НА ВАС, а не на том, что вы делаете этими инструментами", "трезвая оценка технологий, включая бизнес-взгляд" и т.п.
K>Я не шучу. Core — это, мягко говоря, "игры мелкомягких индусов в швабодку". Завтра этих танцоров разгонят к чертям, а ты останешься со своим Корем и верой "это работает везде". А оно вам надо — "везде"??
K>Я лично занимаюсь корой ТОЛЬКО в силу того, что в задаче есть RaspberryPI и там идеальное решение — Raspbian + Core + наша программа (потому что мы не хотим распаляться на десятки языков — везде только C#).
K>Как человек, прошедший аналогичную вам дорогу, КРАЙНЕ рекомендую воздерживаться от Коры. По кр. мере в продакшене. Вы-то — всего лишь программистик, небольшой винтик в механизме фирмы, а если вы зафэйлите проект из-за того, что Кора не всё поддерживает (или сторонняя библиотека тупит), то будет очень неприятная ситуация.

ну я его как бы решил изучить только потому, что в вакансиях он требуется
и есть ожидание, что будет требоваться и дальше всё больше

а впрочем, всегда можете отметиться в этой
Автор: Министр Промышленности
Дата: 01.10.19
теме
Re[2]: С чего начать переход на .NET Core
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 07.10.19 11:36
Оценка: -1 :))) :)
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, Министр Промышленности, Вы писали:

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

См. выделенное. Надо быть полным дураком, чтобы министра программистиком назвать. Если министр что-то зафейлит, то его максимум в губернаторы сошлют.
Re[3]: С чего начать переход на .NET Core
От: Министр Промышленности СССР  
Дата: 07.10.19 11:38
Оценка:
K>>Здравствуйте, Министр Промышленности, Вы писали:
K>>Вы-то — всего лишь программистик, небольшой винтик в механизме фирмы, а если вы зафэйлите проект из-за того, что Кора не всё поддерживает (или сторонняя библиотека тупит), то будет очень неприятная ситуация.

N>См. выделенное. Надо быть полным дураком, чтобы министра программистиком назвать. Если министр что-то зафейлит, то его максимум в губернаторы сошлют.


ключевое слово — самопровозглашённый
такой отвечает
Re[3]: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 11:39
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, Hardballer, Вы писали:


H>>Чуть не забыл, одна из внезапных засад на .NET Core-это очень медленная генерация GUID. Было несколько итераций починки производительности командой разработчиков, но все равно, на Linux'е генерация GUIDов более тяжелая операция, чем на Windows.

H>>Я на этом встрял, у меня order flow миллионы ордеров в секунду, и как оказалось-ID в виде Guid под Linux'ом была откровенно плохая затея, пришлось извращаться.

S>Это почему так? Что в этом такого, что на линуксе в разы медленнее?


Начало проблемы тут https://github.com/dotnet/corefx/issues/3573, закончилось в итоге в последующих релизах выпиливанием использования libuuid в .NET Core с рукопашной реализацией.
Re[3]: С чего начать переход на .NET Core
От: okon  
Дата: 07.10.19 11:43
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, Hardballer, Вы писали:


H>>Чуть не забыл, одна из внезапных засад на .NET Core-это очень медленная генерация GUID. Было несколько итераций починки производительности командой разработчиков, но все равно, на Linux'е генерация GUIDов более тяжелая операция, чем на Windows.

H>>Я на этом встрял, у меня order flow миллионы ордеров в секунду, и как оказалось-ID в виде Guid под Linux'ом была откровенно плохая затея, пришлось извращаться.

S>Это почему так? Что в этом такого, что на линуксе в разы медленнее?


Тоже не совсем понятно
https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Guid.Windows.cs
https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Guid.Unix.cs

p.s. судя по всему уже пофиксили
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Отредактировано 07.10.2019 11:45 okon . Предыдущая версия .
Re[4]: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 11:44
Оценка:
Здравствуйте, okon, Вы писали:

O>Здравствуйте, Sharov, Вы писали:


S>>Здравствуйте, Hardballer, Вы писали:


H>>>Чуть не забыл, одна из внезапных засад на .NET Core-это очень медленная генерация GUID. Было несколько итераций починки производительности командой разработчиков, но все равно, на Linux'е генерация GUIDов более тяжелая операция, чем на Windows.

H>>>Я на этом встрял, у меня order flow миллионы ордеров в секунду, и как оказалось-ID в виде Guid под Linux'ом была откровенно плохая затея, пришлось извращаться.

S>>Это почему так? Что в этом такого, что на линуксе в разы медленнее?


O>Тоже не совсем понятно

O>https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Guid.Windows.cs
O>https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Guid.Unix.cs

Это сейчас. В ранних релизах, с которых я начинал-было все катастрофически хуже
https://github.com/dotnet/corefx/issues/3573
Отредактировано 07.10.2019 11:46 Hardballer . Предыдущая версия .
Re[3]: С чего начать переход на .NET Core
От: pugv Россия  
Дата: 07.10.19 11:46
Оценка: 2 (1) +3 -1 :)
Здравствуйте, Министр Промышленности, Вы писали:

МП>ну я его как бы решил изучить только потому, что в вакансиях он требуется

МП>и есть ожидание, что будет требоваться и дальше всё больше

Не обращай внимания, Kolesiki — это местный микрософтоненавистник. Правда зачем-то продолжает есть кактус.
Re[2]: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 11:53
Оценка: +1 -1
Здравствуйте, Kolesiki, Вы писали:

K>Как человек, прошедший аналогичную вам дорогу, КРАЙНЕ рекомендую воздерживаться от Коры. По кр. мере в продакшене. Вы-то — всего лишь программистик, небольшой винтик в механизме фирмы, а если вы зафэйлите проект из-за того, что Кора не всё поддерживает (или сторонняя библиотека тупит), то будет очень неприятная ситуация.

У тебя не дорога, а так, тропинка
Ты похоже и есть винтик в исполняемом механизме, не понимающий, что благодаря .NET Core стоимость эксплуатации высоконагруженной инфраструктуры, насчитывающей сотни ядер-в десятки раз дешевле(если просто по стоимости лицензий посчитать).
Ну нет у тебя задачи экономии бюджетов на IT. И не стояла никогда.
Re[3]: С чего начать переход на .NET Core
От: Ночной Смотрящий Россия  
Дата: 07.10.19 12:23
Оценка:
Здравствуйте, Hardballer, Вы писали:

H>Ты похоже и есть винтик в исполняемом механизме, не понимающий, что благодаря .NET Core стоимость эксплуатации высоконагруженной инфраструктуры, насчитывающей сотни ядер-в десятки раз дешевле(если просто по стоимости лицензий посчитать).


Откуда там в десятки раз? В 2-3 раза.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: С чего начать переход на .NET Core
От: Ночной Смотрящий Россия  
Дата: 07.10.19 12:23
Оценка:
Здравствуйте, Hardballer, Вы писали:

H>Никаких шевелений ИМХО не нужно делать особенных.

H>Просто нужно понять-что вся платформенная специфика(вроде IOCP и GUI)-в .NET Core отсохла по очевидным причинам.

Это куда в Core отсох IOCP? Да и GUI в 3.0 вернули.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: С чего начать переход на .NET Core
От: s_aa Россия  
Дата: 07.10.19 12:28
Оценка: +1
Столкнулся с разным поведением в криптографии под Windows и Linux...
public X509Certificate2 (byte[] rawData);
Про данный конструктор написано

Этот конструктор создает новый X509Certificate2 объект, используя сведения о сертификате из массива байтов. Массив байтов может представлять собой двоичные данные X. 509 в кодировке DER или Base64.

Под виндой я передавал в качестве параметра напрямую байты прочитанные из .cert файла в base64.
Под линуксом это не работает, пришлось перегнать байты в строку, потом декодировать base64, а потом уже в конструктор
var str = System.Text.Encoding.Default.GetString(rowData);
var rawData1 = Convert.FromBase64String(str);
var x509 = new X509Certificate2(rowData1);
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Re[3]: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 12:31
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Hardballer, Вы писали:


H>>Никаких шевелений ИМХО не нужно делать особенных.

H>>Просто нужно понять-что вся платформенная специфика(вроде IOCP и GUI)-в .NET Core отсохла по очевидным причинам.

НС>Это куда в Core отсох IOCP? Да и GUI в 3.0 вернули.


IOCP в Linux'е отродясь не было, а только epoll.
Учим матчасть.
Я пока на 2.2 сижу, где GUI нет. Да и не нужен он мне.
Отредактировано 07.10.2019 12:32 Hardballer . Предыдущая версия . Еще …
Отредактировано 07.10.2019 12:32 Hardballer . Предыдущая версия .
Re[4]: С чего начать переход на .NET Core
От: Hardballer  
Дата: 07.10.19 12:37
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Hardballer, Вы писали:


H>>Ты похоже и есть винтик в исполняемом механизме, не понимающий, что благодаря .NET Core стоимость эксплуатации высоконагруженной инфраструктуры, насчитывающей сотни ядер-в десятки раз дешевле(если просто по стоимости лицензий посчитать).


НС>Откуда там в десятки раз? В 2-3 раза.


Да ну ?
Ты вообще в курсе на стоимость лицензий Windows Datacenter Edition на физических не виртуализированных серваках с 64+ ядрами и 1Тб памяти?
Отредактировано 07.10.2019 12:38 Hardballer . Предыдущая версия .
Re: С чего начать переход на .NET Core
От: LaptevVV Россия  
Дата: 07.10.19 12:51
Оценка: 7 (2) +1
МП>есть известные грамотные пособия?
МП>на русском?
Есть: https://www.labirint.ru/books/647975/ — только написано для начинающих.
Еще есть, естественно, Троелсен.
Еще есть Фримен, но там ASP.NET
Этих не читал. По опыту знаю, что Фримен пишет неплохо.
А Троелсен — все валит в одну книжку, но неглубоко.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: С чего начать переход на .NET Core
От: Ночной Смотрящий Россия  
Дата: 07.10.19 13:13
Оценка:
Здравствуйте, Hardballer, Вы писали:

H>Да ну ?

H>Ты вообще в курсе на стоимость лицензий Windows Datacenter Edition на физических не виртуализированных серваках с 64+ ядрами и 1Тб памяти?

В курсе. Я еще я в курсе сколько стоят виртуалки винды и линукса в Ажуре.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: С чего начать переход на .NET Core
От: Ночной Смотрящий Россия  
Дата: 07.10.19 13:13
Оценка:
Здравствуйте, Hardballer, Вы писали:

H>IOCP в Linux'е отродясь не было, а только epoll.

H>Учим матчасть.

В дотнете тоже никакого IOCP в голом виде не было. Все завернуто в асинхронные методы, которые на Линухе вполне реализуемы.
Ну и аналог IOCP в линуксе это aio

H>Я пока на 2.2 сижу


Это аргумент что ли?

H>, где GUI нет. Да и не нужен он мне.


Зачем нам об этом знать?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.