我喜欢facebook如何逐步发布功能,而不是一次性发布给整个用户群。我知道,如果语句在整个代码中都很清楚,那么可以使用一堆语言进行复制,但需要有更好的方法来执行此操作。也许这就是他们所做的一切,但这似乎相当不优雅。有没有人知道架构是否有行业标准,而不是可以逐步向用户群的某些部分发布功能?
在同样的说明中,我感觉他们的所有员工都看到了完全不同的网站测试版。因此,他们似乎能够将其网站的某些部分视为测试版,将其他部分视为制作,并拥有某种访问控制列表来指导人们看到的内容?这似乎很慢。
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
更优雅的解决方案是使用gargoyle (in python).等系统的 var PDF_FILES_DIRECTORY = "",
PDF_FILES = ['pdf2.pdf'];
var CURRENT_FILE = {};
$.each(PDF_FILES, function (index, pdf_file) {
PDFJS.getDocument(PDF_FILES_DIRECTORY + pdf_file).then(function (pdf) {
for(idxPage = 1 ; idxPage < pdf.numPages ; idxPage++) {
pdf.getPage(idxPage).then(function (page) {
var viewport = page.getViewport(1);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
page.render(renderContext).then(function () {
ctx.globalCompositeOperation = "destination-over";
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, canvas.width, canvas.height);
var img_src = canvas.toDataURL();
var $img = $("<img>").attr("src", img_src);
var $thumb = $("<div>")
.attr("class", "thumb")
.append($img);
$thumb.appendTo("#thumbnail");
canvas.remove();
});
}); // end of getPage
}
}); // end of getDocument
}); // end of each
语句和功能标记
使用这样的系统,您可以执行以下操作:
if
在Web界面中,您可以隔离描述系统所拥有的用户,请求或任何其他关键对象,并将功能提供给他们。实际上,通过请求,您可以执行诸如将X%的流量直接指向新功能,从而执行A / B测试和收集分析等操作。
答案 2 :(得分:0)
采用分层架构的方法是将身份验证层交给产品层。
用户输入产品URL并将其解析为将其定向到身份验证服务器群集。这些服务器处理身份验证,然后将会话移交给产品服务器集群。
使用这种方法,您可以:
例如,您可以让A区运行最新的生产代码,B区运行Beta代码。在登录时,身份验证服务器将每个用户名以a-m开头的用户发送到A区,将n-z发送到B区。这样,大约有一半的用户在beta产品上运行。
根据您在登录时提供的信息,您甚至可以做一些比这更复杂的事情。例如,您可以定位特定的用户人口统计信息(例如年龄范围,性别,位置等)。