This media is not supported in your browser
VIEW IN TELEGRAM
dotnet tool install -g csharprepl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍6🌚1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью.
В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа.
🔗 Читать статью
🔗 Зеркало
Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью.
В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа.
🔗 Читать статью
🔗 Зеркало
🥱9❤1👍1👾1
💬 Мысли Эндрю Лока о primary constructors: 3 ➕ и 5 ➖
В предыдущей статье автор представил введение в primary constructors в C# 12. В новом материале вас ждет более глубокое погружение в тему с описанием основных достоинств и недостатков (по его мнению):
☑️ Основные подходы к использованию primary constructors
☑️ Лучшие юзкейсы primary constructors
▫️Базовая инициализация полей
▫️Инициализация в тестовом коде
▫️Dependency injection в MVC-контроллерах
☑️ Проблемные моменты, или «что не нравится»
▫️Duplicate capture
▫️Неявные поля не могут быть readonly
▫️Неявные поля изменяют макет структуры
▫️Путаница с соглашениями об именах
▫️Путаница с record
В предыдущей статье автор представил введение в primary constructors в C# 12. В новом материале вас ждет более глубокое погружение в тему с описанием основных достоинств и недостатков (по его мнению):
☑️ Основные подходы к использованию primary constructors
☑️ Лучшие юзкейсы primary constructors
▫️Базовая инициализация полей
▫️Инициализация в тестовом коде
▫️Dependency injection в MVC-контроллерах
☑️ Проблемные моменты, или «что не нравится»
▫️Duplicate capture
▫️Неявные поля не могут быть readonly
▫️Неявные поля изменяют макет структуры
▫️Путаница с соглашениями об именах
▫️Путаница с record
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
#dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥17👍12❤1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
👨🎓️ 33 лучших вуза России для будущих программистов 2024-2025
Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему.
🔗 Читать статью
🔗 Зеркало
Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему.
🔗 Читать статью
🔗 Зеркало
🥱9❤3🤔2😁1👾1
💬 Разрабы, какую музыку вы предпочитаете слушать во время работы?
👍 — энергичная и мотивирующая музыка (рок, поп, электронная)
🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки)
❤️ — предпочитаю работать в тишине
#холивар
👍 — энергичная и мотивирующая музыка (рок, поп, электронная)
🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки)
❤️ — предпочитаю работать в тишине
#холивар
👍117❤92🔥70
До недавнего времени разрабатывать IoT приложения на C# можно было только для компьютеров, построенных на архитектуре ARM или x86.
В начале этого года был представлен неофициальный .NET 8.0 SDK, который уже сейчас вы сможете запустить на RISC-V процессоре под ОС Debian/Ubuntu.
В качестве платформы запуска автор взял одноплатный компьютер Sipeed Lichee RV на RISC-V процессоре Allwinner D1 (ядро Alibaba/T-Head Xuantie C906 RISC-V).
🟣 Часть 1: установка .NET 8.0 SDK на Sipeed Lichee RV
🟣 Часть 2: запуск приложения для работы с контактами GPIO и датчиком BME280 для замера температуры, влажности и давления
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12😁5👍3🔥2
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
💸📊 На сколько просели зарплаты в ИТ в 2024 году?
Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас.
🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей.
👉 Остальные данные — в статье
👉 Зеркало
Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас.
🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей.
👉 Остальные данные — в статье
👉 Зеркало
👍6🤔5
👨💻 До недавнего времени в справочной документации .NET API не было обратной ссылки на исходный код, но команда .NET не дремлет, поэтому добавила ссылки, объединяющие документацию с исходниками. Под катом — история о проделанной работе.
👉 Читать
👉 Читать
👍18🔥3
🕹 Разработку игры на Unity и Godot Game Engine
Пошаговое руководство по разработке игры Pong, с помощью которого вы углубитесь в уникальные особенности Godot, которые делают его отличным движком для разработки игр, рассмотрите преимущества использования C#, научитесь настраивать среду разработки, поймёте концепции Godot и прокачаетесь в разработке на C# + Godot. В конце вас ждет полезный список ресурсов сообщества.
☑️ Introduction To Game Development
☑️ Set up a Godot Game Development Environment
☑️ Game Design
☑️ Source Control Management with Godot
Asset Management
☑️ Godot Nodes and the Scene Tree
☑️ Adding Scripts To Your Godot Game
☑️ Godot Community Resources
Пошаговое руководство по разработке игры Pong, с помощью которого вы углубитесь в уникальные особенности Godot, которые делают его отличным движком для разработки игр, рассмотрите преимущества использования C#, научитесь настраивать среду разработки, поймёте концепции Godot и прокачаетесь в разработке на C# + Godot. В конце вас ждет полезный список ресурсов сообщества.
☑️ Introduction To Game Development
☑️ Set up a Godot Game Development Environment
☑️ Game Design
☑️ Source Control Management with Godot
Asset Management
☑️ Godot Nodes and the Scene Tree
☑️ Adding Scripts To Your Godot Game
☑️ Godot Community Resources
👍10
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России
Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.
🔗 Читать статью
🔗 Зеркало
Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.
🔗 Читать статью
🔗 Зеркало
😁32👏10❤3🥱3👍2
🤔 Как отменить задачу с несколькими источниками CancellationToken в C#: заметки от Steven Giesel
Представьте, что у вас есть долго выполняемая задача, которую вы хотите завершить корректно (или нет) и при этом вам нужно отслеживать сигналы отмены из нескольких источников.
Это может быть часто встречающимся кейсом в реализации
Теперь вы хотите создать
📌 Решение
CancellationTokenSource.CreateLinkedTokenSource создает новый
Учтите, что
Вы также можете отменить связанный источник токенов вручную, чтобы указать, что задача должна быть отменена. «Исходные» токены останутся неизменными, будет отменен только связанный токен.
Представьте, что у вас есть долго выполняемая задача, которую вы хотите завершить корректно (или нет) и при этом вам нужно отслеживать сигналы отмены из нескольких источников.
Это может быть часто встречающимся кейсом в реализации
BackgroundService
или IHostedService
, где вы хотите отслеживать событие IHostApplicationLifetime.ApplicationStopping
и также какое-то другое событие/условие.
var hostToken = IHostApplicationLifetime.ApplicationStopping;
// Какой-то другой источник для отмены, передаваемый методом
var otherToken = ...;
Теперь вы хотите создать
CancellationToken
, который будет активирован при отмене любого из токенов. Но метод обычно принимает только один токен:
await Task.Delay(Timeout.Infinite, token); // Вы не можете передать два токена здесь
📌 Решение
CancellationTokenSource.CreateLinkedTokenSource создает новый
CancellationTokenSource
, который будет отменен, когда любой из связанных токенов будет отменен. Вы можете передать столько токенов, сколько вам нужно, и он вернет новый CancellationTokenSource
, который вы можете использовать для создания CancellationToken
для вашей задачи.
using var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(hostToken, otherToken);
var linkedToken = linkedTokenSource.Token;
await Task.Delay(Timeout.Infinite, linkedToken); // Теперь вы можете передать связанный токен
Учтите, что
CancellationTokenSource
является IDisposable
и должен быть утилизирован, когда вы закончите работать с ним. Вы также можете отменить связанный источник токенов вручную, чтобы указать, что задача должна быть отменена. «Исходные» токены останутся неизменными, будет отменен только связанный токен.
using var t1 = new CancellationTokenSource();
using var t2 = new CancellationTokenSource();
using var t3 = CancellationTokenSource.CreateLinkedTokenSource(t1.Token, t2.Token);
t3.Cancel();
Console.WriteLine(t1.IsCancellationRequested); // False
Console.WriteLine(t2.IsCancellationRequested); // False
Console.WriteLine(t3.IsCancellationRequested); // True
Steven-Giesel
Cancel WhenAny - linked CancellationTokenSource
In today's short post, I will show you how to cancel a Task with multiple inputs (aka multiple CancellationTokens) using CancellationTokenSource and CancellationTokenSource.CreateLinkedTokenSource.
👍39❤2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻⌛ 8 причин участвовать в хакатонах
Давно мечтали попробовать что-нибудь новое в своей жизни, но обойтись без экстремальных ощущений? Тогда хакатоны — это то, что вам нужно!
👉 Читать статью
👉 Зеркало
📌 Другие материалы по теме:
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
🏆 Как принять участие в хакатоне и занять призовое место. Инструкция для начинающих программистов
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
Давно мечтали попробовать что-нибудь новое в своей жизни, но обойтись без экстремальных ощущений? Тогда хакатоны — это то, что вам нужно!
👉 Читать статью
👉 Зеркало
📌 Другие материалы по теме:
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
🏆 Как принять участие в хакатоне и занять призовое место. Инструкция для начинающих программистов
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
❤1🥰1😁1