Всем привет. Недавно я решил отсканировать старые семейные фотографии. Их у меня довольно много – только с первого захода я отобрал более трехсот штук, и это только малая часть от общего числа. Сканировать я, конечно, решил пачками по несколько штук (столько, сколько в сканер влезет). Сделав порядка 100 сканов, я был озадачен. Типичный скан выглядел как то так:
Разрезать вручную всё это количество сканов было безрадостной перспективой и я решил написать небольшой скрипт, который сделает это всё за меня.. В данном блоге я предполагаю освещать различные технологии и вообще всё, что связано с программированием.
Показаны сообщения с ярлыком C#. Показать все сообщения
Показаны сообщения с ярлыком C#. Показать все сообщения
воскресенье, 1 сентября 2013 г.
вторник, 8 января 2013 г.
Книжные итоги 2012 года
Всем привет.
Я очень люблю читать. Я люблю читать настолько, что бывает я забываю обо всем другом. К примеру, как то однажды мне одноклассник подарил художественную книжку. Я вспомнил о ней только через несколько лет, будучи студентом, как раз во время каникул после зимней сессии. Книга была очень интересной, но концовка намекала, что есть и продолжение книги. Так я узнал, что это первый том десятитомника. Как можно догадаться, следующий месяц я потратил на остальные 9 томов, и ещё 2 месяца на другие 2 серии книг этого и ещё одного авторов. Только необходимость учиться и работать меня оторвали после проглатывания 30 томов захватывающих историй.
Вторая моя страсть - это программирование. С тех пор, как мама купила нам с братом СЮБОР, программирование прочно обосновалось в моей жизни. И вполне логичным продолжением этих историй стало появление моей страсти к чтению технической литературы. Изучать программирование, пробовать, создавать новые программы - это желание движет мной бОльшую часть моей жизни. Но хватит лирики.
Сегодня я решил подвести итог 2012 года. Какие книги я прочитал, что прочитать не успел и какие планы на 2013 год. Если вам это интересно, то прошу под кат.
Я очень люблю читать. Я люблю читать настолько, что бывает я забываю обо всем другом. К примеру, как то однажды мне одноклассник подарил художественную книжку. Я вспомнил о ней только через несколько лет, будучи студентом, как раз во время каникул после зимней сессии. Книга была очень интересной, но концовка намекала, что есть и продолжение книги. Так я узнал, что это первый том десятитомника. Как можно догадаться, следующий месяц я потратил на остальные 9 томов, и ещё 2 месяца на другие 2 серии книг этого и ещё одного авторов. Только необходимость учиться и работать меня оторвали после проглатывания 30 томов захватывающих историй.
Вторая моя страсть - это программирование. С тех пор, как мама купила нам с братом СЮБОР, программирование прочно обосновалось в моей жизни. И вполне логичным продолжением этих историй стало появление моей страсти к чтению технической литературы. Изучать программирование, пробовать, создавать новые программы - это желание движет мной бОльшую часть моей жизни. Но хватит лирики.
Сегодня я решил подвести итог 2012 года. Какие книги я прочитал, что прочитать не успел и какие планы на 2013 год. Если вам это интересно, то прошу под кат.
Ярлыки:
.NET,
Books,
C#,
Sharepoint,
Windows Phone,
XSLT
воскресенье, 19 февраля 2012 г.
Добавляем MVC к проекту Web Forms
Здравствуйте. Сегодня поговорим о веб разработке, а конкретно о MVC и веб формах. Часто так бывает, что хочется добавить мощь MVC к существующему проекту Web Forms, а переписывать весь код с нуля затратно, да и некоторые фишки в старом коде хотелось бы оставить. Именно о добавлении функциональности MVC к проекту Web Forms далее пойдет речь.
пятница, 27 января 2012 г.
ASP.NET: Пара сценариев отображения данных в GridView
Здравствуйте. Сегодня поговорим о веб-разработке. Несмотря на то, что популярность MVC растет очень быстро, Web Forms ещё никто не отменял. К тому же много приложений написано с использованием Web Forms, да и уже написанные приложения требуют поддержки. И если простейшие контролы (например, TextBox) у новичков вопросов, как правило, не вызывают, то сориентироваться в чем-то более сложном уже проблема.
В данном посте я расскажу в общих чертах, как использовать контрол GridView для работы со списком или специализированным источником данных. Предупреждаю сразу, тема не новая и статья ориентирована на начинающих разработчиков.
Поехали.
В данном посте я расскажу в общих чертах, как использовать контрол GridView для работы со списком или специализированным источником данных. Предупреждаю сразу, тема не новая и статья ориентирована на начинающих разработчиков.
Поехали.
пятница, 13 января 2012 г.
Программируем списки переходов или как сократить количество ярлыков на рабочем столе
Здравствуйте. Я думаю, у каждого программиста есть свой набор примочек, программ, которые делают процесс работы проще и приятней. Сегодня речь пойдет об одной из таких программ, а точнее о том, как использовать списки переходов (jump lists), дабы уменьшить количество ярлыков на рабочем столе. Вот, что мы получим в итоге:
За подробностями прошу под кат.
За подробностями прошу под кат.
Ярлыки:
.NET,
C#,
Windows 7 Taskbar,
WPF
суббота, 7 января 2012 г.
Calculon доступен для загрузки
Добрый день. Вчера получил письмо из Майкрософта
А с сегодняшнего дня Calculon доступен для загрузки в Marketplace! Напмню, что Calculon - бесплатное приложение-калькулятор, процесс создания которого я описывал в блоге и исходный код которого выложил на кодеплекс.
А с сегодняшнего дня Calculon доступен для загрузки в Marketplace! Напмню, что Calculon - бесплатное приложение-калькулятор, процесс создания которого я описывал в блоге и исходный код которого выложил на кодеплекс.
Ярлыки:
.NET,
C#,
Windows Phone
пятница, 6 января 2012 г.
Готовим стратегию в реальном времени (RTS) в домашних условиях
Эх, давно хотел попробовать написать какую-нибудь игру. К тому же уже был опыт работы с 3D графикой, как с DirectX, так и с OpenGL, но всё некогда, некогда. Тогда я решил воспользоваться одним из готовых 3D движков, и поковырять его. Что из этого вышло...
Ярлыки:
.NET,
C#,
Game Engine,
Games,
Neo Axis
понедельник, 2 января 2012 г.
Разрабатываем простой калькулятор на Silverlight и Windows Phone 7
На новый год сделал себе подарок - телефон Samsung Omnia W под управлением прекрасной Windows Phone 7. Естественно, попробовать что то написать для этого телефона было вопросом времени. Я выбрал калькулятор, так как это самый простой способ показать, насколько легко начать программировать под WP7, даже не используя никаких сенсоров/датчиков. В результате я получил работающее приложение с кучей функций, а также библиотеку расчёта математических выражений. Вот как это выглядит
Под катом описание процесса разработки.
Под катом описание процесса разработки.
Ярлыки:
.NET,
C#,
Expressions,
Silverlight,
Windows Phone
понедельник, 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...
Ярлыки:
.NET Notepad,
C#,
Softpedia
вторник, 20 декабря 2011 г.
Готовим вкусный блокнот из AvalonEdit и AvalonDock
Всем привет. Сегодня хочу поделиться опытом работы с контролами AvalonEdit и AvalonDock
Итак, моя цель - сделать блокнот с подсветкой синтаксиса, intellisense и оконным интерфейсом, как у Visual Studio 2010.
Итак, моя цель - сделать блокнот с подсветкой синтаксиса, intellisense и оконным интерфейсом, как у Visual Studio 2010.
Ярлыки:
.NET Notepad,
C#,
XML
четверг, 27 октября 2011 г.
Использование готовых XML редакторов
Всем привет. Иногда случается так, что нам срочно требуется XML редактор для какого-либо модуля разрабатываемой системы. Требования к редактору могут быть разные - от представления XML в виде дерева до простой подсветки синтаксиса. Как реализовать подобный функционал в самые короткие сроки я расскажу ниже.
среда, 26 октября 2011 г.
Полезный класс для тестов
Часто бывает так, что для тестирования класса нужен набор объектов, заполненных произвольными или предопределенными данными. Но заполнять эти объекты - дело муторное. Ниже простой в исполнении и использовании класс, предназначенный специально для заполнения объектов.
Ярлыки:
C#,
Extension methods,
Tests
пятница, 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.Так как это будет работать везде. Как бонус - расширяющие методы для энкодинга - public static string ToHtmlEncoded(this String source)
- {
- var result = HttpUtility.HtmlEncode(source);
- if (result != null) result = result.Replace("'", "'");
- return result;
- }
- public static string ToHtmlDecoded(this String source)
- {
- var result = source.Replace("'", "'");
- result = HttpUtility.HtmlDecode(result);
- return result;
- }
* This source code was highlighted with Source Code Highlighter.
Ярлыки:
C#,
Extension methods
четверг, 1 сентября 2011 г.
Полезные расширяющие методы
То ли где то увидел, то ли сам придумал.. в обще мне помню, откуда взял эти расширяющие методы, но мне с ними намного удобнее.
Этот код можно использовать так:
- namespace AMuradov.Extensions
- {
- public static class StringExtensions
- {
- public static string StringFormat(this string source, object arg)
- {
- return string.Format(source, arg);
- }
-
- public static string StringFormat(this string source, object arg0, object arg1)
- {
- return string.Format(source, arg0, arg1);
- }
-
- public static string StringFormat(this string source, object arg0, object arg1, object arg2)
- {
- return string.Format(source, arg0, arg1, arg2);
- }
-
- public static string StringFormat(this string source, params object[] args)
- {
- return string.Format(source, args);
- }
-
- public static bool IsNullOrEmptyString(this string source)
- {
- return string.IsNullOrEmpty(source);
- }
- }
- }
* This source code was highlighted with Source Code Highlighter.Этот код можно использовать так:
- var someString = "{0}";
- //...
- if (!someString.IsNullOrEmptyString())
- {
- var text = someString.StringFormat(10);
- // Что то делаем с этим текстом
- }
* This source code was highlighted with Source Code Highlighter.
Ярлыки:
C#,
Extension methods
Application_Error и объекты сессии
Наткнулся на вполне логичный но неочевидный баг.
Не следует использовать объекты сессии в событии Application_Error, поскольку исключение, приведшее к ошибке, может возникнуть в том контексте, в котором сессия ещё не доступна. Тогда попытка доступа к сессии порождает второе исключение.
Не следует использовать объекты сессии в событии Application_Error, поскольку исключение, приведшее к ошибке, может возникнуть в том контексте, в котором сессия ещё не доступна. Тогда попытка доступа к сессии порождает второе исключение.
Ярлыки:
ASP.NET,
C#,
Exceptions,
Session
Подписаться на:
Сообщения (Atom)


