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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🆒 Дарим наш курс за ответ на задачу

В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирования — рандомно выберем победителя


Подробные условия:
➡️ Решаем задачу со следующего поста
➡️ Решение присылаем в бота @ProglibContest_bot
➡️ Рандомно среди правильных ответов разыгрываем курс на выбор

Курсы на выбор:
🔵 Архитектуры и шаблоны программирования
🔵 Основы программирования на Python
🔵 Базовые модели ML и приложения
🔵 Frontend Basic: принцип работы современного веба

Таймлайн:
11-12 сентября — принимаем ответы
⬇️
13 сентября — подводим итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2👍1😁1🙏1
❗️Задача для конкурса в честь дня программиста

Условие:

Даны две строки s и f (начальная и конечная) и словарь D (набор слов).

Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно".

Пример ввода 1:
    D = ["cat", "cot", "dot", "dog", "bat", "dag"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': 3

Пример ввода 2:
    D = ["cat", "cot", "bat"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно
Please open Telegram to view this post
VIEW IN TELEGRAM
9🌚4🤔3👍1
🛠 Autofac — IoC container для .NET. Он управляет зависимостями между классами, чтобы приложение можно было легко изменять по мере масштабирования и сложности. А достигается это за счет обработки обычных .NET-классов как компонентов.

var builder = new ContainerBuilder();

builder.Register(c => new TaskController(c.Resolve<ITaskRepository>()));
builder.RegisterType<TaskController>();
builder.RegisterInstance(new TaskController());
builder.RegisterAssemblyTypes(controllerAssembly);

var container = builder.Build();


👉 GitHub
👍14
🤯 Рефакторим легаси при помощи ООП

Спустя годы проекты обрастают тёмными местами, в которые никто не хочет соваться, поскольку их сложно понять и легко сломать. Константин Волоховский, тимлид из PVS-Studio, рассказывает про кейс рефакторинга такого кода с переводом на ООП рельсы при помощи паттернов, причём с современным стилем.

Автор не в первый раз пишет про применение ООП на практике — одна из прошлых статей буквально так и называлась (правда с примерами на Java). Только там он фокусировался на применении поведенческих паттернов, здесь же речь пойдёт больше о паттернах порождающих, так что можно воспринимать эту статью как продолжение.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43
Привет, друзья! 👋

Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 👇💻
😁71👍1
Какой бюджет, по-вашему, оптимален для покупки ноутбука программисту в 2024 году? 💰
Anonymous Poll
6%
До 50 000 ₽
39%
50 000 — 100 000 ₽
37%
100 000 — 150 000 ₽
18%
Более 150 000 ₽
💬 Поделитесь опытом: на каком ноутбуке вы сейчас работаете и почему он вам нравится (или не нравится)? 🌟

Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡

Спасибо за участие! 🙌
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍5👾2🥱1
🚀 Улучшения производительности в .NET 9: ежегодный обзор от Stephen Toub

Более 7500 PR были объединены в dotnet / runtime за последний год, из которых значительный процент так или иначе повлиял на производительность.

Stephen Toub проводит экскурсию по более чем 350 PR, которые нашли свое применение в .NET 9, отличающейся высокой производительностью.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥2
🛠️ Пример модульного теста C# с использованием паттерна Builder

💬 Кто использует паттерн Builder для настройки тестовых данных? В каких ситуациях оправданы дополнительные накладные расходы на обслуживание?

#dotnet #csharp #tip by Dave Callan
🥰19👍6🤩3🥱3🤔1
🎙Выпуск подкаста RadioDotNet про реинкарнацию Discriminated Unions, Mono и многое другое

Таймкоды:

[00:00:00] — Приветствие
[00:01:10] — Microsoft передала Mono сообществу Wine
[00:10:30] — .NET 9 Preview 7
[00:28:20] — Enable NuGet auditing for your .NET projects
[00:33:05] — Visual Studio 2022 v17.11 GA
[00:38:30] — Type Unions for C#
[01:01:15] — Кратко о разном

YouTube | Другие площадки

#подкасты
👍8😁21
💡Модификатор доступа к файлу в C#

Он был представлен в C# 11. Видимость созданного типа ограничена исходным файлом, в котором он объявлен.

Эта фича помогает избегать конфликтов имен при написании генераторов исходного кода.

💬 Как думаете, в каких кейсах его еще можно применить?

#dotnet #csharp #tip by Oleg Kyrylchuk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35😁5
🥇 Итоги конкурса: победитель определён

Надеемся, что все отлично отпраздновали день программиста. А нам за два дня пришло много ответов на нашу задачу.


У нас есть победитель, он выбран рандомно среди правильных ответов:
erdnya — аккаунт закрытый. Свяжитесь с @mdudarevcontact

Мы с ним свяжемся и дадим доступ к любому из следующих курсов

Курсы на выбор:
🔵 Архитектуры и шаблоны программирования
🔵 Основы программирования на Python
🔵 Базовые модели ML и приложения
🔵 Frontend Basic: принцип работы современного веба
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122
Одна из самых больших проблем при использовании ASP.NET Core в Linux решается в .NET 9. Это developer certificate tool (в некоторых дистрибутивах):

dotnet dev-certs https --trust


👉 Подробнее
🔥29🎉7👍5
🔼 Spread element в C# 12: простой пример

Идея похожа на ... ( три точки) в JavaScript и используется для объединения коллекций.

💬 Уже пользовались?

#dotnet #csharp #tip by Dave Callan
🔥38👍12🌚5😢1🎉1
Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов👇
👍5😁2
🤔 Как работать с коллегами, застрявшими в прошлом?

C#-разработчик делился опытом работы с двумя коллегами, которые до сих пор работают по стандартам C# 1.0 и практически ничего не знают о современных методах. На Reddit пришел за советами — как быть, что делать.

💬 Кажется, главный совет в данном случае — искать другую компанию. Или есть шанс что-то исправить?
😁38👍2
👩‍💻 «Шарьте» значения между окружениями с помощью http-файлов в Visual Studio

Начиная с версии 17.12 Preview 2, больше не нужно явно повторять значения, которые используются в разных окружениях.

#dotnet #csharp #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉12👍53🥰1