Как стать автором
Обновить
1
0
Дмитрий Митин @Hesser

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

Отправить сообщение

Закупить электронные компоненты в Европе можно даже в отпуске. Опыт покупки на Mouser в Болгарии

Время на прочтение8 мин
Количество просмотров29K


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

С тем, что есть на складах в Москве, дело обстоит просто замечательно. Живёте ли вы в Подмосковье или Самаре, заказ будет исполнен за 2-3 дня, да ещё и курьером доставлен на дом за весьма умеренную плату. Тут мы впереди если не всей Европы, то значительной её части.
Но что делать если вы занимаетесь электроникой не только ради хобби и в ваших проектах приходится использовать новейшие или экзотические комплектующие?
О проблемах и путях их решения
Всего голосов 40: ↑39 и ↓1+38
Комментарии110

Качество воздуха в доме зимой

Время на прочтение4 мин
Количество просмотров86K
image

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии411

Как мы удвоили скорость работы с Float в Mono

Время на прочтение6 мин
Количество просмотров8.2K

Мой друг Aras недавно написал один и тот же трассировщик лучей на разных языках, в том числе на C++, C# и компиляторе Unity Burst. Разумеется, естественно ожидать, что C# будет медленнее, чем C++, но мне показалось интересным, что Mono настолько медленнее .NET Core.

Опубликованные им показатели были плохими:

  • C# (.NET Core): Mac 17.5 Mray/s,
  • C# (Unity, Mono): Mac 4.6 Mray/s,
  • C# (Unity, IL2CPP): Mac 17.1 Mray/s

Я решил посмотреть, что происходит, и задокументировать места, которые можно улучшить.

В результате этого бенчмарка и изучения этой проблемы мы обнаружили три области, в которых возможно улучшение:

  • Во-первых, необходимо улучшить параметры Mono по умолчанию, потому что пользователи обычно не настраивают параметры у себя
  • Во-вторых, нам нужно активнее знакомить мир с бекэндом оптимизации кода LLVM в Mono
  • В-третьих, мы улучшили настройку некоторых параметров Mono.

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

Результаты на моём домашнем iMac для Mono и .NET Core были следующими:

Рабочая среда Результаты, MRay/sec
.NET Core 2.1.4, отладочная сборка dotnet run 3.6
.NET Core 2.1.4, релизная сборка dotnet run -c Release 21.7
Ванильный Mono, mono Maths.exe 6.6
Ванильный Mono с LLVM и float32 15.5
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии10

.NET Core + Docker на Raspberry Pi. А это законно?

Время на прочтение8 мин
Количество просмотров26K
Открытая платформа .NET Core работает практически на всем: Windows, Mac и десятке Linux-систем. Но еще есть SDK и Runtime. Раньше .NET Core SDK не поддерживался на чипах ARMv7/ARMv8, на которых работает Raspberry Pi. Но все изменилось. Подробнее о способах запуска под катом!

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии15

Что можно найти в чужом коде? Подборка полезных материалов по .NET

Время на прочтение5 мин
Количество просмотров13K
Привет, Хабр! Наш коллега, Скотт Хансельман, считает, что в рамках изучения языка программирования важно не только кодить и практиковаться в написании, но и изучать чужой код. «Читайте чужой код» говорит Скотт и приводит полезные материалы, которые он нашел в наработках своего коллеги. Подробнее под катом!

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии0

Вотериус: Передача показаний воды на телефон по Wi-Fi (4 года от батареек)

Время на прочтение6 мин
Количество просмотров93K


Однажды мне надоело снимать показания счётчиков воды. Можно было поселить рядом со счетчиком магнит и на этом успокоиться, но этот путь я счёл неспортивным.

Мой путь оказался непростым и витиеватым. Но в результате получилось устройство, передающее показания воды по Wi-Fi на телефон. Простое и понятное в использовании и настройке хоть школьнику, хоть гуманитарию пенсионеру. А знакомым со словом «Ардуино» — ещё и несложное для изготовления. Девайс способен работать от батареек четыре года (дольше, чем длились отношения с вашей бывшей). Это ещё и первый открытый проект с такими характеристиками. Заводские аналоги я выписал, их мало, да и ладно с ними.

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

Теперь устройтесь в кресле поудобнее, съешьте ещё этих мягких французских булочек да выпейте чаю. Смотрите красивые фотографии и слушайте мой рассказ о том, что надо учитывать при создании автономных устройств. Но сначала краткое описание Вотериуса.
Читать дальше →
Всего голосов 127: ↑126 и ↓1+125
Комментарии205

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

Время на прочтение13 мин
Количество просмотров27K
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.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Наша книжная полка С#-программиста. А что у вас?

Время на прочтение6 мин
Количество просмотров55K
Привет!

Будущие студенты Veeam Academy часто спрашивают нас о книгах, которые были бы полезны при подготовке к поступлению на наш курс по программированию на С#. Обычно мы рекомендуем несколько источников, сопровождая их своими комментариями, почему именно они будут полезны.

Однако большинство книг по программированию – это 1К+ страниц, и для их прочтения «от корки до корки» понадобится не один месяц и, возможно, даже не один год! Поэтому все наши рекомендации для абитуриентов Академии Veeam служат лишь ориентиром, а не обязательным требованием.

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

image
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии18

Программа для удаленного управления рабочим столом — Aspia

Время на прочтение3 мин
Количество просмотров110K
image Хочу представить общественности свою разработку – приложение для удаленного управления рабочим столом Aspia. Проект является полностью бесплатным и с открытым исходным кодом (GPL 3.0).

На данный момент реализованы следующие возможности:

  • Удаленное управление рабочим столом
  • Удаленный просмотр рабочего стола
  • Передача файлов
  • Адресная книга с поддержкой шифрования и мастер-паролем (XChaCha20+Poly1305, 256-битный ключ)
  • Возможность создавать пользователей с индивидуальными правами
  • Шифрование всей передаваемой по сети информации (XSalsa20+Poly1305)
Читать дальше →
Всего голосов 151: ↑150 и ↓1+149
Комментарии296

Сравнение C# и JavaScript. Основы

Время на прочтение11 мин
Количество просмотров46K

C# and JavaScript


Мой более-менее серьезный путь в программировании начался с написания программ на языке C#, иногда я пробовал писать на JavaScript, и то и дело впадал в ступор в таких ситуациях, когда неверно указывал имя переменной и узнавал об этом спустя много много лет час отладки, так как со мной рядом не было моего компилятора, который бы меня выручил в трудную минуту. Через некоторое время, помимо C# я начал писать много кода на JavaScript и в настоящее время могу делать это без особых трудностей, меня больше не смущает неявное приведение типов и динамическая типизация.


В данной статье я бы хотел систематизировать свои базовые знания об этих языках и рассмотреть их сходства и различия. Данная статья может служить руководством для C# разработчиков, которые хотят изучить JavaScript и наоборот. Также хочу заметить, что в данной статье описываются возможности клиентского JS, так как опыта разработки на Node.js у меня нет. Итак, если вы все ещё не потеряли интерес — приступим.

Читать дальше →
Всего голосов 37: ↑20 и ↓17+3
Комментарии30

GIT поэма

Время на прочтение6 мин
Количество просмотров33K
В день рождения «солнца русской поэзии» представим, как выглядела бы его его сегодняшняя жизнь: система контроля версий стихов, цензор Бенкендорф как проджект-менеджер и горящие дедлайны.

image

Пушкин сидит, пишет стихи. Прибегает Бенкендорф.
— Слушай, Пушкин, у нас все сроки горят! Надо релизиться. Инвесторы спрашивают: где контент?
— Не, ну я так не могу! Бенкендорф, я тебе сколько раз говорил, что я так не могу.
— Александр! От меня требуют, я ничего поделать не могу. Давай релизиться. Что у тебя там?
— Вот…

Читать дальше →
Всего голосов 95: ↑81 и ↓14+67
Комментарии28

Опрос от Veeam Academy. А Вы хотите пройти интенсив по С# летом?

Время на прочтение3 мин
Количество просмотров4.5K
Отдыхать нельзя учиться: быть ли летнему семестру от Veeam Academy?

Этим летом Veeam Academy собирается запустить очередной интенсив по программированию на C#. Чтобы узнать ваше мнение о том, насколько обучение в летнее время актуально, в конце статьи мы поместили голосовалку. А если вы еще не знаете, что такое Veeam Academy, то мы вам с удовольствием расскажем. Вкратце: Veeam Academy – это бесплатные вечерние курсы по C# для начинающих программистов. У выпускников есть реальный шанс на трудоустройство в группу компаний Veeam Software. Подробнее — под катом.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии1

Не пишите лишнего

Время на прочтение3 мин
Количество просмотров61K

Все думают, что программист большую часть своего рабочего времени пишет код. Кроме самих программистов. Они знают, что большую часть времени они этот код читают. Читают, силясь понять, как же он работает, зачем он здесь написан и что с ним теперь делать.


Дольше всего приходится вычитывать не хитрые алгоритмы, и не решения с алгебраическими типами данных и монадами, а огромные куски простого кода: методы на 500 строк, скрипты на 1000 строк, классы на 1500 строк. Все они доставляют индустрии проблем не меньше, чем печально известное NullPointerException.

Читать дальше →
Всего голосов 95: ↑89 и ↓6+83
Комментарии182

Наследование, композиция, агрегация

Время на прочтение12 мин
Количество просмотров358K
Нередко случается, что решив разобраться с какой-то новой темой, понятием, инструментом программирования, я читаю одну за другой статьи на различных сайтах в интернете. И, если тема сложная, то эти статьи могут не на шаг не приблизить меня к понимаю. И вдруг встречается статья, которая моментально дает озарение и все паззлы складываются воедино. Трудно определить, что отличает такую статью от других. Правильно подобранные слова, оптимальная логика изложения или же просто более релевантный пример. Я не претендую на то, что моя статься окажется новым словом в C# или же лучшей обучающей статьей. Но, возможно для кого-то она станет именно той, которая позволит разобраться, запомнить и начать правильно применять те понятия, о которых пойдет речь.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии97

Docker. Начало

Время на прочтение7 мин
Количество просмотров234K


Примерно такие же эмоции я и мои коллеги испытывали, когда начинали работать с Docker. В подавляющем большинстве случаев это происходило от недостатка понимания основных механизмов, поэтому его поведение казалось нам непредсказуемым. Сейчас страсти поутихли и вспышки ненависти происходят все реже и все слабее. Более того, постепенно мы на практике оцениваем его достоинства и он начинает нам нравиться… Чтобы снизить степень первичного отторжения и добиться максимального эффекта от использования, нужно обязательно заглянуть на кухню Docker'a и хорошенько там осмотреться.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии31

DotVVM — Первый взгляд

Время на прочтение5 мин
Количество просмотров4.7K
Я бы хотел начать серию статей на Хабре о фреймворке DotVVM. Для ознакомления начнем с простого TODO списка.
Фреймворк разработан на базе ASP.NET. Он прост в изучении и позволяет создавать бизнес-приложения и SPA без JavaScript кода. Все за счет большого количества готовых элементов управления.
Следующие статьи будут посвящены тому, с чего все началось, каково было писать собственный фреймворк и его поддержку в Visual Studio, а также какие фичи есть в последнем релизе, который вышел в начале этого года.
Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Комментарии16

ASP.NET MVC. Урок 0. Вступление

Время на прочтение2 мин
Количество просмотров783K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


Читать дальше →
Всего голосов 290: ↑215 и ↓75+140
Комментарии67

Паттерны внедрения зависимостей. Часть 1

Время на прочтение9 мин
Количество просмотров30K
Давайте разберемся с внедрением зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Начнем мы с самих необходимых и базовых паттернов внедрения зависимостей — внедрение через конструктор и через свойство. Итак, поехали!
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии10

Генеральная уборка в компании: как мы переворошили магазины

Время на прочтение8 мин
Количество просмотров38K
В прошлом посте я рассказывал, как мы с удивлением обнаружили, что стали большой такой жирной компанией, и при этом хапнули все особенности бюрократизма. Нужно было срочно рефакториться и становиться обратно эффективными. Ниже — что мы делали в рознице. Сразу скажу, у многих пост вызовет желание поспорить, потому что я буду предельно циничен.

Начнём вот с этой картинки. На Курской около точки завелись бомжи. И стали на несколько дней лицом компании. Старший не знал, что делать, и хотел проконсультироваться с юристом. В нашей «старой доброй» модели он бы сначала что-то с ними сделал, а потом бы рассказал.



Бомжи жили около магазина пару недель. Это прямо выход из метро, поэтому им там было тепло и уютно. Решилось тем, что как только открывалась дверь, сотрудник брал толстые резиновые перчатки, и либо прямо выносил их на улицу, либо вёл с ним беседу по поводу, почему они мешают. Если они успевали полежать хотя бы 2 минуты — это вполне их устраивало. А когда и 10 секунд не давали — ну, направление миграции сместилось.

На деле, конечно, это была меньшая из проблем. И самая легкорешаемая.
Читать дальше →
Всего голосов 126: ↑124 и ↓2+122
Комментарии198

Открытый вебинар C#: async и await

Время на прочтение1 мин
Количество просмотров7.5K
Всем привет!

В четверг у нас стартует новый сишный курс — «Разработчик C#». Провели недавно открытый урок, дабы показать и формат лекций, и преподавателя. На вебинаре разбирались проблемы использования синхронной модели разработки ПО поиск путей решения данного подхода через использование асинхронной модели.


Как всегда ждём вопросы, комментарии, предложения.

Спасибо.
Всего голосов 19: ↑16 и ↓3+13
Комментарии2

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность