Виртуализация установленной ОС?

Существует ли решение, позволяющее запускать гостевую ОС, которая функциональна сама по себе? То есть, например, основная система — Mac OS X, под виртуалкой крутится Windows 7, но при необходимости можно ребутнуться в ту же самую винду.

Виртуализация   Виртуальная   машина    

326   5   21:06, 1st October, 2020


Вопрос к PERL программистам

Есть perl демон:

#!/usr/bin/perl -w
###Подключение всех необходимых модулей###
use strict;
use POSIX;
use POSIX ":sys_wait_h";
use IO::Socket;
use IO::Handle;
###Создаем процесс-демон###
my $pid= fork();
exit() if $pid;
die "Couldn't fork: $! " unless defined($pid);
###Создаем связь с новым терминалом###
POSIX::setsid() or die "Can't start a new session $!";
###Переменная - бесконечное время жизни сервера###
my $time_to_die =0;
###Переменная - интернет-сокет или сервер###
my $server;
###Функция обработчик сигналов INT и TERM###
###Она срабатывает перед этими сигналами###
sub signal_handler{
  $time_to_die = 1;
  close($server);
}
$SIG{INT}= $SIG{TERM} = $SIG{HUP} = \&signal_handler;

###Функция обработчик сигнала CHLD - для уборки процессов зомби ###
sub REAPER {
  while ((my $waitedpid = waitpid(-1,WNOHANG)) > 0) { }
  $SIG{CHLD} = \&REAPER
}

###Заполняем массив разрешенных команд при старте сервера###

###Создаем интернет сокет на порту 17403###
my $server_port=17403;
$server= new IO::Socket::INET(LocalPort => $server_port,
                 TYPE => SOCK_STREAM,
                 Reuse => 1,
                 Listen => 10)
or die "Couldn't be a tcp server on port $server_port: $@\n";
###Сервер работает до бесконечности пока его не вырубит Term ###
until($time_to_die){
  my $client;
  my $req;
  ###Обрабатываем входящие подключения
  while($client = $server->accept()){
    ###Включаем обработку зомби###
    $SIG{CHLD} = \&REAPER
    ###Тот который постучался, отделяем в отдельный процесс###
    defined(my $child_pid=fork()) or die "Can't fork new child $!";
    ###Родительский процесс идет в конец и ждет следующего подключения###
    next if $child_pid;
    ###Дочернему процессу копия сокета не нужна, её закрываем###
    if($child_pid == 0) {
      close($server);
    }
    ###Очистка буфера###
    $client->autoflush(1);
    my $response = <$client>;
    my @get_req = split(' ', $response);
    print $client $get_req[1];
  exit;
  }
  continue {
    close($client);
  }

}


* This source code was highlighted with Source Code Highlighter.


Данный демон запускается и слушает указанный порт, и при запросе к нему скажем через браузер.
sitename.ru:17403/?param=1&param2=2
он создаст процесс свою копию, обработает запрос этим процессом и отдаст клиенту "/?param=1&param2=2". После этого закроет этот процесс.

Вопрос в том, всё ли правильно написано и всё ли правильно я понимаю и главное будет ли это работать так как я описал?

Perl    

315   3   21:06, 1st October, 2020


Самый чистый способ найти совпадение в списке

Как лучше всего найти что-то в списке? Я знаю, что у LINQ есть несколько хороших трюков, но давайте также получим предложения для C# 2.0. Давайте получим лучшие рефакторинги для этого общего шаблона кода.

В настоящее время я использую такой код:

// mObjList is a List<MyObject>
MyObject match = null;
foreach (MyObject mo in mObjList)
{
    if (Criteria(mo))
    {
        match = mo;
        break;
    }
}

или

// mObjList is a List<MyObject>
bool foundIt = false;
foreach (MyObject mo in mObjList)
{
    if (Criteria(mo))
    {
        foundIt = true;
        break;
    }
}

c#   refactoring    

474   4   21:06, 1st October, 2020


Почему у Ruby нет настоящего StringBuffer или StringIO?

Недавно я прочитал хороший пост об использовании StringIO в Ruby. Однако автор не упоминает, что StringIO -это просто "I.", нет "O.", вы не можете этого сделать, например:

s = StringIO.new
s << 'foo'
s << 'bar'
s.to_s
# => should be "foo\nbar"
# => really is ''`

Ruby действительно нуждается в StringBuffer точно так же, как и тот, который есть у Java. StringBuffers служат двум важным целям. Во-первых, они позволяют вам проверить выходную половину того, что делает Ruby StringIO. Во-вторых, они полезны для создания длинных струн из маленьких частей-то, что Джоэл напоминает нам снова и снова, в противном случае очень медленно.

Есть ли хорошая замена?

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

result = stuff.map(&:to_s).join(' ')

"correct" способ сделать это в Java-это:

result = StringBuffer.new("")
for(String s : stuff) {
  result.append(s);
}

Хотя мой Java немного заржавел.

ruby   string   io   buffer    

428   5   21:06, 1st October, 2020


Экспорт MySQL с пользователями?

Встала задача перехать на другой VDS. На обоих машинах стоит ISPManager, но он отказывается делать импорт пользователя — постоянно ошибки. Решил делать в ручную, но очень не хочется создавать заново пользователей MySQL, потом их прописывать в скриптах и делать прочие сопутствующие вещи.


Можно ли как то сделать экспорт всех баз вместе с пользователями, сохранив их пароли?

MySQL   ISPmanager   Перенос   данных    

344   3   21:06, 1st October, 2020


Каковы преимущества явного Транзитивного замыкания соединения в SQL?

Когда я соединяю три или более таблиц вместе общим столбцом, я бы написал свой запрос следующим образом:

SELECT *
FROM   a, b, c
WHERE  a.id = b.id
AND    b.id = c.id

недавно коллега спросил меня, почему я не сделал явного Транзитивного закрытия соединения в своих запросах, подобных этому:

SELECT *
FROM   a, b, c
WHERE  a.id = b.id
AND    b.id = c.id
AND    c.id = a.id

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

edit: я знаю, что это злой синтаксис, но это быстрый и грязный пример законного унаследованного кода +1 @ Stu для его очистки

sql    

389   8   21:06, 1st October, 2020


Лучший способ реализовать грязный флаг в EF

Вы можете легко использовать события PropertyChanges для установки флага. Но как вы легко сбросить его после сохранения в ObjectContext ?

frameworks   entity    

414   2   21:06, 1st October, 2020


Работа с vk.com api?

Господа, в рамках обучения пишу небольшую програмульку под WP7 для работы с VK. Приложение авторизируется чисто программным способом (аналогично вот этому goo.gl/YSV9z). Выставляется битовая маска доступа. Но при запросе getUserSettings всегда получаю что маска выставлена в 0 — то есть у приложения нет никаких прав.


Для себя я могу выставить настройки через сам VK.com — как сделать это для других пользователей?


Так же нашел упоминания про test mode для приложений, но лишь упоминания, как им пользоваться найти не удалось.

API   ВКонтакте    

400   2   21:06, 1st October, 2020


Подскажите решения для синхронизации данных через интернет

Может есть какие-нибудь решения позволяющие синхронизировать несколько компьютеров по технологии bittorent, например?
Запускаешь приложение дома, на работе и на ноуте.
Имеешь три одинаковых копии определённой папки.
При изменении в одном месте — остальное скачивают это к себе.

То есть что-то наподобие дропбокса, но без сохранения где-то в облаке за деньги.

Для истории, добавлю тут ссылку на статью о wuala.
Остановился на этом решении.

UPD
Перехожу на это решение: habrahabr.ru/blogs/p2p/120498/
Дома удобнее через р2р обмениваться. Да и не надо заморачиваться с торговлей местом.



Утилиты для работы с удалённым SQLite по FTP

Добрый день.
Перевожу часть некритичных вещей с хранения сериализованных данных на sqlite.
Есть ли такие инструменты(бесплатные) которые позволяют работать с удалённым sqlite напр. по FTP?
Нужны базовые возможности на создание таблиц, изменение структуры, управление содержимым…
Заранее спасибо!

SQLite   FTP    

392   4   21:06, 1st October, 2020