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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍊Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок

🛠️ 17 суперинструментов для разработки фронтенда
🏃 Самоучитель по Go для начинающих: часть 3 + часть 4
 🔟🏢 ТОП-10 российских IT-работодателей
📁💡Где программисту взять идеи для портфолио
🐍📋 F-строки в Python для интерполяции и форматирования строк
🤖 Машинное обучение: что это такое и как оно работает
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
🐍🤖✍️ Документирование кода и проектов на Python с помощью ChatGPT
📈 Обзор рынка труда в ИТ: III квартал 2023 года
🐍⚙️ Python или Rust: что выбрать для анализа данных и машинного обучения
🧠🧩 Зачем айтишнику психолог?
🐍🧫 Создаём игру «Жизнь» Джона Конвея на Python
👨‍🎓 14 бесплатных ресурсов, которые пригодятся каждому разработчику
✍️ Почему отсутствие технической документации убьёт ваш проект?
👨‍💻 Вопросы для подготовки к собеседованию по JavaScript. Часть 1
🎄🎁 10 абсурдных подарков программисту на Новый год
😺🐙 Как разобраться в Git: краткая инструкция для джунов
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
⚙️📕 Ответы на вопросы для самопроверки из книги «Тестирование Дот Ком» Романа Савина
🏦⚠️ Борьба с ошибками разработки ПО в финтехе
👍3
Немного магии JIT от Егора Богатова

🙃 Оба метода работают одинаково, но почему версия _hacker работает быстрее?

#dotnet #benchmarks
🤔22🔥10👍5😁4
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

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

#️⃣C#

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

☁️DevOps

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

🐘PHP

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

🐍Python

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

Java

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

👾Data Science

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

🦫Go

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

🧠C++

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

💻Другие профильные каналы

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

💼Каналы с вакансиями

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

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

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

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

* Организация Meta запрещена на территории РФ
👍4
🚀Метод быстрого марша (Fast Marching Method) на практике: объяснение принципа работы алгоритма с примерами на C#

Алгоритм был разработан для решения краевых задач уравнения Эйконала. Автор статьи использует его для расчёта полей расстояний (Distance Field) и поиска кратчайшего пути.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5🤔1
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании

7 самых распространенных вопросов, которые точно задавали каждому из вас.

Читать статью
🥱13👍2
🤩 Еще в ноябре, во время конференции .NET Conf, Microsoft выпустила F# 8.0 как часть .NET 8. Новая версия F# содержит множество функций, которые делают код F# более простым и единообразным, а приложения — более производительными.

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

📌 Вторая ключевая функция касается копирования и обновления вложенных записей. Она упрощает процесс копирования и обновления полей вложенных записей, предоставляя более эффективный и простой подход к манипулированию полями внутри записей.

📌 Также в новой версии появилась функция while!, которая упрощает использование вычислительных выражений. Вот пример ее использования внутри блока async{}:

let doStuffWithWhileBang =
async {
while! asyncCondition do
count <- count + 2
return count
}


📌 В F# 8 представлен расширенный синтаксис интерполяции строк и появилась поддержка строковых литералов во встроенных функциях вывода:

[<Literal>] 
let formatBody = "(%f,%f)"
[<Literal>]
let formatPrefix = "Person at coordinates"
[<Literal>]
let fullFormat = formatPrefix + formatBody

let renderedCoordinates = sprintf formatBody 0.25 0.75
let renderedText = sprintf fullFormat 0.25 0.75


📌 В этом выпуске F# претерпевает значительные улучшения, направленные на повышение единообразия и согласованности. Статические члены теперь можно объявлять и реализовывать в интерфейсах, выделяя конкретные члены в отличие от статических абстрактных членов F# 7.

[<Interface>]
type IDemoable =
abstract member Show: string -> unit
static member AutoFormat(a) = sprintf "%A" a


Всё это — далеко не все, что было добавлено в новой версии F#. Читайте подробнее в блоге Microsoft.

#fsharp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4🤔3🥱2
💡Цена случайного использования Enumerable.Contains вместо HashSet<T>.Contains в цикле (что является довольно распространенной ошибкой):

1. Временная сложность составляет O(N*K), вместо O(N).
2. Значительно больше выделений памяти (Enumerable.Contains выделяет память под enumerator).

👉 Вот как это влияет на производительность: скорость работы в 6 раз медленнее и в 3 раза больше выделений памяти.

#dotnet #csharp #benchmarks #tip by Сергей Тепляков
👍41🤔7
😎 Пятнадцатичасовой курс по продвинутым концепциям C# от freeCodeCamp

Таймкоды:

0:00:00 — Часть 1. Introduction
0:01:08 — Часть 2. Overview of the Advanced C# Course
0:20:46 — Часть 3. The Significants of the Release of .NET 5
0:33:17 — Часть 4. Delegates — Introduction
0:47:47— Часть 5. Delegates — Create a Code Example
1:51:45 — Часть 6. Delegates — Understanding Covariance and Contravariance
2:04:19 — Часть 7. Delegates — Fund, Action and Predicate
2:24:26 — Часть 8. Delegates — Asynchronous Method Calls
2:39:24 — Часть 9. Events — Introduction
2:55:50 — Часть 10. Events — Add/Remove Accessors
2:22:44 — Часть 11. Events — User Actions & UWP
3:52:23 — Часть 12. Events — The Observer Design Pattern
5:12:33 — Часть 13. Generics — Introduction
5:27:30 — Часть 14. Generics — Understanding Constraints
5:53:42 — Часть 15. Generics — Generic Delegates and Events
6:34:56 — Часть 16. Generics — The Factory Design Pattern
6:56:23 — Часть 17. Async / Await Task — Introduction
7:35:36 — Часть 18. Async / Await Task — Task.Run()
8:04:34 — Часть 19. Async / Await Task — Best Practices
8:45:23 — Часть 20. Async / Await Task — Cancelling Asynchronous Operations
9:13:47 — Часть 21. LINQ — Introduction
9:50:14 — Часть 22. LINQ — Queries
10:29:57 — Часть 23. LINQ — Operators
11:16:51 — Часть 24. LINQ — More Operators and Summary
12:18:46 — Часть 25. C# Attributes
13:33:13 — Часть 26. C# Reflection
14:34:53 — Часть 27. .NET Framework and .NET Core
14:39:06 — Часть 28. .NET 6
14:50:52 — Часть 29. .NET 7
46👍8🥱6
MemoizR — декларативная структурированная конкурентность для C#

Khalid Abuhakmeh экспериментирует с библиотекой MemoizR, которая черпает вдохновение из мира фронтенда, чтобы донести до разработчиков .NET концепцию dynamic lazy memoization.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7👍53
Нейросеть все знает

#maui #юмор
🔥34😁27👍4
Представьте: вас берут на новый проект, а там сплошной легаси-код. Ваши действия👇

👍 — останусь, разберусь и постараюсь развить его
🤔 — любым способом перейду в другой проект
🥱 — а где эта грань между легаси и нормальным проектом?
❤️ — свой вариант (напишу в комментариях)

#холивар
🥱139👍35🤔22
🧰 Visual Studio Test Platform — открытая и расширяемая платформа тестирования, которая позволяет запускать тесты, собирать диагностические данные и сообщать о результатах.

🔧 Платформа поддерживает запуск тестов, написанных на различных тестовых фреймворках, и использует pluggable adapter model. В настоящей момент она поставляется как часть Visual Studio 2019 и в составе .NET Core Tools Preview 3.

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔4
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍4
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤖 Итоги недели в мире ИИ и обзоры новых сервисов

Мы написали статью на VC, которая основана на очередном выпуске нашей рассылки про последние новости и тенденции в мире ИИ. Залетайте и читайте!

👇Ниже — мини-подборка из статьи 👇

📰 Новости

▫️ OpenAI объявила о запуске долгожданного магазина кастомных чат-ботов.
▫️ В Пасадене (штат Калифорния) открывается первая закусочная CaliExpress by Flippy, полностью управляемая ИИ.
▫️ NVIDIA выпустила модель для распознавания речи Parakeet, которая по всем показателям превосходит OpenAI Whisper.
▫️ Использование ИИ в совместном научном проекте Microsoft и Тихоокеанской северо-западной национальной лаборатории в течение недели помогло определить новый элемент, который поможет снизить на 70% использование лития в батареях. Без ИИ такое исследование заняло бы по меньшей мере 20 лет.
▫️ Компания ByteDance выпустила новую модель MagicVideo-V2 для генерации видео.

🛠 Инструменты

◾️ Auto Wiki — генерирует вики-документацию для GitHub репозиториев.
◾️ Code to Flow — визуализирует, анализирует и объясняет код, написанный на всех популярных языках и фреймворках.
◾️ Concepto — платформа для создания прототипов веб-приложений.
◾️ Afforai — выполняет суммаризацию, перевод и поиск по множеству документов.
◾️ Corgea — исправляет уязвимые фрагменты кода.
◾️ Jan — опенсорсный оффлайновый чат-бот.
◾️ Plus AI — плагин для Google Slides: делает профессиональные презентации, персональные и командные дашборды, любые отчеты.

🤙 Сделай сам

🔸 WikiChat — опенсорсный инструмент для коррекции галлюцинаций с помощью информации из Википедии.
🔸 Подробная шпаргалка и советы по созданию продвинутых RAG.
🔸 OpenVoice — опенсорный инструмент для мгновенного клонирования голоса.

🎓 Туториалы

🔹 Туториал по работе с новым API Query Pipelines показывает примеры создания простых линейных цепочек и сложных ациклических графов из модулей LlamaIndex.
🔹 Туториал по объединению LLM с помощью mergekit детально разбирает 4 основных метода объединения моделей.

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2😁2🤔1🥱1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
«Библиотека программиста» ищет контент-менеджера для ведения телеграм-каналов

Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉C#
👉DevOps

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Подробнее о вакансии и форма для отклика — по ссылке.

Ждем вас в команде!
👍51
💡Как считать RPS (Requests per second) эффективно: совет от Егора Богатова

#dotnet #csharp #tip
😁12👍7
В новом выпуске Visual Studio 17.9 Preview 3 значительно улучшен функционал поиска кода (также известного как All-In-One Search).

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

👉 Подробнее
👍29🌚1
💡Сергей Тепляков напоминает, что KeyValuePair<TK,TV> не стоит использовать в качестве ключа хеш-таблиц, так как он не переопределяет методы Equals/HashCode.

Это может привести к снижению производительности в 100 раз, так как хеш-код KVP будет одинаковым, если ключ и значение совпадают. Почему?

Потому что по умолчанию для blittable структур хеш-код является просто операцией XOR (^) всех полей (смотрите третий скрин).

Большое время обработки вызвано коллизиями и последовательным поиском, а также огромными выделениями памяти, связанным с упаковкой каждого экземпляра для вызова метода Equals.

👉 Подробнее

#dotnet #csharp #performance #tip #benchmarks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🤔6😁1