Search
Write a publication
Pull to refresh
83
0
Бузинов Роман @Romer

Пользователь

Send message

Async/await в C#: концепция, внутреннее устройство, полезные приемы

Reading time24 min
Views250K
Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использовать асинхронность в большинстве случаев нужно лишь знание синтаксиса и никаких других подробностей. Но если лезть вглубь, тема довольно объемная и сложная. Ее излагали многие, каждый в своем стиле. Есть очень много классных статей по этой теме, но все равно существует масса заблуждений вокруг нее. Постараемся исправить положение и разжевать материал настолько, насколько это возможно, не жертвуя ни глубиной, ни пониманием.


Читать дальше →

Стильная Авалония

Reading time7 min
Views14K
Стили, по умолчанию, что в wpf, что в авалонии, крайне нейтральны, и далеко не всегда подходят под нужные нам задачи, и немногие начинающие разработчики дружат с ними. В этой заметке я бы хотел рассказать про основы работы со стилями и показать пару интересных примеров.


Читать дальше →

Портирование WPF приложений на netcore 3.0

Reading time6 min
Views11K

Ожидаемый релиз netcore 3.0 позволяет запускать wpf на netcore. Процедура перевода для одного несложного проекта занимает один-два дня. Каждый последующий — много быстрее.





Читать дальше →

ОВЕН ПЛК110[M02]-MS4, HMI, OPC и SCADA, или сколько человеку необходимо Ромашкового чая. Часть 2

Reading time6 min
Views17K
Добрый день, друзья. Вторая часть обзора поспевает за первой, и сегодня я пишу обзор на верхний уровень обозначенной в заголовке системы.

В группу инструментов верхнего уровня у нас входит всё программно-аппаратное обеспечение стоящее выше сети ПЛК (IDE для ПЛК, HMI, утилиты для частотников, модулей и т.д. сюда не включаем).
Читать дальше →

ОВЕН ПЛК110[M02]-MS4, HMI, OPC и SCADA, или сколько человеку необходимо Ромашкового чая. Часть 1

Reading time5 min
Views18K
Добрый день, дорогие читатели этой статьи. Пишу это в формате обзора

Небольшое предупреждение
Хочу предупредить, что если вы сразу поняли о чём речь из заголовка, советую первый пункт(собственно, ПЛК-ядро) менять на что угодно из ценовой категории на ступень выше.
Никакая экономия денег не стоит такого количества нервов, субъективно.

Для тех, кого не пугает небольшая седина и амплитуда нервного тика, позже я опишу в подробностях как создавалось это технологическое чудо. В данной статье же краткий анализ проекта с определённой долей критицизма.

Зарождение. Постановка задачи


Собственно, работаю я в конструкторском бюро, и мы тестируем оборудование автоматизации для интеграции в наши заводы под ключ. Недавно на склад поступило оборудование ОВЕН и из него было решено собрать испытательный стенд:
Читать дальше →

Атрибуты C#: обо всех аспектах

Reading time19 min
Views50K
Здравствуй, читатель. В этой статье описаны атрибуты со всех сторон — начиная от спецификации, смысла и определения атрибутов, создания собственных и работе с ними, заканчивая добавлением атрибутов на рантайме и наиболее полезными и интересными существующими атрибутами. Если вам интересна тема атрибутов в C#, то добро пожаловать под кат.

Читать дальше →

Алгоритм Дугласа-Пекера

Reading time5 min
Views17K

Предисловие


Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, несколько точек которой попадают в один и тот же пиксель – очевидно, что все эти точки можно упростить в одну. Некоторое время назад я практически ничего не знал об этом от слова «совсем», в связи с чем, пришлось в быстром темпе восполнять необходимый багаж знаний по этой теме. Но каково было мое удивление, когда в интернете я не нашел достаточно полных руководств по этому вопросу… Мне приходилось отрывками искать информацию с совершенно разных источников и, после проведенного анализа, выстраивать все в общую картину. Занятие не из самых приятных, если честно. Поэтому мне хотелось бы написать цикл статей, посвященных алгоритмам упрощения полигональной цепи. Как раз-таки начать я решил с наиболее популярного алгоритма Дугласа-Пекера.


Читать дальше →

Инструментарий для анализа и отладки .NET приложений

Reading time6 min
Views23K

Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в комментариях.


Во-первых, я должен упомянуть, что хороший отладчик уже присутствует в Visual Studio и VSCode. Также существует множество хороших (коммерческих) профилировщиков .NET и инструментов мониторинга приложений, на которые стоит взглянуть. Например, недавно я попробовал поработать с Codetrack и был впечатлён его возможностями.


Однако оставшийся пост посвящён инструментам для выполнения отдельных задач, которые позволят лучше понять, что происходит. Все инструменты имеют открытый исходный код.


Сравнение компараторов для синхронизации схем и данных баз данных MS SQL Server

Reading time16 min
Views11K

Описание общей потребности в синхронизации изменений


При работе с базами данных часто приходится решать проблему синхронизации изменений.
Если в компании используется всего одна промышленная среда, то в дополнение к ней требуется как минимум еще одна дополнительная среда для тестирования внесенных изменений. В этом случае возникает необходимость переноса изменений из тестовой среды в промышленную.

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

Как правило, разработку баз данных ведут в специально выделенной среде. Затем изменения переносят в среду тестирования для проведения различных проверок (юнит-тесты, автотесты, нагрузочные тесты и т д). И только после всех этапов разработки и проверок осуществляют перенос изменений в промышленную среду.

При достаточно большой инфраструктуре появляется необходимость переносить изменения сразу в несколько промышленных сред. Кроме этого, разработка баз данных может быть разделена на разные среды по функционалу, и тогда необходимо периодически осуществлять перенос изменений между данными средами.

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

GPS трекер BOXY

Reading time9 min
Views43K
Привет, Хабр!

GPS трекером уже никого не удивишь — это факт. Написать этот краткий обзор решил, когда первый раз взял в руки эту «фитюльку». Ну, по порядку: появилась задача – оснастить трекером домашнего питомца. Не то чтобы он убегал постоянно, но для общего спокойствия что-то надо закрепить на его ошейник. «Тех задание» выглядело так:

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



В итоге, поиск компактного трекера привёл к написанию данного обзора.
Читать дальше →

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

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

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →

Скрипт настройки Windows 10

Reading time2 min
Views173K

image
Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать под кат.

Читать дальше →

Развитие маркетинга в малом бизнесе

Reading time5 min
Views8K


Спустя 11 лет на Хабре, 12 лет в маркетинге, сотни часов лекций и выступлений, я решил отдать всё, что знаю о маркетинге, бесплатно, без регистрации, рекламы, СМС и email-подписок. В результате на YouTube появился онлайн-курс для владельцев и маркетологов микро-, малого и среднего бизнеса, который называется «Сумма маркетинга».


77 занятий, 10 модулей, 18,5 часов видео без рекламы и десятки практических домашних заданий доступны на YouTube. А вот тут — основной сайт курса. А ещё — такие же видео-плейлисты ВКонтакте.

И, конечно, полное содержание со ссылками на уроки

Тишина и спокойствие: беруши dBud с двумя уровнями шумоподавления

Reading time3 min
Views24K
Окружающий шум — проблема, с которой знакомы многие. И речь даже не идет о представителях специфических профессий, например, ударнике в группе или диджее. По дороге до обычного офиса «наслушаешься» метро, да и в конторе — тоже шум-гам по разным причинам.



И кроме того, что громкие звуки негативно сказываются на слухе, это просто-напросто некомфортно, когда рядом с тобой то гул вентилятора, то бубнежка колл-центра, то еще какие-нибудь отзвуки. Проект dBud должен эти проблемы решить.
Читать дальше →

22 сайта для программиста, которые помогут заговорить на английском

Reading time3 min
Views133K
Хабр, привет!

Сделал подборку из 22-х сайтов для изучения английского языка.
Подборка поможет изучить английский легко, без зубрежки и учебников.

Приступим!

Учить лексику


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

ЛеоПереводчик

С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
Читать дальше →

System.IO.Pipelines: высокоэффективный IO в .NET

Reading time12 min
Views28K
System.IO.Pipelines — это новая библиотека, упрощающая организацию кода в .NET. Трудно обеспечить высокую производительность и точность, если приходится иметь дело со сложным кодом. Задача System.IO.Pipelines — упростить код. Подробнее под катом!

Читать дальше →

Управление разработками в большом проекте

Reading time7 min
Views6.7K
На нескольких проектах по внедрению корпоративных систем я сталкивался с задачей планирования и контроля задач, которые плохо поддаются прогнозированию. Представьте, необходимо выполнить множество однотипных задач, и в них задействовано большое количество людей, при этом вы точно не знаете, в какой последовательности они будут выполняться и сколько времени они займут.

Привычные в проектном управлении диаграммы Гантта работают в таком случае плохо. Типичный пример — разработка расширений для КИС.

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

Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации

Reading time13 min
Views28K
Reactive MVVM and .NET Standard

Сегодня платформа .NET является по-настоящему универсальным инструментом – с её помощью можно решать широчайший круг задач, включая разработку прикладных приложений для популярных операционных систем, таких, как Windows, Linux, MacOS, Android и iOS. В настоящей статье рассмотрим архитектуру кроссплатформенных .NET приложений с использованием шаблона проектирования MVVM и реактивного программирования. Познакомимся с библиотеками ReactiveUI и Fody, научимся реализовывать интерфейс INotifyPropertyChanged с помощью атрибутов, затронем основы AvaloniaUI, Xamarin Forms, Universal Windows Platform, Windows Presentation Foundation и .NET Standard, изучим эффективные инструменты для модульного тестирования слоёв модели и модели представления приложения.

Материал является адаптацией статей "Reactive MVVM For The .NET Platform" и "Cross-Platform .NET Apps Via Reactive MVVM Approach", опубликованных автором ранее на ресурсе Medium. Примеры кода доступны на GitHub.
Читать дальше →

Как я осилил английский

Reading time13 min
Views352K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →

На злобу дня: кроссплатформенный клиент для Telegram на .NET Core и Avalonia

Reading time9 min
Views22K

В этой статье я расскажу, как реализовать кроссплатформенное приложение на .NET Core и Avalonia. Тема Телеграма очень популярна в последнее время — тем интереснее будет сделать клиентское приложение для него.


Egram


Статья затрагивает достаточно базовые концепции разработки на Avalonia. Тем не менее, мы не будем писать "Hello, World". Вместо этого предлагается рассмотреть реальное приложение. Изучим как общую архитектуру приложения, так и отдельные компоненты.


Чтобы не злоупотреблять вниманием читателя, в некоторых случаях придется сознательно опустить некоторые детали, упростив описание и реализацию. Реальный же код всегда можно посмотреть на GitHub.


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

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity