我对一些最佳实践感到好奇.
有一个git repo,我想在我的项目中包含一个子模块.我也想为这个回购做出贡献并提供拉动请求.我已经将repo分叉了,并希望将我的fork作为子模块添加到我的项目中.
我slim在我的fork中创建了一个新的分支,从原始的repo master分支中删除了一些东西:例如示例文件,演示等.我特别想slim在子模块中使用这个分支来保留额外的东西.
我已经成功完成了这个分支和子模块策略.但是我现在想知道拉动请求和对项目的贡献.
理想情况下,我想将子模块编辑为项目的一部分,并将提交推送到子模块slim分支.然后我想将slim分支中的更改合并回来,master以便我可以执行拉取请求.
但是我不希望我在slim分支上的初始删除提交合并回主服务器.有什么方法可以回馈到项目,而不是弄乱我的一些删除提交?
我有2个工厂.Beta_user和Beta_invite.基本上在Beta_user可以有效保存之前,我必须创建一个Beta_invite条目.不幸的是,这些模型没有干净的关联,但它们共享一个电子邮件字段.
Factory.sequence :email do |n|
"email#{n}@factory.com"
end
#BetaInvite
Factory.define :beta_invite do |f|
f.email {Factory.next(:email)}
f.approved false
f.source "web"
end
#User
Factory.define :user do |f|
f.email {Factory.next(:email)}
f.password "password"
end
#User => BetaUser
Factory.define :beta_user, :parent => :user do |f|
f.after_build do |user|
if BetaInvite.find_by_email(user.email).nil?
Factory(:beta_invite, :email => user.email)
end
end
end
Run Code Online (Sandbox Code Playgroud)
所以在beta beta_user工厂中我试图使用after_build回调来创建beta_invite工厂.
然而,它似乎是异步或其他东西.可能会执行find_by_email获取?
如果我试试这个:
Factory(:beta_user)
Factory(:beta_user)
Factory(:beta_user)
Run Code Online (Sandbox Code Playgroud)
我得到一个失败声明,没有用户发送电子邮件的beta_invite记录.
如果相反,我尝试:
Factory.build(:beta_user).save
Factory.build(:beta_user).save
Factory.build(:beta_user).save
Run Code Online (Sandbox Code Playgroud)
我得到了更好的结果.好像调用.build方法并等待保存允许创建beta_invite工厂的时间.而不是直接调用Factory.create.文档说,在调用Factory.create的情况下,调用after_build和after_create回调.
任何帮助深表感谢.
更新:
因此,我使用的用户模型会before_validation调用检查是否存在测试版邀请的方法.如果我移动此方法调用before_save.它工作正常.有什么我在看的东西.factory_girl何时运行after_build与after_create活动记录相关的回调before_validation和before_save?
我有一个返回数组的选择器.数组中的元素本身具有派生数据.我基本上需要一个递归memoization选择器,它返回一个由派生元素组成的派生数组.
我目前的尝试是:
export const selectEntitesWithAssetBuffers = createSelector(
[selectSceneEntities, getAssets],
(entities, loadedAssets) => {
return entities.map((entity) => {
entity.buffers = entity.assets.map((assetName) => {
return loadedAssets[assetName].arrayBuffer;
})
return entity;
})
}
)
Run Code Online (Sandbox Code Playgroud)
我在这里的担忧是随时entities或loadedAssets改变这将重新计算整个列表.我期待设置的东西就像是一个selectEntityWithBuffer传递给它的东西entities.map.理想情况下,我希望这只在entity.assets数组更改时重新计算.
在检查网站上的源代码后,这一直困扰着我.我在模板中使用PHP输出来获取动态内容.模板仅以html开头,并且干净地缩进和格式化.然后添加PHP内容并缩进以匹配html格式.
<ul>
<li>nav1</li>
<li>nav2</li>
<li>nav3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
变为:
<ul>
<?php foreach($navitems as $nav):?>
<li><?=$nav?></li>
<?php endforeach; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
当在html中输出时,封装的PHP行被删除但是用于格式化它们的空白空间被保留并且抛出视图源格式化所有的重击.我提到的网站在视图源输出上格式干净.我应该假设他们正在使用一些模板引擎吗?还有什么办法可以清理我的模板类型吗?没有手动删除空白并牺牲开发方的可读性?
我正在努力优化其上有Flash的页面.我正在使用优化实践,例如将Javascript移动到底部以不阻止.删除内联脚本.并使用缩小的css和js最小化HTTP请求.
大多数页面内容都在flash中,因此尽快加载它是目标.目前在闪存均匀渲染之前有2~3秒的延迟(使用firebug profiling)
我想知道在页面加载的什么时候浏览器开始在页面上初始化flash?
一旦包含闪存的DOM元素被渲染了吗?
一旦完成onload事件被解雇了吗?
我想它也可能与每个浏览器不同.
我正在寻找类似于Javascript arguments阵列的东西:
function parent(){
child.apply(this.arguments);
}
Run Code Online (Sandbox Code Playgroud)
我知道变量参数长度的点符号以及scheme的apply函数.
这似乎不起作用,因为点被视为第一个参数:
(define (parent .)
(list .))
(parent 1 3 4 6 7)
Error: bad argument count - received 5 but expected 1: #<procedure (array arg-list)>
Run Code Online (Sandbox Code Playgroud)
这有效,但并不理想.我想在没有额外语法的情况下调用函数来定义args列表:
(define (parent args-list)
(apply list args-list))
(parent 1 3 4 6 7)
Error: bad argument count - received 5 but expected 1: #<procedure (array args-list)>
(parent `(1 3 4 6 7))
(1 3 4 6 7)
Run Code Online (Sandbox Code Playgroud) 默认情况下,GatsbyJS正在推动使用css模块和自定义css-in-js库,如迷人和排版
不幸的是,我正在将现有网站移植到使用传统全球样式表的GatsbyJS.将所有现有HTML-CSS工具转换为CSS模块的工作是一件苦差事.
我目前的黑客是更新GatsbyJS html.js并添加一个
<link rel="stylesheet" type="text/css" href="/style.old.css" />
到标题.我style.old.css生活在/public这里,然而,当构建运行时,它会被消灭.
我希望有一个插件来支持这一点,但似乎Gatsby团队正在劝阻全球CSS,这对新项目来说是可以理解的.
我试图编写一个插件来添加它,但是找到了有关如何编写"样式插件"的有限资源.
我正在使用https://github.com/glslify/glslify在glsl着色器之间共享代码。
我有一个vert着色器,它试图在vert的顶部包含一个模块:
#pragma glslify: JointAndPalette = require('./JointAndPalette.glsl');
#pragma glslify: decodeJointAndPalette = require('./decodeJointAndPalette.glsl');
JointAndPalette jointAndPalette = decodeJointAndPalette(inputProps);
Run Code Online (Sandbox Code Playgroud)
decodeJointAndPalette也依赖于该JointAndPalette结构作为其返回定义
JointAndPalette看起来像:
struct JointAndPalette
{
int jointId;
int paletteId;
};
#pragma glslify: export(JointAndPalette)
Run Code Online (Sandbox Code Playgroud)
encodeJointAndPalette看起来像:
JointAndPalette decodeJointAndPalette(float jointPaletteSplit) {
// implementation
JointAndPalette JandP;
JandP.jointId = int(x);
JandP.paletteId = int(y);
return JandP;
}
#pragma glslify: export(decodeJointAndPalette)
Run Code Online (Sandbox Code Playgroud)
从glslify文档对我来说还不清楚如何构造这种依赖关系
我在Perl Web框架中构建一些ajax Dancer我不确定它是否正在响应正确的http头,因为我无法从看似成功的请求中触发jQuery的ajax成功处理程序.使用下面的ajax片段,我在浏览器控制台中获得以下输出.完整的回调被成功调用,并提供看起来成功的输出.Status:200 StatusText:"OK"然而,成功处理程序永远不会被调用.
$.ajax({type: "GET", url: "/learn/faq",
success: function(data){console.log('omg got it');},
complete: function(data){console.log("complete", data);}
}).success(function(data){console.log('defered');});
Object
XHR finished loading: "https://www.localhost:4443/learn/faq". assets-d36e1bb9fd59ba3dbd0f8a0cbb37ed8e.js:1
complete
Object {readyState: 4, responseText: "??<!DOCTYPE html>?<html xmlns="http://www.w3.org/1…ead/conversion.js"></script>????</body>?</html>??", status: 200, statusText: "OK"
Run Code Online (Sandbox Code Playgroud)
我应该看到omg got it和defered消息,但不是.看看这个我觉得jQuery成功处理程序比状态和Dancer http实现没有正确响应更多.
此外,我已经error在片段中添加了一个处理程序,并且错误处理程序正在被看似成功的请求触发.
$.ajax({type: "GET", url: "/learn/faq",
success: function(data){console.log('omg got it');},
complete: function(data){console.log("complete", data);},
error: function(data){console.log("error!", data);}
}).success(function(data){console.log('defered');});
Object
XHR finished loading: "https://www.localhost:4443/learn/faq". assets-8cd028b93e0db9dd9455125dc98d5ae1.js:1
error!
Object {readyState: 4, responseText: "????????????????<!DOCTYPE html>?<html xmlns="http:…></script>????</body>?</html>????</body>?</html>?", status: 200, statusText: …Run Code Online (Sandbox Code Playgroud) 如何将Confluence"space"导出为pdf?看起来它仍然可以使用XML-RPC API在Confluence 5.0中得到支持.但是我找不到一个可以调用的例子.
该链接表示调用应该以前缀为前缀pdfexport,但不会列出任何调用或给出示例.
javascript ×3
html ×2
activerecord ×1
arguments ×1
browser ×1
confluence ×1
css ×1
dancer ×1
factory-bot ×1
flash ×1
fork ×1
function ×1
gatsby ×1
git ×1
git-merge ×1
github ×1
glsl ×1
glslify ×1
jquery ×1
pagespeed ×1
php ×1
reactjs ×1
redux ×1
reselect ×1
rspec ×1
ruby ×1
scheme ×1
webgl ×1
webpack ×1
xml-rpc ×1