Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
35 videos
85 files
4.42K links
Все самое полезное для C#-разработчика в одном канале.

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

Учиться у нас: https://proglib.io/w/b60af5a4

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
⛓️🗄️ Соединения в SQL. Часть 1. Типы соединений и простые примеры

Соединения — это способ получения данных из нескольких таблиц с помощью SQL. В первой части статьи мы расскажем о типах соединений и рассмотрим несколько базовых примеров.

🔗Читать статью
🥱9
🧰 Использование проекта базы данных SQL Server (.dacpac) и EF Core

Представьте себе сочетание возможностей инструментов проектирования и проверки синтаксиса, доступных в проекте базы данных SQL Server (.sqlproj), с оптимально структурированным SQL, корректной параметризацией, функциями отслеживания изменений и многими другими фичами EF Core. Всё это становится доступным благодаря EF Core Power Tools 👇

🔗 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
#инфографика

🧰 CI/CD пайплайн в деталях

1️⃣ SDLC с CI/CD

🔸Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, деплой и cопровождение. CI/CD автоматизирует и интегрирует эти этапы, обеспечивая более быстрые и надежные выпуски. Когда код помещается в Git-репозиторий, он запускает автоматизированный процесс сборки и тестирования.

🔸Для проверки кода запускаются сквозные тестовые примеры. Если тесты пройдены, код может быть автоматически развернут в staging/production окружении. Если проблемы обнаружены, код отправляется обратно в разработку для исправления ошибок. Эта автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск ошибок в продакшене.

2️⃣ Разница между CI и CD

🔸Непрерывная интеграция (CI) автоматизирует процессы сборки, тестирования и слияния. В рамках CI запускаются тесты всякий раз, когда код фиксируется для раннего обнаружения проблем интеграции. Это поощряет частые фиксации кода и быструю обратную связь.

🔸Непрерывная доставка (CD) автоматизирует процессы выпуска, такие как изменения инфраструктуры и развертывание. Это гарантирует, что программное обеспечение может быть надежно выпущено в любое время с помощью автоматизированных рабочих процессов. CD также может автоматизировать этапы ручного/аппрувал тестирования, необходимые перед деплоем в продакшене.

3️⃣ CI/CD пайплайн

🔸Типичный CI/CD пайплайн состоит из нескольких связанных этапов:

🗄 Разработчик фиксирует изменения кода в системе управления версиями
🗄 CI-сервер обнаруживает изменения и запускает сборку
🗄 Код компилируется и тестируется
🗄 Результаты тестирования сообщаются разработчику
🗄 В случае успеха артефакты развертываются в staging окружениях
🗄 Дальнейшее тестирование может быть проведено на стадии подготовки перед выпуском
🗄 Система CD внедряет утвержденные изменения в продакшен

👉 Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6
🎙 Подкаст DotNet & More: как заставить ChatGPT сгенерировать нормальные тесты и не только

🕘 Таймкоды:

00:00:00 Вступление
00:02:50 Как правильно состовлять промпт, советы эксперта
00:25:20 Как создать свой GPT?
00:29:00 Практика Copilot
01:06:15 Практика AI Assitant

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉92👍2🤔1
🔥Эндрю Лок продолжает серию статей о структуре данных куча и типе PriorityQueue

☑️ Из второй части вы узнаете про тип PriorityQueue под капотом: разберетесь, как он использует базовый массив в качестве кучи, и оцените сложность реализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72😁1
🔟 10 суровых истин, которые должен знать каждый джун

Вы думаете, что карьера в ИТ — это сплошные плюшки? Забудьте! Реальность жестока: низкие зарплаты на старте, бесконечные задачи и битва за релокацию. Откройте глаза на суровые реалии прямо сейчас!

👉 Читать статью
👉 Зеркало
❤‍🔥7😁3👍1🤔1
💡ReadOnlySpan<char> в действии

Знаете ли вы, что в .NET8+ можно разделить строку без дополнительных аллокаций? Несмотря на то, что span — не самый удобный тип для создания API, команде .NET удалось создать аккуратную, простую в использовании и более быструю реализацию.

#csharp #dotnet #tip by Сергей Тепляков
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍124🤔2😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?

Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.

Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.

👉 Ссылка на опрос 👈

Прохождение займёт примерно 4 минуты
😁82👍2
🛠 Garnetновый убийца Redis удаленный cache-store от Microsoft Research, написанный на C# и предназначенный для обеспечения высокой производительности, масштабируемости и надежности. Инструмент поддерживает оптимизацию пропускной способности и задержки, восстановление данных, шардирование кластеров, миграцию ключей и репликацию. Совместим с существующими клиентами Redis, что делает его универсальным решением для различных приложений.

👀 Garnet начался в Microsoft Research в 2016 году как проект под названием FASTER, представляющий новый дизайн хранилища ключ-значение. Проект был опубликован в открытом доступе в 2018 году и получил широкое распространение. В 2021 году, учитывая большой интерес к удаленным кэш-системам и RESP API Redis, был разработан Garnet, который предлагает высокую производительность и эффективность в распределенных системах.

👉 Подробнее
👉 GitHub
👉 Сайт
👍14🥰5🤔1
Разраб предложил создать HTTP-статус имени Олега Тинькова (признан иноагентом Министерством юстиции РФ) под названием 267 Doubtful But Okay, который означает, что запрос имеет сомнительную семантику, но он принят и обработан. Код статуса 267 выбран по году рождения Олега (1967 год).

💬 Как вам идея?

🤔 — сомнительно, но окэй
👍 — давно пора

#холивар
🤔257👍123🥱15😁10🔥4
🆕 Эйджизм в IT: как возраст влияет на трудоустройство

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

🔗Подробнее
😢20🥱3👍2🤔2👾1
🤯 Issue ASP.NET на GitHub под названием Epic: Eventing Framework в .NET 9 вызвала шквал критики по обычным причинам: Microsoft активно продвигает собственную экосистему .NET OSS и т. д. и т. п.

🤦‍♂️ По мнению автора Akka.NET и многих других инструментов Aaron Stannard сообщество .NET в контексте этой дискуссии разделилось на две группы: те, кто топит за разнообразие опенсорсных инструментов, и те, кто на стороне единого стандарта для всех задач.

👀 Естественно, вторая группа верит в то, что только решения от Microsoft могут быть «безопасными» и качественными. Это ограничивает разработчиков, ведет к уменьшению инноваций и творческого подхода в экосистеме .NET.

🤔 Посмотрим, к чему это приведет...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔542
💡 Знаете ли вы, что TextWriter.WriteWriteAsync) в .NET Core теперь принимает StringBuilder?

Это полезная перегрузка, например, для реализации логирования или чего-то подобного, когда сообщение создается с использованием переиспользуемого экземпляра StringBuilder.

#csharp #dotnet #tip by Сергей Тепляков
👍35
💪 Что не так с MVP: как создать конкурентоспособный продукт

Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.

👉 Читать статью
👉 Зеркало
👍4🥱31
🤔 Каким вы видите для себя идеальный собес?

Пример недушного собеса по мотивам статьи опытного интервьюера Олега Плотникова:

1️⃣ Вопрос про предыдущий опыт: в двух словах описать самый интересный (сложный) проект.

В чем суть проекта? Размер команды? Роль? Основной вклад? Срок проекта? И т. д.

2️⃣ Типовая задача, с которой реально придется сталкиваться, но решаемая за 5-15 минут + несколько вопрос в глубину про понимание инструмента (языка, фреймворка).

📌 Три основных аспекта, по которым оценивается кандидат:

🔸 Харды и наличие релевантного опыта.
🔸 Коммуникация (софт скиллы). Умение общаться, быстро и структурировано объяснить суть вопроса.
🔸 Проактивность в обучении и страсть к делу.

📌 За каждый навык дается до трех баллов. Есть хоть один ноль — сразу до свидания.

🔸 0 — все плохо
🔸 1 — с пивом покатит
🔸 2 — хорошо
🔸 3 — прекрасно

💬 Что думаете?

#холивар
👍131🔥1