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

C# *

Объектно-ориентированный язык программирования

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

Приложение для отображения текущей скорости сетевого подключения

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



Как и ожидалось, в Windows 8 по умолчанию отключена возможность добавления гаджетов на рабочий стол, но я привык созерцать в процессе работы активность сетевого подключения, ранее в Windows 7 я пользовался гаджетом мониторинга сети либо платными версиями программ подобного функционала. С переходом на Windows 8 гаджеты отпали, а платные содержат кучу ненужного функционала помимо простой информации о текущей активности. Таким образом, возникла идея самому написать простенькую программку и поделится ей, вдруг кому тоже пригодится. Если интересно, прошу под хабракат…
Читать дальше →
Всего голосов 42: ↑31 и ↓11+20
Комментарии37

ISN Digest #0. Использование сенсоров и оптимизация энергопотребления в приложениях под Windows 8

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

Предлагаем вниманию хабраобщественности новую рубрику в блоге Intel — ISN Digest. В этой рубрике мы будем публиковать ссылки и краткие аннотации на документы, появляющиеся в огромной библиотеке документов для разработчиков на сайте Intel. Подборки ссылок мы будем стараться делать тематическими, посвященными одной или нескольким близким темам.
В первом дайджесте мы будем говорить о программировании приложений под Windows 8 Metro, а точнее — об использовании сенсоров и оптимизации энергопотребления.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии0

Unity3d, Агенты и Танчики

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

Всем доброго времени суток!

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

Давно хотел этим заняться, но все времени не было. Сейчас наконец-то дошли руки сделать среду для агентов, хотя и не в таком масштабе. Так что если кому-нибудь интересно, присоединяйтесь! Репозитарий открытый, ссылка внизу.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии19

Конвертация строки в число

Время на прочтение4 мин
Количество просмотров67K
Помогал на днях одной своей знакомой разобраться в программировании. По ходу дела написали учебную программу, которая умеет конвертировать строку (string) в число (int). И как-то само собой захотелось сравнить скорость работы собственной нетленки, со скоростью работы стандартных инструментов (Convert.ToInt32 и Int32.Parse). Результат такого сравнения, на первый взгляд, получился несколько необычным.
Читать дальше →
Всего голосов 62: ↑39 и ↓23+16
Комментарии58

Истории

Использование Dynamic Data совместно с Entity Framework 5

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


Добрый день!

Как известно, уже вышла релиз-версия .NET Framework 4.5, а также стала доступна для загрузки финальная версия Visual Studio 2012.

Познакомиться с новой Visual Studio я успел еще с beta версии, а после релиза начал использовать rtm релиз Visual Studio и .NET Framework 4.5 в реальной работе.
В новую версию .NET Framework входит так же новая версия Entity Framework. Уже пятая. Точнее она туда не совсем входит — у меня при создании проекта файлы подгружаются из репозитория NuGet. Но в любом случае в новом проекте используется именно 5 версия библиотеки.

Прежде чем продолжить, хочу вкратце рассказать, что же нового появилось в EF5 и почему я решил начать использовать эту версию.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

Упрощение регистрации и работы с DependencyProperty

Время на прочтение4 мин
Количество просмотров18K
При работе с WPF/Silverlight, периодически приходится создавать кастомные DependencyProperty, в основном при создании контролов. Стандартный подход объявления и работы с ними не идеальный и имеет минусы, о которых будет сказано ниже. Соответственно, появилась идея упростить запись регистрации и работы с DependencyProperty.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии17

Unity3D 3.x Получение текущего активного окна

Время на прочтение3 мин
Количество просмотров8.2K
Недавно перед нашей командой встала довольно простая задача. Нам нужно было сделать перетаскивание вещи из инвентаря в другие окна (эквип, сундук). Если два окна находятся друг над другом, то вещь должна упасть в то окно, которое выше.

Бегло осмотрев список свойств в классе GUI я не нашел чего-либо подходящего, потом я осмотрел GUIUtility, и даже заглянул в GUILayout. Вообщем такого свойства нигде не было. Гугление по этому запросу выдает несколько вопросов в Q&A и пару скудных постов на офф. форуме которые заканчиваются ответами в стиле «так сделать нельзя, но можно вручную отслеживать по какому окну нажали мышкой и заполнять переменную активного окна самостоятельно».
Нам не подошло ничего из того что там предлагали, но один парень натолкнул меня на интересную мысль. Мы пишем код на C#, а значит можем пользоваться всеми плюсами этого языка, в том числе и С# Reflection
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии24

Комбинáторная библиотека на C#

Время на прочтение5 мин
Количество просмотров14K
Доброго времени суток, Хабражители!
В своей первой статье я бы хотел рассказать про такую интересную штуку, как комбинáторная библиотека (Combinator library). Все рассуждения постараюсь сделать максимально простыми и понятными.

Проблема


На самом деле не проблема, а попросту желание чего-нибудь интересного написать. А написать я решил систему для нахождения производных функций (статья несколько перекликается со статьями «Динамические мат. функции в C++» и «Вычисление производных с помощью шаблонов на С++», но я все же решил опубликовать её, так как надеюсь пролить свет на проблему несколько с другой стороны, да и все примеры будут на c#, а не на c++).
Собственно желания брать что-нибудь готовое не было никакого, тем более тогда терялся бы смысл всей затеи. И родилась идея, необычная для моего неопытного ума, реализацией которой я и занялся. Чуть позже, случайно прочитав про такой паттерн функционального программирования как «Комбинаторная библиотека», я понял что именно его и реализовал. Итак, что же это такое?
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии9

Обратная сторона луны

Время на прочтение14 мин
Количество просмотров47K
При написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).

Считается, что сборщик мусора – черный ящик, работу которого нельзя предугадать.

А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.

А я скажу как бы ни так!

В данной статье мы рассмотрим:
  • структура организации размещения объектов в памяти
  • CLR 4.5 Background Server GC
  • правильная настройка сборщика мусора
  • эффективный апгрейд приложений до .NET 4.0+
  • правильное ручное управление памятью

Читать дальше →
Всего голосов 138: ↑132 и ↓6+126
Комментарии28

C# и AutoCAD. Некоторые приемы работы

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

Цель данной статьи.


Целью данной статьи является рассмотрение некоторых приемов работы в связке Autocad + C#.
В основном буду опираться на статью «Начало работы с Autocad с помощью C#». В рамках данной статьи будут рассмотрены некоторые замечания по особенностям работы с Autocad с помощью SDK — ObjectARX.
Подробности
Всего голосов 21: ↑19 и ↓2+17
Комментарии14

DataSet’ы в Web-сервисах – это порождение дьявола и всё мировое зло

Время на прочтение3 мин
Количество просмотров7.1K
(Нет, на самом деле я в это не верю, но ведь неплохой заголовок получился, не так ли? DataSet’ы имеют право на существование, но только не в качестве внешних бизнес-объектов или контрактов Web-сервисов).
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии8

Живые тайлы (Live tiles) в Windows 8 (WinRT)

Время на прочтение21 мин
Количество просмотров24K
UI Windows 8 был существенно переработан и появился стартовый экран с тайлами (tiles – далее в скобках буду указывать используемые английские терминологии). Одним из основных преимуществ тайлов перед иконками – это возможность «оживления» (live tile) и предоставления важной для пользователя информации непосредственно на тайле. Кроме того, есть возможность создать вторичные тайлы (secondary tiles), которая позволяет переходить в приложение с определенными параметрами или на страницу вглубь приложения. В качестве примера можно привести погодное приложение отображающее погоду на основном тайле и погоду в выбранных городах на вторичных тайлах.

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

В этой статье рассмотрим следующие пункты.
подробнее
Всего голосов 62: ↑55 и ↓7+48
Комментарии6

Организация очереди обращений к native библиотеке из управляемого кода средствами Dispatcher

Время на прочтение5 мин
Количество просмотров2K
В недавнем прошлом столкнулся со следующей проблемой: в реализуемом проекте (под .net) необходимо было организовать взаимодействие с внешними ресурсами (аппаратное обеспечение, специфическая полнотекстовая БД). Доступ к этим ресурсам осуществлялся средствами библиотек содержащих API функции, которые были написаны с использованием различных языков (С++, Delphi), и объединяло их одно свойство: они не поддерживали вызовы из различных потоков. В то время как архитектура разрабатываемого приложения, продиктованная функциональными требованиями, подразумевала необходимость доступа к этим ресурсам из различных потоков.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии9

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Набираем в LilyPond с помощью midi-клавиатуры

Время на прочтение6 мин
Количество просмотров3.6K
Я уже пару раз писал про lilypond, а теперь я купил midi-клавиатуру.

Многие нотные редакторы, в том числе Finale и Sibelius, имеют возможность набора нот с midi-клавиатуры аж двумя способами: или можно сыграть что-нибудь под метроном, и это будет немедленно записано нотами, либо можно вводить с оной только ноты, а ритм и всё прочее вводится обычным способом.

Я решил, что аналогичная возможность не помешала бы и для предпочитаемого мною lilypond'а. Так как возможность записать midi-файл, а потом преобразовать его с помощью midi2ly меня не устраивает — слишком много информации именно нотонаборного толка в midi-файле отражены быть не могут (мы об этом уже дискутировали) — я решил написать программу для того, чтобы нажатые клавиши и аккорды немедленно преобразовывались в необходимый формат.

UPD: Нотная грамота нужна примерно для половины нижеследующего
Дальше понадобится знание нотной грамоты
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Первый опыт написания плагинов для Autocad на C#

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

Предыстория


Я начинающий разработчик, «школьный» уровень знания С++, небольшой (2 года) опыт программирования на С#, нулевой опыт работы в автокаде
Недавно попросили изменить LISP программки автокада, предназначенные для создания/изменения межевых планов и подготовки соответствующих документов MS Word / XML — пофиксить баги и добавить новый функционал.
Поскольку читабельность программ на Лиспе (по крайней мере для меня) оставляет желать лучшего, я решил переписать это на более понятный язык.
Т.к. мне не нужны были миллисекунды прироста скорости, я пропустил С++ и остановился на C#

Под катом то, что я узнал за 2 недели переписывания программ
Всего голосов 21: ↑19 и ↓2+17
Комментарии11

Автоматическое тестирование ASP.NET приложения через CUITe — особенности

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

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

В статье — краткое описание CUITe для тех, кто не сталкивался, использование этого фреймворка для тестирования приложения с фронт-эндом на ASP.NET и проблемы, с которыми столкнулись.

Что есть CUITe


Как говорит описание проекта на codeplex, это тонкая надстройка над UI Testing фреймворком от Microsoft. В описании приведено много преимуществ, но для меня они сводятся к двум: вместо UIMap — Object repository (более красиво, определения (definitions) UI объектов отдельно от остального кода), и разнообразный синтаксический сахар (все наглядно — берем control в UI объекте и вызываем его метод).
Инсталляция банальна — запускаем инсталлер, Next->Next->Finish, подключаем к проекту CUITe.dll — все. Элементы для интеракции находятся с помощью фирменного CUITe Object Recorder™ или вручную (я предпочитаю последнее). Основы записи тут приводить не буду — статья не об этом, по основам информации много, чего не скажешь о проблемах, описанных ниже (будет интерес — напишу отдельный пост по основам).

Итак, не все так радужно.

Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии2

MongoDB и C#. Новые возможности и неочевидные проблемы

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

Введение


В начале июля вышла очередная версия(1.5) официального драйвера MongoDB для C#. Среди нововведений стоит отметить поддержку типизированных запросов. Теперь появилась возможность использовать лямбда-функции в связке с Expression.
В этой статье я покажу примеры нового синтаксиса, который мне очень нравится(а мне вообще Expression в C# очень нравится), а также продемонстрирую примеры запросов, где, увы, Expression нам ничем не поможет и придется вернуться к привычным строкам. Также я порассуждаю, почему оно так, и будет ли когда-нибудь всё прекрасно в С# при работе с MongoDB.
Если интересно, то читайте дальше
Всего голосов 21: ↑19 и ↓2+17
Комментарии19

Простой RegionManager

Время на прочтение3 мин
Количество просмотров2.2K
Многим известна библиотека Prism, но зачастую весь её обширный функционал ненужен. Иногда хочется воспользоваться некоторыми плюшками из этой библиотеки.
Просто так выдрать малый кусок кода не получается, тогда приходится создавать свою реализацию с более или менее приближенным функционалом.
RegionManager — одна из интересных плюшек, простую реализацию которой мы и рассмотрим
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии0

Использование JSON контроллера MVC в Visual Studio на шаблоне Empty Web Site и языке C#

Время на прочтение5 мин
Количество просмотров14K
Речь в этой статье пойдет про подключение библиотеки MVC3 в Visual Studio 2010. Но мы не будем использовать шаблон проекта «ASP.NET MVC3 Web Application», а создадим Веб-сайт (Веб-узел) на основе шаблона «Empty Web Site», то есть с нуля. Мы будем подключать библиотеку к пустому Веб сайту, т.к. шаблона MVC для Веб сайта нет.
В конце статьи будет реализован JSON контроллер на основе библиотеки MVC.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии2

Контракт Settings в WinRT (Windows 8)

Время на прочтение4 мин
Количество просмотров3.6K
Одним из основных контрактов доступных в чудо-панели Windows 8 является контракт Settings.
Активация панели настроек осуществляется соответствующей кнопкой «Settings» в чудо панели:
image

Пользователь всегда может зайти в эту панель для того чтобы управлять настройками приложения. (К примеру отключить возможность определения местоположения).
Довольно логично было бы не заставлять пользователя думать, где искать настройки самого приложения и разместить свои настройки приложения в эту же панель.

В этой статье мы рассмотрим две темы:.
Добавление поддержки контракта Settings
Добавление собственной панели настроек.

Подробности
Всего голосов 35: ↑28 и ↓7+21
Комментарии11