fa
Feedback
Профессор Си

Профессор Си

رفتن به کانال در Telegram
2 789
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-47 روز
-2430 روز
آرشیو پست ها
В чем разница между интерфейсом и абстрактным классом в .NET? Ответ: Интерфейс просто объявляет поведение, которым должны обладать реализующие классы. Он объявляет только свойства, методы и события без модификаторов доступа. Все объявленные члены должны быть реализованы. Абстрактный класс предоставляет частичную реализацию функциональности и некоторые абстрактные/виртуальные члены, которые должны быть реализованы сущностями, которые наследуют класс. Он также объявляет поля. Интерфейс и абстрактный класс не могут быть инстанцированы. #questions

Разработка ИИ-приложений с Claude Code. Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ» Claude Code пом
Разработка ИИ-приложений с Claude Code. Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ» Claude Code помогает быстрее писать, анализировать и дорабатывать код. Но ценность такого инструмента раскрывается не тогда, когда вы просите «сделай приложение», а когда умеете дробить задачу, задавать контекст, контролировать архитектуру и вести разработку пошагово. Иначе вместо ускорения получится набор кусков кода, которые трудно проверить и связать в рабочий продукт. На открытом уроке 21 июля в 20:00 разберём, как использовать Claude Code для практической разработки ИИ-продуктов и сервисов. Посмотрим, как с его помощью создавать Telegram-ботов, ИИ-агентов и внутренние сервисы, генерировать серверную логику, программные интерфейсы, интеграции и автоматизации через текстовые запросы. Отдельно обсудим подходы к работе с большими проектами: структуру промптов, контекст, пошаговую разработку и проверку результата. Также покажем, как применять Claude Code для доработки кода, поиска ошибок и ускорения разработки. Урок поможет понять, как выстроить процесс вайб-кодинга при создании реальных цифровых продуктов, а не просто генерировать отдельные фрагменты. Урок не для тех, кто хочет заменить инженерное мышление одним запросом, не готов проверять результат и считает, что ИИ сам соберёт качественный продукт без постановки задачи, контекста и контроля. 👉 Записаться: https://vk.cc/cZDzJI Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

public class Program
{
  public static string Stutter(string word)
  {
    return $"{word.Substring(0,2)}... {word.Substring(0,2)}...{word}";
  }
}
#задача #ответ

Оффер редко приходит сам. Обычно между «без работы» и «оффер получен» стоят десятки откликов, доработок резюме и часов поиска
Оффер редко приходит сам. Обычно между «без работы» и «оффер получен» стоят десятки откликов, доработок резюме и часов поиска. Talanto.work помогает пройти этот путь быстрее: 🟠 50 000+ IT-вакансий с разных сайтов 🟠 Telegram-бот с уведомлениями по вашим фильтрам 🟠 Проверка резюме и рекомендации по улучшению 🟠 Проверка соответствия резюме конкретной вакансии 🟠 Генератор персональных сопроводительных писем Ищите работу не дольше. Ищите эффективнее.

Задачка: Функция заикания Напишите функцию, которая заикается при чтении слова, как будто человек с трудом его читает. Первые две буквы повторяются дважды с многоточием ... и пробелом после каждой, а затем слово произносится с вопросительным знаком ?. Примеры:
Stutter("incredible") ➞ "in... in... incredible?"
Stutter("enthusiastic") ➞ "en... en... enthusiastic?"
Stutter("outstanding") ➞ "ou... ou... outstanding?"
Пишите ваши варианты в комментариях. Ответ будет в канале сегодня вечером. #задача

Что такое LINQ? Ответ: LINQ – это аббревиатура от Language Integrated Query, она была представлена в Visual Studio 2008. LINQ – это набор функций, расширяющих возможности запросов в синтаксисе языка .NET путем добавления наборов новых стандартных операторов запросов, которые позволяют манипулировать данными независимо от источника данных. Поддерживаемыми источниками данных являются: Коллекции .NET Framework, базы данных SQL Server, наборы данных ADO.NET, документы XML и любые коллекции объектов, поддерживающие IEnumerable или generic интерфейс IEnumerable<T>, как в C#, так и в Visual Basic. Одним словом, LINQ преодолевает разрыв между миром объектов и миром данных. #questions

Создание ИИ-продуктов в Lovable: от идеи до рабочего мини-MVP. Бесплатный урок курса «Вайб-кодинг: создание цифровых продукто
Создание ИИ-продуктов в Lovable: от идеи до рабочего мини-MVP. Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ» Идею продукта больше не обязательно месяцами передавать от продакта к дизайнеру, потом к разработчику, потом обратно на доработку. Новые ИИ-инструменты позволяют быстрее собрать рабочий прототип, проверить сценарий и понять, есть ли у идеи потенциал. Но скорость работает только тогда, когда у вас есть структура: что должно быть на экранах, какая логика нужна пользователю и как связать всё в единый продуктовый путь. На открытом уроке 14 июля в 20:00 разберём, как создавать ИИ-продукты и мини-MVP в Lovable без классической разработки. Поговорим о том, что такое вайб-кодинг, как устроен интерфейс Lovable и как формулировать задачи так, чтобы получать не просто красивые макеты, а рабочие пользовательские сценарии. На практике посмотрим, как собрать мини-MVP: интерфейсы, логику экранов, структуру продукта и путь пользователя. Отдельно обсудим, как дорабатывать продукт через итерации запросов, улучшать пользовательский опыт без дизайнера и разработчика клиентской части, а также какие ошибки чаще всего ломают результат: перегруженные промпты, отсутствие структуры и потеря логики между экранами. Урок не для тех, кто хочет «сделать продукт одной кнопкой», не готов думать о сценариях пользователя и считает, что рабочий прототип — это просто набор красивых экранов. 👉 Записаться: https://vk.cc/cZr1Nb Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

В чем разница между интерфейсом и абстрактным классом в .NET? Ответ: Интерфейс просто объявляет поведение, которым должны обладать реализующие классы. Он объявляет только свойства, методы и события без модификаторов доступа. Все объявленные члены должны быть реализованы. Абстрактный класс предоставляет частичную реализацию функциональности и некоторые абстрактные/виртуальные члены, которые должны быть реализованы сущностями, которые наследуют класс. Он также объявляет поля. Интерфейс и абстрактный класс не могут быть инстанцированы. #questions

Если вы ищете удалённую работу, то лучше это делать на talanto.work. Удалённая вакансия не всегда означает, что работать можн
Если вы ищете удалённую работу, то лучше это делать на talanto.work. Удалённая вакансия не всегда означает, что работать можно из любой страны. Одна компания нанимает только из России. Другая только из Европы. Третья готова рассматривать кандидатов со всего мира. На talanto.work можно отдельно выбрать регион удалёнки, локацию компании, зарплату, грейд и стек. Так ты сразу увидишь вакансии из нужного региона и куда действительно можешь устроиться. Не трать время на поиск работы не из твоего гео.

Ищешь работу C#-разработчиком? В канале C# вакансии публикуются актуальные предложения для программистов на C#. Здесь ты найд
Ищешь работу C#-разработчиком? В канале C# вакансии публикуются актуальные предложения для программистов на C#. Здесь ты найдёшь: 1. Свежие вакансии для C#-разработчиков 2. Предложения для специалистов по .NET 3. Вакансии в Unity и геймдеве Не трать время на долгий поиск - подходящая вакансия может появиться уже сегодня. Подписывайся на C# вакансии

👨‍💻 Когда if начинает распухать Паттерн стратегия подходит, когда один и тот же сценарий можно выполнить несколькими способами, и выбор зависит от условий. Вместо большого switch внутри сервиса разные варианты выносятся в отдельные классы с общим интерфейсом, а контекст просто делегирует работу выбранной реализации. Типовая схема такая. Есть интерфейс Strategy, есть несколько конкретных стратегий, и есть контекст, который держит ссылку на стратегию и вызывает ее метод, не зная деталей реализации. Это снижает связность и позволяет добавлять новые варианты без переписывания старого кода. Мини пример на C#:
public interface IDiscountStrategy
{
    decimal Apply(decimal total);
}

public sealed class RegularDiscount : IDiscountStrategy
{
    public decimal Apply(decimal total) => total;
}

public sealed class VipDiscount : IDiscountStrategy
{
    public decimal Apply(decimal total) => total * 0.9m;
}

public sealed class Checkout
{
    private readonly IDiscountStrategy _discount;

    public Checkout(IDiscountStrategy discount) => _discount = discount;

    public decimal TotalWithDiscount(decimal total) => _discount.Apply(total);
}
Если стратегия выбирается по условиям, условие должно выбирать объект, а не ветку кода:
var checkout = serviceProvider.GetRequiredService<Checkout>();
var total = checkout.TotalWithDiscount(100m);
Выбор стратегии лучше делать на границе приложения, например в фабрике или при конфигурации через DI, потому что прямое создание зависимостей внутри сервиса жестко привязывает код к конкретной реализации. Профессор Си

Методы, их перегрузка и расширения. Бесплатный урок специализации «C#-разработчик» Методы — одна из базовых вещей в C#, без к
Методы, их перегрузка и расширения. Бесплатный урок специализации «C#-разработчик» Методы — одна из базовых вещей в C#, без которой невозможно нормально писать, читать и поддерживать код. Но у начинающих разработчиков часто всё смешивается: где обычный метод, где перегрузка, как работает сигнатура, зачем нужны параметры по умолчанию и в каких случаях использовать params. На открытом уроке 2 июля в 20:00 разберём, что такое метод в C#, как писать собственные методы и как использовать перегрузку без хаоса в коде. Поговорим о сигнатуре метода, параметрах по умолчанию, ключевом слове params и методах-расширениях. На примерах покажем, как эти механики помогают делать код понятнее, гибче и удобнее для повторного использования. Урок не для тех, кто хочет просто «выучить синтаксис» без понимания, как методы влияют на структуру программы. Будет полезен начинающим разработчикам, которые хотят систематизировать базовые знания по C# и объектно-ориентированному программированию. 👉 Записаться: https://vk.cc/cZalzJ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Чем отличаются управляемый и неуправляемый код? Ответ: Управляемый код – это код, созданный компилятором .NET. Он не зависит от архитектуры целевой машины, поскольку выполняется CLR (Common Language Runtime), а не самой операционной системой. CLR и управляемый код предлагают разработчикам несколько преимуществ, таких как сборка мусора, проверка типов и обработка исключений. С другой стороны, неуправляемый код напрямую компилируется в родной машинный код и зависит от архитектуры целевой машины. Он выполняется непосредственно операционной системой. В неуправляемом коде разработчик должен убедиться, что он вручную решает вопросы использования и выделения памяти (особенно из-за утечек памяти), безопасности типов и исключений. В .NET компилятор Visual Basic и C# создает управляемый код. Чтобы получить неуправляемый код, приложение должно быть написано на C или C++. #questions

Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса. Бесплатный урок курса «Вайб-кодинг: создание цифров
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса. Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ» Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи. На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable, чтобы получать предсказуемый результат с первой попытки. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль. Урок не для тех, кто ждёт, что Lovable «сам всё поймёт», не готов уточнять задачу и хочет получать качественный интерфейс без структуры, контекста и итераций. 👉 Записаться: https://vk.cc/cZ1Wn4 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

👍 42% · Professional Web Developer (Python/JavaScript, 80%-100%, Remote within Switzerla 🏢 Adfinis Mid · Remote · Remote, Switzerland

Middle QA Automation Engineer (C#) 🏢 Норд Клан Mid · Remote · Москва

🔔Новые вакансии по C# за последние 7 дней 1️⃣ C# (.NET) Developer (Middle+ / Senior) IndigoSoft Middle/Senior · Remote · Мос
🔔Новые вакансии по C# за последние 7 дней 1️⃣ C# (.NET) Developer (Middle+ / Senior) IndigoSoft Middle/Senior · Remote · Москва · 💰 2 750 – 3 500 $ 2️⃣ C#/.NET-разработчик Paragon Software Hybrid · Санкт-Петербург 3️⃣ C# разработчик Клеверенс Софт Office · Москва · 💰 70 000 – 150 000 RUR 4️⃣ C#/.NET-разработчик МУЛЬТИФАКТОР Hybrid · Москва 5️⃣ C# Backend Developer Чиббис Remote · Москва 6️⃣ Разработчик C# PIX Robotics Remote · Москва 7️⃣ Техлид C# Unity Маналот Геймз Lead · Remote · Москва 8️⃣ Senior C#/.Net разработчик Клируэй Текнолоджис Senior · Remote · Москва · 💰 220 000 – 350 000 RUR 9️⃣ Программист C# / MSSQL ГрандТитул Office · Химки 1️⃣0️⃣ C# .NET Framework WinForms Биткрафт Remote · Санкт-Петербург · 💰 200 000 – 250 000 RUR 1️⃣1️⃣ Ведущий C#-разработчик Ozon Remote · Москва 1️⃣2️⃣ Senior C# разработчик (.Net) Лига Ставок Senior · Remote · Москва ✈️ Talanto | #вакансии #csharp

Что такое делегаты в .NET? Ответ: Делегат в .NET похож на указатель функции в C или C++. Использование делегата позволяет программисту заключить ссылку на метод внутри объекта делегата. Затем объект делегата может быть передан в код, который может вызвать метод, на который ссылается ссылка, необязательно знать во время компиляции, какой метод будет вызван. Кроме того, можно использовать делегат для создания пользовательских событий в классе. Например:
public delegate void FooDelegate();

class FooClass
{
    // кастомное событие
    public event FooDelegate FooEvent;
}

FooClass FooObj = new FooClass()
FooObj.FooEvent += new FooDelegate();
#questions

C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals Автор: Mark J. Price Дата выхода: 2023 #csharp #en #2O23 Ск
C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals Автор: Mark J. Price Дата выхода: 2023 #csharp #en #2O23 Скачать книгу

photo content