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

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

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

Исходники Windows Research Kernel в свободном доступе

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

Что же такое Windows Research Kernel?


Windows Research Kernel содержит исходные коды основной части ядра Windows (NTOS).
NTOS реализует базовые функции операционной системы для:
  • процессов;
  • потоков;
  • виртуальной памяти и менеджеров кэшей;
  • управления вводом/выводом;
  • реестра;
  • исполнительных функций, таких как куча (heap) ядра и синхронизация;
  • менеджера объектов;
  • механизма локального вызова процедур;
  • низкоуровневого управления CPU (планирование потоков, асинхронные и отложенные вызовы процедур, обработка прерываний/ловушек, исключения).

Читать дальше →
Всего голосов 64: ↑53 и ↓11+42
Комментарии111

Краткое введение в rvalue-ссылки

Время на прочтение9 мин
Количество просмотров166K
Перевод статьи «A Brief Introduction to Rvalue References», Howard E. Hinnant, Bjarne Stroustrup, Bronek Kozicki.

Rvalue ссылки – маленькое техническое расширение языка C++. Они позволяют программистам избегать логически ненужного копирования и обеспечивать возможность идеальной передачи (perfect forwarding). Прежде всего они предназначены для использования в высоко производительных проектах и библиотеках.

Введение


Этот документ даёт первичное представление о новой функции языка C++ – rvalue ссылке. Это краткое учебное руководство, а не полная статья. Для получения дополнительной информации посмотрите список ссылок в конце.

Rvalue ссылка


Rvalue ссылка – это составной тип, очень похожий на традиционную ссылку в C++. Чтобы различать эти два типа, мы будем называть традиционную C++ ссылку lvalue ссылка. Когда будет встречаться термин ссылка, то это относится к обоим видам ссылок, и к lvalue ссылкам, и к rvalue ссылкам.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии19

Самомодифицирующийся код

Время на прочтение12 мин
Количество просмотров30K
В статье подробно рассказано о самомодифицирующимся коде (СМК), и о том, как его использовать в своих программах. Примеры написаны на C++ с использованием встроенного ассемблера. Ещё я расскажу о том, как выполнять код на стеке, что является существенным козырем при написании и выполнении СМК.



1. Вступление


Ну что ж, поехали. Статья обещает быть длинной, так как мне хочется написать её такой, чтобы у вас не возникло никаких вопросов. На тему СМК уже существует миллион статей, но здесь представлено моё видение проблемы – после сотен часов написания СМК… Я попытаюсь впихнуть все свои труды сюда. Всё, хватайте томатный сок (или что вы там предпочитаете пить), делайте музыку громче и готовьтесь узнать, как избавить своё приложение от начинающих кракеров! Попутно, я расскажу вам о памяти Windows и некоторых других вещах, о которых вы даже и не подозреваете.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии12

Verone — статический анализатор для C++ с анализом на лету

Время на прочтение6 мин
Количество просмотров18K
Меня зовут Владимир Пляшкун и в сегодняшней статье я собираюсь представить бесплатный статический анализатор Verone для C++03/C++11/C++14, главной особенностью которого является анализ на лету.
Читать дальше →
Всего голосов 55: ↑53 и ↓2+51
Комментарии35

Главные анонсы конференции Microsoft Connect() и виртуальная конференция Visual Studio Connect 2015 в России 4 декабря

Время на прочтение5 мин
Количество просмотров7.7K
Connect() — мероприятие, которое подвело итог года разработки в Microsoft и принесло достаточно интересных анонсов, которые коснулись, конечно, в основном Visual Studio. Однако последние годы Visual Studio становится все мощнее и функциональнее, и вместе с обновлениями VS к нам приходят обновления в облаке, контейнерах и других областях. 4 декабря, в России, мы проводим виртуальную конференцию Visual Studio Connect 2015 на русском языке, где расскажем про то, что же случилось за это время. Приходите слушать!

А на Connect() было анонсировано:
  • Модель подписки на Visual Studio
  • .NET Core 5 RC & ASP.NET 5 RC с Go-live лицензией
  • Visual Studio Dev Essentials — новая программа для разработчиков, в которой есть множество бесплатных предложений
  • Visual Studio Code в Open Source
  • Visual Studio Android Emulator на Mac OS X
  • Сотрудничество с Xamarin и MacinCloud, и многое другое.

Подробнее — под катом.


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

Готовим ASP.NET 5, выпуск №6: Continuous Deployment с Visual Studio Team Services — полное руководство

Время на прочтение8 мин
Количество просмотров12K
Вслед за замечательными анонсами с конференции Connect 2015 мы продолжаем знакомить вас со сценариями использования новых технологий и сервисов для организации непрерывной разработки и тестирования ваших приложений.

Недавно мы рассказывали о реализации непрерывных процессов разработки и тестирования с помощью Visual Studio Team Services (ранее Visual Studio Online). В статье подробно описывается как на базе репозиториев Git в Visual Studio Team Services организовать процесс разработки на базе Scrum и с помощью интеграции с Visual Studio обеспечить непрерывные процесс тестирования и разработки кода (Continuous Integration & Testing).


В этой статье мы рассмотрим следующий шаг в построении полного цикла DevOps – обеспечение непрерывного развертывания (Continuous Deployment) с помощью новых возможностей настраиваемых шаблонов сборки и публикации проектов в Visual Studio Team Services. Мы будем использовать проект на базе ASP.NET 5 и увидим как для таких проектов обеспечить полный цикл от редактирования кода до автоматической сборки и развертывания в облаке Azure (может быть любым местом).
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии2

Книга «Изучаем C++ через программирование игр»

Время на прочтение5 мин
Количество просмотров111K
image
Если вы хотите научиться программировать первоклассные игры, вам просто необходимо изучить язык С++. Эта книга поможет вам освоить разработку игр с самых азов, независимо от того, есть ли у вас опыт программирования. Гораздо интересней учиться, когда обучение превращается в игру. Каждая глава книги описывает самостоятельный игровой проект. В заключительной главе вам предстоит написать сложную игру, которая объединяет все приемы программирования, рас-смотренные в предыдущих главах. Книга идеально подойдет для начинающего программиста, планирующего не только как следует освоить непростой язык С++, но и поупражняться в программировании игр. Цель данной книги — познакомить вас с языком С++ в контексте программирования игр. Хотя невозможно представить себе такую книгу, которая сделала бы вас мастером в двух столь объемных темах, как программирование игр и язык C++, это издание пригодится вам в качестве вводного курса.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии20

7 расширенных возможностей Visual Studio 2015 Enterprise

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


Не так давно компания Microsoft представила обновленные предложения продуктов семейства Visual Studio. Visual Studio 2015 Enterprise на текущий момент является топ-продуктом и предоставляет доступ ко всем возможностям, созданным компанией Microsoft для разработки программного обеспечения.
 
Не смотря на наличие бесплатной версии Visual Studio Сommunity, обладающей огромным функционалом, достаточным для комфортной разработки, возможности этих инструментов различаются. Посмотрим, некоторые дополнительные преимущества, которые предлагает Visual Studio 2015 Enterprise. 
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии10

Ещё раз про семь основных методологий разработки

Время на прочтение8 мин
Количество просмотров1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Всего голосов 51: ↑38 и ↓13+25
Комментарии48

Режимы управления с помощью мыши и с помощью сенсорного экрана в Windows 10 и Windows 8

Время на прочтение4 мин
Количество просмотров21K
В этом проекте демонстрируется определение режима работы ноутбука-трансформера (режим планшета либо режим ноутбука) под управлением Windows 8(.1), а также новый режим управления с помощью мыши и сенсорного экрана в Windows 10. Режим управления с помощью мыши и сенсорного экрана аналогичен режиму планшета и ноутбука, но в Windows 10 пользователи получили возможность вручную переключать режим, тогда как в Windows 8 режим переключается только в зависимости от физического состояния устройства. Поэтому пользователи Windows 10 могут использовать расширенный графический пользовательский интерфейс, предназначенный для сенсорного управления, даже на устройствах, не являющихся трансформерами: важно только наличие сенсорного экрана. Эта новая возможность реализована на основе новых API UWP (Universal Windows Platform). Нужно добавить несколько строк кода в приложения, предназначенные для Windows 8, чтобы воспользоваться этой функцией в Windows 10. В этом документе показана доработка приложений Win32 для использования API UWP с помощью WRL (библиотеки шаблонов C++ среды выполнения Windows) в Windows 10. Сведения о включении приложений UWP см. в образце кода Microsoft.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии0

Изучение React — для чего, откуда, как?

Время на прочтение7 мин
Количество просмотров83K
С чего начать изучение новой библиотеки или фрейморка? Сразу же найти статью на Хабре и с головой погрузиться в пучину практических примеров? Или сначала тщательно изучить официальную и неофициальную документацию, прежде чем перейти к практике? Именно между этими вопросами будет метаться ваше сознание, когда вы решите узнать, что же такое ReactJS. Чтобы желание учиться не умерло, как знаменитый ослик, обязательно загляните под капот.
Читать дальше →
Всего голосов 27: ↑17 и ↓10+7
Комментарии59

Microsoft добавит поддержку компилятора Clang в ноябрьском обновлении Visual Studio 2015

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


Microsoft добавит поддержку компилятора Clang в ноябрськом обновлении Visual Studio 2015 — об этом было заявлено на конференции CPPCon 2015, проходящей сейчас в городе Белвью, США.

Clang это компилятор кода на С, С++ и Objective-C, который в связке с LLVM позволяет собирать программы под различные платформы. Visual Studio 2015 уже поддерживает Clang для разработки Android и iOS-приложений. При разработке под Android можно выбирать между GCC и Clang, а для iOS приходится использовать внешний Mac в качестве билд-сервера.

Планируемое обновление принесёт поддержку Clang на качественно новом уровне — теперь им можно будет собирать обычные Windows-приложения.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии17

Новый профилировщик памяти в Visual Studio 2015

Время на прочтение3 мин
Количество просмотров29K
Долгие годы С++ программисты, пишущие под Linux язвительно пеняли разработчикам на С++ под Windows отсутствием в Visual Studio нормального профилировщика памяти. Вот в Линуксе, дескать, есть Valgrind, который решает все проблемы, а в студии что: расставляй какие-то макросы, анализируй какие-то логи — мрак. Клевета! Хотя и правда. Вернее, это было правдой до выхода Visual Studio 2015, в которой наконец-то (ура 3 раза!) присутствует нормальный профилировщик памяти, позволяющий ловить утечки памяти с закрытыми глазами, одной левой и даже не просыпаясь!

В этой статье мы посмотрим, что он умеет и как им пользоваться.


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

Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++

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


В процессе построения учебной программы наших образовательных проектов мы составили список специализированных книг, рекомендованных к изучению по каждой из дисциплин, — всего более 100 наименований на весь период обучения. Не станем таить и представим вам этот список, сопроводив краткими комментариями. Уместить такой объем информации в рамках одной статьи затруднительно, поэтому обзор рекомендованной Технопарком литературы разбит на четыре части — по числу семестров, с небольшой добавкой полезных книг, предложенных студентами. Ссылки в комментариях на дополнительное интересное чтиво только приветствуются.

Первый семестр призван «выровнять» знания студентов. Он содержит такие дисциплины, как алгоритмы и структуры данных, программирование на C++, а также обзорный курс по веб-технологиям. С книг по этим предметам и начнется обзор. Большая часть представленных книг относится к нестареющей «классике», являющейся собранием основополагающих концепций.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии10

Когда размер имеет значение

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


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

Компиляторы Intel обычно отдают предпочтение производительности и слабо заботятся о размере получаемого на выходе приложения. По умолчанию, фокус на максимальную скорость. Задача разработчика заключается в умении найти правильный баланс между скоростью выполнения приложения и используемыми оптимизациями компилятора, и его размером. В компиляторе Intel C/C++ имеется целый ряд возможностей, позволяющий контролировать этот баланс и делать размер приложения более приоритетным, чем его производительность. Давайте рассмотрим эти возможности.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии7

Паттерны ООП в метафорах

Время на прочтение17 мин
Количество просмотров565K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Всего голосов 214: ↑201 и ↓13+188
Комментарии86

Разработка игр с помощью Unity и 3D-камеры Intel RealSense

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

Процесс создания компьютерных игр включает набор стандартных задач, с которыми постоянно приходится сталкиваться разработчикам. Это, к примеру, учет физических законов, столкновение объектов, запуск событий (звуковые сигналы, подсчет очков и т. п.) и ответ на действия игроков, использующих джойстик, мышь и клавиатуру. Реализация этих функций для каждой целевой платформы в отдельности может отнять очень много времени. Чтобы этого избежать, разработчики используют игровой движок с поддержкой стандартной функциональности. Это позволяет уделять больше внимания сложным задачам.
Unity 3D — отличное кроссплатформенное решение от Unity Technologies. Оно предназначено для разработки игр для компьютеров, игровых консолей, мобильных устройств и веб-браузеров. В Unity 3D предусмотрена поддержка различных языков программирования, например C++, C#, Unity Script (похож на JavaScript) и Boo.
Эта статья предназначена как для начинающих специалистов, так и для экспертов. Чтобы помочь тем, кто никогда раньше не работал с Unity, мы начнем с небольшого примера применения этого продукта. Затем я расскажу, как использовать Intel RealSense SDK и 3D-камеру Intel RealSense для отслеживания жестов и как создать простую игру на C#.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии2

Интервалы в С++, часть 1: Интервалы с ограничителями

Время на прочтение6 мин
Количество просмотров25K
Как мы уже писали конференцию C++ Siberia в Новосибирске будет открывать Эрик Ниблер. Чтобы поближе познакомить Хабр с этим замечательным человеком, мы решили перевести цикл его статей об интервалах. Сейчас Эрик работает над реализацией библиотеки Ranges по гранту, полученному от комитета стандартизации.

В последнее время я плотно занимался интервалами, и мне стало понятно, что это нечто большее, чем просто пара итераторов. В нескольких постах я хочу объяснить понятие интервала, описать несколько интервалов, которые не получается просто или эффективно выразить при помощи STL: интервалы с ограничителями и бесконечные интервалы. В этом посте мы рассмотрим задачу представления интервалов с ограничителями через итераторы STL.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии8

Что нового в развертывании Windows 10

Время на прочтение9 мин
Количество просмотров79K
До начала распространения RTM Windows 10 остается совсем немного, и в этом посте я хотел бы кратко рассказать о новшествах в развертывании Windows 10, а также о некоторых особенностях в инструментах и процессах установки ОС, на которые стоит обратить внимание. В основном материал предназначен для тех, кто планирует развертывание Windows 10 в корпоративной среде. Дополнительную информацию можно найти в первом модуле курса «Windows 10: развертывание, управление, безопасность».
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии59

Онлайн трансляция запуска Visual Studio 2015

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


Приглашаем вас сегодня, 20 июля в 18:30 (МСК), на онлайн-мероприятие по запуску Visual Studio 2015. Новая версия инструментария для разработчиков содержит массу новых функций и улучшений, которые, несомненно, облегчат ваши повседневные задачи. В рамках мероприятия мы расскажем вам о самых ярких новинках, продемонстрируем наиболее интересные возможности. Вы узнаете о кроссплатформенной разработке, интегрированных инструментах анализа производительности приложений, новинках, связанных с совместной работой в Team Foundation Server и Visual Studio Online и многом другом.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии18
1

Информация

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