При работе с WPF/Silverlight, периодически приходится создавать кастомные DependencyProperty, в основном при создании контролов. Стандартный подход объявления и работы с ними не идеальный и имеет минусы, о которых будет сказано ниже. Соответственно, появилась идея упростить запись регистрации и работы с DependencyProperty.
Иван Кошелев @Koshelew
User
Меню с плавной инверсией цвета
1 min
20KRecovery Mode
Представляю вашему вниманию меню с плавной инверсией цвета при перетекании курсора.

Под катом сам плагин и немного о концепции.
+50
Локализуем Application Title у WindowsPhone приложения: пособие по сокращению геморроя
3 min
1.4KДоброго времени суток! Многие здесь разрабатывали приложения, которые попадали в публичный Marketplace, AppStore или еще какой-нибудь репозиторий. Многие из этих приложений полезны для пользователей всего мира. И, чтобы приложение было только не полезно, но и чуть более привлекательно, было бы неплохо дать ему название и описание на родном языке потенциального пользователя. WindowsPhone Marketplace с задачей локализации описаний справляется на ура. Однако, локализация Application Title доставляет… некоторые неудобства.
+9
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1
11 min
114KTranslation

При написании нативного веб-приложения легко начать чувствовать
Короче, мы застреваем в спагетти-коде. К счастью, есть современные JS-фреймворки (библиотеки, задающие, кроме функций, правила организации кода --прим. перев.), помогающие поддерживать структуру и организованность в проекте, облегчающие ремонтопригодность в будущем.
■ Что такое MVC или, лучше сказать, MV*?
Эти современные библиотеки дают разработчикам простой путь к организации кода, используя вариации паттерна проектирования, известного как MVC (Model-View-Controller). MVC разделяет задачи в приложении на 3 части:
+54
Обратная сторона луны
14 min
48KПри написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).
Считается, что сборщик мусора – черный ящик, работу которого нельзя предугадать.
А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.
А я скажу как бы ни так!
В данной статье мы рассмотрим:
Считается, что сборщик мусора – черный ящик, работу которого нельзя предугадать.
А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.
А я скажу как бы ни так!
В данной статье мы рассмотрим:
- структура организации размещения объектов в памяти
- CLR 4.5 Background Server GC
- правильная настройка сборщика мусора
- эффективный апгрейд приложений до .NET 4.0+
- правильное ручное управление памятью
+126
XNA Draw: улучшаем графику игры
6 min
23KTutorial

Всем привет.
Все мои восемь статьей на хабре — статьи о геймдеве, большая часть из них связана с таким замечательным фреймворком, как XNA. Первым знакомством с XNA была статья о создании музыкальной игрушки, потом сложность статей нарастала, я начал писать об системах частиц, а затем о шейдерах и еще шейдерах.
В целом — на шейдерах я и хотел закончить, однако, стоить немного дополнить их, я расскажу о нескольких алгоритмах для улучшения графики в игре. Примеры улучшений:
Если интересно — под хабракат.
+75
Экономика Windows Store и возможности для разработчиков
6 min
23KВ статье «Разработка приложений под Windows 8: почему и как» мы затронули идею разработки под Windows 8. Как известно и было сказано там, Windows Store – Магазин приложений Windows 8, является одной из ключевых составляющих новой системы и важным слагаемым её успеха, равно как и успеха разработчиков, решивших создать приложения под Windows 8.

Для тех, кто сомневается в возможностях, которые несет Windows 8 для разработчиков, или не до конца понимает смысл Windows Store, мы решили сделать обзор самой идеи и возможностей, которые дает Магазин.

Для тех, кто сомневается в возможностях, которые несет Windows 8 для разработчиков, или не до конца понимает смысл Windows Store, мы решили сделать обзор самой идеи и возможностей, которые дает Магазин.
+22
База по языкам программирования: Синтаксический сахар или история развития языков
11 min
23KПродолжаю выкладывать выдержки из вводного курса нашей компании по промышленному программированию.
В данной части расказывается история развития языков программирования, а так же доступно объясняется что такое ООП и функциональное программирование. Другие части можно найти тут.
Часть третья: Синтаксический сахар или история развития языков
В данной части расказывается история развития языков программирования, а так же доступно объясняется что такое ООП и функциональное программирование. Другие части можно найти тут.
+14
Goblin Wars II.NET – история создания сетевой игры на C# с нуля
18 min
28KДобрый день, уважаемые хабровчане. Представляю вашему вниманию свой небольшой проект – сетевой 2D-шутер на C#. Несмотря на то, что визуальная составляющая весьма простая – в наш век уже никого не заинтересуешь 2D-играми, некоторые архитектурные решения могут заинтересовать людей, собирающихся написать свою игру. В статье я расскажу о вариантах реализации ключевых моментов игры.
+52
Торговля знает, когда вы ждете ребенка
5 min
73KОднажды в магазин Target зашел мужчина и потребовал вызвать менеджера. В своих руках он сжимал огромную кипу купонов магазина, полученных его дочерью.
«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»
Менеджер посмотрел на пачку купонов на материнскую одежду, детскую мебель – действительно, они были адресованы дочери рассерженного мужчины. Менеджер принес свои извинения.
Через несколько дней он позвонил мужчине, чтобы еще раз извиниться. По телефону голос отца звучал растерянно. «Знаете, я серьезно поговорил с дочерью, и выяснилось, что в моем доме происходило то, о чем я совершенно не догадывался. Она рожает в августе. Примите мои извинения».
Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»
Менеджер посмотрел на пачку купонов на материнскую одежду, детскую мебель – действительно, они были адресованы дочери рассерженного мужчины. Менеджер принес свои извинения.
Через несколько дней он позвонил мужчине, чтобы еще раз извиниться. По телефону голос отца звучал растерянно. «Знаете, я серьезно поговорил с дочерью, и выяснилось, что в моем доме происходило то, о чем я совершенно не догадывался. Она рожает в августе. Примите мои извинения».
Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
+111
У прозрачных пикселей тоже есть чувства или артефакты png'шек с прозрачностью
2 min
16KПоговорим о 2D-играх. Независимо от платформы, на которой они разрабатываются — почти всегда они будут использовать 3D-акселлераторы для вывода 2D-спрайтов (iOS, Android, PC… даже Flash уже это учится делать).
И все будет хорошо, пока вы не захотите смасштабировать вашу картинку. И тогда вы обнаружите, что до этого идеально стыковавшиеся тайлы приобретут швы, а по краям спрайтов появятся непонятные черточки.

Вы попытаетесь наложить тайлы внахлест, но швы все равно останутся… И вы начнете ломать голову.
А дело все в злосчастных прозрачных пикселях! Оказывается, у них тоже есть цвет.
И все будет хорошо, пока вы не захотите смасштабировать вашу картинку. И тогда вы обнаружите, что до этого идеально стыковавшиеся тайлы приобретут швы, а по краям спрайтов появятся непонятные черточки.

Вы попытаетесь наложить тайлы внахлест, но швы все равно останутся… И вы начнете ломать голову.
А дело все в злосчастных прозрачных пикселях! Оказывается, у них тоже есть цвет.
+67
Когда я говорил…
1 min
190KКогда я* говорил, что нужно вкладывать в сообщество и User Groups, вы вкладывали в теннисные столы. Теперь у нас много средненьких теннисистов и нет коммюнити.
Когда я говорил, что нельзя заманивать айтишников на конференции печеньками и плюшками, вы покупали пиццу, дарили футболки и айпэды. Теперь у нас любое мероприятие начинается с поисков халявы. Этим же мероприятия и заканчиваются.
Когда я говорил вкладывать деньги в обучение специалистов, вы продолжали раздавать деньги за рекомендации. Теперь у нас никто не работает, а все рекомендуют.
Когда я говорил, что нельзя заманивать айтишников на конференции печеньками и плюшками, вы покупали пиццу, дарили футболки и айпэды. Теперь у нас любое мероприятие начинается с поисков халявы. Этим же мероприятия и заканчиваются.
Когда я говорил вкладывать деньги в обучение специалистов, вы продолжали раздавать деньги за рекомендации. Теперь у нас никто не работает, а все рекомендуют.
+540
Укрощаем хоткеи системой плагинов на C#
9 min
6.2KПривет, дорогой хабражитель!
В этой статье я хочу показать, как я делал программу для ускорения и упрощения некоторых действий с помощью хоткеев.
Примерно полтора месяца назад пользователь vvzvlad натолкнул меня на идею программы, для перевода различного текста по нажатию хоткея. Я очень долго пользовался этой программкой, но вот пару дней назад мне пришла в голову идея улучшить её.
Я решил добавить возможность назначать различные хоткеи на разные действия. Для этого я использовал систему плагинов.
В итоге получилась программа HotKeyHelper, которую вы можете скачать здесь.

Файл проекта находится здесь.
Под катом вы увидите исходный код программы и пояснения к нему.
В этой статье я хочу показать, как я делал программу для ускорения и упрощения некоторых действий с помощью хоткеев.
Вступление
Примерно полтора месяца назад пользователь vvzvlad натолкнул меня на идею программы, для перевода различного текста по нажатию хоткея. Я очень долго пользовался этой программкой, но вот пару дней назад мне пришла в голову идея улучшить её.
Я решил добавить возможность назначать различные хоткеи на разные действия. Для этого я использовал систему плагинов.
В итоге получилась программа HotKeyHelper, которую вы можете скачать здесь.

Файл проекта находится здесь.
Под катом вы увидите исходный код программы и пояснения к нему.
+8
Как один мужик MES-систему купить хотел
5 min
38KЭто было примерно месяц назад. К нам в офис приехал Василий. Он топ-менеджер компании, производящей оборудование для театральных сцен. С порога заявил, что ему нужна MES-система или APS-система и что он еще не до конца решил, какая из них. «Почему именно MES-система?» — спросил я.
— Я уже несколько месяцев занимаюсь изучением вопроса, связанного с решением наших производственных проблем. Встречался с представителями нескольких компаний, производящих MES и APS системы. Они сказали, что их системы как раз и решают наши проблемы. Причем мне сказали, что только такие системы и способны решить наши проблемы. У вас тоже MES система?
— Нет, у нас ERP-система. Да это не важно, забудьте про эти всякие аббревиатуры. Давайте просто поговорим о ваших проблемах.
— Я уже несколько месяцев занимаюсь изучением вопроса, связанного с решением наших производственных проблем. Встречался с представителями нескольких компаний, производящих MES и APS системы. Они сказали, что их системы как раз и решают наши проблемы. Причем мне сказали, что только такие системы и способны решить наши проблемы. У вас тоже MES система?
— Нет, у нас ERP-система. Да это не важно, забудьте про эти всякие аббревиатуры. Давайте просто поговорим о ваших проблемах.
+72
Техническая препарация одной игры, созданной независимыми разработчиками
9 min
3.5KЗдравствуй, суровый, но справедливый хабр!
Хочу вместе с тобой препарировать одну игру, написанную мной совместно с моим хорошим другом. По механике игра – это бой в реальном времени между двумя игроками, у каждого из которых колода карт. А карты, в свою очередь, генерируют бойцов, которые уже самостоятельно прут на бункер противника, попутно кроша на фарш вражеских воинов. Помимо боя в игре есть магазин с картами; штаб, где можно формировать колоду и качать персонажей; арена, где можно запустить квест или реальный бой; ну и банк, где можно добыть игровую валюту. Напомню, мы независимые разработчики, поэтому ограничены в ресурсах и многие решения не идеальны.
Как начинали придумывать игру здесь: habrahabr.ru/post/142490
Начнём препарацию.
Хочу вместе с тобой препарировать одну игру, написанную мной совместно с моим хорошим другом. По механике игра – это бой в реальном времени между двумя игроками, у каждого из которых колода карт. А карты, в свою очередь, генерируют бойцов, которые уже самостоятельно прут на бункер противника, попутно кроша на фарш вражеских воинов. Помимо боя в игре есть магазин с картами; штаб, где можно формировать колоду и качать персонажей; арена, где можно запустить квест или реальный бой; ну и банк, где можно добыть игровую валюту. Напомню, мы независимые разработчики, поэтому ограничены в ресурсах и многие решения не идеальны.
Как начинали придумывать игру здесь: habrahabr.ru/post/142490
Начнём препарацию.
+5
Видеоматериалы, блоги и подкасты для .NET разработчика
5 min
17KВидеоматериалы
В одной из своих статей Бьёрн Страуструп (папа С++) признался, что он не признает видео материалы в качестве источника для самообразования. И с ним сложно не согласиться, когда речь касается изучения с нуля языка программирования или технологии. Я правда сомневаюсь, что можно одолеть такого монстра, как С++ или стать гуру WPF лежа на диване и просматривая обучающее видео типа «Узнай все за 24 часа». Но если вы ставите себе цель познакомиться с некоторой технологией или новой возможностью языка программирования, или просто послушать философско-компьютерные размышления умного товарища, то в этом случае веб-касты, записи конференций или другой вид видеоматериалов может быть очень кстати.
+43
WinPhone DevHub — мобильное приложение, которое должно быть под рукой у каждого WP7 разработчика
7 min
862Практически все WP7 разработчики используют в своей работе сторонние библиотеки контролов. Вы, как разработчик, прошли через то, что бы скачивать примеры для конкретной библиотеки, компилировать и устанавливать это на свой телефон? А были ли моменты, когда вы искали подходящую иконку для ApplicationBar? Сколько времени потребовалось, что бы её найти? И, наверное, желали быть в курсе того, когда появляются новые иконки? А хотите, что бы это и кое-что другое было собрано в одном бесплатном приложении для Windows Phone? Если да, то добро пожаловать под кат, где вас ждёт описание приложения WinPhone DevHub и некоторые технические подробности его создания.
+8
Создание Attached Property для BusyIndicator шаг за шагом
4 min
6.5KДанная статья является продолжением статьи Автоматический BusyIndicator для асинхронных операций и не только.
+4
Работа с Command Line в .Net
4 min
17KДобрый день сообщество,
Долгое время я был просто читателем полезных технических статей.
Думаю, что пришло и мое время написать свой первый пост. Я надеюсь, что этот пост который, будет полезен не только начинающим разработчикам .net.
Мне кажется, что этой, на первый взгляд, банальной теме уделяется мало внимания. В этой статье я хотел бы поделится опытом работы с Command Line в .Net.
Долгое время я был просто читателем полезных технических статей.
Думаю, что пришло и мое время написать свой первый пост. Я надеюсь, что этот пост который, будет полезен не только начинающим разработчикам .net.
Мне кажется, что этой, на первый взгляд, банальной теме уделяется мало внимания. В этой статье я хотел бы поделится опытом работы с Command Line в .Net.
+29
«Паскалевская графика на HTML5» или «Что Opera сделала с Rainbow Dash»
1 min
10KУвидел на тематическом сайте, посвящённом сериалу My Little Pony код на Turbo Pascal, использующий старинный модуль Graph и рисующий нескольких персонажей.
Код содержал только вызовы функций и комментарии, javascript отлично его парсил. Осталось только дописать свои графические функции.
Финальная версия
Код содержал только вызовы функций и комментарии, javascript отлично его парсил. Осталось только дописать свои графические функции.
Финальная версия
+69
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Date of birth
- Registered
- Activity