Как стать автором
Обновить
4
0
Вадим Варавва @Incole

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

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

Проверки на пустые перечисления

Время на прочтение2 мин
Количество просмотров11K
Недавно, во время разбора кода одной программы я заметил метод, который выглядел примерно так:

public void Foo<T>(IEnumerable<T> items)
{
 if(items == null || items.Count() == 0)
 {
  // Оповестить о пустом перечислении
 }
}



Метод принимает дженерик-перечисление и проверяет, пустое ли оно. Видите ли вы тут потенциальную проблему? Я намекну, проблема в этой строчке:

items.Count() == 0


И в чем же тут проблема? Проблема в том, что эта строчка может оказаться очень неэффективной.
Читать дальше →
Всего голосов 128: ↑91 и ↓37+54
Комментарии65

Руководство по отладке многопоточных приложений в Visual Studio 2010

Время на прочтение9 мин
Количество просмотров19K
В этой статье я расскажу, как отлаживать многопоточные приложения в Visual Studio 2010, используя окна Parallel Tasks и Parallel Stacks. Эти окна помогут понять структуру выполнения многопоточных приложений и проверить правильность работы кода, который использует Task Parallel Library.

Мы научимся:
  • Как смотреть call stacks выполняемых потоков
  • Как посмотреть список заданий созданных в нашем приложении (System.Threading.Tasks.Task)
  • Как перемещаться в окнах отладки Parallel Tasks и Parallel Stacks
  • Узнаем интересные и полезные мелочи в отладки с vs2010


Осторожно, много картинок
Читать дальше →
Всего голосов 63: ↑47 и ↓16+31
Комментарии9

Знакомимся с DynamicObject

Время на прочтение7 мин
Количество просмотров15K
Каждый раз, когда у вас появляется новая интересная фича в языке, всегда появляются люди которые начинают выжимать из фичи максимум. DynamicObject – это как раз такая фича, которая кажется простой и понятной, но в шаловливых ручках становится более опасной затеей.
Читать дальше →
Всего голосов 82: ↑64 и ↓18+46
Комментарии35

XML + CSS = счастье

Время на прочтение4 мин
Количество просмотров12K
Возрадуйтесь, дети мои, ибо пришёл я к вам с миром и богатыми дарами. Нет, я не принёс вам того, чего вы не видели. И даже не принёс того, чего вы не имели. От чистого сердца вручаю вам то, что всегда лежало у вас под ногами, но вы не замечали того, брезгливо перешагивая, пробегая мимо по своим, несомненно самым важным, делам.

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

Примеси! Я же знаю, вы так устали без наследования. Приходится внедрять лишние классы в элементы или даже, переходить на тёмную сторону силы — копипастить по чёрному.

Отныне! Ваша душа будет чиста как у младенца. Руки в золоте как у царевичей. Дети послушными и приветливыми.

а теперь приступим к съёмкам порева
Всего голосов 128: ↑98 и ↓30+68
Комментарии53

Обзор Facebook SDK

Время на прочтение2 мин
Количество просмотров3.2K
imageДанный инструментарий предоставляется, как Facebook Client Library, точно также как и библиотеки к PHP и JavaScript. Цель — предоставить .NET разработчикам быстро и легко использовать различные особенности платформы Facebook. Этот пакет разработчика развился через какое-то время после подключения к разработке сообщества и Miсrosoft. Самая последняя редакция (v3.0) включает новые архитектурные усовершенствования и обеспечивает асинхронные интерфейсы для работы из Silverlight и WPF.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии8

NHibernate vs. Entity Framework 4.0

Время на прочтение3 мин
Количество просмотров14K
Это вопрос мне задают очень часто, и я всегда старался уклониться от прямого ответа, но все же меня так часто об этом спрашивают, что я чувствую, что я просто обязан ответить. В общем-то я больше склоняюсь к NHibernate, поэтому, когда вы читаете эту статью, пожалуйста, имейте это в виду.

В EF 4.0 исправлено очень много проблем, существующих в предыдущей версии EF. Такие вещи как прозрачная «lazy loading», POCO классы, code only и т.д. EF 4.0 явно гораздо приятнее чем EF 1.0.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии16

Улучшения Javascript Intellisense в VS 2010

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

Это двадцатая статья из серии, которую я посвятил выходу VS 2010 и .NET 4.

Сегодняшний пост охватывает некоторые замечательные улучшения, которые грядут в Intellisense у VS 2010 и бесплатной Visual Web Developer 2010 Express для JavaScript. Он стал быстрее загружаться с большими скриптовыми файлами и поддерживает завершение выражений для еще большего количества сценариев, по сравнению с предыдущими версиями Visual Studio.
Читать дальше →
Всего голосов 69: ↑48 и ↓21+27
Комментарии37

Вышла финальная версия IronRuby 1.0!

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

Отличные новости! Вместе с глобальным запуском Visual Studio 2010 и платформы .NET 4.0 выпущена финальная версия IronRuby — opensource-реализации языка Ruby для платформы .NET.

На текущий момент IronRuby нацелен на поддержку Ruby 1.8.6. Согласно информации с сайта ironruby.info версия IR 1.0 проходит тест RubySpec на 86%. Из них: языковые тесты на 98%, ядро на 90% и библиотеки на 75%.

Полезные ссылки:

официальный сайт проекта;
страница проекта IronRuby на codeplex;
скачать IronRuby для .NET2/.NET4;
результаты тестов RubySpec.
Всего голосов 56: ↑41 и ↓15+26
Комментарии14

Пишем игры для Windows Phone

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

Не так давно публике была представлена платформа Windows Phone. Платформа очень интересная в плане разработки, т.к. присутствует поддержка .Net Framework, мультизадачность и XNA Framework, причем отличия у XNA от десктопной версии минимальны.

Вначале ложка дегтя: выяснилось, что пока на Windows Phone не будет полноценной поддержки собственных шейдеров, но обещается ряд предустановленных с широкими возможностями настройками. Что-ж, не будем огорчаться, всему свое время.
Для работы нам понадобится Windows Phone Developer Tools
Читать дальше →
Всего голосов 131: ↑106 и ↓25+81
Комментарии18

Программирование сопроцессора на C#? Да!

Время на прочтение10 мин
Количество просмотров9.4K
Наверное все знают о существовании сопроцессора FPU. Как писать код для него читаем дальше
Прочитать безобразие
Всего голосов 70: ↑39 и ↓31+8
Комментарии48

Электронная регистрация на поезд РЖД — экспорт билета в Гугл- и Яндекс.Календарь

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

Покупая билет на поезд дальнего следования РЖД, можно воспользоваться услугой электронной регистрации. Это когда приходишь на поезд с паспортом и вообще без билета. Оно неоднократно опробовано и прекрасно работает.

У электронной регистрации мне известны три проблемы.
1) [Животрепещущая] Туалеты на вокзалах платные. Но за два часа до отправления и в течение двух часов после прибытия — бесплатно (Вы этого не знали? Упс, вокзальные туалеты теперь постигнет хабраэффект...)
При наличии электронного билета гадить бесплатно вы можете только в комментах, но не на вокзале.

2) [Бюрократическая] Если вы едете в командировку от организации, особенно государственной, то бухгалтерии нужен билет в качестве обоснования, что вы не лось.
Электронный билет — вы электронный лось.

3) [Основная] Подходя к поезду, вы должны знать свой номер вагона! Иначе вам придётся идти к начальнику поезда и искать свою фамилию в списке — а если вы пришли к поезду впритык, то можете этого и не успеть!

И вот к этой-то проблеме я и предлагаю гризманки-решение.
Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии56

Как применять IDisposable и финализаторы: 3 простых правила

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

От переводчика


После рассказа об утечке памяти и правильной реализации событий размещаю еще один перевод понравившейся мне статьи на тему управления памятью. Я видел несколько разных реализаций Dispose паттерна, иногда они даже противоречили друг другу. В этой статье автор представил хорошее и четкое разъяснение, когда следует реализовывать интерфейс IDisposable, когда финализаторы, а когда — все вместе.
И когда же?
Всего голосов 45: ↑35 и ↓10+25
Комментарии24

Слабые события в C#

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

От переводчика


Недавно в проекте, где я работаю, мы столкнулись с проблемой утечки памяти. Прочитав множество статей — от рассказов по управлению памятью в .NET до практических рекомендаций по правильному освобождению ресурсов, я в том числе наткнулся на статью, в которой рассказывается, как корректно использовать события. Ее перевод я и хочу вам представить.
Это топик из песочницы, с которым я попал сюда на Хабр.

Читать дальше →
Всего голосов 93: ↑76 и ↓17+59
Комментарии18

Программируем Reversi на Silverlight

Время на прочтение5 мин
Количество просмотров2.9K
Давно хотел начать изучать Silverlight, начинал читать литературу, пытался вникать в концепции, паттерны, но все больше как-то абстрактно, в теории. На практике, настоящую программу на Silverlight так и не попытался написать.

Но вот совсем недавно на просторах Хабра проскочила статья «программируем Reversi на Питоне». Глянув в код, ужаснулся, у меня сразу включился мотиватор. Не то, чтобы я не люблю Питон, просто я очень люблю C#.

То, что вы увидите было написано за 1 рабочий день человеком, имеющим нулевой практический опыт разработки приложений в WPF/Silverlight.
Читать дальше →
Всего голосов 74: ↑46 и ↓28+18
Комментарии45

Более чистая HTML-разметка в ASP.NET 4 Web Forms

Время на прочтение6 мин
Количество просмотров7.5K
imageЭто шестнадцатая статья из серии, посвященной предстоящему выходу VS 2010 и .NET 4.

Сегодняшний пост первый из серии, рассказывающий о важных изменениях, которые мы произвели с Web Forms в ASP.NET 4 для генерации чистой, соответствующей стандартам CSS-дружественной разметки. Сегодня я расскажу о проделанной нами работе, для предоставления лучшего контроля над атрибутом “ID”, генерируемый серверными элементами управления для клиента.
Читать дальше →
Всего голосов 45: ↑25 и ↓20+5
Комментарии16

Релиз OpenSSL 1.0.0 с поддержкой ГОСТ

Время на прочтение1 мин
Количество просмотров13K
После 11 лет разработки организация OpenSSL выпустила первую официальную версию этого криптографического пакета с открытым исходным кодом для работы с SSL/TLS. См. официальное сообщение.

OpenSSL позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений. В новой версии исправлено множество недостатков 0.9.8n, а также добавлены новые фичи (например, поддержка BeOS и российских алгоритмов шифрования, закреплённых в ГОСТах). Полный список изменений см. здесь.

Пакет OpenSSL основан на технологии SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, после чего перешли в RSA Security.
Всего голосов 42: ↑36 и ↓6+30
Комментарии25

Perst — высокопроизводительная ООБД

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

Perst — An open source, object-oriented embedded database


Высокопроизводительная объектно-ориентированная встраиваемая база данных от компании McObject.
Итак перейдем к Perst
Всего голосов 32: ↑30 и ↓2+28
Комментарии62

Managed Extensibility Framework

Время на прочтение7 мин
Количество просмотров14K
(Заранее извините за мой русский)

MEF это новый подход разработанный Майкрософт, который позволяет загружать расширения для вашего приложения очень легко. Он позволяет обнаруживать и составлять части, которые должны быть включены в приложение, и все это во время выполнения. Вы можете расширить поведение аппликации простим добавлением новых плагинов. Managed Extensibility Framework сделает все это за вас.
«Hello MEF World!»

Читать дальше →
Всего голосов 95: ↑69 и ↓26+43
Комментарии31

Настраиваем Tomcat для работы с JSF2 и другими компонентами Java EE 6

Время на прочтение7 мин
Количество просмотров20K
Данная статья описывает по шагам как настроить Tomcat (на текущий момент версия 6.0.26) на работу с разными компонентами Java EE 6.Вы можете пропустить чтение этой статьи и сразу получить настроенный Tomcat и пример приложения.
подробности
Всего голосов 30: ↑27 и ↓3+24
Комментарии11

Информация

В рейтинге
Не участвует
Откуда
Оренбург, Оренбургская обл., Россия
Дата рождения
Зарегистрирован
Активность