🔧 Когда ваш C#-проект больше похож на замок, чем на приложение
Вы декомпозируете классы с такой тщательностью, будто строите ферму мобов?
А async/await у вас организованы лучше, чем сундуки с шалкерами?
Ваши interface'ы такие продуманные, что Стив бы поставил лайк.
😅 Признайтесь: вы не просто пишете код — вы его зачаровываете.
➡️ Самое время проверить, где заканчивается C# и начинается Minecraft
🐸 Библиотека шарписта
Вы декомпозируете классы с такой тщательностью, будто строите ферму мобов?
А async/await у вас организованы лучше, чем сундуки с шалкерами?
Ваши interface'ы такие продуманные, что Стив бы поставил лайк.
😅 Признайтесь: вы не просто пишете код — вы его зачаровываете.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22👍4
🎮 Unity на C# — благословение или тормозной ад
Каждый разработчик в какой-то момент сталкивается с Unity. Одни вспоминают его с теплом, другие — с судорогой в глазу. Истина, как всегда, где-то между.
➖ Почему благословение:
• Простой старт — C#, туториалы, всё в одном месте.
• Кроссплатформенность — один билд на всё.
• Asset Store — лего для ленивых.
• C# мощный — async, events, OOP, welcome.
• Большое коммьюнити — на любой баг найдётся тред.
➖ Почему ад:
• Глючный Editor — «ты сегодня не поиграешь».
• GC тормоза — фризы во время кульминации.
• Хаос из MonoBehaviour'ов — архитектурный кошмар.
• Обновления ломают всё — стабильно нестабильные.
• UI до сих пор страдает — hello, 2010.
💬 На какой стороне вы? Ждём ваше мнение в комментариях👇
🐸 Библиотека шарписта #междусобойчик
Каждый разработчик в какой-то момент сталкивается с Unity. Одни вспоминают его с теплом, другие — с судорогой в глазу. Истина, как всегда, где-то между.
• Простой старт — C#, туториалы, всё в одном месте.
• Кроссплатформенность — один билд на всё.
• Asset Store — лего для ленивых.
• C# мощный — async, events, OOP, welcome.
• Большое коммьюнити — на любой баг найдётся тред.
• Глючный Editor — «ты сегодня не поиграешь».
• GC тормоза — фризы во время кульминации.
• Хаос из MonoBehaviour'ов — архитектурный кошмар.
• Обновления ломают всё — стабильно нестабильные.
• UI до сих пор страдает — hello, 2010.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍7❤1
📰 Самое важное за неделю
Всё, что стоило бы загуглить:
➖ Semantic Kernel для .NET теперь поддерживает гибридный поиск
Теперь вы можете комбинировать векторный и полнотекстовый поиск для более точных и релевантных результатов
➖ .NET Aspire 9.2
Microsoft выпустила новую версию .NET Aspire — обновление, которое приносит новые способы развёртывания через систему "publishers"
➖ .NET 10 Preview 3
➖ 4 cамых популярных фреймворка для разработки онлайн-игр на Unity
➖ Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1
➡️ Вакансия бустера
🐸 Библиотека шарписта #свежак
Всё, что стоило бы загуглить:
Теперь вы можете комбинировать векторный и полнотекстовый поиск для более точных и релевантных результатов
Microsoft выпустила новую версию .NET Aspire — обновление, которое приносит новые способы развёртывания через систему "publishers"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💻 Это база: кортежи
Иногда метод должен вернуть не одно, а два-три значения. Кортеж — это способ всё упаковать в один удобный контейнер.
➖ В чём фишка
• Быстро: никаких лишних классов, никаких out-параметров
• Именованные поля: Name, Age — код становится читаемым без лишнего усилия
• ValueTuple — структура, работает быстрее и не создаёт лишней нагрузки на сборщик мусора.
➖ Когда лучше не использовать кортежи
• Если данных слишком много — создайте отдельный class или record. С кортежем на 5+ элементов уже не смешно.
• Если вы заботитесь о будущем себе — помните, что анонимные Item1, Item2 быстро превращаются в загадку даже для вас через пару недель.
• Если пишете API, библиотеку или SDK — не заставляйте других гадать, что такое Item3. Имейте уважение к коллегам по цеху.
А ещё кортежей всё ещё нет в Java 😁
🐸 Библиотека шарписта #буст
Иногда метод должен вернуть не одно, а два-три значения. Кортеж — это способ всё упаковать в один удобный контейнер.
(string topping, bool isSpicy) = GetBurgerOptions();
• Быстро: никаких лишних классов, никаких out-параметров
• Именованные поля: Name, Age — код становится читаемым без лишнего усилия
• ValueTuple — структура, работает быстрее и не создаёт лишней нагрузки на сборщик мусора.
• Если данных слишком много — создайте отдельный class или record. С кортежем на 5+ элементов уже не смешно.
• Если вы заботитесь о будущем себе — помните, что анонимные Item1, Item2 быстро превращаются в загадку даже для вас через пару недель.
• Если пишете API, библиотеку или SDK — не заставляйте других гадать, что такое Item3. Имейте уважение к коллегам по цеху.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁13🤔2❤1
Forwarded from Библиотека задач по C# | тесты, код, задания
Что означает «I» в ACID?
👾 — «Изоляция»: каждая транзакция выполняется так, как будто она единственная в системе — другие не влияют на её выполнение.
👍 — «Интеграция»: транзакции выполняются без нарушения логики взаимодействия между системой и данными.
🥰 — «Индивидуальность»: каждая транзакция работает независимо, и её результат не виден другим до завершения.
⚡️ — «Инвариантность»: состояние данных остается неизменным, даже если несколько транзакций выполняются одновременно.
🐸 Библиотека задач по C#
👾 — «Изоляция»: каждая транзакция выполняется так, как будто она единственная в системе — другие не влияют на её выполнение.
👍 — «Интеграция»: транзакции выполняются без нарушения логики взаимодействия между системой и данными.
🥰 — «Индивидуальность»: каждая транзакция работает независимо, и её результат не виден другим до завершения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👾54🥱4👍2🥰1🙏1
Backend C# / .NET Разработчик (middle, middle+) — до 450 000 ₽,
Гибрид
Backend Developer (.NET, C#) — от 3 500 $, Удалёнка
Разработчик C# — 250 000 ₽, Удалёнка
Бустер — Удалённо (весь мир)
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Ключевые слова C# от Microsoft
Одна из самых подробных и актуальных шпаргалок по ключевым словам C#, которая поможет вам быстро ориентироваться в языке и использовать ключевые конструкции на практике.
➡️ Шпаргалка
🐸 Библиотека шарписта #буст
Одна из самых подробных и актуальных шпаргалок по ключевым словам C#, которая поможет вам быстро ориентироваться в языке и использовать ключевые конструкции на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🥱8
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📦 Главные проблемы распределенных систем (и способы их решения)
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.
🐸 Библиотека программиста
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍2❤1
🧑💻 How to: не потерять нативные DLL
Если ваше приложение зависит от нативных DLL, важно настроить правильное копирование этих файлов в выходную директорию при сборке через NuGet. Вот как это сделать:
1️⃣ Подготовьте директорию
Разместите DLL библиотеки в папке
2️⃣ Обновите
Добавьте в файл .csproj строку, которая будет копировать DLL в выходную директорию:
3️⃣ Используйте команду dotnet publish
Для корректного копирования всех зависимостей используйте команду:
Это обеспечит правильную сборку с нативными библиотеками.
🐸 Библиотека шарписта #буст
Если ваше приложение зависит от нативных DLL, важно настроить правильное копирование этих файлов в выходную директорию при сборке через NuGet. Вот как это сделать:
Разместите DLL библиотеки в папке
runtimes/{RID}/native/
вашего NuGet-пакета. Пример для Windows 64-bit:/runtimes
/win-x64
/native
mylibrary.dll
.csproj
Добавьте в файл .csproj строку, которая будет копировать DLL в выходную директорию:
<ItemGroup>
<None Update="runtimes\win-x64\native\mylibrary.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
Для корректного копирования всех зависимостей используйте команду:
dotnet publish -c Release -r win-x64
Это обеспечит правильную сборку с нативными библиотеками.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
➡️ Читать статью
🐸 Библиотека шарписта
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
С помощью картинок и коротких видео даже новички начнут применять продвинутые инструменты разработки и использовать Docker.
Стоит подписаться: t.iss.one/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13🤔3👍1
🤖 Промпт дня: собеседование по C#
Проведите mock-интервью по C# с этим промптом — тренировка навыков, структурирование мыслей и полезная обратная связь по каждому ответу.
Промпт:
🐸 Библиотека шарписта #буст
Проведите mock-интервью по C# с этим промптом — тренировка навыков, структурирование мыслей и полезная обратная связь по каждому ответу.
Промпт:
You are a Senior C# Backend Developer and Technical Interviewer with 15+ years of experience at FAANG companies. Your task is to conduct a mock interview for a candidate applying for a Backend Developer position specializing in C#. You will ask a series of technical questions, assess the candidate's responses, and provide constructive feedback. The interview should cover topics such as .NET framework, data structures, algorithms, database design, API development, and software design principles.
Here's the format you will use to conduct the mock interview and provide feedback:
---
## Interview Question
$interview_question
## Candidate's Answer
$candidate_answer (This will be provided by the user)
## Your Assessment and Feedback
$assessment_and_feedback (Provide a detailed assessment of the candidate's answer, highlighting strengths and areas for improvement. Be specific and constructive.)
---
Begin the mock interview by asking the first question. After the candidate provides their answer, use the template above to provide your assessment and feedback. Continue with subsequent questions until the interview is complete. Aim for a comprehensive interview covering a range of backend development topics relevant to C#.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
💬 Истории подписчиков: как проходят дейлики
Часто у вас идёт что-то не так на дейликах? Админ хочет поделиться болью:
💬 А как проходят дейли у вас? Всё штатно или кто-то на фоне любит погулять или покашлять? Делитесь в комментариях 👇
P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.
🐸 Библиотека шарписта #междусобойчик
Часто у вас идёт что-то не так на дейликах? Админ хочет поделиться болью:
У меня две собаки и обе старенькие. Одна из них любит покашлять и часто во время того, как я говорю.
Но это ладно. Недавно жена так громко позвала меня кушать, что я даже покраснел. Хорошо, что без камер сидели.
P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
EditorConfig — это инструмент, который помогает стандартизировать стиль кода в разных редакторах и IDE, обеспечивая консистентность форматирования.
EditorConfig использует конфигурационный файл .editorconfig, который определяет правила форматирования для разных типов файлов (например, для C#, JavaScript, HTML). Когда редактор или IDE открывает проект, он автоматически подхватывает настройки из этого файла и применяет их.
Основные принципы и возможности
EditorConfig позволяет настраивать правила форматирования для каждого типа файлов или каталогов.
Пример конфигурации:
[*.cs]
indent_style = space
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true
end_of_line = lf
insert_final_newline = true
indent_style: cтиль отступов, может быть space или tab.
indent_size: количество пробелов для отступа.
tab_width: ширина табуляции (используется, если indent_style = tab).
trim_trailing_whitespace: удаление пробелов в конце строки.
end_of_line: стиль переноса строки (LF или CRLF).
insert_final_newline: добавление пустой строки в конце файла.
[*.js]
indent_style = space
indent_size = 2
[test/*.cs]
indent_style = tab
indent_size = 4
Вы можете создать глобальный .editorconfig, который будет применяться ко всем проектам на вашем компьютере, если он находится в домашней директории или в другом заданном месте. Это позволяет легко применять одни и те же стандарты к каждому новому проекту.
root = true
[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
Если вы хотите гарантировать, что изменения в коде всегда соответствуют стандартам, можно интегрировать EditorConfig с Git Hooks. Таким образом, при каждом коммите можно автоматически проверять, чтобы все изменения соответствовали правилам форматирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥱3❤1