MessageBox — useful window for different GUI frameworks, but you can't find it in AvaloniaUI. Let's try to do it.
Читать полностью »
Рубрика «C#» - 37
Single Responsibility Principle. Не такой простой, как кажется
2019-05-31 в 10:06, admin, рубрики: C#, solid, srp, ооп, Программирование, простыми словами, Совершенный код Single responsibility principle, он же принцип единой ответственности,
он же принцип единой изменчивости — крайне скользкий для понимания парень и столь нервозный вопрос на собеседовании программиста.
Первое серьезное знакомство с этим принципом состоялось для меня в начале первого курса, когда молодых и зеленых нас вывезли в лес, чтобы сделать из личинок студентов — студентов настоящих.
В лесу нас разделили на группы по 8-9 человек в каждой и устроили соревнование — какая группа быстрее выпьет бутылку водки при условии, что первый человек из группы наливает водку в стакан, второй выпивает, а третий закусывает. Выполнивший свою операцию юнит встает в конец очереди группы.
Случай, когда размер очереди был кратен трем, и являлся хорошей реализацией SRP.
DotNext 2019 Piter: небольшой отчёт
2019-05-30 в 15:13, admin, рубрики: .net, C#, dotnext2019piter, Блог компании JUG.ru Group, конференции15-16 мая прошла конференция DotNext 2019 Piter. Погода в Санкт-Петербурге стояла необыкновенно тёплая. Горожане недоверчиво глядели на странный жёлтый шар в непривычно синем небе и всё никак не могли решить, пора ли уже переходить на летнее пальто. А конгресс-центр гостиницы Park Inn Пулковская открыл двери для посетителей самого большого события в российском дотнете. Вспоминаем, как это было.
Как увидеть реверберацию или передача видео звуком через воду — 2
2019-05-28 в 4:40, admin, рубрики: C#, diy или сделай сам, амлитудная модуляция, гаджеты, гидроакустика, детектор, звук, манипуляция, модем, обработка изображений, передача видео, подводная связь, Производство и разработка электроники, ультразвук, цифровая обработкаПривет, глубокоуважаемые!
Сегодня мы опять будем передавать картинку ультразвуком через воду: буквально увидим реверберацию и эхо, и даже то, как они меняются в зависимости от условий. Все о чем я расскажу несложно, интересно повторить самостоятельно и под силу практически любому.
Если в вашей душе от этих слов что-то колыхнулось, добро пожаловать под кат, в темные воды нашего пруда!
Тонкости Lambda Expressions в C#
2019-05-27 в 16:43, admin, рубрики: .net, C#, expressions, web-разработка, Программирование, Проектирование и рефакторинг, Разработка веб-сайтовТо, о чем написано в статье, я отлавливал около 10 часов, это были 10 часов непрерывного дебага, которые cвелись к пошаговому сравнению рабочей и нерабочей версий кода, даже не так, к сравнению каждой строчки из окошка дебага рабочей и не рабочей версий кода
Умный парсер числа, записанного прописью
2019-05-27 в 9:18, admin, рубрики: .net, C#, CV, levenstein, ocr, parser, Алгоритмы, обработка изображений, Программирование
Пролог
Добрый день, уважаемые читатели. В данной статье я расскажу о том, как распарсить число, записанное прописью на русском языке.
Умным данный парсер делает возможность извлечения чисел из текста с ошибками, допущенными в результате некорректного ввода или в результате оптического распознавания текста из изображения (OCR).
Для ленивых:
Ссылка на проект github: ссылка.
Make it True — Разработка логической игры на Unity
2019-05-26 в 19:32, admin, рубрики: .net, C#, dependency injection, Gamedev, indie, indie gamedev, longread, unity, zenject, логические игры, мобильные игры, разработка игр
Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации.
Осторожно, много текста!
Статья не являются руководством или уроком, хотя надеюсь что читатели смогут вынести что то полезное из нее. Рассчитано на разработчиков знакомых с Unity имеющих некоторый опыт в программировании.
Читать полностью »
Как работает конфигурация в .NET Core
2019-05-25 в 10:22, admin, рубрики: .net, ASP, ASP.NET, C#, configuration, netcoreДавайте отложим разговоры о DDD и рефлексии на время. Предлагаю поговорить о простом, об организации настроек приложения.
После того как мы с коллегами решили перейти на .NET Core, возник вопрос, как организовать файлы конфигурации, как выполнять трансформации и пр. в новой среде. Во многих примерах встречается следующий код, и многие его успешно используют.
public IConfiguration Configuration { get; set; }
public IHostingEnvironment Environment { get; set; }
public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
Environment = environment;
Configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{Environment.EnvironmentName}.json")
.Build();
}
Но давайте разберемся, как работает конфигурация, и в каких случаях использовать данный подход, а в каких довериться разработчикам .NET Core. Прошу под кат.