Задать вопрос
  • Реально ли вообще хоть что то гарантировать в GAE datastore (Java, JDO)?

    @rPman Автор вопроса
    для очистки совести проверил, конечно ничего не изменилось, там d=pm.getObjectById(Test.class, new_id); исключительно для тестов и вывода в лог данных далее по коду.

    Гарантированно сериями по 2 запроса данные тупо никуда не записываются, при этом в пределах метода сервлета данные успешно записаны, доступны по повторным запросам через Query, но по завершению метода и выдачи результата клиенту изменения куда то исчезают

    p.s. в основном проекте все еще хуже… в один объект данные сохраняются, в другом, записываемым в этом же методе — нет, группы у объектов разные, в транзакцию завернуть еще не могу, я пока еще не придумал красиво объединить в группу слабо связанные сущности, по документации, чтобы это сделать — нужна связь типа 1к1 или 1кМ, либо что то нетривиальное с ключами
    Ответ написан
    Комментировать
  • Какие есть способы монетизации скачиваемых казуальных игр?

    @rPman
    доступ к онлайн-пузомеркам (размещение достижений оплатившего доступ в соотв. рейтинговых табличках на сайте разработчика)
    Ответ написан
    Комментировать
  • PHP: очень медленно работает echo

    @rPman
    Почти наверняка проблемы с вебсервером или может быть DNS?

    gentoo, apache, тормозной старенький AMD Sempron(tm) Processor 3400+

    a.php: <?php echo str_repeat('0123456789012345',8192); ?>

    # date; curl http://localhost/a.php >/dev/null;date
    Втр Авг 9 20:15:03 NOVST 2011
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 128k 0 128k 0 0 31.4M 0 --:--:-- --:--:-- --:--:-- 41.6M
    Втр Авг 9 20:15:03 NOVST 2011


    p.s. но если у вас тоже самое с cli php то нужно бить тревогу!!!

    p.p.s. у меня на first vds был момент, когда простейший lib_curl (точнее вызовы curl_… из php) нещадно подвешивали виртуалку под 100% на секунды, но в то же время консольная утилита curl/wget — работали без проблем… пока вообще выяснял, откуда тормоза, проблема самоустранилась (длилась часами), поэтому записал на счет потенциальных глюков openvz (точнее virtuozzo) и сделал зарубку в памяти, что и такое возможно.
    Ответ написан
    1 комментарий
  • Ссылки в perl

    @rPman
    как я понимаю во второй строке ошибка, не '\$a' а '&$a'?
    $a = 'a'; // переменная a значение a
    $b = &$a; // переменная b значение всегда будет равно значению переменной a (т.е. сейчас это 'a')
    $c = $$b; // переменная c равна значению переменной, имя которой в переменной b, т.е. равна значению переменной a, значит равна 'a'
    $a = 'bb'; // переменная a меняет значение на 'bb', значит переменная b так же теперь возвращает 'bb'
    print "$$c\n"; // выводит значение переменной, имя которой в переменной c, сейчас там значение a, значит результат переменной с именем a сейчас 'bb'
    print "$c\n"; // значение переменной c — 'a'
    Ответ написан
    3 комментария
  • Зарезать торренты в локалке?

    @rPman
    Не нужно ЗАПРЕЩАТЬ! сначала предоставьте народу разумную альтернативу!

    Как я понимаю ваш сервер (если его нет, лучше поставьте любую фигню, хоть на mini-itx от 1.2р плата + память + БП + корпус хоть из картона)?
    Установите на сервер торрент клиент и дайте народу доступ к его вебморде! вроде есть к rtorrent такие, что даже многопользовательский доступ с ограничениями предоставляет, в крайнем случае это меньшее из зол, если все будут видеть и рулить общим списком торрентов.
    Ответ написан
    1 комментарий
  • Криптографическая общалка

    @rPman
    freenet + frost = распределенная децентрализованная сеть хранения данных (сайты, форумы, блоги — статика) + мессадженер вида nntp/email на ее основе. Заточено на секурность и анонимность (уровня выше tor и анонимные прокси).

    Немного тормозной, в начале пару гигов выкачает и 512мб на диске под базу выжрет (минимум), java (кросплатформенно), немного устаревший интерфейс но юзабельно и со своими задачами справляется.
    Ответ написан
    Комментировать
  • Объеденить сети двух офисов. Wi-fi?

    @rPman
    Если требуется решить вопрос о законности, а так же высокие требования к скорости (вайфай, мало того, ненадежен, достаточно соседям точку доступа поставить, так еще на таких не очень больших расстояниях, в лучшем случае получите десятки мегабит), то…

    … прямая видимость может позволить использовать атмосферные оптические линии связи, т.е. передача данных по лучу — потенциально выше скорость, и расширяемо (при построении 'сотовых' сетей или использовании репитеров), т.е. каждый канал не мешает другому.

    p.s. на хабре даже был обзор таких устройств с примерами (сотни метров и мегабитов, вполне подъемные цены, даже малому бизнесу, особенно если 'китайцы' будут стараться, а не отечественный 'наклейкопром'), только не могу найти.
    Ответ написан
  • Проектирование backend'а для чата?

    @rPman
    PHP не очень пригоден (точнее не предполагает подобного использования, но формально ничто этому не мешает) для использования как постоянно запущенной службы, вместо режима частых и коротких запусков

    Соответственно, можно использовать асинхронные сокеты (см. socket_set_nonblock и socket_set_option, первый же пример в гугле) в php и серверную часть запускать в виде одного процесса (со всеми вытекающими проблемами из-за потенциальных багов в коде, точнее прервутся все соединения, если упадет это приложение), либо на каждое соединение запускать по процессу, с обычными сокетами, но тогда добро пожаловать в мир semaphore и shared memory (конечно, можно и без них, используя типичный LAMP подход, когда за синхронизацию отвечает БД с транзакциями, но производительность будет ужасная и вас засмеют за говнокод).

    p.s. Сильно не копал, возможно есть куча готовых фреймворков или даже расширений PHP, добавляющих событийный функционал.
    Ответ написан
    1 комментарий
  • Внешнее сетевое хранилище дома?

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

    Благодаря наличию очень дешевых комплектующих, электронную начинку не будет проблемы собрать (mini-itx или даже mATX), но вот корпус и, возможно, блок питания могут быть проблемой (особенно если жестких дисков будет много), именно тут необходимо проявить смекалку и умение 'работать паяльником' (вообще то нужны умения работы по железу и пластику/дереву для коробки, плюс грамотно спроектировать размещение и размеры для охлаждения и звукоизоляции).

    p.s. естественно, такая возня требуется, если цель — уменьшить размеры и шум сервера, иначе лучше приобрести готовый крупный корпус и собрать 'обычный' компьютер.
    Ответ написан
    Комментировать
  • Вопросы яндекса на career day санкт-петербург?

    @rPman
    первая задача решается элементарно :)
    1. выбираем одного ведущего (не обязательно среди студентов)
    2. Ведущий загадывает случайное число в уме (достаточно большое, сравнимое со обычным средним баллом * N) и говорит его первому студенту 'на ушко'
    3. Каждый последующий студент прибавляет к этому числу свой балл и сообщает результат другому

    4. по окончании последний студент так же шопотом говорит свою сумму ведущему
    5. ведущий вычитает свое число из результата и делит его на N

    т.е. никто не видит всей картины, а значит никаких вычислений провести не сможет (даже если кто то услышит случайно чью-то сумму, это ничего не даст).
    Ответ написан
    5 комментариев
  • Как правильнее поступать с ненужными записями в БД - удалять или помечать их флагом "deleted"?

    @rPman
    Ответы очевидны.
    Помечать флагом — растет база, удалять — понижение производительности (фрагментация, сама операция удаления может оказаться дорогой) и часто усложнение бизнеслогики.

    Я бы не рекомендовал удалять данные из сложных баз данных, особенно если это справочники, например выставив в freign key — RESTRICT, чтобы разрешить удаление только для 'свободных' записей. Удаление записей в сложных базах данных, обычно очень сложная операция, обычно перед этим приходится проводить кучу проверок и изменений для связанных данных, поэтому флаг 'deleted' используется как упрощение или даже часть механизма для введения временной составляющей в хранение данных (база данных может являться как средством для хранения текущего состояния, так и для хранения лога изменений данных во времени)

    В зависимости от задач:
    1. Если удаление происходит сравнительно редко, т.е. если оверхед на размер базы незначителен — то лучше помечать флагом.
    2. Если удаления и создания записей очень частые (в результате база не очень растет), то лучше удалять, плюсы от отсутствия фрагментации может оказаться недостаточным, чтобы перебить рост индексов (кстати и кэш в оперативной памяти будет зря занят).
    3. Если и скорость и данные критичны, то лучше помечать флагом и удалять по крону, а чтобы минимизировать вероятность задержек на время обслуживания — разделить таблицу на кластеры (можно 'вручную' в классе работы с БД) и очищать каждый кусок отдельно, а разделение сделать с целью отделить часто используемые данные от редко используемых.
    Ответ написан
    Комментировать
  • Как воспроизвести mp3 из командной строки в Windows 7?

    @rPman
    Немного шокирован предыдущими ответами, сводятся к 'скачать и установить дополнительное ПО'… и так в системе уже 20Гб какого то говна, которое зовется операционной системой… извиняюсь, вырвалось.

    Примеры однострочных скриптов на vbs для windows scripting host можно нарыть в интернете, вот простейший пример:
    Создать и запустить файл a.vbs:
    Set oVoice = CreateObject("SAPI.SpVoice")
    set oSpFileStream = CreateObject("SAPI.SpFileStream")
    oSpFileStream.Open "c:\Windows\Media\tada.wav"
    oVoice.SpeakStream oSpFileStream
    oSpFileStream.Close
    Ответ написан
    4 комментария
  • "Брендовые" названия компов сборщиком

    @rPman
    Выглядит как бред. Названия типа 'Домашний — легкий' не зарегистрированы ни как товарный знак ни как фирма. Кто именно эти 'знающие люди' и какое они имеют отношение к вашему бизнесу.

    p.s. тем более вы собираетесь использовать эти названия только внутри вашей компании и чеках, так вообще вы можете какой угодно бред там писать
    Ответ написан
    1 комментарий
  • RDP + usb принтеры + Штрих ФР

    @rPman
    Создайте 'принтер' и расшарьте его на стороне клиента. Как можно меньше пользуйтесь средствами автоматической регистрации принтеров в RDP от майкрософта, каких только проблем я одно время там не нахватался, то же самое с шарами. Чтобы не было проблем, за устройства должен отвечать кто-то (сервер/программа) не зависящий от сессий терминала.
    Ответ написан
    Комментировать
  • Подозреваю вирус в антивирусе, обычное лечение не помогает?

    @rPman
    Вылечить данные,
    1. вставив диск в заведомо здоровую систему с нормальным антивирусом (например утилиты вида drweb cureit или kaspersky removal tool)
    2. скачав и загрузившись с livecd с антивирусом (например drweb livecd с офф сайта)
    Ответ написан
    1 комментарий
  • Структура таблиц БД: хранение списков значений наряду с обычными значениями

    @rPman
    Описанное вами — это развитие реляционной модели в сетевую… в mysql как я знаю средств для этого нет, в postgresql есть поддержка массивов, только производительность не ля всех случаев оптимальна.

    Ваша задача лучше всего решается все таки сериализацией. Проблема обновления данных при расширении функционала не на столько критична чтобы только на основании этого отказываться от сериализации.

    Так же не стоит закрывать глаза штатную реализацию списков второй таблицей M-1.

    И конечно же никто не мешает совместить оба подхода (хранить данные в 2 таблицах и кешировать дополнительными полями в главной, например информация о количестве элементов в списке, значение первого элемента,..)
    Ответ написан
    1 комментарий
  • Преобразование 2х XML одним XSL

    @rPman
    www.w3schools.com/Xsl/func_document.asp
    <xsl:value-of select="document('celsius.xml')/celsius/result[@value=$value]"/>
    Ответ написан
    Комментировать
  • Каков принцип мигания светодиодов на сетевой карте/WiFi?

    @rPman
    Если 1 светодиод одного цвета, то, иногда бывает следующий алгоритм мигания (кстати не только wifi, но и, например, лампочка активности cd/dvd):
    * при наличии активности включается 'мигание с фиксированным периодом и стартом', т.е. пока есть активность — лампочка мигает с периодом, например в полсекунды
    * если между активностью слишком короткие периоды — они сглаживаются
    * не только период мигания фиксированный, но и фаза (сдвиг, старт) остается фиксированный
    Ответ написан
    Комментировать
  • Как зашифровать XML?

    @rPman
    Как угодно шифруйте, но если расшифровка происходит на стороне клиента то у вас нет нормальных средств по защите информации, ее вскрытие — вопрос в времени или средств.
    Ответ написан