Обновить
111.75

C# *

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

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

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

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

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


Целью данной статьи является рассмотрение некоторых приемов работы в связке Autocad + C#.
В основном буду опираться на статью «Начало работы с Autocad с помощью C#». В рамках данной статьи будут рассмотрены некоторые замечания по особенностям работы с Autocad с помощью SDK — ObjectARX.
Подробности

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

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

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

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

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

В этой статье рассмотрим следующие пункты.
подробнее

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

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

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

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

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

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

UPD: Нотная грамота нужна примерно для половины нижеследующего
Дальше понадобится знание нотной грамоты

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

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

Предыстория


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

Под катом то, что я узнал за 2 недели переписывания программ

Автоматическое тестирование 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™ или вручную (я предпочитаю последнее). Основы записи тут приводить не буду — статья не об этом, по основам информации много, чего не скажешь о проблемах, описанных ниже (будет интерес — напишу отдельный пост по основам).

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

Читать дальше →

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

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

Введение


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

Простой RegionManager

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

Использование 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.
Читать дальше →

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

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

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

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

Подробности

Как создать простую Tower Defense игру на Unity3D, часть первая

Время на прочтение16 мин
Количество просмотров128K
Здравствуйте! Давно уже хотел опубликовать эту статью, да не успевал выделить время. Заранее хотел бы предупредить, что статья рассчитана на не шибко знающего Unity3D пользователя, потому в тексте будет обилие пояснений.

Часть вторая

Всем заинтересовавшимся — добро пожаловать под кат!
Читать дальше →

Entity Framework теперь Open Source

Время на прочтение1 мин
Количество просмотров5.4K
image
Entity Framework — достаточно популярная ORM для .Net
Скачать можно на entityframework.codeplex.com
Лицензия Apache License 2.0 (Apache)
Источник информации: Scott Hanselman

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

Может ли ваш язык программирования делать такое?

Время на прочтение6 мин
Количество просмотров6.6K
Недавно я прочитал статью Джоэла Спольски “Can your programming language do this?”и она настолько сильно пришлась мне по душе, что я решил перевести ее. Но не просто так, а добавить немного от себя. А именно, вместо примеров на JavaScript (использованных Джоэлем в оригинале), я решил написать примеры на С#, который мне на сегодняшний день ближе. Собственно результат и представляю на суд сообществу под катом.

Читать дальше →

XNA Draw: улучшаем графику игры

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


Всем привет.

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

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



Если интересно — под хабракат.
Читать дальше →

Скринкаст: функциональная анимация

Время на прочтение1 мин
Количество просмотров2.1K
Еще один скринкаст. В скринкасте пример функционального подхода к анимации (C#,WPF). Рекомендуется смотреть в 720p. Комментарии приветствуются.

Три возраста паттерна Singleton

Время на прочтение5 мин
Количество просмотров97K
Паттерн Singleton появился, пожалуй, как только появились статичные объекты. В Smalltalk-80 так был сделан ChangeSet, а чуть в самых разных библиотеках стали появляться сессии, статусы и тому подобные объекты, которых объединяло одно — они должны были быть одни-единственные на всю программу.

В 1994 году вышла известная книга «Паттерны проектирования», представив публике, среди 22-х прочих, и нашего героя, которого теперь назвали Singleton. Была там и его реализация на C++, вот такая:
Читать дальше →

Отправляем письма из ASP .NET MVC

Время на прочтение3 мин
Количество просмотров27K
Часто в приложениях возникает необходимость отправлять письма пользователям. Сегодня я покажу как с помощью ActionMailer .Net эта задача легко решается. Основной его плюс в представлении отправляемых писем в виде действий контроллера, само тело письма представлено отображением, а также то, что в режиме отладки он позволяет сохранять письма напрямую на жесткий диск, без использования почтового сервера.
Читать дальше →

Стереотипность мышления в программировании

Время на прочтение3 мин
Количество просмотров3.4K
Капитан очевидность в боевом костюме
Скорость развития IT столь высока, что многие технологии и идеи не успевают пройти проверку временем и становятся де-факто стандартами. Порой мы следуем этим стандартам по стадному принципу – как все, так и я. Это очень легко и комфортно. А иногда эти идеи становятся настолько незыблемы, что мы следуем им фанатично, не пытаясь задумываться правильно это или нет.



1. Код метода должен вмещаться на экран монитора.
Читать дальше →

xNet — C# библиотека для работы с Web

Время на прочтение7 мин
Количество просмотров146K
Постепенно, с изучением C# и .NET Framework, я начал писать различные Helper'ы, которые скрывали рутинный код за вызовом всего одного метода. После это переросло в разработку полноценной библиотеки, которую я хочу вам представить. Данная библиотека написана полностью 'с нуля'.

Так что же такое xNet?


xNet — это библиотека классов для .NET Framework, которая включает в себя:
  • Классы для работы с прокси-серверами: HTTP, Socks4(a), Socks5, Chain.
  • Классы для работы с HTTP 1.0/1.1 протоколом: keep-alive, gzip, deflate, chunked, SSL, прокси и другое.

Читать дальше →

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