uz
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Kanalga Telegram’da o‘tish

По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Ko'proq ko'rsatish

📈 Telegram kanali C# (C Sharp) programming analitikasi

C# (C Sharp) programming (@csharp_ci) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 18 307 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 335-o'rinni va Rossiya mintaqasida 36 870-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 18 307 obunachiga ega bo‘ldi.

15 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -14 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 19.46% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.27% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 3 563 marta ko‘riladi; birinchi sutkada odatda 1 331 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, api, логика, архитектура, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Yuqori yangilanish chastotasi (oxirgi ma’lumot 16 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

18 307
Obunachilar
Ma'lumot yo'q24 soatlar
+87 kunlar
-1430 kunlar
Postlar arxiv
⚡Продвинутые случи использования ограничении частоты запросов в .NET Вот как определить ограничения, вызвав метод AddTokenBuc
+4
Продвинутые случи использования ограничении частоты запросов в .NET Вот как определить ограничения, вызвав метод AddTokenBucketLimiter (картинка 1) Ограничение пользователей по IP-адресам (картинка 2) Ограничение с учетом прокси.(картинка 3) Ограничение пользователей по идентификационным признакам (картинка 4) Реализация ограничение на обратном прокси с помощью YARP, необходимо картинка 5) 📌 Читать статью @csharp_ci

22.08 csharp_ci ❓Хотите освоить востребованный и универсальный C++? Сейчас подходящее время! Начать изучение можно на открыто
22.08 csharp_ci ❓Хотите освоить востребованный и универсальный C++? Сейчас подходящее время! Начать изучение можно на открытом уроке "Почему в C++ 13 способов передать параметр в функцию?" от OTUS. Урок входит в программу онлайн-курса "С++ Developer". Темы вебинара: - синтаксис передачи параметров в функции; - константы, указатели, ссылки, умные указатели, lvalue, rvalue, forward reference; - практические советы по объявлению функций, основанные на C++ Core Guidelines. Доступ к уроку бесплатный. После него вы сможете продолжить обучение на курсе, оформив рассрочку. Регистрация на урок: https://otus.pw/Xsuz/ Нативная интеграция. Информация о продукте www.otus.ru

✔Сapa capa - полезный инструмент с открытым исходным кодом для определения возможностей в исполняемых файлах. Вы запускаете е
Сapa capa - полезный инструмент с открытым исходным кодом для определения возможностей в исполняемых файлах. Вы запускаете ее для PE, ELF, .NET файла или шелл-кода, и он говорит вам, что, по его мнению, может сделать программа. Например, можно предположить, что файл является бэкдором, способен устанавливать службы или использует HTTP для запросов. ▪GithubУстановка @csharp_ci

Repost from Bekhan Code
Мне 27 лет. Вот список интересных вещей, которые я делал: Разработал проект, позволяющий звонить и рассылать СМС всем незнакомым людям в радиусе 30-50 метров (демонстрировал на съемках с Моргенштерном; 20 млн просмотров). Написал ПО (но воспользовался лишь один раз), которое имитировало 10-бальные пробки на всех дорогах Москвы в Яндекс.Картах ещё до того, как это стало мейнстримом (продемонстрировано на съемках с блогером Литвиным). На данную тематику вел Instagram и TikTok, где большинство роликов набирало миллионы просмотров. Находил уязвимости в Ленте, ГосУслугах, 1500 московских шлагбаумах (мой хабр-пост) и передавал информацию журналистам. Создал OSINT-сервис для поиска профилей в Instagram по номеру телефона. 572k просмотров на Хабре. Разработал Telegram-клиент с функцией "Двойное дно". Продвигал идею внедрить такую возможность в оригинальный клиент Telegram. Все выше перечисленное является правдой (никаких фотошопов и фокусов). Эти задумки были реализованы исключительно с целью развития моего личного бренда и не имели экономической выгоды. Я уже давно не занимаюсь личным брендом, поэтому новых публикаций нет, а перечисленные проекты были закрыты. В середине ноября 2022 года я поставил себе новую цель — Разработать игру. Не казуальную, не гиперказуальную, а сложную (в техническом смысле) и насыщенную контентом игру с глубоким геймплеем. Перед тем как расширять штат своей команды или, тем более, открывать новую игровую компанию, я хочу самостоятельно разобраться во всех аспектах разработки игр. Возможно, у вас возникнет вопрос: Зачем лезть в техническую часть создания игры, если можно найти на аутсорсе команду и делегировать ей разработку? Примерно так я и попробовал сделать. Моя компания стала искать и нанимать Unity-разработчиков. Я успел поработать с несколькими специалистами. К сожалению, ничего дельного из этого не вышло. Качество выполненных задач от ребят меня не устраивало. Как говорится, хочешь сделать хорошо — делай сам. Ну, или так: Хочешь сделать хорошо, то разберись в теме сам, заложи архитектуру и подход к разработке, а только потом делегируй и в дальнейшем контролируй. Такой подход позволит мне контролировать процесс создания игры и получить в результате именно ту игру, которую я хочу. Прошло уже 10 месяцев с момента старта, и я все еще в процессе обучения. Да, со временем я все больше и больше времени посвящаю написанию кода, но обучение все равно остается неотъемлемой частью процесса. У меня большой опыт в OSINT и информационной безопасности, но в области GameDev я новичок. Мне пришлось изучать множество новых тем, и еще предстоит столько же. К счастью, многое из моего предыдущего опыта перекликается с GameDev, что облегчает изучение. Я стараюсь конспектировать любую изученную тему. Опираясь на свой опыт, я понимаю, что со временем наш мозг "стирает" то, что кажется ему "ненужным". Конечно, "ненужная" информация на самом деле могла бы быть ценной, но мозг не консультируется с нами по данному вопросу. Если я что-то подзабыл (случается это довольно часто), то я иду в свои заметки и через поиск нахожу нужный конспект. Если я наткнулся на отличную статью по интересующей меня теме, то конспект писать уже смысла нет. Я просто сохраняю ссылку (ну, или архивирую веб-страницу для оффлайн доступа, если есть ощущения, что через год сайт закроется). Тем не менее, действительно хороших сайтов или статей, которые бы покрывали вопрос хотя бы на 80 процентов, очень мало. Если бы все статьи по GameDev (да и не только) были бы с крайне низким порогом входа и покрывали практически все вопросы, которые возникают у читателя, то процесс разработки продуктов мог бы ускориться на один, а то и два порядка (10-100 раз). Когда я только начинал обучение, я осознавал, что быстро достичь своей цели не удастся. Обучение — это сложный, многоступенчатый и местами скучный процесс. Тем не менее, сейчас я чувствую, что это обучение начинает мне надоедать. И на фоне этого "надоедания" мне пришла в голову интересная мысль... (К сожалению, весь текст не влезает в один пост. Продолжение читайте в следующем посте).

🟡 Дайджест полезных материалов из мира :C# за неделю Почитать: — UI Router в Unity + CustomEditorПреимущества функционального программирования на примерах C#Объяснения по шардинга баз данныхРеализация обмена сообщениями через MassTransitКонкурентная очередь с приоритетами (неудачно)Бессильный сборщик мусора или неуправляемая память в .NETUnity: Как реализовать бесконечный ListView с изображениями?ChatGPT в написании юнит тестовRobust use of HTTP ClientHow to deploy a BLAZOR WASM Web Application to GitHub PageIntelligent Queries By Entity IntelligenceBoost your productivity in Visual Studio - ShortcutsDealing with C# & GitHub Copilot in Visual Studio 2022Working with C# in VS Code.Game Dev Digest — Issue #200 - Develop FasterTime Period Library for .NETWie man in C#/VB.NET die Hintergrundfarbe und das Hintergrundbild von PDF-Dokumenten festlegt[C#/VB.NET] Hintergrundfarbe von Absätzen und Text in Word-Dokumenten festlegen Посмотреть: 🌐On .NET Live - Building web apps with Blazor and Spark.NET 🌐 Сравнение Unity и Unreal Engine: Что выбрать новичку? Хорошего дня! @csharp_ci

✔ Redis Explained Глубокое техническое погружение во все тонкости Redis. В статье рассматриваются различные топологии Redis,
Redis Explained Глубокое техническое погружение во все тонкости Redis. В статье рассматриваются различные топологии Redis, персистентность данных и форкинг процессов. Отличная иллюстрированная статья для глубокого понимания Redis. ▪Читать @csharp_ci

Дневник разработчика: Создание AI-ассистента в соответствии с принципами Clean Architecture🤖 Хочешь освоить мир AI и создать
Дневник разработчика: Создание AI-ассистента в соответствии с принципами Clean Architecture🤖 Хочешь освоить мир AI и создать свой собственный AI ассистент? Изучаешь ASP .Net Core и ищешь куда бы применить свои знания? Присоединяйся к моему Telegram-каналу! Ежедневно я публикую шаг за шагом процесс создания AI ассистента на .NetCore + VueJS, используя принципы Clean Architecture.

🖥 Запуск ASP.NET Core + PostgreSQL | Docker Compose Наглядный по работе docker-compose. 📌 Источник @csharp_ci

⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь: Машинное обучение: @ai_machinelearning_big_data Go: @Golang_google C#: @csharp_1001_notes Базы данных: @sqlhub Python: @pythonl C/C++/: @cpluspluc Data Science: @data_analysis_ml Devops: @devOPSitsec Rust: @rust_code Javascript: @javascriptv React: @react_tg PHP: @phpshka Docker: @docker Android: @android_its Мобильная разработка: @mobdevelop Linux: linuxacademy Big Data: t.me/bigdatai Хакинг: @linuxkalii Java:@javatg Собеседования: @machinelearning_interview 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy 🔥ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: @english_forprogrammers

🖥 Преимущества функционального программирования на примерах C# Модульность и возможность повторного использования Модульность и возможность повторного использования являются ключевыми преимуществами функционального программирования, и C# предоставляет ряд возможностей, позволяющих легко достичь этих целей. Рассмотрим пример на C#, демонстрирующий достоинства модульности и многократного использования функционального программирования: using System; using System.Collections.Generic; using System.Linq; namespace ModularityAndReusabilityExample { class Program { static void Main(string[] args) { List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; int sum = numbers.Sum(); int product = numbers.Product(); Console.WriteLine("Sum: " + sum); Console.WriteLine("Product: " + product); } } public static class Extensions { public static int Product(this IEnumerable<int> source) { return source.Aggregate(1, (acc, x) => acc * x); } } } В этом примере мы создали список чисел и использовали два метода расширения для вычисления суммы и произведения этих чисел. Метод Sum — это встроенный метод, предоставляемый C#, а метод Product — это пользовательский метод расширения, который мы определили сами. Инкапсулировав логику вычисления произведения списка чисел в отдельный метод, мы создали высокомодульный и многократно используемый фрагмент кода. Этот метод расширения можно повторно использовать в различных приложениях и при необходимости легко модифицировать или расширять. Кроме того, использование методов расширения позволяет писать более выразительный и читабельный код. Вместо того чтобы писать цикл для вычисления произведения чисел, мы можем просто вызвать метод расширения Product для списка чисел. Это делает код более простым, лаконичным и удобным для чтения. В целом преимущества функционального программирования, связанные с модульностью и возможностью повторного использования, позволяют создавать хорошо поддерживаемый и масштабируемый код. Разбивая сложные задачи на более мелкие, независимые функции, мы можем создать библиотеку композитных функций, которые можно повторно использовать в различных приложениях. Используя возможности C# и функционального программирования, разработчики могут создавать надежные и масштабируемые программные системы, рассчитанные на длительную эксплуатацию. 📌 Читать дальше @csharp_ci

Заметки С# разработчика Канал для тех, кто интересуется C#, ASP.NET архитектурой программного обеспечения, оптимизацией производительности систем, масштабируемостью, надежностью и другими аспектами разработки программного обеспечения. Канал подойдет тем, кто хочет улучшить свои навыки и знания в C#. 📌 Лучшие практики кода 📌 System Design 📌 Чистая Архитектура 📌 Проектирование Стоит подписаться: @csharp_1001_notes

Что выведет код ? B obj1 = new B(); A obj2 = new B(); obj1.Foo(123); obj1.Foo("123"); obj2.Foo(123); obj2.Foo("123"); Console
Что выведет код ? B obj1 = new B(); A obj2 = new B(); obj1.Foo(123); obj1.Foo("123"); obj2.Foo(123); obj2.Foo("123"); Console.ReadKey(); class A { public void Foo(dynamic arg) { Console.WriteLine("dynamic"); } public void Foo(string arg) { Console.WriteLine("string"); } } class B : A { public void Foo(int arg) { Console.WriteLine("int"); } public void Foo(object arg) { Console.WriteLine("object"); } } Пишите ответ в комментариях👇 @csharp_ci

🖥 Ленивая инициализация в C# Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от желания снизить нагрузку при старте приложения и заканчивая оптимизацией редко используемого функционала. И действительно, не все функции приложения используются всегда и, тем более, сразу, потому создание объектов, реализующих их, вполне рационально отложить до лучших времён. Я хотел бы рассмотреть варианты ленивой инициализации, доступные в языке C#. Для демонстрации примеров я буду использовать класс Test, у которого есть свойство BlobData, возвращающее объект типа Blob, который по легенде создаётся довольно медленно, и было решено создавать его лениво. class Test { public Blob BlobData { get { return new Blob(); } } } Проверка на null Самый простой вариант, доступный с первых версий языка, — это создание неинициализированной переменной и проверка её на null перед возвращением. Если переменная равна null, создаём объект и присваиваем этой переменной, а потом его возвращаем. При повторном обращении объект уже будет создан и мы сразу его вернём. class Test { private Blob _blob = null; public Blob BlobData { get { if (_blob == null) { _blob = new Blob(); } return _blob; } } } Объект типа Blob тут создаётся при первом обращении к свойству. Либо не создаётся, если он по какой-то причине в этой сессии программе не понадобился. Тернарный оператор ?: В C# есть тернарный оператор, позволяющий проверить условие и, если оно истинно вернуть одно значение, а если ложно, — другое. Мы можем использовать его для того, чтобы немного сократить и упростить код. class Test { private Blob _blob = null; public Blob BlobData { get { return _blob == null ? _blob = new Blob() : _blob; } } } Суть осталась той же. Если объект не инициализирован, инициализируем и возвращаем. Ежели уже инициализирован, то просто сразу возвращаем. is null Ситуации бывают разные и мы, например, можем столкнуться с такой, в которой у класса Blob перегружен оператор ==. Для этого, вероятно, нам может потребоваться сделать проверку is null вместо == null. Доступно в свежих версиях языка. return _blob is null ? _blob = new Blob() : _blob; Но это так, небольшое отступление. Null-coalescing оператор ?? Ещё больше упростить код нам поможет бинарный оператор ?? Суть его работы такова. Если первый операнд не равен null, то он и возвращается. Если же первый операнд равен null, возвращается второй. class Test { private Blob _blob = null; public Blob BlobData { get { return _blob ?? (_blob = new Blob()); } } } Второй операнд пришлось взять в круглые скобки из-за приоритета операций. 📌Статья @csharp_ci

Современные технологии на .NET: в Ozon идет набор на бесплатный курс для опытных С#-разработчиков Курс будут вести инженеры O
Современные технологии на .NET: в Ozon идет набор на бесплатный курс для опытных С#-разработчиков Курс будут вести инженеры Ozon: вебинары и воркшопы подготовлены разработчиками, которые каждый день строят современное e-com решение. После курса ты сможешь: 🔹Создавать и настраивать микросервисы на ASP.NET Core 🔹Эффективно работать с асинхронным кодом 🔹Проектировать сложные распределенные системы 🔹Создавать REST и gRPC API 🔹Оптимизировать SQL-запросы 🔹Работать с Kafka Как попасть на курс? Оставь заявку на сайте ➡️ 27 августа пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon. Оставить заявку

🎉 .NET 8 Preview 7 уже доступен 🎉 Здесь собраны все ссылки и ресурсы, необходимые для работы с этой последней версией. http
🎉 .NET 8 Preview 7 уже доступен 🎉 Здесь собраны все ссылки и ресурсы, необходимые для работы с этой последней версией. https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-7/ @csharp_ci

🎨 Awesome Software Architecture Полезный список статей и ресурсов для изучения и применения на практике архитектуры, паттерн
🎨 Awesome Software Architecture Полезный список статей и ресурсов для изучения и применения на практике архитектуры, паттернов и принципов программного обеспечения. https://awesome-architecture.com/ @csharp_ci

ИТ + научпоп + музыка = большой ИТ-пикник в Москве 💛 2 сентября Тинькофф, CodeFest и Мельница собирают большой благотворител
ИТ + научпоп + музыка = большой ИТ-пикник в Москве 💛 2 сентября Тинькофф, CodeFest и Мельница собирают большой благотворительный ИТ-фестиваль. Встречаемся в Коломенском на максимально летнем вайбе. В программе: ИТ- и научпоп-лектории, выступления топовых спикеров, воркшопы, интерактивные зоны и вишенка на торте — музыкальные перформансы от Антохи MC, Zoloto, Therr Maitz, The Hatters, «Сироткина», а также секретного хедлайнера. Как думаете, кто им может быть? Для участия нужно выбрать благотворительный фонд из списка и сделать донат от 1000 рублей. Подробности и регистрация — тут. Реклама. АО "Тинькофф Банк"

🔥C# Source Generators Полезный список Source Generators (генераторов кода) C#. Какие задачи решают генераторы? В первую очер
🔥C# Source Generators Полезный список Source Generators (генераторов кода) C#. Какие задачи решают генераторы? В первую очередь — создание шаблонного кода. Если у вас, например, есть методы Equals, GetHashCode, операторы равенства и неравенства, скажем, обеспечивающие структурное сравнение данных, писать их вручную для каждого типа очень неудобно. Было бы неплохо отдать эту задачу генератору, который напишет этот код за нас. В том числе можно, например, добавить всем типам в проекте осмысленный метод ToString, создавать типы по схеме, добавить mapping, например, как в AutoMapper, материализацию объектов баз данных. Во вторых, благодаря тому, что мы теперь легко и просто можем создавать шаблонный код, открываются некоторые интересные возможности по оптимизации наших приложений. Например там, где мы раньше использовали рефлексию просто для того, чтобы не писать руками код. Скажем, регистрация типов для dependency injection, методы сериализации. ▪GithubSource Generators в действии @csharp_ci

⚡️Сишарповец, апнуться — просто! Начните на бесплатном вебинаре онлайн-курса «C# ASP.NET Core разработчик» — «ASP.NET: взаимо
⚡️Сишарповец, апнуться — просто! Начните на бесплатном вебинаре онлайн-курса «C# ASP.NET Core разработчик» — «ASP.NET: взаимодействие с источниками данных»: регистрация На бесплатном занятии мы: — познакомимся с видами баз данных; — разберем, как работать с реляционными и нереляционными базами данных напрямую и через ORM. 🔥Экспертизой поделится Дмитрий Гурьянов — опытный Тимлид команды разработки CRM-решений на платформе .NET. — Продолжить обучение после вебинара по спеццене можно на полном курсе, доступном также в рассрочку. Нативная интеграция. Информация о продукте www.otus.ru