Есть ли здесь люди, разбирающиеся в Shop-Script?

Есть у меня магазинчик на этом движке. Давно с этим движком уже не работаем, другие магазины на CS-Cart. Нужен доктор по Shop-script, полечить больного. Есть такие?

PHP    

374   3   21:01, 8th August, 2020


nginx: /message.php?from=<id1>&to=<id2> -> /user/message/new/<id2>

Портирую одно PHP приложение под RoR. Сначала хотел переписать всё с нуля, но требуют вводить новые фичи как можно скорее. Решил поступить так: ищу php скрипты, касающиеся новой фичи, переписываю их под рельсы (работа с той же БД), внедряю. Рельсы крутятся под nginx+passenger. Стоит задача трансляции адресов из пространства php (*.php?*) в RoR REST. Вижу два варианта:
— внутренний rewrite с php на ror для уже портированных скриптов
— определять location с passenger _enabled on для уже портированных скриптов и переписывать запрос уже в ruby приложении (middleware например).

Как бы вы поступили?

Nginx   Passenger    

303   1   20:56, 8th August, 2020


Лучший способ хранения больших объемов данных с помощью J2ME

Я разрабатываю приложение J2ME, которое имеет большой объем данных для хранения на устройстве (в области 1 МБ, но переменной). Я не могу полагаться на файловую систему, поэтому я застрял в системе управления записями (RMS), которая позволяет использовать несколько хранилищ записей, но каждый из них имеет ограниченный размер. Моя начальная целевая платформа, Blackberry, ограничивает каждый из них до 64 КБ.

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

Существует множество различных типов данных, которые хранятся, но только один набор, в частности, превысит предел в 64 КБ.

java   java-me   rms    

483   8   20:52, 8th August, 2020


Как сопоставить путь устройства linux с именем диска windows?

Я пишу приложение, которое на каком-то этапе выполняет низкоуровневые дисковые операции в среде Linux. Приложение на самом деле состоит из 2 частей, одна работает на Windows и взаимодействует с пользователем, а другая-это часть linux, которая работает с LiveCD. Пользователь выбирает Windows букв диска, а затем часть linux выполняет действия с соответствующими разделами. Проблема заключается в поиске соответствия между буквой диска Windows (например, C:) и именем устройства linux (например, /dev/sda1). это мое текущее решение, которое я оцениваю как уродливое:

  • храните информацию о разделах (например, букву диска, количество блоков, серийный номер диска и т. д.) в Windows в некотором заранее определенном месте (т. е. в корне системного раздела).

  • прочитайте список разделов из /proc/partitions. получите только те разделы, которые имеют основной номер для SCSI или IDE жестких дисков и второстепенный номер, который идентифицирует их как реальные разделы, а не целые диски.

  • Попробуйте mount каждый из них с помощью файловой системы ntfs или vfat. Проверьте, содержит ли смонтированный раздел информацию, хранящуюся в приложении Windows.

  • После нахождения необходимой информации, написанной приложением Windows, сделайте фактический матч. Для каждого раздела, найденного в /proc/partitions, приобретите серийный номер диска (через hdio_get_identity syscall), количество блоков (от /proc/partitions) и смещение диска (/sys/blocks/drive_path/partition_name/start), сравните это с информацией Windows и, если это соответствует - сохраните букву диска Windows вместе с именем устройства linux.

В этой схеме есть несколько проблем:

  • Это отвратительно. Запись данных в Windows, а затем чтение их в Linux превращает тестирование в кошмар.

  • Основной номер устройства linux сравнивается только с устройствами IDE или SCSI. Это, вероятно, не удастся, т. е. на дисках USB или FireWire. Можно добавить эти типы дисков, но ограничение приложения только известным подмножеством возможных устройств кажется довольно плохой идеей.

  • похоже, HDIO_GET_IDENTITY работает только на дисках IDE и SATA.

  • /sys/block hack не может работать на других дисках, кроме IDE или SATA.

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

P.S. Язык приложения-C++. Я не могу это изменить.

c++   linux   drives    

524   6   20:51, 8th August, 2020


Ассоциации файлов локальных документов в Google docs

Собственно следующий вопрос: можно ли создать ассоциацию офисных файлов (типа .doc, .xls) находящихся на локальном диске для открытия непосредственно в Google docs, через браузер?

Google   Google   Drive    

297   3   20:47, 8th August, 2020


Node.js (или другие асинхронные фреймворки): А как отлавливать ошибки?

Вот такой вопрос. Может быть мой задеревенелый синхронный мозг просто не видит решения, которое лежит на поверхности. Но я не понимаю, как обрабатывать ошибки при асинхронном подходе, как выдавать пользователю 500-страницу. Ведь как устроен привычный синхронный запрос (схематично):
try {

  responce = (function request(req) {

    var user = auth.getUser(req);

    if (user.auth) {

      var data = db.getData();

      if (data) {

        return new Responce(template.render(data));

      }

    }

    return error404;

  })(req);

} catch(e) {

  show500(e);

}


Все очень надежно, контроллер обязан возвратить ответ, любые ошибки, не отловленные внутри request, отлавливаются снаружи и выдают пользователю красивую страничку.

Что же при асинхронном подходе node.js?
try {

  (function request(req, res) {

    auth.getUser(req, function(user) {

      if ( ! user.auth) {

        return res.error404();

      }

      db.getData(function(data) {

        if ( ! data) {

          return res.error404();

        }

        res.write(template.render(data));

      });

    });

  })(req, res);

} catch(e) {

  res.show500(e);

}


И вот представте, что где-то в user.auth происходит исключение. Что произойдет? А ничего, function(user) прекратит выполнение, ответ обработать некому, соединение с браузером останется висеть до таймаута. Даже поставив где-то глобальный обработчик ошибок, не удастся вернуть пользователю ответ, потому что в самом объекте исключения нет доступа к объектам запроса и ответа.

Неужели, единственный выход ловить исключения вручную на каждом асинхронном вызове?
try {

  (function request(req, res) {

    auth.getUser(req, function(user) {

      try {

        if ( ! user.auth) {

          return res.error404();

        }

        db.getData(function(data) {

          try {

            if ( ! data) {

              return res.error404();

            }

            res.write(template.render(data));

          } catch(e) {

            res.show500(e);

          }

        });

      } catch(e) {

        res.show500(e);

      }

    });

  })(req, res);

} catch(e) {

  res.show500(e);

}

Node.js   Асинхронное   программирование    

341   6   20:47, 8th August, 2020


Есть ли способ сделать переменную TSQL постоянной?

Есть ли способ сделать переменную TSQL постоянной?

sql-server   tsql    

501   12   20:39, 8th August, 2020


Asus Eee PC 1001 PX выдержит ли Oracle9i (10g) ?

Хотел бы спросить у знатоков. Asus Eee PC 1001 PX выдержит ли Oracle9i (10g)? Ситуация в том, что всегда под рукой необходима база данных и для этих целей я задумываюсь прикупить нетбук. Не будет ли глючить/тормозить данная СУБД на этом нетбуке

З.Ы. Уцепился за 1001PX так как устраивает цена.

Oracle   ASUS    

339   6   20:28, 8th August, 2020


WiFi роутер для дома

Знаю что тут уже куча таких вопросов, но хотелось бы удостоверится что нужно именно в моём случае.
Когда подключались к билайну нам сказали приобрести 3com 3CRWER200-75, но он оказался редкостным…
После этого подключились к Дом.ru, напрямую в торенте давало 10 Мбайт/сек!
На отдачу около 1.5 Мбайт/сек!
Но к нам приехала сестра пришлось делится интернетом :)
Снова поставили 3com 3CRWER200-75, и о нет!
Скорость в торренте упала до 2.5 Мбайт/сек
А раздавать вообще не мог, после долгчих мучений и ковыряний в настройках, отдача поднялась до 100 Кб/сек
Но при этом загрузка страниц стала заметно дольше, а в WiFi при этом вообще нельзя было ничего сделать.

Цель:
Купить роутер который бы выдерживал 10 Мбайт по локалке провайдера + раздавал WiFi

Долгое время был нацелен на NetGear WNDR3700, но в нём не оказалось IPTV, а хотя в WNR3500L он есть
После этого меня сбили на вариант D-link DIR-655

Помогите выбрать:
NetGear WNDR3700
NetGear WNR3500L
D-link DIR-655
Предлагайте свои варианты

Компьютерные   сети   Wi-Fi   Сетевое   оборудование    

449   14   20:20, 8th August, 2020


Литература по hibernate, struts?

Подскажите, пожалуйста, качественную литературу по сабжу.

Java   Hibernate   Play   Framework    

274   1   20:14, 8th August, 2020