Javatypes推断:在Java 8中引用是不明确的,但不是Java 7

可以说我们有两个class。 一个空的Base类和这个Derived类的一个子类。 public class Base {} public class Derived extends Base {} 那么我们在另一个类中有几个方法: import java.util.Collection public class Consumer { public void test() { set(new Derived(), new Consumer().get()); } public <T extends Base> T get() { return (T) new Derived(); } public void set(Base i, Derived b) { System.out.println("base"); } public void set(Derived d, Collection<? extends […]

两个数组之间的差异

我有以下两个数组。 我想要这两个数组之间的区别。 也就是说,我怎样才能find这两个数组中不存在的值? $array1=Array ( [0] => 64 [1] => 98 [2] => 112 [3] => 92 [4] => 92 [5] => 92 ) ; $array2=Array ( [0] => 3 [1] => 26 [2] => 38 [3] => 40 [4] => 44 [5] => 46 [6] => 48 [7] => 52 [8] => 64 [9] […]

Java默认的Crypto / AES行为

有谁知道默认的Javaencryption行为是什么: SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte, "AES"); Cipher localCipher = Cipher.getInstance("AES"); 具体来说,我期待了解这些类是如何生成IV的,以及指定“AES”时默认的encryption模式是什么。 谢谢。

从C ++ STL容器派生出来是否有真正的风险?

声称使用标准C ++容器作为基类是一个错误,这让我感到惊讶。 如果没有滥用语言来宣布… // Example A typedef std::vector<double> Rates; typedef std::vector<double> Charges; 那么,确切的说是… // Example B class Rates : public std::vector<double> { // … } ; class Charges: public std::vector<double> { // … } ; B的积极优势包括: 启用函数的重载,因为f(Rates&)和f(Charges&)是不同的签名 使其他模板成为专用的,因为X <费率>和X <费用>是不同的types 前向声明是微不足道的 debugging器可能会告诉你该对象是一个费率还是费用 如果随着时间的推移,利率和收费发展个性化 – 一个单一的利率,一个收费的输出格式 – 这个function有一个明显的实施范围。 A的积极优势包括: 不必提供构造函数的简单实现等 这个十五年前的标准编译器是唯一能够编译你的遗产的编译器,不会窒息 由于专业化是不可能的,所以模板X <费率>和模板X <费用>将使用相同的代码,所以没有无意义的膨胀。 这两种方法都优于使用原始容器,因为如果实现从vector <double>更改为vector […]

使用entity framework从存储过程获取数据

我试图从数据库上下文对象(使用Entity Framework 6.1.1)调用dynamicSQL存储过程来获取内容的表,以填充GridView控件。 我无法检索数据。 这是存储过程。 这是一个关于存储过程中的SQL注入的学生演示,所以我知道这是可注射的,没关系。 ALTER PROCEDURE dbo.SearchProducts @SearchTerm VARCHAR(max) AS BEGIN DECLARE @query VARCHAR(max) SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%''' EXEC(@query) END 我后面用来执行存储过程的C#代码是: var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind(); 执行时,在Visual Studio的数据库资源pipe理器中,存储过程正常工作。 但是当在正在运行的ASP.NET应用程序中执行时,我在DataBind()方法中得到一个exception,因为result返回-1而不是包含存储过程的SELECT产生的对象的IEnumerable DataSet […]

什么时候添加SqlCommand参数时应该使用“SqlDbType”和“size”?

有一个相关的问题: 将parameter passing给SQLCommand的最佳方法是什么? 但我想知道这些差异是什么,以及是否有不同的方式有任何问题。 我通常使用这样的结构: using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand(SQL, conn)) { cmd.CommandType = CommandType.Text; cmd.CommandTimeout = Settings.Default.reportTimeout; cmd.Parameters.Add("type", SqlDbType.VarChar, 4).Value = type; cmd.Connection.Open(); using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) { adapter.Fill(ds); } //use data } 现在有几种方法来添加cmd参数,我想知道哪个是最好的: cmd.Parameters.Add("@Name", SqlDbType.VarChar, 20).Value = "Bob"; cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = "Bob"; cmd.Parameters.Add("@Name").Value = […]

Elasticsearch复制其他系统数据?

假设我想使用elasticsearch在网站上实现一个通用的search。 预计顶级search栏可以查找整个网站中所有不同types的资源。 肯定的文件(通过tika上传/索引),但也包括客户,账户,其他人等。 由于架构的原因,大部分非文档内容(客户端,帐户)将存在于关系数据库中。 当执行这个search时,选项#1将会创build所有文件的版本,然后使用elasticsearch运行search的所有方面,而不是依赖关系数据库来寻找不同types的对象。 选项#2将只使用elasticsearch来索引文档,这意味着对于一般的“网站search”function,您必须将多个search用于多个系统,然后在返回结果之前汇总结果。 选项#1看起来好得多,但缺点是它要求在本质上有弹性的search在生产关系数据库中有很多东西的副本,而且随着情况的变化,这些副本要保持新鲜。 保持这些商店同步的最佳select是什么?我认为对于一般search来说,选项#1是否优越是正确的? 有没有一个选项#3?

window.localStorage vs chrome.storage.local

我正在开发一个Chrome扩展,我需要存储一些数据,然后在某种程度上得到它。 我对可用 storage进行了调查,发现了以下几个: window.localStorage和chrome.storage.local 。 所以我的问题是,哪一个是在Chrome扩展中使用的正确select: window.localStorage或chrome.storage.local ? PS我正在使用browser action来加载IFRAME的本地HTML 。 所以我没有使用popup.js 。

ReactJS组件名称必须以大写字母开头?

我正在玩JSBin上的ReactJS框架。 我注意到,如果我的组件名称以小写字母开头,它不起作用。 例如以下不会渲染: var fml = React.createClass({ render: function () { return <a href='google.com'>Go</a> } }); React.render(<fml />, document.body); 但只要我用Fmlreplacefml ,它就会呈现。 有没有一个原因,我不能开始用小写字母标签?

将string转换为variables名称

我有任何string。 像“水牛”一样, x='buffalo' 我想将这个string转换成一些variables名称, buffalo=4 不仅这个例子,我想将任何inputstring转换为一些variables名称。 我应该怎么做(在Python中)?