问题列表 - 第41675页

PHP:我需要一个类似数据库的解决方案,它将数据存储在本地文件系统中

这是一个相当长的故事,但为了缩短它我需要在文件系统中本地存储我的数据库的一部分.我不能使用像MySQL这样的普通数据库而且我不能使用XML文件(理论上我可以使用XML-s但它们不够灵活,我需要一些非常复杂的PHP代码层来使XML可用).是否有某种解决方案可以将多个DB表移动到文件系统并使用它们进行正常操作?

几年前我使用平面文件,它们非常接近我需要的东西.然而我对平面文件不喜欢的是它们很粗糙 - 你需要手动完成所有操作,你不能只做"SELECT name FROM some_table WHERE age> 30"之类的事情,而是你需要手动浏览文件并选择所需的条目.

那么,您能否提出一些模仿SQL但将所有内容存储在本地文件中的解决方案.此外,这不应该是非常奇特的东西,因为该产品将部署在许多随机主机上,通常我们无法控制那里安装的内容.

谢谢你的帮助!

php database flat-file

1
推荐指数
1
解决办法
175
查看次数

更改设计和轨道3以使用bcrypt而不是sha

我有一个rails 3生产应用程序,它使用设计来处理身份验证.我想更改为在应用程序上使用bcrypt而不是sha,但我找不到任何资源来解释从一个迁移到另一个的过程.我假设你需要有一些后备来处理这样一个事实,即目前的密码以某种方式被盐腌...

以前有人这样做过吗?!任何提示,教程,演练等?!

encryption ruby-on-rails sha bcrypt devise

7
推荐指数
1
解决办法
4132
查看次数

从编码图像和视频中提取DCT系数

有没有办法从编码图像和视频中轻松提取DCT系数(和量化参数)?任何解码器软件都必须使用它们来解码块DCT编码的图像和视频.所以我很确定解码器知道它们是什么.有没有办法将它们暴露给使用解码器的人?

我正在实施一些直接在DCT域中工作的视频质量评估算法.目前,我的大部分代码都使用OpenCV,因此如果有人知道使用该框架的解决方案,那将会很棒.我不介意使用其他库(也许是libjpeg,但这似乎只适用于静止图像),但我主要担心的是尽可能少地执行格式化工作(我不想重新发明轮子并写入我自己的解码器).我希望能够打开OpenCV可以打开的任何视频/图像(H.264,MPEG,JPEG等),如果它是块DCT编码,则可以获得DCT系数.

在最坏的情况下,我知道我可以编写自己的块DCT代码,通过它运行解压缩的帧/图像,然后我将回到DCT域.这不是一个优雅的解决方案,我希望我能做得更好.

目前,我使用相当常见的OpenCV样板来打开图像:

IplImage *image = cvLoadImage(filename);
// Run quality assessment metric
Run Code Online (Sandbox Code Playgroud)

我用于视频的代码同样微不足道:

CvCapture *capture = cvCaptureFromAVI(filename);    
while (cvGrabFrame(capture))
{
    IplImage *frame = cvRetrieveFrame(capture);
    // Run quality assessment metric on frame
}
cvReleaseCapture(&capture);
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都获得了IplImageBGR格式的3通道.有什么方法可以得到DCT系数吗?

opencv image-processing video-processing dct

17
推荐指数
1
解决办法
2万
查看次数

当猴子修补方法时,你能从新实现调用重写方法吗?

假设我是猴子修补类中的方法,我怎么能从覆盖方法调用重写方法?就像有点像super

例如

class Foo
  def bar()
    "Hello"
  end
end 

class Foo
  def bar()
    super() + " World"
  end
end

>> Foo.new.bar == "Hello World"
Run Code Online (Sandbox Code Playgroud)

ruby monkeypatching

422
推荐指数
2
解决办法
8万
查看次数

如何在C/C++应用程序中使用lsof(List Opened Files)?

有没有办法使用获取所有打开的套接字?我知道lsof命令,这就是我正在寻找的,但如何在应用程序中使用它?

我们的想法是通过port数字和数字获得一个打开的套接字的FD pid.

c c++ unix sockets lsof

6
推荐指数
1
解决办法
5500
查看次数

如何在PHP中重新创建我的数据库(例如,用于单元测试)

我如何从PHP,重新创建我的数据库,可能插入默认数据.目前,我打算使用单元测试的行为.

我使用Doctrine 2,Zend Framework 1.11 Zend_Test进行单元测试

我可以使用CLI

doctrine orm:schema-tool:update --force
Run Code Online (Sandbox Code Playgroud)

要么

doctrine orm:schema-tool:drop --force
doctrine orm:schema-tool:create
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个PHP替代品,到目前为止找到了这个

但它看起来像

$tool = new \Doctrine\ORM\Tools\SchemaTool($em);
$classes = array(
  $em->getClassMetadata('Entities\User'),
  $em->getClassMetadata('Entities\Profile')
);
$tool->dropSchema($classes, \Doctrine\ORM\Tools\SchemaTool::DROP_DATABASE);
$tool->createSchema($classes);
Run Code Online (Sandbox Code Playgroud)

而且我真的不想指定模型类,尤其是当它们可以改变时.它应该只读取下面...中指定的所有类...就像使用CLI一样,您不需要指定所需的类?

$driverImpl = $config->newDefaultAnnotationDriver(array(realpath('../models')));
$config->setMetadataDriverImpl($driverImpl);
Run Code Online (Sandbox Code Playgroud)

php phpunit zend-framework zend-test doctrine-orm

7
推荐指数
1
解决办法
1224
查看次数

liferay:如何首先在自动登录挂钩中强制注销

显然,如果您尝试再次登录,liferay 不会记录当前登录的用户,实际上甚至会保持当前登录的用户处于登录状态。所以我试图强制注销。

我试过:

request.getSession().invalidate();
Run Code Online (Sandbox Code Playgroud)

但这似乎除了以某种方式破坏登录功能之外不起作用。

我想知道是否有人有其他想法如何强制注销。

编辑:

try {
            HttpSession session = request.getSession();

            EventsProcessorUtil.process(PropsKeys.LOGOUT_EVENTS_PRE,
                    PropsUtil.getArray(PropsKeys.LOGOUT_EVENTS_PRE), request, response);

            String domain = CookieKeys.getDomain(request);

            Cookie companyIdCookie = new Cookie(CookieKeys.COMPANY_ID,
                    StringPool.BLANK);

            if (Validator.isNotNull(domain)) {
                companyIdCookie.setDomain(domain);
            }

            companyIdCookie.setMaxAge(0);
            companyIdCookie.setPath(StringPool.SLASH);

            Cookie idCookie = new Cookie(CookieKeys.ID, StringPool.BLANK);

            if (Validator.isNotNull(domain)) {
                idCookie.setDomain(domain);
            }

            idCookie.setMaxAge(0);
            idCookie.setPath(StringPool.SLASH);

            Cookie passwordCookie = new Cookie(CookieKeys.PASSWORD,
                    StringPool.BLANK);

            if (Validator.isNotNull(domain)) {
                passwordCookie.setDomain(domain);
            }

            passwordCookie.setMaxAge(0);
            passwordCookie.setPath(StringPool.SLASH);

            CookieKeys.addCookie(request, response, companyIdCookie);
            CookieKeys.addCookie(request, response, idCookie);
            CookieKeys.addCookie(request, response, passwordCookie);

            try {
                session.invalidate();
            } catch (Exception e) {
            }

            EventsProcessorUtil.process(PropsKeys.LOGOUT_EVENTS_POST,
                    PropsUtil.getArray(PropsKeys.LOGOUT_EVENTS_POST), …
Run Code Online (Sandbox Code Playgroud)

java liferay

6
推荐指数
1
解决办法
5682
查看次数

支持或反对.NET(野兽)

我工作的公司使用C++ Builder 6.我们从构思开始就一直在开发本机代码.我们的旗舰产品完全使用本机代码编写.

使用它的铃声和口哨进入.NET Framework.我跌倒,勾,线和坠子.我说服管理层.NET应该绝对是我们所有新软件开发的新框架,我们应该尽快开始迁移现有的代码行.拥有所有好处并不需要太多说服力.他们像往常一样接受我的建议.

此时我开始开发我的第一个.NET应用程序.这一切都按计划进行.该项目只是我们产品的一个组成部分.所以我开始为这个新组件创建一个安装程序.作为一家公司,我们为自己尽可能简单地为用户制作东西感到自豪.即使是拥有数千名开发人员的微软也不像我们那样创建安装程序.例如,当您安装Microsoft CRM时,您将只能获得需要安装的故障和先决条件的列表,然后才能继续.不是我们.决不.如果您需要什么,我们会为您安装.

这使我们的安装感觉如此简单..NET Framework没有安装?没问题!我们会为你做的.需要SQL Native客户端吗?精细!

问题在于,现在我们的解决方案的一个组件是用.NET编写的,它使安装过程变得异常复杂.在我甚至可以安装我们的产品之前,我需要执行以下操作:

  • 检测是否已安装先决条件

  • 如果不是,请安装它

  • 验证它是否已成功安装

  • 下一个先决条件

要安装.NET Framework,我首先需要Windows Installer 4.5.但是对于不同的操作系统有不同的版本,所以我添加操作系统检测并启动正确的EXE.哦,.NET框架已经打包了2k8并且安装程序exe无法在其上运行,您必须运行带参数的OCSetup.exe来安装它.

它继续下去.然后需要安装SQL Express 2005.依赖关系再次增加.

我与管理层争论说,即使微软也不会让用户这么容易.他们的反应是我们没有理由以这种方式比他们更好.我不能与之争辩,除了我觉得他们采用他们的方法有很好的理由.

突然间,我们的安装程序非常庞大..NET的所有先决条件,甚至没有谈论64位支持,它有一整套独立的EXE要安装.所以现在我们希望用户能够下载"快速"评估.真是笑话.您需要下载500MB才能运行30MB的应用程序.大多数安装包都是先决条件.

管理层认为我们有太多的依赖/先决条件.我完全理解.他们建议我们从.NET框架转移回原生土地,在安装方面仍然"容易".这是我的一部分想要代表.NET解释大局的好处,改进的开发体验,更容易维护和整体代码质量的地方.我的另一部分全心全意地同意了!在.NET中开发只需要安装太多其他先决条件,这会使安装变得复杂.

是的,一些.NET支持者会声称应该在修补和更新的操作系统上安装所有内容.这是事实,但并非所有客户都有这个,只是说"我很抱歉,先更新"只是不会削减它.请记住,我们为整体用户体验感到自豪.

我们现在正在考虑再次编写本机代码,我知道我们在开发速度和.NET的所有好处方面都失败了.但是我们正在这个领域获得成功,如果你看一下大局,我们就会变小.由于我们拥有本机代码开发技能,而.NET实际上是我们的新基础,因此回归也是有意义的.

我的问题是:如果这个问题甚至是一个问题,你的公司对这个问题的看法是什么?如果我想继续将所有产品迁移到.NET,我建议管理层提出什么样的商业案例?

.net c#

92
推荐指数
5
解决办法
3134
查看次数

UIPicker的高度

我一直试图改变pickerView的高度.我希望它显示一行而不是默认的五行.帮帮我

iphone objective-c

3
推荐指数
1
解决办法
933
查看次数

如何从Android环境中的Android应用程序中的apk文件获取应用程序或包信息

是否可以从apk文件获取有关包或应用程序的任何信息而无需在Android环境中安装它?

android apk

18
推荐指数
3
解决办法
4万
查看次数