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

Разработка под Windows *

Разработка под операционные системы от Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Все драйверы режима ядра для Windows 10 (1607) теперь должны быть подписаны Microsoft

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


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

В прошлом году корпорация Microsoft объявила о том, что с выходом Windows 10 все новые драйвера режима ядра будет необходимо подтверждать в Windows Hardware Developer Center, для получения цифровой подписи Microsoft. Из-за ряда проблем это нововведение не вступило в силу, оставшись лишь уведомлением.

Теперь компания решила реализовать это изменение. Начиная с версии 1607 операционной системы Windows 10, ОС не будет загружать новые драйверы режима ядра, не подписанные в Windows Hardware Developer Center. Речь идет только о чистых установках операционной системы, а не об апгрейдах прежних версий Windows OS на Windows 10. В этом случае версию 1607 не затрагивают изменения в политиках.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии104

О том, как мы на PHP запускали настоящий MS Excel и что из этого вышло

Время на прочтение6 мин
Количество просмотров28K
Не секрет, что зачастую PHP-программистам приходится решать задачи, весьма далёкие от бытового представления о «веб-разработке». Развитие языка в последние годы привело к тому, что PHP всё чаще считают языком общего назначения, пригодным не только для сайтов, но и для других задач.

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

Дано


  • Многие наши партнёры (скажем прямо — это крупные банки) любят считать что-то в Excel. Причем «любят» — это очень нежно сказано. Сложнейшие скоринговые модели могут быть «запрограммированы» в Excel, в файле из сотни листов с десятками макросов
  • Перевести «программы», написанные в Excel на какой-либо язык программирования — практически нереально. Это займет уйму времени, а проблема постоянного обновления и проверки корректности делает такую задачу и вовсе нерешаемой


Требуется


  • Основная информационная система нашей компании написана на PHP. Она содержит в себе как веб-интерфейсы, так и множество консольных сервисов и воркеров.
  • С этими «программами» в Excel нужно как-то взаимодействовать из консольных приложений на PHP — передавать в них данные, обсчитывать, получать результаты

Некоторое время нам хватало возможностей популярной библиотеки PHPExcel. Но когда от бизнеса поступило очередное требование «нужно, чтобы работали макросы, и еще бы хорошо всё это сохранять в PDF», стало понятно, что выбранный путь — тупиковый. Нужно не парсить файлы xlsx, не имитировать просчёт, и даже не использовать Open Office, а научиться взаимодействовать с «настоящим» Microsoft Excel.


Что из этого вышло - под катом
Всего голосов 50: ↑46 и ↓4+42
Комментарии102

Летняя практика: Топ-10 курсов Microsoft Virtual Academy

Время на прочтение3 мин
Количество просмотров15K
Двигаемся дальше и продолжаем прокачивать скиллы в виртуальной академии Microsoft MVA. В прошлой подборке были самые интересные курсы для новичков, сегодня вы узнаете популярные курсы для подготовленных специалистов: Windows 10 в корпоративной сети, JSON и C#, использование Docker-контейнеров в облаке Microsoft Azure, обеспечение катастрофоустойчивости в приложениях, виртуализация серверов Windows Server Hyper-V и System Center, импортирование локальной системы Linux в облако, написание скриптов в PowerShell и использование технологии PowerShell Desired State Configuration, а также о LINQ, Data Science и Machine Learning.



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

Lync SDK 2013. Опыт разработки собственного мессенджера на основе Lync (Skype for Business)

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

О чем?


В этой статье я расскажу о том, что предлагает нам компания Microsoft в своем Lync SDK для создания «красивых» интерфейсов и новых возможностей для Lync-клиента. Так же подробно остановлюсь на взаимодействии с Lync клиентом в UI Suppression mode, с которым нам очень плотно пришлось иметь дело в процессе разработки собственного корпоративного мессенджера на базе Skype for Business. И, самое главное, постараюсь подробно описать, с какими ограничениями нам пришлось столкнуться.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии14

Истории

Минимальный «hello world» telegram-бот

Время на прочтение2 мин
Количество просмотров131K
Здесь фокусник за четыре шага покажет как без боли и чтения документации собрать бот-оповещатель для telegram.
Читать дальше →
Всего голосов 27: ↑10 и ↓17-7
Комментарии18

Простой, естественный вопрос: какие бывают библиотеки UWP?

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


Повторное использование кода и совместимость под различные платформы в наше время довольно актуальный вопрос. Кроме того MSFT в последнее время старается угодить разработчикам различных платформ и языков программирования. Именно поэтому, вероятно, возможности универсальной платформы Windows позволяют использовать не один тип библиотек. Под катом о том, какие библиотеки, как и зачем можно использовать в приложениях UWP.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Введение в ReactiveUI: изучаем команды

Время на прочтение19 мин
Количество просмотров31K
Часть 1: Введение в ReactiveUI: прокачиваем свойства во ViewModel
Часть 2: Введение в ReactiveUI: коллекции

Мы уже обсудили возможности ReactiveUI, связанные с работой со свойствами, выстраиванием зависимостей между ними, а также с работой с коллекциями. Это одни из основных примитивов, на базе которых строится разработка с применением ReactiveUI. Еще одним таким примитивом являются команды, которые мы и рассмотрим в этой части. Команды инкапсулируют действия, которые производятся в ответ на некоторое событие: обычно это запрос пользователя или какие-то отслеживаемые изменения. Мы узнаем, что можно сделать с помощью команд в ReactiveUI, обсудим особенности их работы и выясним, чем команды в ReactiveUI отличаются от команд, с которыми мы знакомы по WPF и его родственникам.
Но прежде чем перейти к командам, рассмотрим более широкие темы, касающиеся реактивного программирования в целом: связь между Task<T> и IObservable<T>, и что такое горячие и холодные последовательности.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Домашнее задание на лето: Топ-10 курсов Microsoft Virtual Academy

Время на прочтение3 мин
Количество просмотров43K
Прокачайте свои скиллы в виртуальной академии Microsoft MVA. В этом обзоре вы найдете самые интересные курсы для новичков: с чего начать разработку на C#, Python, как использовать Xamarin, с чего начать разработку для Windows 10, как начать работу с ASP.NET Web API и облегчить работу благодаря Entity Framework, как научиться создавать игры с нуля, о разработке приложений виртуальной реальности и о создании доменной сети с нуля, а также основы работы с web-технологиями.


Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии49

Воспроизводим mp3 в своей программе и что может этому помешать

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

Вступительная


Давным-давно, лет 100 10 тому назад, когда только прокрастинация начала захватывать мой разум, я решил, что пока я еще в состоянии им (разумом) пользоваться, надо срочно строить себе спасательную шлюпку, дабы не утонуть в пучине отложенных дел. Конечно, на тот момент уже существовало достаточно количество различных напоминалок, будильников, шедулеров и прочих разных «умных» часов, но, как водится, свое — оно всегда ближе и понятнее, чем чужое, даже с мегабайтами файлов справки. Да и зря, что ли, книжку по бейсику у друга одолжил?

Но, как водится, обо всем по порядку.

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

Критическая уязвимость позволяет перехватывать весь сетевой трафик пользователей Windows

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


Исследователи из ИБ-подразделения компании Tencent под названием Xuanwu Lab обнаружили серьезную ошибку в реализации протокола NetBIOS, использующейся в Windows. Критическая уязвимость получила название BadTunnel — она позволяет злоумышленникам полностью контролировать сетевой трафик жертвы.
Читать дальше →
Всего голосов 39: ↑32 и ↓7+25
Комментарии14

Драм-машина на нейронной сети

Время на прочтение2 мин
Количество просмотров13K
В данной статье мне хочется рассказать о своем алгоритме драм-машины на базе нейронной сети.
Драм-машина предназначена для создания и редактирования повторяющихся музыкальных ударных фрагментов.
Классическим примером драм машины является драм-машины от кампании Roland (TR-808 и TR-909).

Классические драм машины основаны на принципе пошагового программирования и включают в себя секвенсор, с помощью которого можно сделать цифровую запись аранжировки, то есть запрограммировать инструментальную пьесу.
Альтернативным подходом к программированию последовательности ударов является нейросетевой подход.
В данном случае драм машина использует нейронную сеть для получения повторяющихся ударов.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии17

Книга про разработку приложений для Firebird

Время на прочтение3 мин
Количество просмотров13K
firebird-logo Читатели Хабра знают, что я (Денис Симонов) уже некоторое время работаю над серией статей и примеров, которые подробно раскрывают особенности разработки приложений для СУБД Firebird для популярных языков и фреймворков: уже написаны 3 статьи по ADO.NET desktop, ASP.NET MVC и Delphi, в работе для PHP, Java, Android. Также, c 2014 года я являюсь редактором русской документации языку Firebird и членом международной группы документации Firebird.

В процессе работы над примерами я пришел к выводу, что нужно объединять эти статьи и логически дополнять до полноценной книги, посвященной разработке именно под Firebird. Хотя по разработке есть много материалов, и есть русская документация по языку SQL, книга, с последовательным изложением процесса создания приложений и описанием основных ошибок новичков, будет полезна.

Вы спросите – собственно, причем здесь Хабр?

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

Проверяем исходный код WPF Samples от Microsoft

Время на прочтение15 мин
Количество просмотров13K
С целью популяризации анализатора кода PVS-Studio, который научился проверять помимо C++, ещё и C# проекты, мы решили проверить исходный код WPF примеров, предлагаемых компанией Microsoft.



С выходом Windows Vista, была представлена новая система для построения красивых клиентских приложений — Windows Presentation Foundation (WPF). Данная графическая подсистема включена в состав .NET Framework начиная с версии 3.0. Она использует язык разметки XAML и пришла на смену устаревшему WinForms. На мой взгляд, основным недостатком WinForms было то, что он осуществлял всю прорисовку на центральном процессоре. WPF поступала более логически и отдавала прорисовку своих компонентов DirectX. Сейчас WPF практически вытеснило WinForms и позволяет делать универсальные интерфейсы сразу для трех платформ (PC, XBOXOne, Winphone).
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии19

Ближайшие события

Единорог, который смог

Время на прочтение6 мин
Количество просмотров15K
The Little Unicorn That CouldОдна из команд разработчиков Microsoft уже использует в работе анализатор PVS-Studio. Это хорошо, но недостаточно. Поэтому я продолжаю демонстрировать, какую пользу может приносить статический анализ кода на примере проектов Microsoft. Три года назад мы проверяли проект Casablanca и не смогли в нём ничего обнаружить. За это проект был отмечен медалью «безбажный код». Прошло время, проект развивался и рос. В свою очередь, анализатор PVS-Studio существенно продвинулся в возможностях анализа кода. И наконец я могу написать статью об ошибках, которые анализатор выявляет в проекте Casablanca (C++ REST SDK). Ошибок мало, но то, что теперь их достаточно для написания статьи, говорит о эффективности PVS-Studio.
Читать дальше →
Всего голосов 30: ↑22 и ↓8+14
Комментарии14

Запускаем Xamarin.Forms на Windows 7

Время на прочтение3 мин
Количество просмотров12K
Xamarin.Forms достаточно интересный и перспективный фреймворк, который сейчас активно развивается и позволяет достаточно быстро получить кроссплатформенное приложение. По умолчанию Xamarin.Forms поддерживает 5 платформ, а именно: Android, iOS, WP, WinRT, UWP.

Несмотря на то, что Microsoft старается активно пересадить своих пользователей на Windows 10, на сегодняшний день Windows 7 все еще очень распространен во многих организациях, и возникает необходимость портирования/разработки приложения под Windows 7.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии5

Поддержка BizTalk Server 2010: полезные советы

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

Некоторое время назад нам передали на поддержку сервер BizTalk 2010. Наш клиент – оптовый поставщик продукции, и он использует BizTalk Server для обмена информацией между своей учетной системой и учетными системами своих клиентов. В частности, например, это получение заказов, выгрузка, отправка прайс-листов и накладных, электронный документооборот. Какие полезные советы мы вынесли из практики, рассказываем далее.


image

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

CodeRush for Roslyn: Part 1 — полезные фичи для разработки через тестирование

Время на прочтение2 мин
Количество просмотров6K
Мы выпускаем новый продукт — CodeRush for Roslyn (далее CRR). Уже более 10 лет у нас есть другой продукт, который называется просто CodeRush, или CodeRush Classic (сокращенно CRC). Главное отличие CRR от CRC в том, что Roslyn-версия использует парсинг и языковые сервисы встроенные в Visual Studio. CRR полностью написан с нуля, поэтому он быстрый, легкий и уже содержит всё необходимое для эффективной работы.

В этой статье я расскажу о поддержке тестовых фреймворков в CRR. Почти во всех примерах будет использован проект github.com/dewe/Money. Этот проект использует NUnit Framework, но мы так же поддерживаем xUnit, MSpec и MS Test Framework. Все рассмотренные ниже практики работают одинаково вне зависимости от того, какой тестовый фреймворк вы используете.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии0

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте

Время на прочтение4 мин
Количество просмотров81K
..., даже если проект не планируется развивать и вы не собираетесь делиться исходными кодами, потому что через 20 лет какой-нибудь маньяк будет изучать и дорабатывать машинный код вашего продукта, и он может захотеть вас найти.

Разработка Need For Speed III Modern Patch

Вообще я достаточно редко играю в компьютерные игры. Бывало, не играл по несколько лет подряд. Но иногда во мне просыпается маленький реверс-инженер, который мотивирует меня забраться в машинный код какой-нибудь любимой игрушки из прошлого. В последний год я занимался доработкой Need For Speed III: Hot Pursuit (1998 года). Это моя любимая игра в жанре, но теперь я, к своему сожалению, знаю о том, насколько отвратительно она написана. Большое количество маленьких багов в самых неожиданных местах — прямое следствие низкого качества кода.
Читать дальше →
Всего голосов 159: ↑156 и ↓3+153
Комментарии87

Client-side Linq to NHibernate

Время на прочтение19 мин
Количество просмотров9.6K
Практически любой .NET разработчик так или иначе использует в своей практике технологию Linq. Linq позволяет писать красивый и лаконичный код для получения объектов из источника данных с возможностью определения критериев получения и/или трансформации запрошенных объектов «на лету». Поддержка Linq присутствует практически во всех популярных ORM-фреймворках, в том числе и в NHibernate. NHibernate предоставляет Linq-провайдер, с помощью которого мы можем написать запрос на этапе разработки (Design-Time), но для того, чтобы составить запрос в runtime, придется повозиться с Reflection. Однако, если возникнет потребность в формировании запроса во внешнем процессе, например, в клиентской части сервиса, то в таком случае Reflection уже не спасет, клиентская часть, как правило, не знает (и не должна ничего знать) про серверный ORM.
Ниже мы разберем как создать API для написания Linq запросов к NHibernate в ситуации, когда запрос пишется в одном процессе, а выполняется в другом. Также, реализуем собственный IQueryProvider, который будет транслировать запросы из приложения-источника в исполняющее приложение.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии14

Участвуйте 7-9 июня в бесплатной виртуальной конференции dotnetConf 2016

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

dotnetConf возвращается! Присоединяйтесь к нашей бесплатной виртуальной конференции 7-9 июня и погрузитесь в мир .NET с известными докладчиками из сообщества .NET и продуктовых групп Microsoft.

Мы постарались собрать сбалансированную программу. Узнайте, как разрабатывать для веба, мобильных устройств, настольных систем, погрузитесь в разработку игр, сервисов или библиотек для широкого спектра платформ и устройств и всё это на .NET. Мы расскажем о .NET Core, ASP.NET Core, C#, F#, Roslyn, Visual Studio, Universal Windows Platform (UWP), Xamarin и многом другом.
Подробности
Всего голосов 12: ↑10 и ↓2+8
Комментарии0

Вклад авторов

Работа