Reciprocal throughput.
Современные процессоры очень круты. Они таят в себе великое множество секретов и невероятных возможностей. И просто восхитительно, что некоторые из способностей процессоров легко продемонстрировать даже из такого высокоуровневого языка, как C#, буквально за десять строчек кода.
Подробности: https://habr.com/ru/companies/skbkontur/articles/737858/
Современные процессоры очень круты. Они таят в себе великое множество секретов и невероятных возможностей. И просто восхитительно, что некоторые из способностей процессоров легко продемонстрировать даже из такого высокоуровневого языка, как C#, буквально за десять строчек кода.
Подробности: https://habr.com/ru/companies/skbkontur/articles/737858/
Хабр
Reciprocal throughput
В предыдущих сериях ThreadPool. async/await #dotnet #threadpool #il_code yield return #dotnet #il-code Пародия на замыкания #dotnet #methods #gc ThreadPool.Intro #dotnet #threadpool...
Forwarded from devdigest // dot net
👋 Приветствуем вас!
На нашем канале всегда много свежей и полезной информации для .NET разработчиков!
Это сообщение - приглашение для ваших коллег, друзей и знакомых, которые также работают в этой сфере или хотят начать свой путь в .NET разработке. Если вы цените нашу работу и хотите поделиться полезными знаниями, перешлите это сообщение и пригласите их присоединиться к нам! 👈
Оставайтесь в курсе всех новинок вместе с нами!
Спасибо, что вы с нами!
На нашем канале всегда много свежей и полезной информации для .NET разработчиков!
Это сообщение - приглашение для ваших коллег, друзей и знакомых, которые также работают в этой сфере или хотят начать свой путь в .NET разработке. Если вы цените нашу работу и хотите поделиться полезными знаниями, перешлите это сообщение и пригласите их присоединиться к нам! 👈
Оставайтесь в курсе всех новинок вместе с нами!
Спасибо, что вы с нами!
Telegram
devdigest // dot net
Главные новости из мира .NET
Все про C#, F# и VB
Все про C#, F# и VB
Telegram API и библиотека TDLib для .NET платформ.
В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.
Подробности: https://habr.com/ru/companies/timeweb/articles/741340/
В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.
Подробности: https://habr.com/ru/companies/timeweb/articles/741340/
Хабр
Telegram API и библиотека TDLib для .NET платформ
Доброго времени суток! В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем...
До последнего байта: минимальный вариант Hello World для .NET.
Каково минимальное количество байт, которые необходимо сохранить в исполняемом .NET-файле, чтобы CLR напечатала "Hello, World!" в консоли стандартного вывода?
В этом статье автор исследовал пределы файлового формата модулей .NET. Ужал модуль, насколько это вообще возможно, но чтобы при этом он остался функционален и работал как обычный исполняемый файл на типичной машине с Windows, где установлен .NET Framework.
Подробности: https://habr.com/ru/articles/748372/
Каково минимальное количество байт, которые необходимо сохранить в исполняемом .NET-файле, чтобы CLR напечатала "Hello, World!" в консоли стандартного вывода?
В этом статье автор исследовал пределы файлового формата модулей .NET. Ужал модуль, насколько это вообще возможно, но чтобы при этом он остался функционален и работал как обычный исполняемый файл на типичной машине с Windows, где установлен .NET Framework.
Подробности: https://habr.com/ru/articles/748372/
Хабр
До последнего байта: минимальный вариант Hello World для .NET
Вот вам тупой вопрос, который вы сами, наверное, никогда себе не задавали. Каково минимальное количество байт, которые необходимо сохранить в исполняемом .NET-файле, чтобы CLR напечатала "Hello,...
Ozon открыл набор на восьмой поток бесплатных курсов для middle-специалистов Route 256
Актуально для инженеров, которые хотят перейти на Go, освоить микросервисы на C# или автотесты на Go.
А самое интересное — здесь вы узнаете, как все это применяется в Ozon, лидирующем e-com.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Как попасть на курс?
Оставь заявку на сайте ➡️ 27 августа пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов.
Курсы прошли уже более 1000 человек, многие их них присоединились к команде Ozon!
Регистрация на курс
Актуально для инженеров, которые хотят перейти на Go, освоить микросервисы на C# или автотесты на Go.
А самое интересное — здесь вы узнаете, как все это применяется в Ozon, лидирующем e-com.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Как попасть на курс?
Оставь заявку на сайте ➡️ 27 августа пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов.
Курсы прошли уже более 1000 человек, многие их них присоединились к команде Ozon!
Регистрация на курс
Сказка про For vs Foreach.
Ходят слухи, что foreach быстрее for. А ещё ходят слухи, что for быстрее foreach. Пора разобраться, что быстрее!
Подробности: https://habr.com/ru/companies/skbkontur/articles/743454/
Ходят слухи, что foreach быстрее for. А ещё ходят слухи, что for быстрее foreach. Пора разобраться, что быстрее!
Подробности: https://habr.com/ru/companies/skbkontur/articles/743454/
Хабр
Сказка про For vs Foreach
В предыдущих сериях Микрооптимизации: Сказка про Method as Parameter #dotnet #methods #gc Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace...
Курс «Английский для разработчиков» Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Делай нейминг как сеньор.
Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.
Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.
Подробности: https://habr.com/ru/companies/dododev/articles/714512/
Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.
Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.
Подробности: https://habr.com/ru/companies/dododev/articles/714512/
Хабр
Делай нейминг как сеньор
В чём разница между сочинением третьеклассника и статьёй в крупном таблоиде? Любой из нас сходу определит, что есть что. Даже если оба текста описывают одно и то же событие. А чем отличается код...
VSСode. Как настроить окружение для разработки в Docker на удаленном сервере через SSH.
Этот туториал в первую очередь рассчитан на людей, которые недавно вошли в коммерческую разработку и только начинают свой путь. Однако не исключено, что ветеранам он также может быть полезен.
Подробности: https://habr.com/ru/articles/734062/
Этот туториал в первую очередь рассчитан на людей, которые недавно вошли в коммерческую разработку и только начинают свой путь. Однако не исключено, что ветеранам он также может быть полезен.
Подробности: https://habr.com/ru/articles/734062/
Хабр
VSСode. Как настроить окружение для разработки в Docker на удаленном сервере через SSH
Этот туториал рассчитан на людей, которые недавно вошли в коммерческую разработку и только начинают свою трудовую деятельность. Не исключаю, что ветеранам он также может быть полезен. Для того, чтобы...
DotNext 2023 — конференция для .NET-разработчиков
Конференция будет идти два дня в офлайне — всё как в лучшие времена. Для тех, кто не сможет приехать, будет онлайн-трансляция.
За это время вы успеете послушать доклады о лучших практиках .NET-разработки — от новичков и ветеранов DotNext. А еще вас ждет воркшоп по функциональному решению задач и fail-митап, на котором спикеры расскажут о неудачных практиках компаний.
DotNext — это не только доклады, но и возможность подискутировать о правильных подходах к разработке, познакомиться с единомышленниками и спикерами, задать им вопросы о наболевшем. А после — пообщаться в неформальной обстановке на афтерпати.
Стать участником DotNext можно двумя способами:
➡️ Предложить компании оплатить ваш билет.
➡️ Купить билет «Для частных лиц». С промокодом нашего канала он будет дешевле:
Подробности и программа конференции — на сайте.
Конференция будет идти два дня в офлайне — всё как в лучшие времена. Для тех, кто не сможет приехать, будет онлайн-трансляция.
За это время вы успеете послушать доклады о лучших практиках .NET-разработки — от новичков и ветеранов DotNext. А еще вас ждет воркшоп по функциональному решению задач и fail-митап, на котором спикеры расскажут о неудачных практиках компаний.
DotNext — это не только доклады, но и возможность подискутировать о правильных подходах к разработке, познакомиться с единомышленниками и спикерами, задать им вопросы о наболевшем. А после — пообщаться в неформальной обстановке на афтерпати.
Стать участником DotNext можно двумя способами:
➡️ Предложить компании оплатить ваш билет.
➡️ Купить билет «Для частных лиц». С промокодом нашего канала он будет дешевле:
msdevru
Подробности и программа конференции — на сайте.
Реализация обмена сообщениями через MassTransit.
Рано или поздно многие проекты сталкиваются с задачей обмена сообщениями. Часто сообщениями должны обмениваться элементы распределенных систем, использующих разные подходы и технологии. В современных системах для решения данной задачи, как правило, используются шины сообщений, позволяющие абстрагировать работу с сообщениями для различных компонентов системы. Поэтому, когда перед нами стала задача реализации такого подхода с нуля, за нами оставался только выбор подходящего решения. Мы решили поделиться этой базовой реализацией и описать начало работы с шиной сообщений на платформе .NET Core.
Подробности: https://habr.com/ru/companies/bimeister/articles/754958/
Рано или поздно многие проекты сталкиваются с задачей обмена сообщениями. Часто сообщениями должны обмениваться элементы распределенных систем, использующих разные подходы и технологии. В современных системах для решения данной задачи, как правило, используются шины сообщений, позволяющие абстрагировать работу с сообщениями для различных компонентов системы. Поэтому, когда перед нами стала задача реализации такого подхода с нуля, за нами оставался только выбор подходящего решения. Мы решили поделиться этой базовой реализацией и описать начало работы с шиной сообщений на платформе .NET Core.
Подробности: https://habr.com/ru/companies/bimeister/articles/754958/
Хабр
Реализация обмена сообщениями через MassTransit
Реализация обмена сообщениями через MassTransit Всем привет! Меня зовут Валерия, я backend-разработчик компании Bimeister. В этой статье я хочу вам рассказать про базовую реализацию работы с...
Как работает миграция между базами данных в реальном мире.
Недавно по основной работе у меня появилась задача по изучению процесса миграции данных между базами. Решил поделиться с сообществом своими исследованиями в сфере миграции, полученными в рамках этой задачи. В статье я рассмотрю: с чего начать миграцию, зачем нужна миграция, подход PoC и парадигмы баз данных, тестирование и стратегии миграции.
Подробности: https://habr.com/ru/articles/758868/
Недавно по основной работе у меня появилась задача по изучению процесса миграции данных между базами. Решил поделиться с сообществом своими исследованиями в сфере миграции, полученными в рамках этой задачи. В статье я рассмотрю: с чего начать миграцию, зачем нужна миграция, подход PoC и парадигмы баз данных, тестирование и стратегии миграции.
Подробности: https://habr.com/ru/articles/758868/
Хабр
Как работает миграция между базами данных в реальном мире
Недавно по основной работе у меня появилась задача по изучению процесса миграции данных между базами. Решил поделиться с сообществом своими исследованиями в сфере миграции, полученными в рамках этой...
Forwarded from KazDevOps
Концепции DevOps, SRE и Platform Engineering появились в разное время, но все они служат идеи улучшения совместной работы, автоматизации и эффективности разработки и эксплуатации ПО.
В карточках выше показана ключевая разница этих концепций👆
➖ DevOps использует автоматизацию и визуализацию для упрощения развертывания, управления и мониторинга.
➖ SRE используют хаос-инжиниринг и автоматическое реагирование на инциденты для обеспечения надежности.
➖ Инженеры платформ автоматизируют доставку программного обеспечения с помощью управления исходным кодом и CI/CD.
Делитесь с коллегами 🤝
#devops #sre #platformengineering
@DevOpsKaz
В карточках выше показана ключевая разница этих концепций👆
Делитесь с коллегами 🤝
#devops #sre #platformengineering
@DevOpsKaz
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вещественные числа с плавающей двоичной точкой в .NET и .NET Framework.
В статье разбираются ситуации, когда операции над вещественными числами с плавающей двоичной точкой (типы float и double в C#) дают результаты, отличные от ожидаемых интуитивно. Подробно разобраны причины этих отличий, приведены примеры, когда результат получается разный в .NET и .NET Framework или изменяется при переключении между конфигурациями Debug и Release, а также между x86 и x64. Даны общие сведения о стандарте IEEE 754 и особенностях этого стандарта, приводящих к названным эффектам. Объяснены принципиальные различия между .NET и .NET Framework в части операций с вещественными числами.
Подробнее: https://habr.com/ru/articles/760986/
В статье разбираются ситуации, когда операции над вещественными числами с плавающей двоичной точкой (типы float и double в C#) дают результаты, отличные от ожидаемых интуитивно. Подробно разобраны причины этих отличий, приведены примеры, когда результат получается разный в .NET и .NET Framework или изменяется при переключении между конфигурациями Debug и Release, а также между x86 и x64. Даны общие сведения о стандарте IEEE 754 и особенностях этого стандарта, приводящих к названным эффектам. Объяснены принципиальные различия между .NET и .NET Framework в части операций с вещественными числами.
Подробнее: https://habr.com/ru/articles/760986/
Хабр
Вещественные числа с плавающей двоичной точкой в .NET и .NET Framework
Множество вещественных чисел всюду плотное. Это значит, что на любом конечном интервале таких чисел будет бесконечное количество (и эта бесконечность будет даже не счётной, а мощности континуума)....
➖ Повторное создание (Recreate)
Сперва удаление текущей версии приложения, затем развертывание новой версии.
➖ Постепенное развертывание (Rolling)
Все инстансы приложения будут последовательно обновляться до новой версии.
➖ Мультиверсии
В продуктиве поддерживаются сразу несколько версий приложения. Ее используют, когда в новой версии приложения запланированы какие-то значительные изменения в функционале.
➖ Сине-зеленое развертывание (Blue/Green)
Эта стратегия базируется на двух продуктивных средах: «синяя» — там, где живут старые версии приложения, и «зеленая» — зона, где мы запускаем новую версию приложения.
➖ Канареечное развертывание (Canary)
«Канареечный» деплой схож с зелено-синей стратегией. Часть текущих инстансов приложения заменяется новой версией, на которую переключается часть трафика.
👉 Более детальную информацию читайте на Хабре или в статье коллег из МТС
#devops
@DevOpsKaz
Сперва удаление текущей версии приложения, затем развертывание новой версии.
➖ Постепенное развертывание (Rolling)
Все инстансы приложения будут последовательно обновляться до новой версии.
➖ Мультиверсии
В продуктиве поддерживаются сразу несколько версий приложения. Ее используют, когда в новой версии приложения запланированы какие-то значительные изменения в функционале.
➖ Сине-зеленое развертывание (Blue/Green)
Эта стратегия базируется на двух продуктивных средах: «синяя» — там, где живут старые версии приложения, и «зеленая» — зона, где мы запускаем новую версию приложения.
➖ Канареечное развертывание (Canary)
«Канареечный» деплой схож с зелено-синей стратегией. Часть текущих инстансов приложения заменяется новой версией, на которую переключается часть трафика.
👉 Более детальную информацию читайте на Хабре или в статье коллег из МТС
#devops
@DevOpsKaz
Что нового в .NET 8?
.NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее.
Подробнее: https://habr.com/ru/companies/pvs-studio/articles/773896/
.NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее.
Подробнее: https://habr.com/ru/companies/pvs-studio/articles/773896/
Хабр
Что нового в .NET 8?
.NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы,...
Media is too big
VIEW IN TELEGRAM
Дисклеймер: Админский пост
Проект, который занял значительную часть моего года
ALTEL - старейшая телекоммуникационная компания в Казахстане. И сейчас она идет в сторону IT. Например, в прошлом году вся разработка была перенесена в инхаус с глубоким развитием IT-команд.
Развитие IT - это в том числе и развитие IT-бренда. Мы решили развивать его максимально хардкорно, сходу демонстрируя свою экспертность даже в форм-факторе сайта. Так и родился проект 3D-города Altel Digital. Изучайте и делитесь мнениями.
Ссылка: https://digital.altel.kz/
Проект, который занял значительную часть моего года
ALTEL - старейшая телекоммуникационная компания в Казахстане. И сейчас она идет в сторону IT. Например, в прошлом году вся разработка была перенесена в инхаус с глубоким развитием IT-команд.
Развитие IT - это в том числе и развитие IT-бренда. Мы решили развивать его максимально хардкорно, сходу демонстрируя свою экспертность даже в форм-факторе сайта. Так и родился проект 3D-города Altel Digital. Изучайте и делитесь мнениями.
Ссылка: https://digital.altel.kz/
Бесплатные курсы для IT-специалистов от Ozon Route 256
Направления: Go, C#, QA (Python)
Курс рассчитан на разработчиков и тестировщиков с опытом от 2-3 лет, в конце Ozon предлагает офферы выпускникам.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Чтобы попасть на курс — нужно пройти отборочный контест 11 февраля
Узнать подробности и подать заявку
Направления: Go, C#, QA (Python)
Курс рассчитан на разработчиков и тестировщиков с опытом от 2-3 лет, в конце Ozon предлагает офферы выпускникам.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Чтобы попасть на курс — нужно пройти отборочный контест 11 февраля
Узнать подробности и подать заявку
Dependency Injection контейнеры .NET, допускающие полиморфное поведение
Иногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения.
Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным конструкторам так, чтобы всё из коробки работало.
Однако стандартный DI контейнер платформы долгое время не давал этой возможности.
В рамках этой статьи автор решил напомнить альтернативы для решения этой задачи на тот случай, если вы ещё не успели переехать на .NET 8 или работаете в каком-нибудь Иннотехе, где в наличии только зеркало NuGet-пакетов, выпущенных до начала 2022 года.
Подробности: https://habr.com/ru/companies/ruvds/articles/776768/
Иногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения.
Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным конструкторам так, чтобы всё из коробки работало.
Однако стандартный DI контейнер платформы долгое время не давал этой возможности.
В рамках этой статьи автор решил напомнить альтернативы для решения этой задачи на тот случай, если вы ещё не успели переехать на .NET 8 или работаете в каком-нибудь Иннотехе, где в наличии только зеркало NuGet-пакетов, выпущенных до начала 2022 года.
Подробности: https://habr.com/ru/companies/ruvds/articles/776768/
Хабр
Dependency Injection контейнеры .NET, допускающие полиморфное поведение
Иногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения. Когда, например, у интерфейса есть...