草庐IT

btn_practice

全部标签

javascript - Web 服务和 phonegap : best practices

您好,我正在使用phonegap进行跨平台开发(我使用angularJS作为JS框架)。我想使用Web服务从我网站上的数据库(mysql)访问职位列表。问题是我找到的解决方案根本不安全:Javascriptvarxhr;if(window.XMLHttpRequest)xhr=newXMLHttpRequest();elsexhr=ActiveXObject("Microsoft.XMLHTTP");xhr.open("GET","http://localhost:8888/MAMP_Site/0/test.php",true);xhr.send(null);xhr.onreadyst

PHP - 超薄框架 : Best practice with a lot of code inside routes closures

我正在使用Slim.在documentation他们只展示了仅使用一个index.php文件的示例,该文件对每条路线的功能都很少。例如:$app=new\Slim\Slim();$app->get('/books/:id',function($id){//Showbookidentifiedby$id});但就我而言,我的index.php文件越来越大,现在我有很多用于大多数路由的代码,在这种情况下最佳实践是什么?在路由闭包中包含文件?全局变量的范围会发生什么变化,例如数据库连接或应用程序配置?谢谢 最佳答案 BrianNesbit

java - Spring 上下文和 Bean 生命周期回调 : practical examples of usage

我对Spring有点经验。我想知道Spring上下文/Bean生命周期中的回调量。我从未使用过它们,并且可以想象其中大部分需要的情况。我的问题是:您能为每个回调提供至少一个使用示例吗?表示您需要该回调的情况。上下文回调:Bean回调:附言:我很清楚大多数回调何时调用,或者ApplicationContext的一个或另一个实现是为了什么而编写的。但我不明白为什么有人可能想从回调\实现中获利。例如:AbstractRefreshableApplicationContext用于动态更改bean配置。但为什么?在哪种情况下我可能想即时更改bean的配置?afterPropertiesSet回调

java - DAO/存储库 : Good practice return value after insert/update

虽然这可能是一个微不足道的问题,但我一直想知道这个问题。通常,在插入数据库后,返回业务实体的ID似乎是常见的做法。@OverridepublicLongcreateUser(UserEntityuser){em.merge(user);em.flush();returnuser.getId();}返回id而不是业务对象引用本身是否有令人信服的理由?同样,我看到update返回void,但它也可能是一个id/User。如果我要编写一个DAO/Repository供其他人使用,建议的返回值是什么(如果有),为什么? 最佳答案 如果已成功

Java 8 : First use of stream() or parallelStream() very slow - Usage in practice meaningful?

在过去的几天里,我用Java8中的外部迭代、流和并行流进行了一些测试,并测量了执行时间的持续时间。我还阅读了我必须考虑的预热时间。但是还有一个问题。当我第一次对集合调用方法stream()或parallelStream()时,执行时间比外部迭代长。我已经知道,当我在同一集合上更频繁地调用stream()或parallelStream()并计算执行时间时,parallelStream()确实比外部迭代更快。但是由于在实践中一个集合通常也只迭代一次,所以我只看到使用流或并行流的缺点。所以我的问题是:如果我只迭代一次集合,使用流或parallelStream()是个好主意,还是执行时间总是比

java - 使用软引用的 "practical consequences"是什么?

根据Guava的文档MapMaker.softValues():Warning:inmostcircumstancesitisbettertosetaper-cachemaximumsizeinsteadofusingsoftreferences.Youshouldonlyusethismethodifyouarewellfamiliarwiththepracticalconsequencesofsoftreferences.我对软引用有中等程度的了解——它们的行为、用途以及它们与垃圾回收的联系。但是我想知道文档暗示的这些实际后果是什么。为什么使用最大尺寸比软引用更好?就实现缓存而言,

java - Sonar 标志 "Bad practice": Usage of GetResource in XYZ may be unsafe if class is extended

Sonar在我们的Java项目中指示这个错误。欢迎任何有关安全编程的建议!URLurl=getClass().getResource("/myWonderfulResource.txt");if(url==null){thrownewIllegalStateException("Filenotfound:/myWonderfulResource.txt");} 最佳答案 将类设为final,使其无法扩展。警告是为了防止扩展类(可能)尝试使用不存在的资源。 关于java-Sonar标志"B

java 1.5 : Best practice to keep constants for column name of db tables?

技术:-Java1.5或1.6-hibernate3.4为了避免在更改列名或表名时在多个位置更新列名,我想要一个相同的常量文件。我有以下疑问?一种可能的解决方案是维护一个全局文件,该文件存储数据库中所有表的列名的常量。喜欢classDbConstants{publicstaticfinalStringEMPLOYEE__PERFORMANCE_DESC="performance_desc";}在上面的例子中,employees是表名,performance_desc是列名。因此,在命名常量时遵循一种tablename__columnname格式,以避免两个不同表的两个常量在具有列名的情

java - 为什么 Java Concurrency In Practice list 5.18 不能用锁自动完成?

在JavaConcurrencyinPractice的第106页上,它说“Memoizer3容易受到问题[两个线程看到null并开始昂贵的计算]因为复合操作(put-if-absent)在无法使用锁定使其成为原子的支持映射上执行。”我不明白为什么他们说不能使用锁定使其成为原子。原代码如下:packagenet.jcip.examples;importjava.util.*;importjava.util.concurrent.*;/***Memoizer3**MemoizingwrapperusingFutureTask**@authorBrianGoetzandTimPeierls*

java - "Java concurrency in practice"- 缓存的线程安全数字分解器( list 2.8)

在以下代码中(复制自JavaConcurrencyinPractice第2章,第2.5节,list2.8):@ThreadSafepublicclassCachedFactorizerimplementsServlet{@GuardedBy("this")privateBigIntegerlastNumber;@GuardedBy("this")privateBigInteger[]lastFactors;@GuardedBy("this")privatelonghits;@GuardedBy("this")privatelongcacheHits;publicsynchronized