Рубрика «разработка под windows»

В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM.

SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его основе лежит графическая технология OpenGL, а за создание окон отвечает библиотека GLFW. Используя данный фреймворк, вы можете работать и создавать графические клиентские приложения в операционных системах Linux, Mac OS X, Windows. Для программистов C# в данное время это особенно актуально, учитывая, что Microsoft не собирается переносить WPF на другие ОС и Avalonia является единственным возможным аналогом. Особенностью же SpaceVIL в этом конкретном случае является мультиязычность, то есть на данный момент фреймворк под .Net Core можно использовать в связке со следующими языками программирования: C#, VisualBasic. Фреймворк под JVM можно использовать в связке с языками Java и Scala. То есть, SpaceVIL можно использовать с любым из этих языков и итоговый код будет выглядеть одинаково, поэтому при переходе на другой язык переучиваться заново не придется.

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

Читать полностью »

Как изучение критической уязвимости DHCP в Windows 10 привело к обнаружению еще двух ошибок безопасности - 1

Изображение: Unsplash

Как было описано в предыдущей статье про CVE-2019-0726, иногда поиск деталей об уже известной уязвимости приводит к обнаружению новой уязвимости. А в некоторых случаях таких новых уязвимостей оказывается больше одной.Читать полностью »

Безопасность DHCP в Windows 10: разбираем критическую уязвимость CVE-2019-0726 - 1

Изображение: Pexels

С выходом январских обновлений для Windows новость о критически опасной уязвимости CVE-2019-0547 в DHCP-клиентах всколыхнула общественность. Подогревали интерес высокий рейтинг CVSS и тот факт, что Microsoft не сразу опубликовал оценку эксплуатабельности, усложнив тем самым пользователям решение о неотложном обновлении систем. Некоторые издания даже предположили, что отсутствие индекса можно интерпретировать как свидетельство о том, что уже в ближайшее время появится рабочий эксплойт.Читать полностью »

Крадущийся в тени или поиски того света - 1

Assembler – мой любимый язык, … но жизнь так коротка.

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

Зная себя, я уверен, что игра едва получит своё воплощение, но возможно кого-то из общественности заинтересуют мои наработки на этом тернистом пути. И так приступим.
Читать полностью »

Снижение объёма выборки экспериментальных данных без потери информации - 1

В чем проблема гистограмм экспериментальных данных

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

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

Для этого выборка представляется в виде гистограммы, состоящей из $k$ столбцов, построенных на интервалах протяженностью $d$.

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

Кроме того, идентификация распределения нужна ещё и потому, что рассеяние всех оценок (среднеквадратичного отклонения, эксцесса, контрэксцесса и др.) также зависит от формы закона распределения.

От объема выборки зависит успешность идентификации формы распределения экспериментальных данных и, если он мал, особенности распределения оказываются замаскированными случайностью самой выборки. На практике обеспечить большой объем выборки, например больше 1000, не представляется возможным в силу разных причин.

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

Picture 1

Static analysis methodology involves various technologies. One of them is preprocessing files right before analyzing them. Preprocessed files are created by the compiler that runs in a special working mode. Unfortunately, our long-standing experience of developing a static analyzer shows that this mode is not great for testing. In this note, I'll give the example of a fresh bug in the C++ compiler from Microsoft.
Читать полностью »

Picture 1

В методологии статического анализа применяются разные технологии. Одна из них — препроцессирование файлов непосредственно перед их анализом. Препроцессированные файлы создаёт компилятор, запускаемый в специальном режиме работы. К сожалению, этот режим не очень хорошо тестируется, как показывает наш многолетний опыт разработки статического анализатора кода. В этой заметке приведу пример свеженайденного бага в С++ компиляторе от Microsoft.
Читать полностью »

Проводник Windows получит новый дизайн - 1
Концептуальный дизайн Майкла Уэста показывает, в каком направлении может измениться дизайн Проводника Windows

Несколько лет назад Microsoft анонсировала концепцию пользовательского интерфейса Fluent Design System и с тех пор упорно работает над её внедрением в Windows 10 и программах. Но одно важное системное приложение до сих пор оставалось полностью нетронутым — это Проводник Windows (File Explorer).
Читать полностью »

В феврале 2019 года состоялся релиз ReactiveUI 9  —  кроссплатформенного фреймворка для построения приложений с графическим пользовательским интерфейсом на платформе Microsoft .NET. ReactiveUI  — это инструмент для тесной интеграции реактивных расширений с шаблоном проектирования MVVM. Знакомство с фреймворком можно начать с серии статей на Хабре или со вступительной страницы документации. Обновление ReactiveUI 9 включает в себя множество исправлений и улучшений, но, пожалуй, самое интересное и значимое изменение — тесная интеграция с фреймворком DynamicData, позволяющим работать с изменяющимися коллекциями в реактивном стиле. Попробуем разобраться, в каких случаях нам может пригодиться DynamicData и как устроен внутри этот мощный реактивный фреймворк!
Читать полностью »

Рассуждения о выдыхающемся рынке смартфонов на фоне падающих продаж имеют под собой некоторые основания: судя по всему, современная эра смартфонов, начатая iPhone и на развитии заложенного в него потенциала идей построенная, походит к концу. Но это не конец эпохи в полном смысле слова, а лишь назревающий эволюционный переход в цепочке телефон → мобильный телефон → смартфон → смарт(?). Скорее всего, на следующем этапе это будет уже никакой не «фон», и огромное количество специфических и неотъемлемых на сегодняшний день могут оказаться вынесены за его пределы (как, например, память) или просто настолько измениться (как, например, способы ввода и вывода), что оперировать привычными сейчас категориями вроде дисплея нет смысла. За вычетом всех возможных «переменных», в попытке оставить только самый минимум необходимого, у меня получилось 4 условия: Портативное Персональное Коммуникационное Вычислительное Устройство. Но важнее тут не то, что обеспечит связность поколений, сколько то, что даст этому устройству новое качество, которое и позволит говорить о следующем этапе эволюции.

И одна из самых перспективных и оформленных идей «нового качества», отлично вписывающаяся в эти четыре параметра — это, на самом деле, давно и хорошо известная идея запихнуть полную функциональность мощного ПК в форм-фактор смартфона. Плюс этого варианта в том, что его ценность довольно очевидна, в отличие от движения по пути AR или VR-мутации, которое добавляет необходимую дополнительную неизвестную — создание некой VR или AR-фичи, которая станет абсолютным must have, оправдывающим развитие, сфокусированное на реализации её возможностей.

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