Как стать автором
Обновить
7
0

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

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

Релиз первой беты кросс-платформенного XAML UI-тулкита Avalonia

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

Состоялся релиз первой бета-версии Авалонии.


Avalonia — кроссплатформенный .NET UI-тулкит, вдохновлённый технологиями WPF и распространяемый под лицензией MIT. Он полностью поддерживает .NET Core 2.0, XAML, дата-биндинги, lookless-контролы и многое другое. Avalonia позволяет писать на C# приложения под Windows, Linux и Mac OS X. Возможность запуска на iOS и Android находится в экспериментальном состоянии.



Данная версия стабильна и имеет полное право называться бетой: тулкит не разваливается в руках и имеет приличный базовый набор контролов (см. видео). На нём создано два достаточно больших приложения с открытым исходным кодом: AvalonStudio — кроссплатформенная IDE для разработки на C# и C++ и Core2D — редактор 2D-схем и диаграмм.

Всего голосов 100: ↑97 и ↓3+94
Комментарии77

SamsPcbGuide, часть 1: Оценка индуктивности элементов топологии печатных плат

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

Предисловие


В поисках ответов на вопросы, возникающие при проектировании печатных плат, мною был изучен значительный объём литературы – как больших монографий, так и отдельных технических статей. За исключением, наверное, нескольких статей, это была англоязычная литература. Я подумал, а почему бы не оформить накопившийся опыт в виде практического руководства, которое может оказаться полезным как начинающим, так и, надеюсь, более опытным отечественным разработчикам. Начиная, я думал о распространении ценной информации, а краем мысли и о вкладе в отрасль в целом. Настоящая публикация открывает целую серию статей, в которых с практической точки зрения будут рассмотрены основные задачи, возникающие при разработке печатных плат, и в систематизированном виде изложены ключевые рекомендации с обязательным указанием их физических основ и условий применимости.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии6

JetBrains CLion для микроконтроллеров

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

Предыстория



CLion — это среда для разработки на С/С++, близкий родственник IntelliJ IDEA и, соответственно, Android Studio.


Я представляю вниманию сообщества перевод моего блог поста, в котором по шагам описано, как использовать эту IDE для написания прошивок микроконтроллеров.

Всего голосов 44: ↑43 и ↓1+42
Комментарии67

Мультиплеер в быстрых играх (части I, II)

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


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)


Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Читать дальше →
Всего голосов 136: ↑132 и ↓4+128
Комментарии109

Hg Init: Часть 6. Архитектура репозиториев

Время на прочтение5 мин
Количество просмотров30K
Это шестая, заключительная часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:



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

Часть 6. Архитектура репозиториев



Наш рецепт становится все лучше:

Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии17

Создание приложений для Windows Phone с использованием Silverlight+XNA

Время на прочтение8 мин
Количество просмотров6.1K
На днях увидел этот пост со списком материалов по разработке под Windows Phone, и, к сожалению, не встретил там ни одной статьи по разработке приложений с использованием как Silverlight, так и XNA одновременно. Эта замечательная возможность для разработчиков появилась с приходом Mango.
Мне захотелось заполнить этот пробел и рассказать вам о следующем:
  • Использование Silverlight и XNA на одной странице
  • Простейшая обработка жестов в XNA
  • Основы работы с камерой в XNA

Пример из этой статьи может быть знаком посетителям первого потока вечерней школы Стаса Павлова.
Давайте сначала посмотрим, что нам даёт использование Silverlight и XNA в одном приложении.
Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии3

Рисуем на экране осциллографа

Время на прочтение3 мин
Количество просмотров74K
Hello HabrМоё первое знакомство с осциллографом состоялось в школьном радиокружке, тогда же я узнал про режим X-Y, при котором отключается развёртка и лучом управляется непосредственно напряжениями, подаваемыми на входы X и Y. Снова эта тема всплыла через несколько лет, в университете, когда на лабораторных работах при помощи фигур Лиссажу мы учились определять кратность частот сигналов. Потом пошёл работать в программисты, и следующую пару десятилетий к бегающему по экрану лучику я не возвращался, пока в конце прошлого года мне не позвонили соседи. Наводя порядок в подвале, они наткнулись на старую коробку с электроникой, которую тут же и подарили мне, в обмен на обязательство самому всё забрать. Так мне достался старый аналоговый осциллограф, минимум 25-летней давности. К удивлению, после замены старого сетевого кабеля он сразу же заработал, и я решил применить свои программистские навыки, чтоб нарисовать что-нибудь на экране.
Читать дальше →
Всего голосов 108: ↑103 и ↓5+98
Комментарии49

Контакт есть, сигнала нет

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

или как рассогласованные линии портят ваш сигнал


На форуме Dangerous Prototypes я однажды принял участие в одном обсуждении, посвященном проблемам с шиной SPI, кторая переставала нормально работать, начиная с некоторой длины. Мой опыт подсказывал мне две вещи: 1) проверить источник питания, 2) проверить линию на наличие отражений. Тогда я понял, что это должно быть общей проблемой для всех радиолюбителей. Линии передачи данных — сложная тема, и настало время снять покров таинственности с этой электронной магии.
Читать дальше →
Всего голосов 99: ↑98 и ↓1+97
Комментарии47

Теория относительности в картинках

Время на прочтение6 мин
Количество просмотров369K
В своей статье я хотел бы рассказать о теории относительности. Эта теория не требуется в представлении. С самого своего создания она была окутана ореолом тайны, поскольку полностью подрывает наши привычные представления о пространстве и времени. Все мы в школе учили формулы теории относительности, но мало кто действительно понимал их. И это не удивительно, ведь человеку, чтобы по-настоящему понять какую-то теорию во всей её красоте, полноте и непротиворечивости, не достаточно знать формулы. Нужно иметь какой-то визуальный ориентир, нужна динамика, чтобы было что-то, что можно повертеть в руках. Я решил восполнить этот пробел и написал небольшую программку, в которой можно «повертеть в руках» пространство-время. Мы, как настоящие исследователи, с помощью небольших экспериментов попытаемся выяснить основные свойства этой загадочной материи.
Под катом много картинок (и ни одной формулы).
Читать дальше →
Всего голосов 272: ↑266 и ↓6+260
Комментарии345

Использование TPL Dataflow для многопоточной компрессии файлов

Время на прочтение4 мин
Количество просмотров21K
На небольшом примере я расскажу как используя библиотеку TPL Dataflow можно решить довольно не тривиальную задачу многопоточной компрессии файлов в течении 15 минут.
Подробности
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

Реализация Code Action с помощью Roslyn

Время на прочтение8 мин
Количество просмотров2.6K
Roslyn Services API позволяют легко реализовывать расширения, которые находят и устраняют проблемы в коде прямо в Visual Studio. Roslyn Services API доступно как часть Roslyn CTP.

В этом посте мы реализуем расширение для Visual Studio, которое детектирует вызовы метода Count() у Enumerable, после чего результат проверяется на равенство больше нуля, например, someSequence.Count() > 0. Проблема, заключающаяся в коде, в том, что Count() должен пройтись по всей последовательности, прежде чем вернуть результат. Более правильным подходом в данном случае является вызов метода Enumerable.Any().

Чтобы исправить это, мы реализуем CodeIssueProvider, детектирующий проблему, и CodeAction, который заменяет условие на вызов Enumerable.Any(), как и требуется. Т.е. наш CodeAction изменит что-то типа someSequence.Count() > 0 на someSequence.Any().
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность