标签: catalyst

什么是Catalyst应用程序的最佳动作持久性技术?

我正在写一个Catalyst应用程序,它需要有一个相当短的会话到期时间(15分钟).我正在使用标准的Catalyst框架身份验证模块,因此用户数据存储在会话中 - 即,当会话到期时,您将被注销.

此应用程序的许多用途将需要> 15分钟才能完成,因此用户将经常提交表单,只是发现他们的会话状态已经消失,他们需要重新登录.

如果发生这种情况,我想保留原始表单提交,如果他们成功登录,继续执行表单提交,就像会话未过期一样.

我已经通过控制器中的auto()方法处理了身份验证内容 - 如果您请求需要身份验证的操作并且您当前未登录,则会重定向到login()方法,该方法会显示登录表单,然后在提交后处理它.似乎应该可以在auto方法重定向到login()时存储请求和任何表单参数,然后在login()成功时将它们拉回来 - 但我不完全确定最好的以通用/标准/可重用方式获取或存储此信息的方法.(我正在考虑将它存储在会话中,然后在它被撤回后将其删除;如果这看起来是个坏主意,那还有其他问题需要解决.)

有没有标准的"最佳实践"或烹饪方法来做到这一点?

(一个皱纹:这些表格是通过POST提交的.)

perl catalyst

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

IE9丢失了对本地Catalyst服务器的请求

好的,这很难.我有一个Catalyst服务器,我可以从Firefox 4,Chromium 12和其他计算机上的IE 8和9访问得很好.当我尝试在我自己的机器上从IE9访问它时(服务器所在的同一台机器),我得到奇怪的超时和延迟.Catalyst服务器的输出没有显示这些延迟,IE9流量视图甚至没有显示请求曾被发送过!

IE9请求时间表

当服务器挂起时,它使用100%的处理器核心,但随后它又回退到空闲而不输出任何东西.从Chrome或FF请求时,此相同请求需要5毫秒.

如果我锁定了服务器,我得到了这个令人恐惧的低级别错误:

Can't coerce UNKNOWN to string in sysread 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 440.
Can't call method "_socket_data" without a package or object reference 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 358.
panic: pad_free curpad 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 358.

IE9如何将请求路由到本地套接字有什么不同?

环境信息:

  • Windows 7 Pro x64
  • 草莓Perl 5.10.1 x86
  • Catalyst 5.80032
  • Internet Explorer 9.0.8112.16421

perl networking internet-explorer catalyst internet-explorer-9

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

UIDatePicker 在 macCatalyst 中不起作用(Xcode 11 Beta 5)

我们正在使用 xcode 11 beta 5 中的催化剂 swift 将我们的 iOS 应用程序转换为 macCatalyst 兼容。

我们遇到了默认 DatePicker 未显示在窗口中的问题。

我正在为 mac 尝试这个解决方案,它会在视图中添加日期选择器,但我想要另一个合适的解决方案。还有什么建议吗?

func datepickerWillLoad() {
        self.datePicker.datePickerMode = .date
        self.datePicker.maximumDate = Date()
        self.datePicker.backgroundColor = UIColor.Theme.lightBackground
        self.datePicker.setValue(UIColor.Theme.whiteColor, forKeyPath: "textColor")
        self.datePicker.addTarget(self, action: #selector(didChangedDatePickerValue), for: .valueChanged)

        //if user open picker and without change click on done
        self.dateOfBirthTextField.addTarget(self, action: #selector(didChangedDatePickerValue), for: .editingDidEnd)

        #if targetEnvironment(macCatalyst)
            datePicker.frame = CGRect(x: 0, y: self.view.frame.height - 200 , width: self.view.frame.width, height: 200)
            self.view.addSubview(datePicker)
        #else
            self.dateOfBirthTextField.inputView = datePicker
        #endif
    }
Run Code Online (Sandbox Code Playgroud)

catalyst uidatepicker swift xcode11 uikitformac

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

如何在 Mac Catalyst 13.0+ swift 中打开 Finder

他在那里,我正在尝试在 Mac Catalyst 13.0+ 中打开(启动)一个 Finder。并且“ NSWorkspace ”在 Mac Catalyst 中不可用

我的代码:

func openFinder(url: URL?){
    guard let url = url else { return }
    NSWorkspace.shared.activateFileViewerSelecting([url])
}
Run Code Online (Sandbox Code Playgroud)

错误:

“NSWorkspace”在 Mac Catalyst 中不可用

你知道我如何在 Mac Catalyst 中做到这一点吗?

macos catalyst swift mac-catalyst

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

将CGI迁移到框架的最佳方法是什么?

我有一个在perl CGI中运行的大型Web应用程序.它运行正常,编写得很好,但是就像过去一样,所有的html都是在CGI调用中硬编码的,所以你可以想象,它很难保持,改进等等所以现在我想开始添加一些模板并与框架(催化剂或CGI ::应用程序)集成.我的问题是:这里有人有这样的经历吗?有什么我必须注意的事情吗?我知道使用这两个框架我可以运行原生CGI脚本,所以它很好,因为我可以同时运行这两个(CGI原生广告"框架"代码)而没有任何创伤.有小费吗?

model-view-controller perl cgi catalyst

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

Catalyst + Mason + Template :: Toolkit值得学习而不是坚持使用LAMP + Axkit吗?

目前我正在使用相当多的Unix + Mysql + Perl + Apache和一些javascript来使它更​​像ajax.我一直在寻找web 2.0和stackoverflow的网站,真的很喜欢简单的设计和来自页面和动作等的流畅的流程.

我正在努力决定学习催化剂,泥瓦匠等是否能够为我提供构建功能强大且流畅的Web 2.0网站的能力,而不需要花费更少的精力和更简单,更清晰的代码来维护.

截至目前,我并不喜欢我建立的网站,因为它非常陈旧和缓慢.但我从这里读到,如果我想用它建立一个职业,那么LAMP会是一个更好的选择吗?

只是想知道这三个标准,我最好的一步是什么?

  1. 职业发展
  2. 轻松构建功能强大的Web 2.0网站
  3. 催化剂以什么方式实际上比LAMP更好?

谢谢.〜史蒂夫

perl exchange-server web-frameworks catalyst

7
推荐指数
2
解决办法
2161
查看次数

是否有使用HTML :: Template而不是TT的Catalyst教程?

我一直在浏览几个Catalyst教程,他们都倾向于使用Template Toolkit而不是HTML :: Template.

我花了很多时间使用HTML :: Template而且我喜欢它,虽然我可以看到TT的强大功能,但我不知道它,我觉得我会一次学习两件事; 另外,因为它在模板中进行处理,我不确定我的HTML :: Template $template->param(foo => \$bar);代码会在哪里发生!

有人知道使用HTML :: Template的好教程/代码示例吗?

perl catalyst template-toolkit perl-html-template

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

我应该如何使用作业队列[和Perl/Catalyst]来最好地构建我的Web应用程序?

我正在使用Catalyst框架编写Web应用程序.我还使用了一个名为TheSchwartz的作业队列.

我想要使​​用作业队列,因为我希望尽可能多的特定于应用程序的代码与Web应用程序接口代码分离.

基本上整个系统由三个主要部分组成:

  • GUI(Catalyst Web界面)
  • 一个爬虫
  • "攻击组件"(正在编写应用程序以查找其他Web应用程序/站点中的XSS和SQLi漏洞)

因此理论上,GUI为爬虫创建作业,从而为"攻击组件"创建作业.

目前我在Catalyst中有一个Model,它实例化一个TheSchwartz对象,以便Web应用程序中的控制器可以将作业添加到作业队列中.

我还需要创建一些工作者脚本来持续监听(/检查数据库)新的作业,以便他们可以执行所需的操作.目前TheSchwartz的数据库特定内容是在Catalyst中的模型中,我认为我不能轻易访问Catalyst之外的内容?

我不想在模型中复制TheSchwartz作业队列的数据库连接数据,然后在我的作业工作者脚本中复制数据库连接数据.我应该在位于Catalyst外部的另一个类中包装TheSchwartz对象的创建,并在当前实例化TheSchwartz对象的模型中调用它吗?然后我也可以在工作脚本中使用它.或者我应该在配置文件中包含数据库数据并在需要时实例化新的TheSchwartz对象(在Catalyst /内部作业工作者脚本中)?

或者我只是在想这个?

一些内容丰富的Web应用程序架构文章的链接也可能很有用(我之前从未构建过一种复杂的复杂性).

干杯

architecture perl web-applications catalyst job-queue

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

如何管理开源Perl项目使用的模块的安装?

我使用Catalyst,Open Street Map和几十个模块开发了一个小型的开源Perl项目.我尝试尽可能多地使用CPAN上的模块,因为我的目标不是重新发明轮子.

所有这些东西都是通过cpanm和local :: lib安装的.每次我需要新东西时,我都会安装几个模块和依赖项(使用cpanm非常简单).现在,我问自己,克隆我的项目的人们如何安装数十个模块而不会出现可怕的头痛问题?

这方面的最佳做法是什么?我应该将所有必需的模块列入Makefile.pl?我现在感到焦虑,因为我在这个项目上努力工作,尝试遵循很多好的做法,但觉得我在这一点上犯了一个错误(因为没想到​​这个).

我需要一些关于这个问题的建议,因为一切看起来都很神奇,我不相信它足以用'require'关键字列出Makefile中的模块名称.我希望也没有必要在项目中包含所有依赖项并提交所有这些大包以供以后使用.

perl cpan makefile catalyst

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

条纹:我是否需要退还未收取的费用?

因此,在我们的应用程序中,我们不会立即收费,而只需创建设置条chargecapture,false以便客户不会立即收费.

问题:Refund尽管我们在非捕获模式下创建了一个电荷,我们是否还应该为客户发出一个(在app/db错误的情况下)?

谢谢您的帮助

payment strip catalyst stripe-payments

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