程序设计

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

6
IIS8中的IIS_IUSRS和IUSR权限
我刚刚从Win2003上的IIS6迁移到Win2012上的IIS8,用于托管ASP.NET应用程序。 在我的应用程序的一个特定文件夹中,我需要创建和删除文件。将文件复制到新服务器后,尝试删除文件时,我不断看到以下错误: 拒绝访问路径“ D:\ WebSites \ myapp.co.uk \ companydata \ filename.pdf”。 当我检查IIS时,我看到该应用程序在DefaultAppPool帐户下运行,但是,我从未在此文件夹上设置Windows权限以包括IIS AppPool \ DefaultAppPool 相反,为了停止尖叫客户,我授予了该文件夹以下权限: 研究所 读取并执行 列出文件夹内容 读 写 IIS_IUSRS 修改 读取并执行 列出文件夹内容 读 写 这似乎奏效,但我担心设置了太多特权。我在网上阅读了有关是否真的需要IUSR的相互矛盾的信息。任何人都可以澄清哪些用户/权限足以在此文件夹中创建和删除文档吗?另外,IUSR是IIS_IUSRS组的一部分吗? 更新与解决方案 请在下面查看我的答案。我不得不悲伤地做这件事,因为最近的一些建议还没有被深思熟虑,甚至还不够安全(IMO​​)。



7
如何使用IntelliJ Idea创建SBT项目?
我刚开始开发Scala / LiftWeb / Sbt,我想在IntelliJ Idea中导入一个Sbt项目。实际上,我设法通过两种不同的方式导入我的项目: 1)和Maven一起。我创建了一个Maven项目,首先创建了一个Sbt项目,然后将其导入IntelliJ中。然后,我可以轻松地启动,停止码头服务器以及执行其他操作。但这不是我想要的。我想做同样的事情,只是没有Maven。那导致我 2)用Eclipse。因此,我创建了一个新的Sbt项目(使用编写的小脚本,将Sbt项目配置为WebProject)。然后,我使用sbt-eclipsify插件“转换”了Eclipse的项目,然后将其导入IntelliJ(现有源-> eclipse)中。但是问题从这里开始:我无法使IntelliJ Sbt插件正常工作。 谁能帮我这个?
146 scala  intellij-idea  lift  sbt 

13
强制CloudFront分发/文件更新
我正在使用Amazon的CloudFront来提供Web应用程序的静态文件。 有没有办法告诉Cloudfront发行版它需要刷新其文件或指出应刷新的单个文件? 亚马逊建议您对诸如logo_1.gif,logo_2.gif之类的文件进行版本控制,以解决此问题,但这似乎是一个非常愚蠢的解决方案。绝对没有其他方法吗?


5
.gitignore排除规则实际上如何工作?
我正在尝试解决大型目录结构上的gitignore问题,但是为了简化我的问题,我将其简化为以下内容。 我在全新的git存储库中具有以下两个文件(foo,bar)的目录结构(到目前为止尚未提交): a/b/c/foo a/b/c/bar 显然,“ git status -u”显示: # Untracked files: ... # a/b/c/bar # a/b/c/foo 我想做的是创建一个.gitignore文件,该文件忽略a / b / c内部的所有内容,但不忽略文件'foo'。 如果我这样创建一个.gitignore: c/ 然后,'git status -u'显示foo和bar被忽略: # Untracked files: ... # .gitignore 这是我所期望的。 现在,如果我为foo添加排除规则,则: c/ !foo 根据gitignore的联机帮助页,我希望它能起作用。但这不是-它仍然忽略foo: # Untracked files: ... # .gitignore 这也不起作用: c/ !a/b/c/foo 这也不是: c/* !foo 给出: …
146 git  gitignore 


5
如何将类类型作为函数参数传递
我有一个通用函数,该函数调用Web服务并将JSON响应序列化回一个对象。 class func invokeService<T>(service: String, withParams params: Dictionary<String, String>, returningClass: AnyClass, completionHandler handler: ((T) -> ())) { /* Construct the URL, call the service and parse the response */ } 我要完成的是等效于此Java代码 public <T> T invokeService(final String serviceURLSuffix, final Map<String, String> params, final Class<T> classTypeToReturn) { } 我要完成的方法签名正确吗? 更具体地说,AnyClass将参数类型指定为正确的做法是正确的吗? 调用该方法时,我将其MyObject.self作为returningClass值传递,但是出现编译错误“无法将表达式的类型'()'转换为'String'类型” CastDAO.invokeService("test", …

7
由于MIME类型错误,Chrome拒绝执行AJAX脚本
我正在尝试通过AJAX访问JSON脚本,该脚本在Safari和其他浏览器上可以正常运行,但不幸的是,无法在Chrome中执行。它带有以下错误: 拒绝从“ *”执行脚本,因为其MIME类型(“ application / json”)不可执行,并且启用了严格的MIME类型检查。 这是请求: $.ajax({ url: "http://some_url/test.json?callback=?", type: "GET", dataType: 'json', cache: true, success: function (data, status, error) { console.log('success', data); }, error: function (data, status, error) { console.log('error', data, status, error); } }); 有人对此有解决方法吗?

7
如何在AngularJS应用程序中添加一些小的实用程序函数?
我想在AngularJS应用程序中添加一些实用程序功能。例如: $scope.isNotString = function (str) { return (typeof str !== "string"); } 将它们添加为服务的最佳方法是吗?从我所阅读的内容中我可以做到,但是然后我想在HTML页面中使用它们,因此如果它们在服务中仍然可行吗?例如,我可以使用以下内容: <button data-ng-click="doSomething()" data-ng-disabled="isNotString(abc)">Do Something </button> 有人可以举例说明如何添加这些内容。我应该创建服务还是有其他实现方法。最重要的是,我希望将这些实用程序功能存储在文件中,而不要与主要设置的另一部分结合使用。 我了解有一些解决方案,但没有一个如此明确。 解决方案1 -Urban提出 $scope.doSomething = ServiceName.functionName; 这里的问题是我有20个功能和10个控制器。如果执行此操作,则意味着要向每个控制器添加很多代码。 解决方案2-我提议 var factory = { Setup: function ($scope) { $scope.isNotString = function (str) { return (typeof str !== "string"); } 这样做的缺点是,在每个控制器启动时,我会对通过$ scope的每个服务有一个或多个这些Setup调用。 解决方案3 -Urban提出 …
146 angularjs 

10
描述您用于Java Web应用程序的体系结构?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 让我们分享基于Java的Web应用程序体系结构! Web应用程序有许多不同的体系结构,这些体系结构将使用Java来实现。这个问题的答案可以用作各种Web应用程序设计的库,各有其优缺点。虽然我意识到答案将是主观的,但让我们尝试尽可能客观,并激发我们列出的利弊。 使用您喜欢的详细信息级别来描述您的体系结构。为了使您的答案具有任何价值,您至少必须描述所描述的体系结构中使用的主要技术和思想。最后但并非最不重要的一点,我们什么时候应该使用您的体系结构? 我开始... 体系结构概述 我们使用基于Sun的开放标准(如Java EE,Java Persistence API,Servlet和Java Server Pages)的三层体系结构。 坚持不懈 商业 介绍 层之间可能的通信流由以下方式表示: Persistence <-> Business <-> Presentation 例如,这意味着表示层从不调用或执行持久性操作,而是始终通过业务层进行操作。该体系结构旨在满足高可用性Web应用程序的需求。 坚持不懈 执行创建,读取,更新和删除(CRUD)持久性操作。在本例中,我们正在使用(Java Persistence API)JPA,并且当前使用Hibernate作为持久性提供程序,并使用其EntityManager。 该层分为多个类别,其中有某种类型的实体的每一类交易(涉及到购物车即实体可能是由一个单独的持久类得到处理),并使用一个且只有一个经理。 此外,该层还存储JPA实体哪些是喜欢的东西Account,ShoppingCart等等。 商业 与Web应用程序功能相关的所有逻辑均位于此层。此功能可能是为希望使用其信用卡在线购买产品的客户启动汇款。也可能是在基于网络的游戏中创建新用户,删除用户或计算战斗结果。 该层分为多个类,每个类都带有注释,@Stateless以成为无状态会话Bean(SLSB)。每个SLSB都称为管理器,例如,管理器可以是注释为的类,称为AccountManager。 当AccountManager需要执行CRUD操作时,它将对实例进行适当的调用,该实例AccountManagerPersistence是持久层中的类。两种方法的大致草图AccountManager可能是: ... public void makeExpiredAccountsInactive() { AccountManagerPersistence amp = new AccountManagerPersistence(...) // Calls persistence layer List<Account> …

19
超越堆栈采样:C ++ Profiler
黑客的故事 日期是2010年12月2日。圣诞节前的日子不多了,作为Windows程序员,我几乎遇到了一个主要障碍。我一直在使用AQTime,尝试过困倦,发亮和非常困倦,而正如我们所说的,VTune正在安装。我曾尝试使用VS2008 Profiler,但它一直在积极地惩罚着人们,而且常常是不明智的。我使用了随机暂停技术。我已经检查了呼叫树。我已经解雇了功能痕迹。但令人悲伤的事实是,我正在使用的应用程序超过一百万行代码,可能还有价值一百万行的第三方应用程序。 我需要更好的工具。 我已经阅读了其他主题。 我已经尝试了每个主题中列出的每个事件探查器。简直就是必须有比这些笨拙而昂贵的选择更好的东西,或者可笑的工作量几乎没有收益。更复杂的是,我们的代码具有大量线程,并运行许多Qt Event循环,其中某些循环如此脆弱,以至于它们由于时序延迟而在繁重的测试中崩溃。不要问我为什么我们要运行多个事件循环。没有人能告诉我。 在Windows环境中,Valgrind还有更多选择吗? 有没有比我已经尝试过的一堆破烂的工具更好的东西了? 是否有任何旨在与Qt集成的东西,也许可以在队列中显示有用的事件? 我尝试过的工具的完整列表,以及在斜体中真正有用的工具: AQTime:很好!深度递归会遇到一些麻烦,但是在这些情况下,调用图是正确的,并且可以用来消除您可能遇到的任何混乱。不是一个完美的工具,但是值得尝试。它可能适合您的需求,并且在大多数情况下对我来说已经足够了。 调试模式下的随机暂停攻击:没有足够的时间信息。 一个好的工具,但不是一个完整的解决方案。 并行工作室: 核选项。引人入胜,古怪而疯狂。我认为您应该进行30天的评估,并确定是否合适。这也太酷了。 AMD Codeanalyst:很棒 ,易于使用,非常容易崩溃,但是我认为这是环境问题。我建议您尝试一下,因为它是免费的。 卢克·斯塔克沃克(Luke Stackwalker):在小型项目上运行良好,这是在尝试使其在我们的项目上运行。虽然有一些不错的结果,但是它绝对可以代替Sleepy来完成我的个人任务。 PurifyPlus:不支持Win-x64环境,最主要的是Windows7。否则,它非常出色。我在其他部门的许多同事对此表示肯定。 VS2008 Profiler:在功能跟踪模式下以所需的分辨率产生100 + gigs范围的输出。从好的方面来说,产生可靠的结果。 GProf:要求GCC还要适度有效。 VTune:VTune的W7支持犯罪分子的边界。否则优秀 PIN:我需要破解我自己的工具,所以这是最后的选择。 Sleepy \ VerySleepy:对于较小的应用程序很有用,但在这里让我失望。 EasyProfiler:如果您不介意使用一些手动注入的代码来指示要检测的位置,那还不错。 Valgrind:仅* nix,但在那种环境下非常好。 OProfile:仅Linux。 亵渎:他们射击野马。 我没有尝试过的建议工具: XPerf: 发光代码: 开发伙伴: 注意:目前是 Intel环境。VS2008,增强库。Qt 4+。而所有这些令人沮丧的杂物:通过trolltech进行Qt / MFC集成。 现在:大约两周后,看来我的问题已解决。借助各种工具,包括列表中的几乎所有内容以及我的一些个人技巧,我们找到了主要的瓶颈。但是,我将继续测试,探索和尝试新的探查器以及新技术。为什么?因为我欠你们,因为你们摇滚。它确实使时间线放慢了一点,但是我仍然很高兴继续尝试新工具。 简介 在许多其他问题中,最近将许多组件切换到了错误的线程模型,由于下面的代码突然不再是多线程的,导致了严重的问题。我不能说太多,因为它违反了我的NDA,但是我可以告诉您,通过偶然检查甚至常规代码检查都不会发现它。如果没有探查器,通话记录和随机暂停的共同作用,我们仍然会对天空的美丽蓝色弧线大怒。值得庆幸的是,我与一些我见过的最好的黑客一起工作,而且我可以接触到一个充满了强大工具和才华横溢的“诗篇”。 绅士们,我非常感谢您,很遗憾,我没有足够的代表来奖励你们每个人。我仍然认为,这是一个重要的问题,比到目前为止我们在SO上获得的答案更好。 …


5
在C中将一个结构分配给另一个
您可以将结构的一个实例分配给另一个实例吗? struct Test t1; struct Test t2; t2 = t1; 我已经看到它适用于简单结构,但它适用于复杂结构吗? 编译器如何知道如何根据数据类型复制数据项,即区分an int和string?
146 c  struct 

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.