Как стать автором
Обновить
16
0.2
Алексей Ткаченко @a-tk

Разработчик ПО

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

Производительность таблиц в WPF и Avalonia

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.3K

Предыстория: как-то возникла у меня необходимость в приложении на WPF сделать таблицу с количеством столбцов в несколько десятков, притом с шаблонизированным содержимым. По задумке пользователь должен иметь возможность выбрать столбцы, которые нужны, но по умолчанию должны быть видны все. Решение не то чтобы сложное, но после сборки и запуска оно начало жутко тормозило... Проведённое по-быстрому исследование показало, что тупит этап layout-а, но в моменте было принято решение вбить костыль и преобразовать представление до удобоваримого. Однако червячок остался и поисследовать поведение хотелось более детально, а заодно сравнить с другими элементами для отрисовки таблиц.

Результатом такого исследования и стала данная статья. Полученные результаты - под катом.

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

Как подружить Canvas и ItemsSource в WPF и AvaloniaUI

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

Предпосылки: понимая, что контейнеры компоновки в WPF не позволяют сделать привязки (Binding) к своим дочерним элементам, решил поэкспериментировать, а как же всё-таки подсунуть данные из View Model для формирования содержимого в эти самые контейнеры компоновки. Позже аналогичное решение было сделано для AvaloniaUI.

Кроме того, я стал регулярно обращать внимание на то, что подобные вопросы появлялись в телеграме в чатах pro.net и AvaloniaUI (RU), поэтому своё решение опубликовал на гитхабе. Но вопросы продолжают появляться регулярно, что и сподвигло меня написать статью на Хабре с пошаговым разбором, что делать.

Итак, если Вас эта тема заинтересовала, добро пожаловать под кат.

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

Ещё немного о тригонометрии в вычислениях

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


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

Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии27

Короткая заметочка про PVS Studio в CI (и чего не хватает)

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

Я думаю, нет смысла в очередной раз рекламировать замечательный инструмент для статического анализа — PVS Studio. На хабре уже немало статей ей посвящённых, но я хочу коснуться ещё одного аспекта — использование данного инструмента в системе непрерывной интеграции.

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

Кликер своими руками

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

Попросил меня на днях товарищ помочь с одной задачкой: управлять компом с аудиопроигрывателем, установленном на ноутбуке с Windows, с помощью маленького аппаратного пультика. Просил всякие ИК пульты не предлагать. И сделать AVR-е, коих у него осталось некоторое немалое количество, пристраивать потихоньку надо.

Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии29

Взаимодействие C# и C++ кроссплатформенно

Время на прочтение7 мин
Количество просмотров45K
Вам приходилось сталкиваться с необходимостью взаимодействия кода на C# и native-C++ (или скорее С)? Причины могли быть разными: библиотека уже есть, на С/С++ написать проще, разработка частей приложения ведётся разными командами, _______________ (нужное вписать).

Известно, что языки базируются на совершенно разных наборах аксиом.

В С# (CLR, если точнее) вы имеете дело с типами фиксированных размеров (за редкими оговорками), код может быть скомпилирован JIT-компилятором под любую из поддерживаемых целевых платформ (если явно не оговорено иное).

В мире C++ всё совсем иначе: одни и те же типы могут иметь разные размеры при компиляции на разные платформы (привет, size_t), код генерируется по-разному для разных платформ, операционных систем и прочих прелестей.

Под катом будем пробовать их подружить с учётом указанных особенностей.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии27

Тюнинг toolchain для Arduino для продолжающих

Время на прочтение13 мин
Количество просмотров9.2K
Давным-давно случилось мне поработать над проектом с Arduino, где были довольно специфические требования к предсказуемости генерации кода, а работать с чёрным ящиком местами раздражало. Так родилась идея несколько поднастроить процесс сборки и внедрить некоторые дополнительные шаги при сборке.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии18

Информация

В рейтинге
2 210-й
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Software Architect
Lead
От 1 000 000 $
C#
.NET
C++
Git