程序设计

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


17
将文件大小(以字节为单位)转换为可读字符串
我正在使用此功能将以字节为单位的文件大小转换为人类可读的文件大小: function getReadableFileSizeString(fileSizeInBytes) { var i = -1; var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB']; do { fileSizeInBytes = fileSizeInBytes / 1024; i++; } while (fileSizeInBytes > 1024); return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i]; }; 但是,这似乎不是100%准确的。例如: getReadableFileSizeString(1551859712); // output is "1.4 GB" 这不是"1.5 …


14
在活动之间共享数据的最佳方法是什么?
我有一个活动,这是整个应用程序中使用的主要活动,它具有许多变量。我还有另外两个活动,我希望能够使用第一个活动中的数据。现在我知道我可以做这样的事情: GlobalState gs = (GlobalState) getApplication(); String s = gs.getTestMe(); 但是我想共享很多变量,有些可能很大,所以我不想像上面那样创建它们的副本。 有没有一种方法可以直接获取和更改变量而无需使用get和set方法?我记得在Google开发人员网站上读过一篇文章,建议不要在Android上使用此功能。
239 java  android  sharing 

5
为什么Java Streams一次性出现?
与C#不同IEnumerable,在C#中,执行管道可以执行任意多次,而在Java中,流只能“迭代”一次。 对终端操作的任何调用都会关闭流,使其无法使用。这种“功能”带走了很多力量。 我想这不是技术原因。这种奇怪的限制背后的设计考虑是什么? 编辑:为了演示我在说什么,请考虑以下C#中的Quick-Sort实现: IEnumerable<int> QuickSort(IEnumerable<int> ints) { if (!ints.Any()) { return Enumerable.Empty<int>(); } int pivot = ints.First(); IEnumerable<int> lt = ints.Where(i => i < pivot); IEnumerable<int> gt = ints.Where(i => i > pivot); return QuickSort(lt).Concat(new int[] { pivot }).Concat(QuickSort(gt)); } 现在确定,我不主张这是快速排序的良好实现!但是,这是将lambda表达与流操作相结合的表达能力的一个很好的例子。 而且用Java无法做到!我什至不能问一个流是否为空而不使它无法使用。

12
您可以在遍历std :: list的同时删除其中的元素吗?
我有看起来像这样的代码: for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); 我想在更新不活动的项目后立即将其删除,以避免再次浏览列表。但是,如果添加注释行,则出现以下错误i++:“列表迭代器不可递增”。我尝试了一些替代方法,这些替代方法在for语句中没有增加,但是我什么也无法工作。 走std :: list时删除项目的最佳方法是什么?
239 c++  list  std 

6
为什么与手动运行相比,SSH远程命令获得的环境变量更少?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 我有一条命令,如果我将ssh切换到机器上并运行它,它将运行正常,但是当我尝试使用远程ssh命令运行该命令时,该命令将失败: ssh user@IP <command> 使用这两种方法比较“ env”的输出结果将在不同的环境中进行。当我手动登录到计算机并运行env时,与运行时相比,我得到了更多的环境变量: ssh user@IP "env" 知道为什么吗?


8
System.currentTimeMillis()与新Date()与Calendar.getInstance()。getTime()
Наэтотвопросестьответына 堆栈溢出нарусском:。Чтобыстрее - System.currentTimeMillis的()или日期()的getTime()? 在Java中,使用的性能和资源含义是什么? System.currentTimeMillis() 与 new Date() 与 Calendar.getInstance().getTime() 据我了解,System.currentTimeMillis()是最有效的。但是,在大多数应用程序中,该长值需要转换为Date或某个类似的对象才能对人类有意义。

30
在TransactionTooLargeException上做什么
我有一个TransactionTooLargeException。不可复制。在文档中说 活页夹交易失败,因为它太大。 在远程过程调用期间,调用的参数和返回值将作为存储在Binder事务缓冲区中的包裹对象进行传输。如果参数或返回值太大而无法放入事务缓冲区中,则调用将失败,并且将引发TransactionTooLargeException。 ... 当远程过程调用引发TransactionTooLargeException时,有两种可能的结果。客户端无法将其请求发送到服务(最有可能的情况是,参数太大而无法容纳在事务缓冲区中),或者服务无法将其响应发送回客户端(最有可能的情况是,返回值是太大而无法容纳事务缓冲区)。 ... 因此,我在某处传递或接收了超出未知限制的参数。哪里? stacktrace没有显示任何有用的信息: java.lang.RuntimeException: Adding window failed at android.view.ViewRootImpl.setView(ViewRootImpl.java:548) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320) at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152) at android.view.Window$LocalWindowManager.addView(Window.java:557) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$600(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: …
239 android  exception 

6
Rails原始SQL示例
如何将此代码转换为原始sql并在rails中使用?因为当我在heroku中部署此代码时,有一个请求超时错误。我认为如果使用原始sql会更快。 @payments = PaymentDetail.joins(:project).order('payment_details.created_at desc') @payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc') @all_payments = (@payments + @payment_errors)
239 sql  ruby-on-rails 

13
从.NET中的字符串获取url参数
我在.NET中有一个字符串,它实际上是一个URL。我想要一种简单的方法来从特定参数获取值。 通常,我只使用Request.Params["theThingIWant"],但是该字符串不是来自请求。我可以这样创建一个新Uri项目: Uri myUri = new Uri(TheStringUrlIWantMyValueFrom); 我可以使用它myUri.Query来获取查询字符串...但是显然我必须找到某种正则表达式将其拆分。 我是否缺少明显的东西,或者没有创建某种形式的正则表达式的内置方法?
239 c#  .net  url  parsing  parameters 

8
使用Express 4.0上传文件:req.files未定义
我试图得到一个简单的文件上传机制的工作与快车4.0,但我不断收到undefined对req.files在app.post体内。以下是相关代码: var bodyParser = require('body-parser'); var methodOverride = require('method-override'); //... app.use(bodyParser({ uploadDir: path.join(__dirname, 'files'), keepExtensions: true })); app.use(methodOverride()); //... app.post('/fileupload', function (req, res) { console.log(req.files); res.send('ok'); }); ..和随附的帕格代码: form(name="uploader", action="/fileupload", method="post", enctype="multipart/form-data") input(type="file", name="file", id="file") input(type="submit", value="Upload") 解决方案 由于以下mscdex的响应,我已切换为使用busboy而不是bodyParser: var fs = require('fs'); var busboy = require('connect-busboy'); //... app.use(busboy()); //... …
239 node.js  express 



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.