понедельник, 30 сентября 2013 г.

Backbone для самых маленьких

Добрый день, друзья! Недавно я побывал на конференции dotnetconf. Было много интересного, в том числе доклады по Single Page Application (SPA). Сначала Константин Зотов рассказал нам о backbone на примере простого приложения todo. После, Евгений Абросимов поведал нам о том, как эффективно строить SPA, какие есть подводные камни, и за что можно уволить фронтэнд разработчика Улыбка. Вообще, хоть я и не фронтенд девелопер, у меня уже был небольшой опыт работы с библиотекой backbone и мысль о ней написать в блоге. Но эти два парня вдохновили меня таки это сделать.

Итак, далее речь пойдет о основах библиотеки, и также сделаем небольшой пример. Если Вы хотите ознакомиться с данной библиотекой, или есть желание научиться писать SPA, то эта статья будет Вам полезна. Поехали!

воскресенье, 1 сентября 2013 г.

Обработка изображений с помощью…. LinqPad!

Всем привет. Недавно я решил отсканировать старые семейные фотографии. Их у меня довольно много – только с первого захода я отобрал более трехсот штук, и это только малая часть от общего числа. Сканировать я, конечно, решил пачками по несколько штук (столько, сколько в сканер влезет). Сделав порядка 100 сканов, я был озадачен. Типичный скан выглядел как то так:
Scan-130820-0034
Разрезать вручную всё это количество сканов было безрадостной перспективой и я решил написать небольшой скрипт, который сделает это всё за меня..

вторник, 8 января 2013 г.

Книжные итоги 2012 года

Всем привет.
Я очень люблю читать. Я люблю читать настолько, что бывает я забываю обо всем другом. К примеру, как то однажды мне одноклассник подарил художественную книжку. Я вспомнил о ней только через несколько лет, будучи студентом, как раз во время каникул после зимней сессии. Книга была очень интересной, но концовка намекала, что есть и продолжение книги. Так я узнал, что это первый том десятитомника. Как можно догадаться, следующий месяц я потратил на остальные 9 томов, и ещё 2 месяца на другие 2 серии книг этого и ещё одного авторов. Только необходимость учиться и работать меня оторвали после проглатывания 30 томов захватывающих историй.
Вторая моя страсть - это программирование. С тех пор, как мама купила нам с братом СЮБОР, программирование прочно обосновалось в моей жизни. И вполне логичным продолжением этих историй стало появление моей страсти к чтению технической литературы. Изучать программирование, пробовать, создавать новые программы - это желание движет мной бОльшую часть моей жизни. Но хватит лирики.
Сегодня я решил подвести итог 2012 года. Какие книги я прочитал, что прочитать не успел и какие планы на 2013 год. Если вам это интересно, то прошу под кат.

понедельник, 17 сентября 2012 г.

Sharepoint и XSLT? Не, не слышал.

Доброе время суток, друзья. Сегодня темой моего повествования будет Sharepoint 2010. В частности, мы изменим представление готового списка, используя XSLT. Скажу сразу, я не эксперт ни в шарепоинте, ни в XSLT, потому если вы обнаружите ошибки в тексте, прошу мне об этом сообщить. Для опытов я использую Sharepoint Foundation 2010 и Windows Web Server 2008 SP2. (Различия между разными версиями шарепоинта)
За подробностями прошу под кат.

воскресенье, 19 февраля 2012 г.

Добавляем MVC к проекту Web Forms

Здравствуйте. Сегодня поговорим о веб разработке, а конкретно о MVC и веб формах. Часто так бывает, что хочется добавить мощь MVC к существующему проекту Web Forms, а переписывать весь код с нуля затратно, да и некоторые фишки в старом коде хотелось бы оставить. Именно о добавлении функциональности MVC к проекту Web Forms далее пойдет речь.

пятница, 27 января 2012 г.

ASP.NET: Пара сценариев отображения данных в GridView

Здравствуйте. Сегодня поговорим о веб-разработке. Несмотря на то, что популярность MVC растет очень быстро, Web Forms ещё никто не отменял. К тому же много приложений написано с использованием Web Forms, да и уже написанные приложения требуют поддержки. И если простейшие контролы (например, TextBox) у новичков вопросов, как правило, не вызывают, то сориентироваться в чем-то более сложном уже проблема.
В данном посте я расскажу в общих чертах, как использовать контрол GridView для работы со списком или специализированным источником данных. Предупреждаю сразу, тема не новая и статья ориентирована на начинающих разработчиков.
Поехали.

пятница, 13 января 2012 г.

Программируем списки переходов или как сократить количество ярлыков на рабочем столе

Здравствуйте. Я думаю, у каждого программиста есть свой набор примочек, программ, которые делают процесс работы проще и приятней. Сегодня речь пойдет об одной из таких программ, а точнее о том, как использовать списки переходов (jump lists), дабы уменьшить количество ярлыков на рабочем столе. Вот, что мы получим в итоге:
За подробностями прошу под кат.

суббота, 7 января 2012 г.

Calculon доступен для загрузки

Добрый день. Вчера получил письмо из Майкрософта
А с сегодняшнего дня Calculon доступен для загрузки в Marketplace! Напмню, что Calculon - бесплатное приложение-калькулятор, процесс создания которого я описывал в блоге и исходный код которого выложил на кодеплекс.

пятница, 6 января 2012 г.

Готовим стратегию в реальном времени (RTS) в домашних условиях

Эх, давно хотел попробовать написать какую-нибудь игру. К тому же уже был опыт работы с 3D графикой, как с DirectX, так и с OpenGL, но всё некогда, некогда. Тогда я решил воспользоваться одним из готовых 3D движков, и поковырять его. Что из этого вышло...

понедельник, 2 января 2012 г.

Разрабатываем простой калькулятор на Silverlight и Windows Phone 7

На новый год сделал себе подарок - телефон Samsung Omnia W под управлением прекрасной Windows Phone 7. Естественно, попробовать что то написать для этого телефона было вопросом времени. Я выбрал калькулятор, так как это самый простой способ показать, насколько легко начать программировать под WP7, даже не используя никаких сенсоров/датчиков. В результате я получил работающее приложение с кучей функций, а также библиотеку расчёта математических выражений. Вот как это выглядит



Под катом описание процесса разработки.

понедельник, 26 декабря 2011 г.

.NET Notepad идет в массы!

Здравствуйте. Сегодня мне пришло весьма интересное письмо:
Congratulations,

.NET Notepad, one of your products, has been added to Softpedia's database
of software programs for the Windows operating system. It is featured with
a description text, screenshots, download links and technical details on
this page:
http://www.softpedia.com/get/Office-tools/Text-editors/NET-Notepad.shtml

The description text was created by our editors, using sources such as text
from your product's homepage, information from its help system, the PAD
file (if available) and the editor's own opinions on the program itself.


".NET Notepad" has been tested in the Softpedia labs using several
industry-leading security solutions and found to be completely clean of
adware/spyware components. We are impressed with the quality of your
product and encourage you to keep these high standards in the future.

To assure our visitors that .NET Notepad is clean, we have granted it with
the "100% FREE" Softpedia award. To let your users know about this
certification, you may display this award on your website, on software
boxes or inside your product...

суббота, 24 декабря 2011 г.

Реализация поведения контролов в Silverlight

Здравствуйте. Сегодня поговорим о том, как определять поведение для различных контролов в Silverlight. Начнем с простого перетаскивания по канвасу. Задача, в принципе, очень простая, и даже просто погуглив можно найти нужное решение (например, раз и два), но я хочу сделать это решение чуть более универсальным.
Итак, в основе перетаскивания лежит использование 3х событий: MouseLeftButtonDown, MouseLeftButtonUp и MouseMove.

пятница, 23 декабря 2011 г.

Получение количества строк в каждой таблице базы данных

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

вторник, 20 декабря 2011 г.

Готовим вкусный блокнот из AvalonEdit и AvalonDock

Всем привет. Сегодня хочу поделиться опытом работы с контролами AvalonEdit и AvalonDock
Итак, моя цель - сделать блокнот с подсветкой синтаксиса, intellisense и оконным интерфейсом, как у Visual Studio 2010.

четверг, 27 октября 2011 г.

Использование готовых XML редакторов

Всем привет. Иногда случается так, что нам срочно требуется XML редактор для какого-либо модуля разрабатываемой системы. Требования к редактору могут быть разные - от представления XML в виде дерева до простой подсветки синтаксиса. Как реализовать подобный функционал в самые короткие сроки я расскажу ниже.

среда, 26 октября 2011 г.

Полезный класс для тестов

Часто бывает так, что для тестирования класса нужен набор объектов, заполненных произвольными или предопределенными данными. Но заполнять эти объекты - дело муторное. Ниже простой в исполнении и использовании класс, предназначенный специально для заполнения объектов.

вторник, 25 октября 2011 г.

Umbraco CMS за 5 секунд

Решил попробовать поставить Umbraco CMS используя WebMatrix. Процесс оказался настолько простой, что даже комментировать скриншоты нет нужды.

Устанавливаем DotNetNuke за 5 минут

Доброе время суток. Решил я на днях поиграться с таким замечательным инструментом, как WebMatrix. Начал я с установки DotNetNuke.

пятница, 2 сентября 2011 г.

Энкодинг и декодинг строки

В процессе работы часто приходится кодировать/декодировать строки. Обычно это предполагается делать в рамках Веб-приложения, потому использование конструкции
HttpContext.Current.Server.HtmlEncode(source); * This source code was highlighted with Source Code Highlighter.
выглядит оправданным. Но за рамками Веб приложения этот код порождает NullReferenceException. Потому я бы советовал использовать
HttpUtility.HtmlEncode(source); * This source code was highlighted with Source Code Highlighter.
Так как это будет работать везде. Как бонус - расширяющие методы для энкодинга
  1. public static string ToHtmlEncoded(this String source)
  2. {
  3.   var result = HttpUtility.HtmlEncode(source);
  4.   if (result != null) result = result.Replace("'", "'");
  5.   return result;
  6. }
  7. public static string ToHtmlDecoded(this String source)
  8. {
  9.   var result = source.Replace("'", "'");
  10.   result = HttpUtility.HtmlDecode(result);
  11.   return result;
  12. }
* This source code was highlighted with Source Code Highlighter.

четверг, 1 сентября 2011 г.

Идея

Практика создания простого приложения.

Всем доброе время суток.
Для меня в данный момент инетресна тема создания рабочего приложения (или серии приложений - как повезет) от начала и до самого конца. Тема интересная потому, что это позволяет:

1. Проверить свои силы в разных областях программирования
2. Изучить новые технологии
3. Встрясти начинающий заплывать ленью мозг