Как лучше всего хранить пользовательские настройки для приложения .NET?

У меня есть .NET 2.0 Windows бланков заявки. Где лучше всего разместить настройки пользователя магазина (учитывая рекомендации Windows)?

Некоторые люди указывали на Application.LocalUserAppDataPath . Однако это создает структуру папок, как:

C:\Documents и Settings\user_name\Local Settings\Application Data\company_name\product_name\product_version\

Если я выпущу версию 1 своего приложения и сохраню там файл XML, а затем выпущу версию 2, это изменится на другую папку, верно? Я бы предпочел иметь одну папку для каждого пользователя, чтобы хранить настройки, независимо от версии приложения.

c#   .net    

395   8   04:39, 1st August, 2020


Удаление узлов из XmlDocument

Следующий код должен найти соответствующий тег проекта и удалить его из XmlDocument, однако когда я тестирую его, он говорит::

Узел, который нужно удалить, не является дочерним для этого узла.

Кто-нибудь знает, как правильно это сделать?

public void DeleteProject (string projectName)
{
    string ccConfigPath = ConfigurationManager.AppSettings["ConfigPath"];

    XmlDocument configDoc = new XmlDocument();

    configDoc.Load(ccConfigPath);

    XmlNodeList projectNodes = configDoc.GetElementsByTagName("project");

    for (int i = 0; i < projectNodes.Count; i++)
    {
        if (projectNodes[i].Attributes["name"] != null)
        {
            if (projectName == projectNodes[i].Attributes["name"].InnerText)
            {                                                
                configDoc.RemoveChild(projectNodes[i]);
                configDoc.Save(ccConfigPath);
            }
        }
    }
}

UPDATE

Исправлено. Я сделал две вещи:

XmlNode project = configDoc.SelectSingleNode("//project[@name='" + projectName + "']");

Заменил цикл For запросом XPath, который не был предназначен для его исправления, просто потому, что это был лучший подход.

Фактическое исправление было:

project.ParentNode.RemoveChild(project);

Спасибо Пэту и Чаку за это предложение.

c#   .net   xml   xmldocument    

455   6   04:35, 1st August, 2020


OpenVPN-туннель и маршрутизация

Имеется настроенный vpn-туннель между windows-клиентом (10.9.8.2) и удаленным сервером на debian (10.9.8.1).
Настроено вот по этому мануалу: wiki.debian.org/HowTo/openvpn
Как правильно настроить маршрутизацию/что-либо ещё, чтобы доступ в интернет с клиента был через туннель, а не через собственное подключение к интернет?

Пробовал «route add 0.0.0.0 MASK 0.0.0.0 10.9.8.1» — не помогло. Возможно, нужно что-то настроить на сервере?



Плавная анимация 30-100 объектов на ActionScript 3

Хочу сделать для своей Flash игры анимацию воздушными шариками которые пролетают через экран при успешном прохождении уровня.

Но не получается сделать это плавно и что бы еще и процессор не отжирало сильно.
Шарики у меня это муви клипы, которым я рандомно изменяю размер в большую и меньшую сторону, что бы создать впечатление «разных» шариков. Движение шариков делаю с использованием библиотеки TweenMax.

Но результат меня удручает своим качеством.

вот кусок кода который я использую:

public static function randomScale(shape: DisplayObject, ll: Number, ul: Number): void
{
var sc: Number = 1 + Math.random() * ((Math.random() < 0.5) ? 1 : -1);
sc = ((sc < ll) || (sc > ul)) ? 1 : sc;
if (sc != 1)
{
shape.scaleX = sc;
shape.scaleY = sc;
}
}

/**
* Произвести запуск объектов в полет от низа контейнера к верху, можно использовать для оформления прохождения уровня.
*
* @param parent - родительский контейнер внутри которого будут летать объекты.
* @param duration - длительность анимации.
* @param delayMax - максимальная задержка перед анимацией.
* @param deltaX - максимальное отклонение по координате X в лево или право, для придания естественности поведения.
* @param scale - применять изменение масштаба объектов в диапазоне от 0.7 до 1.5.
* @param callback - функция вызываемая по окончанию анимации.
*/
public static function fly(parent: DisplayObjectContainer, shapes: Vector.,
duration: Number, delayMax: Number,
deltaX: uint,
scale: Boolean = false,
callback: Function = null): void
{
// получаем габариты родительского контейнера
var w: uint = parent.width;
var h: uint = parent.height;
var cnt: uint = shapes.length;

// запускаем объекты один за одним
for each (var shape: MovieClip in shapes)
{
// случайное положение объекта
shape.x = Math.round(Math.random() * w);
shape.y = h + 5; // исходно объекты находятся внизу
shape.visible = false;
// изменение масштаба объекта в небольшм диапазоне
if (scale)
{
randomScale(shape, 0.7, 1.5);
}
parent.addChild(shape);

// запускаем анимацию полета
TweenMax.to(shape, duration, // длительность анимации
{delay: delayMax * Math.random(), // произвольная задержка 0...delayMax секунды, что бы выглядело естественно
x: shape.x + (Math.round(Math.random() * deltaX * 2) - deltaX), // точка назначения отличается ± deltaX от исходной
y: -150, // объекты улетают за границу экрана
ease: Linear.easeIn, // объекты летят с линейной скоростью
visible: false, // в конце они становятся невидимыми
onInit: showShape,
onInitParams: [shape],
onComplete: removeShape, // метод для зачистки по окончании анимации
onCompleteParams: [shape]
});
}
function showShape(child: MovieClip): void
{
child.visible = true;
}
/** Зачистка по окончании анимации */
function removeShape(child: MovieClip): void
{
// удаляем объекты из контейнера по окончанию анимации
parent.removeChild(child);
}
}
}

ActionScript   Adobe   Flash    

321   5   04:22, 1st August, 2020


отладка UserJS (Greasemonkey)

подскажите пожалуйста, чем можно отлаживать greasemonkey-скрипты в firefox?
крайне желательно наличие breakpoints, watches

Greasemonkey   Отладка   Userscript    

327   2   04:13, 1st August, 2020


Готов ли Ruby на Rails для предприятия?

Есть ли кто-нибудь, кто использует RoR для крупномасштабных, критически важных для бизнеса корпоративных приложений?

Существуют ли другие облегченные веб-фреймворки, основанные на динамических языках, которые люди используют для этих типов приложений?

Если вы не используете эти типы фреймворков приложений, что вас останавливает? Это просто инерция, связанная с любой крупной организацией IT. Являются ли проблемы скорости и стабильности этих структур достаточной проблемой, чтобы они компенсировали улучшение времени цикла разработки?

ruby-on-rails   ruby   enterprise    

576   20   03:59, 1st August, 2020


Самый простой способ профилировать скрипт PHP

Какой самый простой способ профилировать скрипт PHP?

Я бы с удовольствием прикрепил что-то, что показывает мне дамп всех вызовов функций и сколько времени они заняли, но я также OK с размещением чего-то вокруг конкретных функций.

Я попробовал поэкспериментировать с функцией microtime :

$then = microtime();
myFunc();
$now = microtime();

echo sprintf("Elapsed:  %f", $now-$then);

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

php   profiling    

600   12   03:57, 1st August, 2020


Как проверить процедуры численного анализа?

Есть ли хорошие онлайн-ресурсы, чтобы создать, поддерживать и думать о написании тестовых подпрограмм для кода численного анализа?

Одно из ограничений, которое я вижу для чего-то вроде тестирования умножения матриц, заключается в том, что очевидные тесты (например, наличие одной матрицы, являющейся идентификатором) не могут полностью проверить функциональность кода.

Кроме того, существует тот факт, что вы обычно имеете дело с большими структурами данных, а также. У кого-нибудь есть хорошие идеи о том, как подойти к этому, или есть указатели на хорошие места для поиска?

testing   numerical    

438   3   03:46, 1st August, 2020


web scraping на Ruby

Ищу либу, с живой комьюнити и актуальными датами!

Ruby    

285   1   03:46, 1st August, 2020


Организация voip\SIP для небольшого офиса

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

Оговорюсь, Раньше не работал с решениями подобного рода вообще.

Возникла срочная необходимость в организации примерно такой схемы для офиса (маленький офис, 3-4 работника, 3 телефона, 1 факсимильный аппарат).

Выделенного интернета нет, есть yota с хорошим качеством приёма.
Аналоговой телефонной линии нет.
Описываю схему-минимум.

Необходим один постоянный московский номер, и 4 (максимально, по началу 2 — менеджер и факс) внутренних.
А дальше схема стандартна для маленькой конторки, но опишу.
Звонят на городской номер. Если знают добавочный — попадают на конкретного менеджера, или на факс-автомат. Если не знают — попадают на свободного менеджера.
Вообще, многоканальность не так обязательна, звонков будет совсем не много, так что если это сильно усложняет процесс, то можно и выкинуть.

Далее, исходящие звонки: происходят также через через sip (sipnet, нет? Почитал-почитал, вроде есть аналоги, но не знаю как там, если есть возможность пояснить, очень был бы благодарен). То сути из требований — возможность канала передавать факсы (я думаю, она везде есть, но не уверен на 100 процентов), да хорошие тарифы внутри России.

В общем всё просто и обыденно.

Если у Вас будет возможность дать хоть какие-либо комментарии, которые мне могут помочь разобраться, я бы был очень рад.

ПС Я с линукосм не сильно дружу. Но по манулаке разберусь как делать безусловно, главное понимать общую схему.
Нам нужно насколько можно более простое, настраиваемое и по возможности дешевое решение. Возможно, всё это можно организовать на подобии такой штуковины? www.yota.ru/ru/devices/centers/router/ Только настроек нужно больше, нужна возможность звонков внутри офиса и т.д…

Что первое пришло в голову при чтении всего из habrahabr.ru/blogs/voip/, это

1. Купить обычный комп под сервак. Или же какое другое оборудование, которое его заменит? Основной пункт, от которого и надо плясать) Основной вопрос именно тут.
2. Купить (???) дополнительное оборудование.
3. Выбрать услугу выделенного московского номера у одного из провайдеров (ЦНТ gobaza.ru/price/Start-viz/untitled.php? Или тот же сипнет customer.sipnet.ru/cabinet/do_premium?
4. Поставить что — то типа Yate или более монструозного Asterisk? Настроить под провайдера sip.
5. Купить обычные недорогие аналоговые телефоны для сотрудников. Софтовые телефоны использовать пока не собираемся, предпочтительнее обычные телефоны. Или же надо voip? Поставить аналоговый факс.


Заранее спасибо за любую информацию, которая может помочь мне в решении этого. Просто хоть ссылочку, я разберусь.
Спасибо заранее :)

Asterisk   Телефония   Yota   SIP   Yate    

386   10   03:35, 1st August, 2020