当我意识到MediaLibrary的GetVisualizationData()在WP7上返回一堆零时,我非常不满意.为了从MediaLibrary的歌曲集中计算和提取声谱数据,我可以应用哪些其他方法?
PS它的编写方式表明我正在开发一个XNA项目.我很乐意接受与Silverlight相关的方法,因为这更像是我正在努力解决的一般问题
通常的情况.我有一个简单的应用程序,允许人们上传照片和关注其他人.结果,每个用户将具有诸如"墙"或"活动馈送"之类的东西,其中他或她看到从他/她的朋友(他或她跟随的人)上传的最新照片.
大多数功能都易于实现.然而,当涉及到这个历史活动源时,由于纯粹的性能原因,事情很容易变成混乱.
我在这里遇到了以下困境:我可以轻松地将活动源设计为数据库的规范化部分,这将节省我的写入周期,但是在为每个用户选择这些结果时会极大地增加复杂性(对于每个上传的每张照片)在某个时间段内,选择一个特定的号码,我关注的上传者/我关注的每个人,选择他的照片)
优化选项可以是引入一系列阈值约束,例如,允许我根据上次上传的日期对我关注的人进行排序,甚至排除一些,以节省周期,并为每个用户,仅选择5个(例如)上次上传的照片.
第二种方法是为活动源引入完全非规范化的架构,其中每一行代表我的一个关注者的通知.这意味着每次上传照片时,DB都会在这个"drop bucket"中放入n行,n表示我遵循的人数,即大量的写入周期.但是,如果我有这样的表,我可以轻松地应用一些优化技术,例如聪明的索引,以及修剪早于特定时间段(队列)的条目.
然而,第三种方法可以想到,甚至是一种较少非规范化的模式,其中服务器端应用程序将从数据库中获取部分复杂性.我看到一些社交应用程序(如friendfeed)严重依赖于序列化对象(如DB中的JSON对象)的存储.
我当然还在掌握可扩展数据库设计的技巧,所以我确信有许多我错过或仍在学习的东西.如果有人能给我一个正确方向的光,我将非常感激.
mysql database database-design scalability query-optimization
我正在开展我的高级项目,我们同意的主题是CMS,与Drupal类似,通过提供强大的管理功能可以使事情变得更容易其中一些包括:内容类型和数据字段创建(CCK)视图创建复杂的用户管理(任务和角色)以后添加第三方模块的能力 - 挂钩模板能力
现在的问题是,我必须展示对软件架构和开发过程的充分了解和理解.我肯定不会从头开始,但我也无法在我的文档中演示Drupal
我想使用一个可以构建技能的框架,一个不太复杂的框架,一个仍然会让我编写代码的框架 - 高级项目是关于我的工作,而不是关于php社区的工作
我从Kohana开始,然而,我并不喜欢它.它糟糕的文档,以及代码库的频繁更改让我停下来.
我想的是一些非常小而甜的东西,这些东西并没有出现在每一步中并说:"嘿,你知道什么,我能做得比你好",像CakePHP,也许.
我知道或多或少,我需要的所有代码都可用.然而,这里的观点只是更具学术性.
有什么建议 ?
许多 Go 代码使用以下模式:
var foo Foo
err := db.LoadFooByID(id, &foo)
// use the loaded foo
Run Code Online (Sandbox Code Playgroud)
这种模式有其优点,特别是当涉及到您事先不知道的类型时 ( interface{})。但是,如果您已经知道该类型,无论是任何其他语言,您都可以LoadFooByID像这样使用:
foo, err := db.LoadFooByID(id)
// use the loaded foo
Run Code Online (Sandbox Code Playgroud)
然而,人们仍然更喜欢前一种模式。
我知道这个问题非常主观,但如果您必须提供一种通用案例解决方案,并在代码库(对于已知类型)中一致应用,您会选择哪一个?
如果一个三角形(多边形)例如只覆盖其中一个,为什么四个片段的四个片段都将被着色(计算它们的颜色)?