我正在尝试新的react-router 1.0.0而且我收到了一些我无法解释的奇怪警告:
警告:propType失败:提供给`Route`的无效prop`组件`.
警告:提供给`Route`的未定义的`component`无效.
该应用很简单:
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router';
import App from './components/app';
var Speaker = require('./components/speaker');
ReactDOM.render((
<Router>
<Route path="/" component={App}>
// This is the source of the warning:
<Route path="speaker" component={ Speaker }/>
</Route>
</Router>
), document.getElementById('react-container'));
Run Code Online (Sandbox Code Playgroud)
speaker.jsx:
import React from 'react';
var Speaker = React.createClass({
render() {
return (
<h1>Speaker</h1>
)
}
});
module.exoprts = Speaker;
Run Code Online (Sandbox Code Playgroud)
app.jsx只有以下render()函数:
render() {
return (
<div>
<Header title={this.state.title} status={this.state.status} /> …Run Code Online (Sandbox Code Playgroud) 我有几个包含复杂内容的PDF模板文件以及其中的几个空白区域/区域.我需要能够在这些空白区域中写入文本并将生成的PDF保存在文件夹中.
我搜索了这个问题的答案非常密集,但我找不到明确的答案.其中一个更好的解决方案是PDF :: Toolkit,但它需要购买Adobe Acrobat才能为现有PDF文档添加可替换属性.
PHP世界拥有FPDI,可用于简单地打开PDF文件并在现有内容上书写/绘制.这个库有一个Ruby端口,但它的最后一次提交发生在2009年初.此项目看起来并不像它被广泛使用和支持.
问题是:在现有PDF上编辑,编写或绘图的Ruby方式有哪些?
这个问题似乎也没有在这里回答.这些问题是相关的,但并不完全相同:
是否有一种简单的方法将二进制数据写入二进制文件,就像我们以前在C/C++中所做的那样?例如,如何在不使用花哨数学的情况下创建具有序列化4字节整数值的4字节文件?
Docker在我的Mac上工作得很好,但我必须在VirtualBox(或Parallels,或VMWare Fusion)中运行docker主机,因为Mac的内核不支持docker.
所以我尝试在Ubuntu桌面上设置我的应用程序和docker-compose - 本机地,docker客户端和docker主机在同一系统上物理运行.这有效,但我运行的docker容器无法写入已装入的主机卷.
我使用docker-compose进行以下设置:
volumes:
- ./api:/usr/src/app
Run Code Online (Sandbox Code Playgroud)
所以我将主机Ubuntu OS的"api"目录挂载到/ usr/src/app下的docker容器中.
docker inspect <container ID> 表明该卷是可写的
"Destination": "/usr/src/app",
"Mode": "rw",
"RW": true
Run Code Online (Sandbox Code Playgroud)
但事实并非如此:permission denied当我尝试从docker容器中创建目录或编辑文件时,我得到了.
当然,我搜索了这个问题,我遇到了一些CentOS/RHEL的SELinux问题,但我运行的是Ubuntu 15.10,64位版本,而不是CentOS.
这个问题可能听起来类似于Rails turbolinks长请求不显示页面加载.
我最近开始使用新的Rails 4应用程序,它默认使用Turbolinks库 - 它很棒:让应用程序感觉更快/更快,但是我确实有一些页面比其他页面慢.
不幸的是,我找不到一个让浏览器显示默认加载指示器的好方法- 就像加载"常规"网页时一样.人们推荐不同的JavaScript解决方案,例如https://github.com/caarlos0/turbolinks_transitions.虽然有些看起来不错,但"平均互联网用户"并不习惯在默认浏览器的加载指示器以外的地方看到加载进度.
我的大多数页面都很快,所以我想为不会在300毫秒内加载的页面显示此加载指示器.
谢谢!亚历克斯.
SAML联合软件是否应该接受相同的SAML响应,只要它在允许的SAML令牌生存期内?
简单来说: IDP(标识提供者)发出SAML响应,然后SP(服务提供者)接受/处理它.可以在首次使用后立即重复使用相同的未修改的SAML响应吗?鉴于SAML发布时间戳在允许的范围内.
在安全方面,将SAML令牌(响应)限制为仅一次使用是有意义的,因此即使它被"中间人"窃取 - 它也不能被重用.但是为了实现这一点,软件需要在某处存储有关SAML响应的一些信息:序列号,整个事物的哈希值?
请提供一些链接,说明可能的解释和/或实施示例.
谢谢!亚历克斯.
我需要以不同于其他所有类型的方式处理404异常.识别这些404异常的最佳方法是什么(将它们与其他异常区分开来)?
问题是404错误没有特殊的异常类,我得到常规的System.Web.HttpException,其中Message ="文件不存在".
我应该只使用异常消息还是有更好的方法?
谢谢.
TL;DR:如何在 paper_trail之间nil和blank中跳过更改?
我使用https://github.com/airblade/paper_trail来记录几个ActiveRecord对象中的数据更改。从我的客户的角度来看,某些更改是无用的,因此我需要忽略nil和blank(空字符串)之间的所有更改。
paper_trail好像没有这样的选择。您可以使用:skip选项跳过某些字段。您能否传入一个“决定”有条件地跳过更改的 Proc?
我正试图在我的Rails 3项目中使用rake db:seed为大约100,000个用户播种,这真的很慢!
这是代码示例:
# ...
User.create!(
:display_name => "#{title} #{name} #{surname}",
:email => "#{name}.#{surname}_#{num}@localtinkers.com",
:password => '12341234'
)
Run Code Online (Sandbox Code Playgroud)
它有效,但它真的很慢,因为每个用户:
对于其他对象,我使用" ar-extensions "和" activerecord-import "gems,如下所示:
tags.each do |tag|
all_tags << Tag.new(:name => tag)
end
Tag.import(all_tags, :validate => false, :ignore => true)
Run Code Online (Sandbox Code Playgroud)
上面为所有标记创建了一个INSERT语句,它的工作速度非常快,就像从SQL转储中恢复MySql数据库一样.
但对于用户我不能这样做,因为我需要Devise为每个用户生成加密密码,盐等.有没有办法在SQL端生成它们,还是有其他有效的方式来播种用户?
谢谢.
我已经浏览了类似的问题并阅读了几篇有关 SAML 2.0 的文章,但我仍然无法理解 SAML Auth Request。
我已经实施了多个基于 SAML 的 SSO 解决方案,其中我的公司是 IdP(身份提供商)。我们一直通过 SAML 响应将用户从我们的网站发送给第三方:
就是这样。
SAML 2.0 文章(例如,维基百科关于 SAML 2.0 的概述文章)表明我们缺少一个步骤:“SAML Auth Request”。看来 SP 需要通过首先向 IdP(我们)发送“SAML 身份验证请求”来启动 SSO,然后我们应该使用 SAML 响应来响应它。
SP 如何决定何时发起 SSO?SP 甚至不知道我们将按照他们的方式发送用户。用户当前已登录我们的网站,由用户决定何时单击该链接,这将“神奇地”在 SP 网站中对他们进行身份验证。
谢谢你!
PS 我知道 SAML 2.0 是“既定的行业标准”,但我使用它的次数越多,我就越觉得它有点矫枉过正。由于其复杂性,存在大量不同的不兼容的实现(根据我的经验)。每次我们与新合作伙伴进行 SSO 时,这都是一种痛苦。大公司通过销售“开箱即用”的 SAML 解决方案赚了一大笔钱,但没有人知道如何正确配置和排除故障,因此人们几乎被迫支付昂贵的承包商费用来完成所有设置。公司希望能够雇用低工资员工来支持那些过于复杂的 SAML 解决方案。当与第三方设置 SSO 时,我经常与那些不知道它是什么的人打交道,他们只是接受过单击按钮并通过电话向我阅读神秘错误消息的培训。这都是由于 SAML 被过度设计造成的。但是,嘿 - 有一个光明的一面:我得到了很好的报酬,因为我对 SAML 足够了解,至少可以让它发挥作用。:)
ruby ×3
javascript ×2
opensaml ×2
activerecord ×1
asp.net ×1
browser ×1
devise ×1
docker ×1
fpdi ×1
linux ×1
mysql ×1
performance ×1
react-jsx ×1
react-router ×1
reactjs ×1
saml ×1
saml-2.0 ×1
soa ×1
throbber ×1
turbolinks ×1
ubuntu ×1