Блог им. notacodemonkey → Работаем с MongoDB из C#
MongoDB очень быстрая NoSQL документоориентированная СУБД, есть множество обзоров её производительности, некоторые говорят что она лучше, некоторые говорят что хуже. Я не буду никого убеждать, скажу для меня она лучше (я не знаю как настроить SQL СУБД для того что бы 5 миллионов записей/транзакций со связями между 2-3 таблицами для каждой записи можно было добавить меньше чем за сутки на обычном железе, может Вы знаете, тогда эта статья не для Вас ))) ).
Open source → Вышел GDB 7.1
Вышла новая версия замечательного консольного отладчика GDB. Изменения:
К своему удивлению я не нашёл на хабре топиков, посвящённых этой программе. Поэтому хочу спросить: Интересно ли будет вам прочитать топик по основам отладки в GDB?
- Добавлена поддержка мультипрограммной отладки (т.е. теперь можно работать с несколькими программами в рамках одной сессии отладки)
- Добавлена поддержка Position Independent Executable (PIE)
- Поддержка платформ Xilinx MicroBlaze и Renesas RX
- Улучшения в поддержке Python (напомню, что для GDB можно писать скрипты на Python)
- Расширена поддержка C++
- Новые возможности при работе с tracepoint'ами
- Улучшения в записи процессов (Process Record)
- Улучшения в протоколе удалённой отладки
К своему удивлению я не нашёл на хабре топиков, посвящённых этой программе. Поэтому хочу спросить: Интересно ли будет вам прочитать топик по основам отладки в GDB?
Ненормальное программирование → Все знают что "++i + ++i" — плохо, но что-же за ширмой?
Несомненно, все программисты знают что использование выражений, подобных тому что приведено в заглавии поста, не то что нежелательно, а строго противопоказано. Такие конструкции, поведение компилятора в которых не определено, могут принести множество трудноуловимых ошибок и нежелательных последствий. Но уверен, многим начинающим программистам хотелось бы по глубже понять эту проблему и, заглянув за ширму компилятора, узнать что же именно происходит в таких случаях. Изучению одного из примеров подобного кода я и посвящаю этот пост. Добро пожаловать под кат :)Блог им. Dale → Лучшие посты Bart De Smet'а за 2009 год в PDF
Bart De Smet порой пишет очень интересные и мозголомные вещи. Вот только одна беда, на то чтобы осилить один пост, может уйти достаточно много времени.
Недавно «подарил» себе на день рождения Pocket Book 301 (коим полностью доволен), а потому решил скачать любимые посты на читалку. Чтобы уже потом, никуда не спеша, разбираться, лёжа на диване.
Для конвертации сохранял whole page, открывал в Word 2007, убирал мусор, и сохранял в PDF. Получились очень аккуратные PDF'ки. Решил поделиться с сообществом, вдруг кому пригодится.
http://tinyurl.com/yhmgh6s
В папке лежат следующие посты:
(Mis)using C# 4.0 Dynamic – Type-Free Lambda Calculus, Church Numerals, and more
LINQ to Ducks – Bringing Back The Duck-Typed foreach Statement To LINQ
Type-Free Lambda Calculus in C#, Pre-4.0 – Defining the Lambda Language Runtime (LLR)
Taming Your Sequence’s Side-Effects Through IEnumerable.Let
Statement Trees With Less Pain – Follow-Up on System.Linq.Expressions v4.0
Expression Trees, Take Two – Introducing System.Linq.Expressions v4.0
Недавно «подарил» себе на день рождения Pocket Book 301 (коим полностью доволен), а потому решил скачать любимые посты на читалку. Чтобы уже потом, никуда не спеша, разбираться, лёжа на диване.
Для конвертации сохранял whole page, открывал в Word 2007, убирал мусор, и сохранял в PDF. Получились очень аккуратные PDF'ки. Решил поделиться с сообществом, вдруг кому пригодится.
http://tinyurl.com/yhmgh6s
В папке лежат следующие посты:
(Mis)using C# 4.0 Dynamic – Type-Free Lambda Calculus, Church Numerals, and more
LINQ to Ducks – Bringing Back The Duck-Typed foreach Statement To LINQ
Type-Free Lambda Calculus in C#, Pre-4.0 – Defining the Lambda Language Runtime (LLR)
Taming Your Sequence’s Side-Effects Through IEnumerable.Let
Statement Trees With Less Pain – Follow-Up on System.Linq.Expressions v4.0
Expression Trees, Take Two – Introducing System.Linq.Expressions v4.0
WPF → Скринкаст — Prism: Composite Application Guidance for WPF and Silverlight
В докладе рассказывается об основных принципах создания модульных (составных) приложений WPF и Silverlight (на примере WPF) с использованием "Призмы" — шаблона для создания составных приложений. Раскрываются основные особенности данного подхода.
.NET → Обзор Реактивных Расширений (Reactive Extensions, Rx)
Уверен что многие из вас заметили как на CodeBetter участились посты на тему Reactive Extensions. Мне кажется что имеет смысл попробовать рассказать в одном посте про самые главные особенности этого фреймворка, что я и собираюсь сделать. Также, я расскажу про новые фичи LINQ.
Блог им. devIceMan → Evernote API — разбираем заголовки статей с Хабра и помечаем статьи метками
Доброго времени суток, уважаемое Хабрасообщество!
В этом коротком топике я хочу рассказать Вам о своем первом знакомстве с Evernote API.
Итак, все началось примерно полгода назад, когда у меня появилось достаточно свободного времени на работе, которое я решил тратить с умом. В основном я, разумеется, читал статьи на Хабрахабре, где и встретил упоминание об Evernote. Сервис мне понравился, я начал им активно пользоваться для сохранения заметок и ссылок на статьи, которые не успевал прочитать на работе. После того, как в свой любимый Хром я установил плагин Evernote Web Clipper, отправлять ссылку на статью в Evernote стало очень просто и быстро. А потом появилось некоторое нудобство…
В этом коротком топике я хочу рассказать Вам о своем первом знакомстве с Evernote API.
Итак, все началось примерно полгода назад, когда у меня появилось достаточно свободного времени на работе, которое я решил тратить с умом. В основном я, разумеется, читал статьи на Хабрахабре, где и встретил упоминание об Evernote. Сервис мне понравился, я начал им активно пользоваться для сохранения заметок и ссылок на статьи, которые не успевал прочитать на работе. После того, как в свой любимый Хром я установил плагин Evernote Web Clipper, отправлять ссылку на статью в Evernote стало очень просто и быстро. А потом появилось некоторое нудобство…
.NET → Скрейпинг сайтов с .Net и WatiN
Рано или поздно у каждого разработчика появится соблазн «скачать» какой-нибудь сайт, либо для того чтобы получить или проанализировать определенный контент, либо просто доказать себе что это в его (её) силах. На самом деле, получить доступ к HTML определенного сайта просто, но проблемы начинаются тогда, когда сайт требует авторизации или содержит контент в виде картинки (например капчу или текст). В этом посте я расскажу какими методами я получаю контент с сайтов и что я с ним делаю.
.NET → C# Zen Coding уже на F#
В моем предыдущем посте, где я описал идею CSharpZen, я пообещал две вещи – дописать расширение для Visual Studio 2010, а также записать вебкаст того, как это можно использовать. Но пока я дописывал код для трансформатора, мне снова показалось что код может стать более понятным если его переписать на F#. И понеслось…
Game Development → Unity3D + C#, или как переводить скрипты

На Unity3D я натолкнулся сравнительно недавно, до этого работал со своими самописными движками для мобильных телефонов на Java2ME, в остальное время я — дотнетчик.
При переходе на новую платформу я в первую очередь выискивал для себя уже готовую технологическую платформу, и основными критериями для меня были цена (доступная/оправданная) и по возможности — мультиплатформенность, чтобы единожды написанный код можно было использовать вновь и вновь без конвертаций. Почти сразу я наткнулся на Unity.
Про Unity в целом тут уже писали, так что повторяться не буду, отмечу главное — разрабатываемую игру можно (а на мой взгляд — и нужно) скриптовать на C# (спасибо Mono). Единственное ограничение — следует писать в пределах .NET Framework 1.1 — только он поддерживается на iPhone. [upd: пока я писал этот пост, вышла новая версия Unity3D для iPhone, поддерживающий .NET 2.1]
Итак, ключевые плюсы для меня от использования Unity вообще и C# в частности:
- Использование .NET Framework и C# (лично для меня это очень удобно)
- Возможность сделать сборку сразу на iPhone и для веб-плеера (standalone сборки меня не прельщают по ряду причин, выходящих за рамки поста)
- Уже готовые сценарии поведения на C# можно будет повторно использовать, например, при создании порта игры на XBox при помощи XNA (с изменениями, но все же)
- Удобный интерфейс и не слишком прожорливые редакторы
- Приемлимая цена
Минусы конечно, также имеются, но речь не за них, ибо плюсы в конечном счете перевесили.
Для скриптования используется прикрученный редактор UniSciTE на базе Scintilla, что лично мне пришлось не по душе, а потому я сразу захотел воспользоваться старой доброй Visual Studio. Вот о том, как скриптовать на C# будет речь ниже:
[upd: перенесено в Game Development]