Pull to refresh
3
Karma
0
Rating

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

Open source *Programming *.NET *C# *Development for Windows *

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


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-схем и диаграмм.

Total votes 100: ↑97 and ↓3 +94
Views 21K
Comments 77

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

Manufacture and development of electronics *Electronics for beginners
Sandbox

Предисловие


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

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

C++ *C *Robotics development *Programming microcontrollers *Development for IOT *
Translation
Tutorial

Предыстория



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


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

Total votes 44: ↑43 and ↓1 +42
Views 32K
Comments 67

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

Game development *
Sandbox


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


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

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

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

Version control systems *
Translation
Это шестая, заключительная часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:



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

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



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

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Views 29K
Comments 17

Проектирование маломощного DC-DC для организации дежурного питания. Часть 3

Manufacture and development of electronics *
Часть 1
Часть 2

Пролог


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

Задача, которую необходимо решить


Ни для кого не секрет, что существует такое понятие как гальваническая развязка. Это схемотехнический прием с помощью которого мы электрически изолируем разные части нашей схемы. Чаще всего на практике возникает необходимость подобным образом изолировать развязать высоковольтную входную часть (там где у нас напряжение сети) и низковольтную часть (выходную, где у нас допустим +15 В).
Все это необходимо для того, чтобы в процессе эксплуатации блока питания (DC-DC преобразователи) пользователя просто ебом не токнуло не убило высокое напряжение, которое может оказаться на выходе при какой либо неисправности. Возможна ситуация, когда какой либо силовой транзистор «пробьет» в схеме, он организует КЗ, то есть будет пропускать ток со входа сразу на выход. В схеме где нету гальванической развязки на выходе вместо +15В окажется +310В, думаю разница всем понятна.

Помните! Во всех последующих схемах будет высокое напряжение! Вам стоит очень осторожно работать, если надумаете повторять.

Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 77K
Comments 74

Расчет и изготовление «сердца» ИИП — импульсный трансформатор. Часть 2

Manufacture and development of electronics *
Часть 1

Пролог


И все таки меня пригласили! Теперь дело со статьями пойдет более оперативно. Темой следующей части изначально я хотел сделать схемотехнику какого нибудь блока, а чего ждать? Но тут вспомнил свою школьную молодость и саму великую проблему с которой сталкивался — как изготовить неведомое для меня на тот момент зверя устройство — импульсный трансформатор. Прошло десять лет и я понимаю, что у многих (и не только начинающих) радиолюбителей, электронщиков и студентов возникают такие трудности — они попросту их боятся, а как следствие стараются избегать мощных импульсных источников питания (далее ИИП).
После этих размышлений я пришел к выводу, что первая тема должна быть именно про трансформатор и ни о чем другом! Хотелось бы еще оговориться: что я подразумеваю под понятием «мощный ИИП» — это мощности от 1 кВт и выше или в случае любителей хотя бы 500 Вт.


Рисунок 1 — Вот такой трансформатор на 2 кВт для Н-моста у нас получится в итоге
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views 182K
Comments 83

Проектирование мощного ИБП двойного преобразования (on-line). Часть 1

Manufacture and development of electronics *
Sandbox

Пролог


Хотелось бы поприветствовать всех кто увлекается и занимается электроникой! Данная серия публикаций будет посвящена полному циклу проектирования мощного источника бесперебойного питания мощность 3,2 кВт и самое главное — с чистым синусом на выходе.

Немного о себе расскажу — работаю инженером-электронщиком на предприятии, занимающимся производством станков и линий с ЧПУ, а так же мощных импульсных устройств: ИБП, стабилизаторы напряжения, инверторы. Вместе с предприятием прошел путь от проектирования систем от 1 кВт и до 1135 кВт.

Мои публикации будут носить больше учебный характер с попытками донести до интересующихся основы силовых расчетов, трассировки плат и ВЧ цепей, программирование микроконтроллеров STM32, а так же ПЛИС от Altera. И конечно еще множество сложных, но интересных вещей. Пожалуй, начнем…
Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Views 107K
Comments 131

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

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

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

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

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

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

Circuit design *
Translation
Tutorial

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


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

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

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

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

.NET *
Sandbox
На небольшом примере я расскажу как используя библиотеку TPL Dataflow можно решить довольно не тривиальную задачу многопоточной компрессии файлов в течении 15 минут.
Подробности
Total votes 28: ↑28 and ↓0 +28
Views 17K
Comments 5

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

.NET *C# *
Translation
Tutorial
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().
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 2.4K
Comments 6

Information

Rating
Does not participate
Registered
Activity