程序设计

专业和发烧友程序员的问答


7
什么时候应该使用C ++ 14自动返回类型推导?
随着GCC 4.8.0的发布,我们有了一个支持自动返回类型推导的编译器,它是C ++ 14的一部分。使用-std=c++1y,我可以这样做: auto foo() { //deduced to be int return 5; } 我的问题是:什么时候应该使用此功能?什么时候需要,什么时候可以使代码更简洁? 场景1 我能想到的第一种情况是尽可能的。可以用这种方式编写的每个函数都应该如此。这样做的问题是,它可能并不总是使代码更具可读性。 方案2 下一种情况是避免使用更复杂的返回类型。作为一个非常简单的示例: template<typename T, typename U> auto add(T t, U u) { //almost deduced as decltype(t + u): decltype(auto) would return t + u; } 尽管在某些情况下让返回类型显式依赖于参数,但我认为这绝对不会成为问题。 场景3 接下来,为了防止冗余: auto foo() { std::vector<std::map<std::pair<int, double>, …

15
异步运行PHP任务
我在一个比较大的Web应用程序上工作,后端主要使用PHP。代码中有几个地方需要完成一些任务,但是我不想让用户等待结果。例如,在创建新帐户时,我需要向他们发送欢迎电子邮件。但是当他们按下“完成注册”按钮时,我不想让他们等到实际发送电子邮件之后,我只想开始该过程,并立即向用户返回一条消息。 到目前为止,在某些地方,我一直在使用exec()感觉像是被黑客入侵。基本上是这样的: exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &"); 这似乎可行,但我想知道是否有更好的方法。我正在考虑编写一个在MySQL表中排队任务的系统,以及一个单独的长期运行的PHP脚本,该脚本每秒查询一次该表,并执行它发现的所有新任务。如果将来需要的话,这还具有让我将来在几台工作机之间分配任务的优势。 我在重新发明轮子吗?有没有比exec()hack或MySQL队列更好的解决方案?



3
在Swift的if语句中使用多个let-as
我要从字典中解开两个值,在使用它们之前,我必须将它们强制转换并测试正确的类型。这是我想出的: var latitude : AnyObject! = imageDictionary["latitude"] var longitude : AnyObject! = imageDictionary["longitude"] if let latitudeDouble = latitude as? Double { if let longitudeDouble = longitude as? Double { // do stuff here } } 但是我想将两个查询打包在一起。这样就可以了: if let latitudeDouble = latitude as? Double, longitudeDouble = longitude as? Double { // …

1
在此Django应用程序教程中,choice_set是什么?
Django教程中的这一行,编写您的第一个Django应用,第1部分: p.choice_set.create(choice='Not much', votes=0) 它是如何choice_set存在的?它是什么? 我想这choice部分是Choice本教程中使用的模型的小写版本,但是什么是choice_set?你能详细说明吗? 更新:根据Ben的回答,我找到了此文档:遵循“向后”关系。
144 python  django  orm 

10
计算当月的最后一天
我在计算本月下一个最后一天何时发送预定的通知时遇到问题。 这是我的代码: RecurrenceFrequency recurrenceFrequency = notification.getRecurrenceFrequency(); Calendar nextNotifTime = Calendar.getInstance(); 这是导致问题的线,我相信: nextNotifTime.add(recurrenceFrequency.getRecurrencePeriod(), recurrenceFrequency.getRecurrenceOffset()); 如何使用日历正确设置下个月的通知的最后一天?
144 java  datetime  calendar 

19
从URL解析域
我需要构建一个从URL解析域的函数。 因此, http://google.com/dhasjkdas/sadsdds/sdda/sdads.html 要么 http://www.google.com/dhasjkdas/sadsdds/sdda/sdads.html 它应该返回 google.com 与 http://google.co.uk/dhasjkdas/sadsdds/sdda/sdads.html 它应该返回google.co.uk。
144 php 

14
Scala:在一个语句中将字符串写入文件
为了在Scala中读取文件,有 Source.fromFile("file.txt").mkString 是否有等效的简洁方法将字符串写入文件? 大多数语言都支持类似的东西。我最喜欢的是Groovy: def f = new File("file.txt") // Read def s = f.text // Write f.text = "file contents" 我想将代码用于从单行到一小段代码的程序。不必使用自己的库在这里没有意义。我希望现代的语言可以让我方便地在文件中写一些东西。 有类似的帖子,但是他们没有回答我的确切问题,或者只关注较早的Scala版本。 例如: 在Scala中读取整个文件? 如何在Scala中写入文件?
144 scala  scala-2.9 

20
Xcode游乐场被卡在“运行游乐场”或“启动模拟器”上而无法运行代码,该怎么办?
每次我创建一个新的游乐场以测试一些代码时,Xcode都会卡住并且不会运行该代码。它只是在屏幕顶部显示“正在运行的操场”或“启动模拟器”语句,并在其旁边预示着正在旋转的加载图标,但没有任何反应。有时这会无限期地继续,有时Xcode会暂停并将其打印到控制台: Playground execution failed: error: Couldn't lookup symbols: __swift_FORCE_LOAD_$_swiftCoreImage __swift_FORCE_LOAD_$_swiftFoundation _playground_log_hidden _playground_logger_initialize _playground_log_postprint thread #1: tid = 0xc0cd0, 0x000000010ea7c3c0 MyPlayground`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 frame #0: 0x000000010ea7c3c0 MyPlayground`executePlayground frame #1: 0x000000010ea7b9c0 MyPlayground`__37-[XCPAppDelegate enqueueRunLoopBlock]_block_invoke + 32 frame #2: 0x000000010f59625c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 frame #3: 0x000000010f57b304 CoreFoundation`__CFRunLoopDoBlocks + …
144 ios  xcode  xcode8 




21
如何关闭外部点击的下拉菜单?
当用户单击下拉菜单之外的任何地方时,我想关闭我的登录菜单下拉菜单,我想使用Angular2和Angular2“方法”来完成此操作... 我已经实施了一个解决方案,但是我对此确实没有信心。我认为必须有一种最简单的方法来获得相同的结果,因此,如果您有任何想法...让我们讨论一下:)! 这是我的实现: 下拉组件: 这是我的下拉菜单的组件: 每次将此组件设置为可见时,(例如:当用户单击按钮以显示它时)它将订阅存储在SubjectsService中的“全局” rxjs主题userMenu。 每次隐藏时,它都会退订该主题。 该组件模板内任何位置的每次点击都会触发onClick()方法,该方法只会停止将事件冒泡到顶部(和应用程序组件) 这是代码 export class UserMenuComponent { _isVisible: boolean = false; _subscriptions: Subscription<any> = null; constructor(public subjects: SubjectsService) { } onClick(event) { event.stopPropagation(); } set isVisible(v) { if( v ){ setTimeout( () => { this._subscriptions = this.subjects.userMenu.subscribe((e) => { this.isVisible = false; }) …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.