小编oli*_*ver的帖子

如何将Moment.js日期转换为用户的本地时区?

我使用Moment.js和Moment-Timezone框架,并且有一个Moment.js日期对象,该对象明确地在UTC时区中.如何将其转换为浏览器的当前时区?

var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC"); var localDate = ???

如果我能找到用户的本地时区就好了; 或者我想将日期对象转换为另一个只使用"本地时区"的数据对象,无论实际是什么.

javascript timezone date momentjs

67
推荐指数
4
解决办法
8万
查看次数

在32位系统上使用int64_t而不是int32_t会对性能产生什么影响?

我们的C++库目前使用time_t来存储时间值.我开始在某些地方需要亚秒精度,因此无论如何都需要更大的数据类型.此外,在某些地方解决2038年问题可能会有所帮助.所以我正在考虑完全切换到具有基础int64_t值的单个Time类,以替换所有位置的time_t值.

现在,我想知道在32位操作系统或32位CPU上运行此代码时这种更改对性能的影响.IIUC编译器将生成使用32位寄存器执行64位算术的代码.但是如果这太慢了,我可能不得不使用更加差异化的方式来处理时间值,这可能会使软件更难维护.

我感兴趣的是:

  • 哪些因素影响这些业务的表现?可能是编译器和编译器版本; 但操作系统或CPU制造商/型号是否也会影响这一点?普通的32位系统是否会使用现代CPU的64位寄存器?
  • 在32位模拟时哪些操作会特别慢?或者几乎没有减速?
  • 是否存在在32位系统上使用int64_t/uint64_t的任何现有基准测试结果?
  • 有没有人对这种性能影响有自己的经验?

我最感兴趣的是英特尔酷睿2系统上Linux 2.6(RHEL5,RHEL6)上的g ++ 4.1和4.4; 但了解其他系统(如Sparc Solaris + Solaris CC,Windows + MSVC)的情况也很好.

c++ performance 32-bit int64 32bit-64bit

51
推荐指数
2
解决办法
2万
查看次数

设计(二进制)文件格式时有哪些重点?

在设计用于记录二进制数据的文件格式时,您认为该格式应具有哪些属性?到目前为止,我已经提出了以下要点:

  • 在开头有一些"魔术字节",以便能够识别文件(在我的具体情况下,这也应该有助于区分文件与"遗留"文件)
  • 在开头有一个文件版本号,以便以后可以更改文件格式而不会破坏兼容性
  • 指定所有数据项的字节顺序和大小; 或者:包含一些空间来描述数据的字节顺序/大小(我倾向于前者)
  • 可能为将来可能需要的进一步的每个文件属性保留一些空间?

还有什么方法可以使这种格式更具有前瞻性,并最大限度地减少未来的麻烦?

binary file-format

43
推荐指数
5
解决办法
9591
查看次数

Linux上的核心转储文件:如何获取打开文件的信息?

我有一个进程的核心转储文件可能有文件描述符泄漏(它打开文件和套接字,但显然有时会忘记关闭其中一些).有没有办法在崩溃之前找出进程打开了哪些文件和套接字?我无法轻易重现崩溃,因此分析核心文件似乎是获取bug的唯一方法.

linux crash

30
推荐指数
3
解决办法
3万
查看次数

C++函数模板特化的可见性

假设我有fileA.h一个声明classA具有模板功能的类SomeFunc<T>().此函数直接在头文件中实现(通常用于模板函数).现在我添加一个专门的实现SomeFunc()(比如for SomeFunc<int>())fileA.C(即不在头文件中).

如果我现在SomeFunc<int>()从其他代码调用(也许还来自另一个库),它会调用泛型版本还是专门化版本?

我现在遇到这个问题,类和函数存在于两个应用程序使用的库中.一个应用程序正确使用专门化,而另一个应用程序使用通用形式(稍后会导致运行时问题).为什么不同?这可能与链接器选项等有关吗?这是在Linux上,使用g ++ 4.1.2.

c++ linux linker templates g++

26
推荐指数
3
解决办法
7465
查看次数

为什么perf stat显示"stalled-cycles-backend"为<不支持>?

跑步perf stat ls显示:

Performance counter stats for 'ls':

          1.388670 task-clock                #    0.067 CPUs utilized          
                 2 context-switches          #    0.001 M/sec                  
                 0 cpu-migrations            #    0.000 K/sec                  
               266 page-faults               #    0.192 M/sec                  
           3515391 cycles                    #    2.531 GHz                    
           2096636 stalled-cycles-frontend   #   59.64% frontend cycles idle   
   <not supported> stalled-cycles-backend  
           2927468 instructions              #    0.83  insns per cycle        
                                             #    0.72  stalled cycles per insn
            615636 branches                  #  443.328 M/sec                  
             22172 branch-misses             #    3.60% of all branches        

       0.020657192 seconds time elapsed
Run Code Online (Sandbox Code Playgroud)

为什么stalled-cycles-backend显示为"不支持"?我需要什么样的CPU,硬件,内核或用户空间软件才能看到这个值?

目前从事Linux 3.12试过这种对RHEL的x86_64的,相匹配的"PERF"版本,在不同的英特尔酷睿i5和i7系统(Ivy Bridge的类型).他们都没有支持陷入停滞的周期后端.

更多信息: …

linux cpu performance perf

26
推荐指数
2
解决办法
1万
查看次数

在哪里可以找到RedHat的软件包名称和版本?

如何确定特定的RedHat版本(RHEL4,RHEL5 ...)是否包含某个包(或某个版本的包)?对于Debian和Ubuntu,有packages.debian.org和packages.ubuntu.com; RedHat有类似的网站吗?

注意:我不想安装所有版本只是为了查看一些软件包版本:-)

linux redhat packages rpm

18
推荐指数
2
解决办法
2万
查看次数

检查客户端证书的HTTPS测试服务器

我编写了一个Web服务客户端,它使用SSL客户端证书对远程服务器进行身份验证.但由于我还没有实际的Web服务,我正在寻找一个接受客户端证书进行身份验证的公共测试服务器,这样我就可以测试客户端的SSL部分,以便正确实现和配置.

我尝试过https://requestb.in但是当我使用客户端证书时,它会回复HTTP状态403(禁止).并且https://httpbin.org/接受了我的请求,但没有说明证书是否可用.

是否有类似的服务检查SSL客户端证书?

authentication testing ssl http client-certificates

17
推荐指数
2
解决办法
8777
查看次数

为什么我在一个终端中获得"暂停(tty输出)"而在其他终端中没有?

显然我在tcsh shell中做了一些奇怪/错误的事情,现在每当我在后台启动一个打印到stdout的应用程序时,应用程序就会暂停(停止).奇怪的是,这种行为只发生在这个终端; 如果我在另一个终端中执行相同的操作,应用程序将继续在后台运行并将其输出到终端.

在"破损"终端中,我必须将暂停的应用程序放回前台(with fg)以使其继续.

例:

thehost:/tmp/test1(277)> ls -l &
[3] 1454
thehost:/tmp/test1(278)> 
[3]  + Suspended (tty output)        ls --color=auto -l
thehost:/tmp/test1(278)> fg
ls --color=auto -l
total 0
thehost:/tmp/test1(279)> 
Run Code Online (Sandbox Code Playgroud)

在另一个终端执行的相同命令工作正常:

thehost:/tmp/test1(8)> ls -l &                                                 
[1] 2280                                                                        
thehost:/tmp/test1(9)> total 0                                                 

[1]    Done                          ls --color=auto -l                         
thehost:/tmp/test1(9)>                                                         
Run Code Online (Sandbox Code Playgroud)

在受影响的终端中启动bash也无法解决此问题:

thehost:/tmp/test1(280)> bash
oliver@thehost:/tmp/test1$ ls -l &
[1] 2263
oliver@thehost:/tmp/test1$ 

[1]+  Stopped                 ls --color=auto -l
oliver@thehost:/tmp/test1$ fg
ls --color=auto -l
total 0
oliver@thehost:/tmp/test1$ 
Run Code Online (Sandbox Code Playgroud)

获取新的登录shell(with su - oliver)也无法解决此问题.

那么:我在这个终端做了什么来获得这种行为,我该怎么做才能恢复正常的行为呢?这不是一个真正重要的问题(我可以关闭终端并打开一个新的),但我很好奇:-)

在Linux RHEL 6.4 …

linux shell terminal rhel

13
推荐指数
1
解决办法
2万
查看次数

是否有将.cvsignore文件转换为.gitignore文件的规定?

我正在使用cvs2svn-2.4.0进行CVS到Git的迁移.这不包括.cvsignore到.gitignore转换.我怎么能把.cvsignore文件转换成.gitignore文件?

git cvs ignore cvs2git

9
推荐指数
2
解决办法
1820
查看次数