Сообщения

Показаны сообщения с ярлыком "coding"

6 interesting facts about garbage collection.

1. Don't create big objects with short lifetime Any object in CLR that is more than 85 000 KB in size are stored in the special heap for big objects. Also they are marked as 2nd generation objects from the start. Creating big objects with small lifetime is bad practice. Why? Garbage collector will need to collect 2nd generation objects more often, and this could lead to performance issues. 2. When GC collects garbage it pauses all managed threads When garbage collection starts CLR hijacks all managed threads and pauses them. But in fact it doesn't affect coding, so... nevermind :) 3. You can predict OutOfMemoryException  In some cases if application consume a lot of resources there is a probability of OutOfMemoryException. Not good, yeah? But... you can predict for operations with big memory consumption by using MemoryFailPoint. Usage example: try {    using(MemoryFailPoint mfp = new MemoryFailPoint(1500))    { ...

Создание msi инсталлятора с использованием Wix

В этом посте я хотел бы описать свой опыт использования инструментария Wix для создания инсталляционных пакетов. Wix - это библиотека которая упрощает создание MSI пакетов. Wix интегрируется в Visual Studio и содержит несколько типов проектов. Я не хочу полностью описывать процесс создания инсталляционного пакета, а кратко опишу сложности с которыми я столкнулся. Полный туториал для изучения Wix можно легко найти например здесь: http://www.tramontana.co.hu/wix/ 1. Deploy Database project output SQL script Несмотря на то что что Wix содержит готовое расширение для установки БД в задаче пришлось делать по своему. Причиной тому послужило использование Visual Studio Database Project. Итак сам процесс занял следующие шаги: 1.Настройка Database Project По умолчанию Database Project самостоятельно задаёт переменную БД, в результате чего даже если передать название БД в параметры sqlcmd в скрипте она будет переопределена. Для того чтобы это предотвратить необходимо задать в нас...

Vkontakte Merchant API

Сегодня был свободный день и почти всё время провёл дома. Но решил не тратить его попусту и сделать небольшой сайт-магазин для моей игры, попутно немного изучив Vkontakte Merchant API . В принципе что меня удивило - это простота установки данного API. Сам процесс вставки в сайт кнопки покупки действительно занимает минуты,а большинство времени было потрачено на написание заглушек для Callback-страниц.
Убрал баг с Alt-Tab, который возникал в полноэкранном режиме игры. Оказывается теперь XNA сама заботиться об восстановлении графического устройства после его потери. Я же думал что его нужно восстанавливать вручную по событию DeviceLost, что конечно неправильно. Слава богу существует класс Trace который позволяет сделать быстрый лог того что происходит и значительно упростил отладку и поиск ошибки.

Наваял гаджет

Изображение
Чтото меня потянуло на гаджеты. Решил сделать небольшой гаджет для души. Смысл - жмём на кнопку и снизу вылетают воздушные шарики. Долго мучался с COM регистрацией и вызовом, но слава яйцам всё получилось. Встречайте - Bubble gadget https://docs.google.com/leaf?id=0B6h7yaggRA4pYzI3Mjc1OGEtNWYzNy00ZThlLWIwMzAtNWU4ZmJhYTdmYzJk&hl=en Альтернативная ссылка на загрузку: http://sites.google.com/site/jackdevolpment/files/gadget.gadget?attredirects=0&d=1 Более подробно о том как это всё было и какие мне встретились проблемы напишу позже. Сейчас спать.

Работа с LiqPay в ASP.NET и не только

Совсем недавно пришлось по работе столкнутся с сией системой.С помощью Liqpay можно использовать в интернете карточки VISA,MasterCard для своего интернет-магазина.Система конечно классная но что меня удивило - это "обилие" документации не только для ASP, но даже для php. Её создатели любезно разместили на странице https://liqpay.com/?do=static&name=liqpaydev , которую можно найти долго изучая тэги на главной странице. Но не в этом суть. Начал я с создания Click&Buy формы. Мы с напарником решили что раз уж работать через эту систему , то наверно нужно использовать новейщую версию АПИ - 1.2. Теперь я понимаю что наверно это было ошибкой). Об этом позже. В данном примере я использую Click&Buy 1.0 < form action ='https://liqpay.com/?do=click_n_buy' method ='POST' accept-charset ='utf-8' /> < input type ='hidden' name ='version' value ='1.1' /> ...

Мини веб-сервер за 1 день

На учебной практике дали задание - написать веб-сервер под Линукс. И вот что из этого вышло: Windows-версия Linux-версия Конечно функциональность у сервера маленькая, но требования ТЗ он выполняет. Душу тешит что это не просто задание - а тестовое задание при приёме на работу в компанию ( собственно в этой компании практику и проходим ). И срок в компании дают 5 дней. Больше всего времени я потратил на портирование того что я написал под Виндовз на Линукс. К сожалению множество необходимых функций по работе с сокетами, файлами, потоками и семафорами( с ними я больше всего промучался ) назывались по другому. Так что где то 3-4 часа я гуглил что и как в Linux-е. Остальные 4 дня я планирую потратить на реализацию режима демона в Linux версии и собираюсь комментировать код - этого я к сожалению пока не делал :(

Интеллектуальные системы

Есть такой предмет на 3-м курсе прикладной математики. И вот одна из лабораторных работ - написать лингвистическую сеть. Работа на самом деле не сложная. Суть в том чтобы компьютер имея в наличии сущности и отношения между ними мог делать выводы. Например: Собака является Животным Животное является Живым существом Отсюда вывод: Собака является Живым существом Вообщем как и раньше по традиции выкладываю ту халтуру которую я написал по поводу этой лабораторной работы. Ссылка: http://sites.google.com/site/jackdevolpment/files/Jukko.rar?attredirects=0 О том как пользоваться: ?:?:? - этот запрос выводить все возможные выводы Летательный аппарат:Имеет часть:Крылья - если ввести этот запрос компьютер скажет что да, это так. Летательный аппарат:?:? - выводит все выводы с Летательным аппаратом в главной роли. Вообщем суть уловили, да? Если заменить сущность или отношение на ? то запросу подходят все сущности. Я думаю что этот материал будет полезен тем кого интересует эта область. Ведь следующ...

Немного о Silverlight

Изображение
Вот решил сегодня узнать побольше об этом интересной платформе. Многое обещает майкрософт для разработчиков - вычисления в облаке особенно впечатляют. И вот в результате появилось на свет моё первое Silverlight приложение! Идея проста - жмём по кнопке и кнопка убегает от курсора мыши. Основные загвоздки были при попытках получить положение кнопки. Оно не очень очевидно расположилось в Canvas.GetLeft и Canvas.GetRight, и немного погуглить пришлось чтобы сделать анимацию движения кнопки при нажатии. Реализация XAML: < UserControl x:Class ="SilverlightApplication1.Page" xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" Width ="400" Height ="300" > < Canvas Background ="White" Name ="canvas" > < Button Name ="btn" Content ="hello,silverlight" Canvas . Left ="100...

Ура!

Можете меня поздравить! Вчера я пошёл на собеседование и меня взяли на работу в Гугл. В качестве тим лида. Ура. ^_^ На собеседование было достаточно просто. Спрашивали разные тупые вопросы. Я сказал что имею большое опыт по разработке ПО - почти сдал 1 курсовую и вот вот закрою сессию. Но это нормально. Брин и не так отрывался в университетские годы. А вообще всех с 1-м апреля :)

Новогодний подарок - чат на MFC

Вот и наступил новый 2009 год! В НГ принято дарить подарки и я решил также подарить подарок тем кто может сюда заглянет, правда последнее время чтото такого не замечалось) Подарок скромный но уверен что он будет многим полезен. Мне например очень нехватало простейших примеров работы с сокетами на WinAPI. Поэтому тут я выкладываю пример реализованного чата. Скачать чат на MFC

Структуры данных ( АВЛ-дерево , обход графа и построение минимального остовного дерева графа)

Вот пришлось по учёбе сделать граф и АВЛ-дерево Выкладываю их в свободный доступ. Особенно наверно кому то будет интересен граф т.к реализаций на Шарпе я нигде не видел архив с АВЛ-деревом Обход графа и алгоритм Прима(C#)

GUI XWinForms для XNA

Хотя времени свободного в обрез мало вот за пару часиков сделал ещё одно полезное дело :) Недавно Микрософт выпустила новую платформу для создания игр XNA . Долгое время меня мучила навязчивая идея сделать свою библу для GUI . Но это достаточно времяёмкое дело. Тут и загрузку из файла, и скрипты и просто нада не уткнутся носом в баг... А вот недавно нашёл я Опен-Сорс библу XWinForms которая делает базовую часть работу. И решил немного добавить функционала. Вышла красивая загрузка из XML файла а также возможность создания скриптов которые будут запускать вне кода программы. Конечно как тока написал решил связаться с создателем и пообщатся. Идея ему понравилась. Надеюсь что труд пропадёт не зря. :) PS: Если кого то интересует данная библа - прошу писать на jack_spektor[doggy]mail.ru С удовольствием вышлю - мне не жалко. PS2: По просьбам трудящихся исходники можно скачать тут https://docs.google.com/leaf?id=0B6h7yaggRA4pZjg5YWQzMmEtM2U1Yy00NWU3LWJiNGUtZWViMTRlYzZkMzg5&hl=en

Delphi 2009

Поздравляю всех Дельфистов с выходом новой версии Дельфи. Ещё не качал новую Дельфю но радует поддержка юникода. Это было всегда проблемой для дельфистов... Также радует что в CodeGear сделали улучшение архитектуры обьектов. В любом случае данная дельфя очевидно будет лучше предыдущей которая к сожалению меня разочаровала... :(