程序设计

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

6
如何在“纯” Swift中创建弱协议引用(不带@objc)
weak除非a protocol声明为@objc,否则引用似乎在Swift中不起作用,我不希望在纯Swift应用程序中使用它。 这段代码给出了一个编译错误(weak不能应用于非类类型MyClassDelegate): class MyClass { weak var delegate: MyClassDelegate? } protocol MyClassDelegate { } 我需要给协议加上前缀@objc,然后它才能工作。 问题:什么是完成Swift的“纯” Swift方法weak delegate?

21
我可以在目录中放入多少个文件?
我在一个目录中保留多少个文件有关系吗?如果是这样,那么目录中有多少文件太多了,文件太多会有什么影响?(这是在Linux服务器上。) 背景:我有一个相册网站,并且每张上传的图像都被重命名为8位十六进制ID(例如a58f375c.jpg)。这是为了避免文件名冲突(例如,如果上传了许多“ IMG0001.JPG”文件)。原始文件名和任何有用的元数据都存储在数据库中。现在,在images目录中大约有1500个文件。这使得通过FTP或SSH客户端列出目录中的文件需要花费几秒钟的时间。但是我看不到有什么其他效果。特别是,对图像文件提供给用户的速度似乎没有任何影响。 我曾考虑过通过制作16个子目录(0-9和af)来减少图片数量。然后,根据文件名的第一个十六进制数字将图像移动到子目录中。但是我不确定是否有这样做的理由,除了偶尔通过FTP / SSH列出目录之外。
561 filesystems  limit 

8
使用curl从HTTP POST仅获取响应标头
人们可以仅请求使用HTTP HEAD报头,作为选项-I在curl(1)。 $ curl -I / 冗长的HTML响应正文在命令行中很麻烦,因此我只想获取标头作为对POST请求的反馈。但是,HEAD和POST是两种不同的方法。 如何获取curl以仅显示POST请求的响应标头?
561 post  curl  http-headers 


4
调用ConfigureAwait获取所有服务器端代码的最佳实践
当您拥有服务器端代码(即某些代码ApiController)并且您的函数是异步的(因此它们返回)Task<SomeObject>时,是否在任何时候都等待调用的函数是否被视为最佳实践ConfigureAwait(false)? 我已经读到它具有更高的性能,因为它不必将线程上下文切换回原始线程上下文。但是,对于ASP.NET Web Api,如果您的请求是在一个线程上传入的,并且您等待某个函数并调用ConfigureAwait(false),则在返回ApiController函数的最终结果时,该函数可能会将您置于另一个线程上。 我在下面输入了一个我正在谈论的例子: public class CustomerController : ApiController { public async Task<Customer> Get(int id) { // you are on a particular thread here var customer = await SomeAsyncFunctionThatGetsCustomer(id).ConfigureAwait(false); // now you are on a different thread! will that cause problems? return customer; } }

30
自1980年以来计算机领域的重大新发明
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 这个问题源于对过去50年左右的各种计算进展的评论。 其他一些参与者要求我将其作为整个论坛的一个问题提出。 这里的基本思想不是抨击事物的当前状态,而是试图了解有关提出基本的新思想和新原理的进展的一些信息。 我声称在大多数计算领域中我们确实需要新的想法,并且我想知道最近做过的任何重要而强大的想法。如果我们找不到它们,那么我们应该问“为什么?” 和“我们应该怎么做?”
561 innovation 

15
在razor视图引擎中转义@字符
我正在使用Razor作为视图引擎创建一个示例ASP.NET MVC 3站点。剃刀的语法以@字符例如开头@RenderBody()。如果我在cshtml页面上写@test,它会给我解析错误 CS0103:名称“ test”在当前上下文中不存在 如何转义“ @”字符?


30
如何在Windows上设置可以与Git一起使用的编辑器?
我正在Windows上试用Git。我到了尝试“ git commit”的地步,并且出现了这个错误: 终端很笨,但是没有定义VISUAL或EDITOR。请使用-m或-F选项提供消息。 所以我发现我需要一个名为EDITOR的环境变量。没问题。我将其设置为指向记事本。几乎成功了。默认提交消息在记事本中打开。但是记事本不支持裸线换行。我出去买了Notepad ++,但是我不知道如何将Notepad ++设置为%EDITOR%可以与Git一起使用的方式。 我没有嫁给Notepad ++。在这一点上,我不介意我使用什么编辑器。我只希望能够在编辑器而不是命令行(带有-m)中键入提交消息。 那些在Windows上使用Git的人:您使用什么工具来编辑提交消息,并且需要做什么才能使其生效?
561 windows  git  cygwin  editor 

28
关于JavaScript中代码组织的公认最佳实践[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 随着jQuery之类的JavaScript框架使客户端Web应用程序变得更丰富,更实用,我开始注意到一个问题... 您如何将其组织起来? 将所有处理程序放在一个位置并为所有事件编写函数? 创建函数/类来包装所有功能? 写得像疯了似的,只是希望它能达到最佳效果? 放弃并获得新的职业? 我提到了jQuery,但实际上实际上是任何JavaScript代码。我发现随着线的堆积开始,管理脚本文件或查找所需内容变得越来越困难。我发现的最大问题可能是做同一件事的方法太多,很难知道哪种方法是当前公认的最佳实践。 关于保持.js文件与应用程序其余部分一样整洁的最佳方法,是否有任何一般性建议?还是这只是IDE的问题?有更好的选择吗? 编辑 该问题旨在更多地涉及代码组织而不是文件组织。有一些非常好的合并文件或拆分内容的示例。 我的问题是:组织实际代码的当前公认的最佳实践方法是什么?与页面元素进行交互并创建互不冲突的可重用代码的方式,甚至是推荐的方式? 有些人列出了名称空间,这是一个好主意。还有哪些其他方式,更具体地说是处理页面上的元素并使代码井井有条和整洁?

8
如何在MySQL中缩小/清除ibdata1文件
我在localhost中将MySQL用作在R中执行统计信息的“查询工具”,也就是说,每次运行R脚本时,我都会创建一个新的数据库(A),创建一个新的表(B),然后将数据导入B ,提交查询以获取所需信息,然后删除B并删除A。 对我来说,它工作正常,但是我意识到ibdata文件的大小正在迅速增加,我没有在MySQL中存储任何内容,但是ibdata1文件已超过100 MB。 我在设置中使用了或多或少的默认MySQL设置,是否可以在固定的时间后自动收缩/清除ibdata1文件?
561 mysql  database  innodb 

14
通过Bash命令在文本文件中查找和替换
查找和替换给定输入字符串(例如abc)并替换为另一个字符串(例如XYZ在file中)的最简单方法是什么/tmp/file.txt? 我正在编写一个应用程序,并使用IronPython通过SSH执行命令-但我不太了解Unix,也不知道要寻找什么。 我听说Bash除了是命令行界面之外,还可以是一种非常强大的脚本语言。因此,如果这是真的,我假设您可以执行类似的操作。 我可以用bash做到吗,实现我的目标最简单的脚本(一行)是什么?

15
SQL SELECT WHERE字段包含单词
我需要一个选择将返回如下结果: SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3' 我需要所有结果,即这包括带有'word2 word3 word1'或'word1 word3 word2'或三者的任何其他组合的字符串。 所有单词都必须包含在结果中。
561 sql  select 

15
使用jQuery测试输入是否具有焦点
在我正在构建的网站的首页上,有几个<div>使用CSS :hover伪类在鼠标悬停在它们上方时添加边框。的其中一个<div>包含<form>,如果其中的输入具有焦点,则使用jQuery使用jQuery保留边框。除IE6不支持s :hover之外<a>的任何其他元素外,此方法均能完美运行。因此,仅对于此浏览器,我们使用jQuery :hover使用该$(#element).hover()方法来模仿CSS 。唯一的问题是,现在jQuery可以处理form focus() 和 hover(),当输入具有焦点时,用户将鼠标移入和移出,边框就会消失。 我当时以为我们可以使用某种条件来停止这种行为。例如,如果我们在鼠标移开时测试了任何输入是否具有焦点,则可以阻止边框消失。AFAIK,:focusjQuery中没有选择器,所以我不确定如何实现。有任何想法吗?

30
如何在bash中等待几个子进程完成并在任何子进程以代码!= 0结尾时返回退出代码!= 0?
如何在bash脚本中等待从该脚本派生的几个子进程完成并返回退出代码!= 0,当任何子进程以代码!= 0结尾时? 简单脚本: #!/bin/bash for i in `seq 0 9`; do doCalculations $i & done wait 上面的脚本将等待所有10个产生的子进程,但始终将退出状态设为0(请参阅参考资料help wait)。如何修改此脚本,以便在子进程中的任何一个以代码!= 0结尾时,它会发现生成的子流程的退出状态并返回退出代码1? 有没有比收集子流程的PID,按顺序等待它们并汇总出口状态更好的解决方案了?
561 bash  process  wait 

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.