Tag: 架构

用于将多个用户帐户合并在一起的架构

好吧,我有一个网站,您可以注册自己并login。 您也可以使用您的Facebook,Twitter或LinkedIn帐户login。 用户只需注册一个帐户就很重要。 所以不知何故,我想合并用户的帐户,如果他们使用不同的方法login。 什么是解决这个问题的最佳解决scheme? 例如,用户使用他的Facebook帐户login。 我使用这些数据自动为他注册一个帐户。 我应该使用我们网站的用户名和密码发送电子邮件吗? (如果Facebook的政策没有问题)。 我应该给他们第二个屏幕,他们可以填写用户名和密码? 但是,这不是用你的Facebook账号login的想法。 它应该简化您的程序参与。 用户也可以在我们的网站上注册自己,并在下一次用他的Twitter帐户login。 我怎样才能将这两个账户合并为一个? 什么是最好的方法? 所以基本上我的问题是:我有4种不同的方式,用户成为我们网站的成员。 如何确保用户决定使用多种方式时,所有这四种方式只能创build一个帐户? 什么是最好的stream程,以确保它不会成为用户自己的麻烦? 编辑: 在我问这个问题3年之后,我在一系列文章中自己给出答案: http : //www.sitepoint.com/series/using-social-networks-as-a-login-system/

Facebook架构

我一直在寻找有关Facebook的架构文章/信息,他们面临的挑战和方法。 他们使用什么和他们为什么使用。 他们是如何扩展规模的?他们所做的devise决定是什么等等。主要的基础是学习。 了解处理如此巨大stream量的网站会给build筑师等提供很多指导,以便在devise新网站时记住某些内容。 我分享我发现的东西。 Facebook科学与社会图表(video) 在Facebook上进行缩放 Facebook聊天架构 Facebook博客 Facebook Cassandrabuild筑与devise Facebook工程笔记 Quora – Facebook架构 面向600M用户的Facebook Hadoop及其在Facebook的使用 Erlang在Facebook:聊天架构 Facebook性能caching Facebook连接架构 我有2个更多的链接,但无法发布,由于在这个网站的限制。 另外,如果有人有更好的东西,请分享(不需要仅与Facebook相关)。 PS –我无法find分享这项研究的好地方,因此这个倡议。 希望这有助于某人。

在Python中构build一个最小的插件体系结构

我有一个用Python编写的应用程序,由相当技术的读者(科学家)使用。 我正在寻找一个很好的方法来使应用程序可以扩展的用户,即脚本/插件架构。 我正在寻找一些非常轻量级的东西。 大多数脚本或插件不是由第三方开发和分发的,而是在几分钟内被用户激活,以自动执行重复任务,添加对文件格式的支持,所以插件应该有绝对最小的样板代码,除了复制到文件夹之外,不需要“安装”(所以像setuptools入口点,或者Zope插件架构看起来太多了)。 有没有像这样的系统,或者有什么项目实施类似的scheme,我应该看看的想法/灵感?

什么是自以为是的软件?

我经常看到有人说某些软件“非常有见地”,或者说微软倾向于写下“无知”的框架。 这实际上是什么意思?

为什么Linux被称为单片内核?

我读过Linux是一个单一的内核。 整体内核是指将完整的内核代码编译和链接到可执行文件中吗? 如果Linux能够支持模块,为什么不把所有的子系统分解成模块并在必要时加载? 在这种情况下,内核不必首先加载所有模块,并且可以维护模块中的function索引并在必要时加载它们。

域驱动devise:域服务,应用程序服务

有人可以通过提供一些例子来解释域和应用程序服务之间的区别吗? 而且,如果一个服务是一个域服务,我会把这个服务的实际实现放在这个域的程序集中吗?如果是的话,我还会把这个服务注入到这个域服务中吗? 有些信息会非常有帮助。

你如何devise面向对象的项目?

我正在开发一个大型项目(对我来说),这个项目有很多类,需要进行扩展,但是我不确定如何规划我的程序以及类是如何交互的。 我在几个学期回到了OOD课程,并从中学到了很多东西。 比如编写UML,将需求文档翻译成对象和类。 我们也学习了序列图,但不知何故,我错过了讲座之类的东西,他们并没有真正坚持我。 在以前的项目中,我尝试过使用从课程中学到的方法,但是通常会以代码的forms结束,只要我可以说“是啊,看起来像我脑子里想的那样”,我不想挖掘泥土来添加新function。 我有一个史蒂夫麦康奈尔的代码完成 ,我不断听到是惊人的,在这里和其他地方的副本。 我阅读了关于devise的章节,似乎没有提供我正在寻找的信息。 我知道他说,这不是一个干净的过程,它主要是基于启发式的,但我似乎无法把他所有的信息都应用到我的项目中去。 那么在高级devise阶段(在开始编程之前),你需要做什么来确定你需要什么类(尤其是那些不是基于任何“真实世界对象”的类),以及它们将如何相互交互 ? 具体来说,我感兴趣的是你使用什么方法? 你所遵循的过程是什么,通常是一个好的,干净的devise,将密切代表最终产品?

基于组件的游戏引擎devise

我一直在寻找游戏引擎devise(专注于二维游戏引擎,也适用于三维游戏),并对如何去做一些信息感兴趣。 我听说现在很多引擎正在转向基于组件的devise,而不是传统的深层对象层次结构。 你知道有关这些devise经常被实现的信息有什么好的联系吗? 我已经看到了你的层次结构的发展 ,但是我不能find更多的详细信息(其中大部分只是说“使用组件而不是层次结构”,但是我发现需要一些努力来改变我的想法两种模式之间)。 任何良好的链接或信息将不胜感激,甚至书籍,虽然这里的链接和详细的答案将是首选。

什么时候Redis? 什么时候到MongoDB?

我想要的不是Redis和MongoDB之间的比较。 我知道他们是不同的; 性能和API是完全不同的。 Redis非常快,但API非常“primefaces”。 MongoDB会吃更多的资源,但是这个API非常容易使用,而且我非常满意。 他们都很棒,我想尽可能地使用Redis进行部署,但是很难编写代码。 我想尽可能地在开发中使用MongoDB,但是它需要一个昂贵的机器。 那么你怎么看待这两者的使用呢? 什么时候选Redis? 何时selectMongoDB?

MySQL中INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?

在创buildMySQL表时,PRIMARY,UNIQUE,INDEX和FULLTEXT有什么区别? 我将如何使用它们?