TGViewer
Channel Public Channel
Библиотека шарписта | C#, F#, .NET, ASP.NET

Библиотека шарписта | C#, F#, .NET, ASP.NET

@csharpproglib

Все самое полезное для C#-разработчика в одном канале.

Наши курсы: https://clc.to/y3LDtw

По рекламе: @tproger_sales_bot

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Subscribers
21.6K
Photos
2.9K
Videos
46
Links
5.4K

Showing posts older than #5785 · Back to latest

Older Posts 20 shown
Post #5784 27.8K
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике

Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.

Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.

➡️ Читать статью

🐸Библиотека шарписта
  • 😁 21
Post #5783 4.87K
🧑‍💻 How to: не потерять нативные DLL

Если ваше приложение зависит от нативных DLL, важно настроить правильное копирование этих файлов в выходную директорию при сборке через NuGet. Вот как это сделать:

1️⃣ Подготовьте директорию

Разместите DLL библиотеки в папке runtimes/{RID}/native/ вашего NuGet-пакета. Пример для Windows 64-bit:
/runtimes
/win-x64
/native
mylibrary.dll


2️⃣ Обновите .csproj

Добавьте в файл .csproj строку, которая будет копировать DLL в выходную директорию:
<ItemGroup>
<None Update="runtimes\win-x64\native\mylibrary.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>


3️⃣ Используйте команду dotnet publish

Для корректного копирования всех зависимостей используйте команду:
dotnet publish -c Release -r win-x64


Это обеспечит правильную сборку с нативными библиотеками.

🐸Библиотека шарписта #буст
  • 👍 9
Post #5782 4.78K

Forwarded from Библиотека программиста

📦 Главные проблемы распределенных систем (и способы их решения)

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

➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.

🐸 Библиотека программиста
  • 😁 9
  • 👍 2
  • ❤ 1
Post #5780 5.52K
⚙️ Ключевые слова C# от Microsoft

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

➡️ Шпаргалка

🐸Библиотека шарписта #буст
  • ❤ 11
  • 🥱 8
Post #5778 4.82K

Forwarded from Библиотека задач по C# | тесты, код, задания

Что означает «I» в ACID?

👾 — «Изоляция»: каждая транзакция выполняется так, как будто она единственная в системе — другие не влияют на её выполнение.
👍 — «Интеграция»: транзакции выполняются без нарушения логики взаимодействия между системой и данными.
🥰 — «Индивидуальность»: каждая транзакция работает независимо, и её результат не виден другим до завершения.
⚡️ — «Инвариантность»: состояние данных остается неизменным, даже если несколько транзакций выполняются одновременно.

🐸Библиотека задач по C#
  • 👾 54
  • 🥱 4
  • 👍 2
  • 🥰 1
  • 🙏 1
Post #5776 5.01K
💻 Это база: кортежи

Иногда метод должен вернуть не одно, а два-три значения. Кортеж — это способ всё упаковать в один удобный контейнер.

(string topping, bool isSpicy) = GetBurgerOptions();


➖ В чём фишка

• Быстро: никаких лишних классов, никаких out-параметров

• Именованные поля: Name, Age — код становится читаемым без лишнего усилия

• ValueTuple — структура, работает быстрее и не создаёт лишней нагрузки на сборщик мусора.

➖ Когда лучше не использовать кортежи

• Если данных слишком много — создайте отдельный class или record. С кортежем на 5+ элементов уже не смешно.

• Если вы заботитесь о будущем себе — помните, что анонимные Item1, Item2 быстро превращаются в загадку даже для вас через пару недель.

• Если пишете API, библиотеку или SDK — не заставляйте других гадать, что такое Item3. Имейте уважение к коллегам по цеху.

А ещё кортежей всё ещё нет в Java 😁

🐸Библиотека шарписта #буст
  • 👍 20
  • 😁 13
  • 🤔 2
  • ❤ 1
Post #5775 4.67K
📰 Самое важное за неделю

Всё, что стоило бы загуглить:

➖ Semantic Kernel для .NET теперь поддерживает гибридный поиск
Теперь вы можете комбинировать векторный и полнотекстовый поиск для более точных и релевантных результатов

➖ .NET Aspire 9.2
Microsoft выпустила новую версию .NET Aspire — обновление, которое приносит новые способы развёртывания через систему "publishers"

➖ .NET 10 Preview 3

➖ 4 cамых популярных фреймворка для разработки онлайн-игр на Unity

➖ Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

➡️ Вакансия бустера

🐸Библиотека шарписта #свежак
  • 👍 1
Post #5774 5.09K
🎮 Unity на C# — благословение или тормозной ад

Каждый разработчик в какой-то момент сталкивается с Unity. Одни вспоминают его с теплом, другие — с судорогой в глазу. Истина, как всегда, где-то между.

➖ Почему благословение:
• Простой старт — C#, туториалы, всё в одном месте.
• Кроссплатформенность — один билд на всё.
• Asset Store — лего для ленивых.
• C# мощный — async, events, OOP, welcome.
• Большое коммьюнити — на любой баг найдётся тред.

➖ Почему ад:
• Глючный Editor — «ты сегодня не поиграешь».
• GC тормоза — фризы во время кульминации.
• Хаос из MonoBehaviour'ов — архитектурный кошмар.
• Обновления ломают всё — стабильно нестабильные.
• UI до сих пор страдает — hello, 2010.

💬 На какой стороне вы? Ждём ваше мнение в комментариях👇

🐸Библиотека шарписта #междусобойчик
  • 🥱 8
  • 👍 7
  • ❤ 1
Post #5772 5.74K
🔧 Когда ваш C#-проект больше похож на замок, чем на приложение

Вы декомпозируете классы с такой тщательностью, будто строите ферму мобов?
А async/await у вас организованы лучше, чем сундуки с шалкерами?
Ваши interface'ы такие продуманные, что Стив бы поставил лайк.

😅 Признайтесь: вы не просто пишете код — вы его зачаровываете.

➡️ Самое время проверить, где заканчивается C# и начинается Minecraft

🐸Библиотека шарписта
  • 👍 5
Post #5771 5.5K
💡 .NET 10 Preview 3

Microsoft выпустила третью превью-версию .NET 10. Без громких анонсов, но с рядом улучшений, которые делают повседневную разработку немного приятнее.

Что нового:

1️⃣ Улучшения System.Text.Json

Добавлены новые атрибуты и возможности кастомной сериализации.

2️⃣ Поддержка инстанцирования generic-атрибутов
Теперь можно использовать обобщённые атрибуты с параметрами типа.

3️⃣ Native AOT для WebAPI
Возможность собирать WebAPI с Native AOT компиляцией.

4️⃣ Новые Roslyn Source Generators
Расширение генераторов кода — в том числе улучшения для CallerArgumentExpression, и лучшее поведение при компиляции.

5️⃣ Уточнения по поддержке Linux и WASI
.NET продолжает фокусироваться на кроссплатформенности: WebAssembly System Interface становится приоритетом.

➡️ Подробности в блоге разработчиков

🐸Библиотека шарписта #свежак
Post #5770 5.73K
👀 Что посмотреть: C# — это Java, сделанная правильно

Java и C# — зрелые, мощные платформы с крупными экосистемами, устойчивыми карьерными возможностями и богатым инструментарием.

Но язык — это не только про возможности. Это ещё и про то, как с ним живётся каждый день.

В видео подробно, но без фанатизма сравниваются разные аспекты языков.

➡️ Смотреть видео

🐸Библиотека шарписта #буст
  • 😁 9
  • ❤ 2
  • 👍 2
Post #5769 5.35K
🤨 Что такое «Middle+» в IT

Рынок IT полон загадок, но одна из самых частых — что вообще значит “Middle+” разработчик? Где та тонкая грань между «ещё джун» и «уже можно доверить продакшн»?

💬 В чате наша подписчица спросила:
В вакансии увидела упоминание «владение языком C# на уровне middle+» — задумалась, а что это вообще значит? Что именно нужно знать и уметь?


💭 Один вариант ответа был такой:
Всякие особенности языка — это уже не совсем про middle+. Это только один из критериев.
Middle+ — это когда ты уже можешь затащить сложные задачи, брать на себя ответственность, делиться знаниями, декомпозировать задачи, быстро погружаться в незнакомый проект.
То есть тебя можно кинуть на новый проект — и ты не "заплюхаешься".


💬 А вы как оцениваете уровень middle+? Что важнее: знание языка или поведение в проекте? 👇

🐸Библиотека шарписта #междусобойчик
  • 👍 10
  • ❤ 1
Post #5768 5.27K
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей

Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.

🧐 Но что, если есть простая формула, способная:

• Мгновенно определить, насколько «разбросаны» ваши данные

• Значительно улучшить точность ваших ML-моделей

• Помочь обнаружить аномалии, которые вы раньше не замечали

В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.

Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?

➡Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/0138fb1c
  • 👍 2
  • 😁 1
Post #5767 7.83K
🎮🔌 4 cамых популярных фреймворка для разработки онлайн-игр на Unity

Сетевое взаимодействие — это сердце многопользовательской игры, и правильный выбор фреймворка это решающий фактор для проекта.

Посмотрите обзор самых популярных фреймворков для разработки онлайн-игр на Unity и выберите тот, который подходит для вашего проекта.

➡️ Читать обзор

🐸Библиотека шарписта
Post #5766 5.41K
🌐 Чек-лист: как искать работу

Чтобы не застрять в вечной отладке своей карьеры, держим в голове (и перед глазами) понятный план. Вот чек-лист на период поиска:

✅ Обновите резюме и профиль (да, и GitHub тоже)

Ваш профиль — это витрина. Убедитесь, что в нём отражены:
• актуальные технологии (например, .NET 6/7/8, Blazor, ASP.NET, Azure и т. д.).
• понятные результаты («реализовал систему логирования» , а не «писал код»).
• ссылки на GitHub с чистыми, осмысленными проектами — лишнее желательно скрыть или удалить.

✅ Сформулируйте ключевые навыки и корректные поисковые запросы.

Большинство рекрутеров используют автоматические фильтры. Включите в резюме чёткие названия технологий: Entity Framework Core, LINQ, RabbitMQ, Docker, CI/CD, Kubernetes.

✅ Следите за вакансиями регулярно, но без стресса

• Настройте уведомления на LinkedIn, Habr Career, hh.
• Подпишитесь на каналы с вакансиями, например, наш канал с вакансиями для шарпистов.

✅ Готовьтесь к собеседованиям заранее

• Освежите базовые концепции вроде async/await, Dependency Injection, SOLID, разберитесь в нюансах работы ASP.NET.
• Подумайте заранее, какие проекты вы можете описать как удачные кейсы.
• Поработайте над формулировками, которые показывают ваш вклад — рекрутеры ценят конкретику.

💬 Сколько в среднем ищете работу? Пару дней или пару месяцев? Пишите в комментарии👇

🐸Библиотека шарписта #буст
  • 👍 6
  • 👾 1
Post #5764 5.79K
🛠 Команда дня: git range-diff

Вы сделали git rebase, всё вроде ок, но остаётся неприятное чувство неопределённости — а всё ли пошло так, как надо? Вот тут и приходит на помощь git range-diff.

Команда показывает, как изменилась история коммитов между двумя ветками. Это не просто сравнение кода — вы видите, какие коммиты исчезли, какие были переписаны, а какие остались нетронутыми.

Полезно после rebase или перед force-push, когда важно убедиться, что вы ничего случайно не потерли.

➖ Пример:
git range-diff origin/main...HEAD


Сравнивает текущую ветку с origin/main, показывая, какие коммиты изменились, удалились или переехали.

🐸Библиотека шарписта #буст
  • 👍 19
Post #5763 21.9K
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

​HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.

Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.

➡️ Читать статью

🐸Библиотека шарписта
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →