尝试将我服务器上呈现的照片上传到用户的脸谱相册.由于FB Docs非常,非常非常糟糕(至少可以说),我希望有人向我展示一些使用PHP SDK的Graph API调用的良好代码示例?
我从来没有真正看过工厂模式,今天决定花时间根据这篇文章(http://msdn.microsoft.com/en-us/library/ee817667.aspx)创建一个快速示例,最后让我的头围绕它.
源代码完美地安排在三个单独的程序集中,整齐地命名为Product,Factory和Client.
Factory模式的主要优点(据我所知)是从"Client"类抽象"product"类的实例化.因此,在提供的示例中,无论是否对产品类进行任何更改,Product实例化都不会更改,您仍然必须对客户端类进行更改以传递创建更新产品所需的新值.毕竟这个数据必须来自某个地方?
我读到的另一个例子表明,一旦实现了一个类并且其他类的负载直接使用它,在这里对"product"类所做的更改将需要对该类的每个实例化进行更改,例如,如果构造函数中需要新变量.
根据我的理解,Factory模式确保此类的实例化永远不会更改,如果要将新变量传递给product构造函数,您最终必须将这些新变量传递给更新的工厂.
因此,这显然不能解决问题,而只是移动它并且这样做会增加额外的复杂性.
鉴于这是一种既定的模式,我显然错过了一些东西.因此这篇文章:请向我解释我错过了什么.
谢谢
这可能听起来很有趣(或者可能已经习惯),我只是想将一个非常大的数据库上传到内存中(这可以从12GB上传到16GB).该文件将每天上传到内存中,随后将用于整个内存一天(等等).如果我在这个用例中使用STL映射是否可以?STL映射在64位机器上的那种数据大小是否正常工作(如果有人有任何处理这类问题的经验).也不是.对该STL映射的查询大约是每秒1000次.让我知道是否有人有任何处理此类问题的经验,或者我应该寻找其他一些数据结构(任何可以可靠地执行此操作的第三方工具)?
我的主要问题是我想实时保存我的I/O时间.但我也有mysql作为我的数据库,我需要保存这些数据.如果我使用sqlite作为"在内存"DB然后我保存mysql中的数据(在磁盘上)?我认为mysql也为类似的东西提供了"MySQL Cluster",但我不知道它实际上有多么有用.
我目前正在运行MySQL数据库.我的所有表都使用Table Engine InnoDB.
登录我的应用程序的每个人都可以查看记录,我担心在某些时候两个用户可能同时更新或插入记录.MySQL是否优雅地处理这种类型的并发问题,或者这是我必须编程到我的代码中的东西?
如果我必须将它编程到我的代码中,你如何处理这样的并发案例?
我正在编写一个预测搜索,为了服务器性能要求(所有都是缓存的),必须在客户端浏览器上运行.这些项目是电视节目和电影,并由标题,演员和导演名称匹配.执行搜索后,它会返回一个匹配项列表,每个结果有两个值:
匹配单词的数量(n):用户可以输入4个单词,但只有2个单词与一个项目匹配.越多越好.
在莱文斯坦编辑距离增加(LD).用户可以输入3个单词,但其中有2个单词与索引的单词有拼写错误或其他小差异.我使用编辑距离来查找最近的索引字.所有Levenshtein距离的添加都作为接近指示符返回.越少越好.
要求
客户端.没有Sphinx,Lucene或任何其他服务器端解决方案.
速度超过准确性.该算法在每次击键时运行,我们不想让用户厌烦.保持大O不是那么大.
非递归.每个项目相关性的计算不应该依赖于其他项目计算.我不想击败谷歌,只提供小套装的最佳效果.
有界形式0到1,0到100或类似的东西.不是必需品,但能够显示"相关百分比"是一个加分.
关于实施的想法.我正在寻找一种比特定实现更好的算法/公式.
我的aproach
基于指数衰减(如放射性半衰期分解),我编制了这个公式.

哪里:
T 是用户提供的单词数.n 是匹配单词的数量.ld 是这个匹配单词的Levenshtein距离加法.在伪代码中.
function lambda(n, ld) {
lambda = (n/T) * e^(-ld * 1/n);
return lambda;
}
Run Code Online (Sandbox Code Playgroud)
一点解释:
-ld * 1/n是相关性度量核心.如果ld是低并且n很大,它接近于零(-0侧)并且表明该结果更相关.
n/T是准确率.匹配单词与所有单词.通过考虑总用户输入来优化先前的相关性.
对于负数幂,指数函数将结果限制在0和1之间.
最后,问题
我想要的不是基于具有额外编辑距离计算的响应来细化搜索算法,而是通过将相关值设置为每个来改进返回元素的相关性排序.如果可以使用除了n并且ld需要且易于计算的任何参数.在我的解决方案中,我添加T了用户提供的单词数.
找出变量是否为字符串的最佳方法是什么(同样,数字,布尔值等)是什么?
通常你会发现:
function isString(value) {
return typeof value === 'string';
}
Run Code Online (Sandbox Code Playgroud)
但人们忘记了也可以直接使用创建字符串对象var foo = new String("bar");- 这是否是一个好主意是完全不同的事情.
那么去这里的方式是什么?我能想到 - 并且已经看到 - 各种方法(有些简化):
// option 1
function isString(value) {
return (typeof value === 'string') ||
/^function String\(\)/.test(value.constructor + '');
}
Run Code Online (Sandbox Code Playgroud)
要么
// option 2
function isString(value) {
return (typeof value === 'string') ||
(value.constructor === String);
}
Run Code Online (Sandbox Code Playgroud)
要么
// option 3
function isString(value) {
return (typeof value === 'string') ||
value instanceof String;
}
Run Code Online (Sandbox Code Playgroud)
有没有"最佳"的方式来解决这个问题?或者它们都相同?
我遇到的问题是,我有一个小程序的业余爱好请求.将在Windows上使用Visual C#完成.据我所知,它将需要一个数据库,我不知道如何开始,主要是因为要求:
它将包含小数据元素,但其中很多都是如此.三个表有很多行,但可能只有2或3列.数据将以更频繁的方式读取然后写入.
阅读应该很快.
最重要的一点:我必须能够使用我的应用程序轻松部署系统,而无需最终用户进一步安装.此外,请不要有任何许可证问题.
由于我将与Linq合作,我也考虑过XML,这可能是另一种选择吗?
谢谢阅读.
我想从NHibernate获取这个SQL:
SELECT SUM(color_pages) * SUM(total_pages)
FROM connector_log_entry
GROUP BY department_name
Run Code Online (Sandbox Code Playgroud)
但我无法在任何地方找到任何算术运算(*)投影.
这是我到目前为止的代码:
Session.QueryOver<ConnectorLogEntry>()
.SelectList(list => list
.SelectGroup(m => m.DepartmentName)
.WithAlias(() => dto.Department)
.Select(Projections.Sum<ConnectorLogEntry>(m => m.TotalPages))
//.Select(Projections.Sum<ConnectorLogEntry>(m => m.ColorPages))
.WithAlias(() => dto.TotalColorPercentage))
.TransformUsing(Transformers.AliasToBean<DepartmentConsumption>());
Run Code Online (Sandbox Code Playgroud) 我在使我onFocus和onBlur事件正常工作时遇到了一些麻烦
这就是我得到的
var var1
$("input").focus(function() {
var1 = $(this).val()
if ( $(this).val()==var1) {
$(this).val('').css({'color': "#000", 'font-style': 'normal', 'font-weight': 'bold'});
}
$(this).css({'background-color':'#d7df23' });
});
$("input").blur(function() {
if ( $(this).attr("value")=="") {
$(this).val(var1).css({'color': "#666", 'font-style': 'italic', 'font-weight': 'normal'});
}
$(this).css({'background-color':'#EEEEEE' });
});
Run Code Online (Sandbox Code Playgroud)
这是我的HTML
<input type="text" id="tbTitle" value="Title">
<input type="text" id="tbTitle1" value="Title1">
<input type="text" id="tbTitle2" value="Title2">
Run Code Online (Sandbox Code Playgroud)
如果您不更改文本框的值,则此方法有效.
基本上我想得到输入的原始值并将其存储在var中,然后如果该字段为空,则将原始值返回.
目前它正在将文本框中的任何内容的值放在焦点上
有没有办法存储原始值并只将其更改为onBlur?
这是我的jsfiddle的链接
我想要一个字符串资源,其中包含一个超链接.我想这是不可能的,除非我有4个资源字符串:
预超链接文本超链接href超链接文本超链接后文本.
然后通过以下方式在xaml中构建它:
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right">
<TextBlock Grid.Column="1" Text="{x:Static p.Resources.PreHText}" />
<Hyperlink Grid.Column="1" NavigateUri="{x:Static p.Resources.HHref}">
<TextBlock Text="{x:Static p.Resources.HText}" /></Hyperlink></TextBlock>
<TextBlock Grid.Column="1" Text="{x:Static p.Resource.PostHText}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
由于许多原因(造型,不是非常动态等等),这很可怕.栏创建我自己的渲染和字符串格式,例如"请发送电子邮件至{me@there.com |帮助台}以获得进一步的帮助".有没有其他方法来实现这一目标?(不必使用resources.resx文件)