小编tik*_*tak的帖子

Ruby:使用私钥/公钥进行文件加密/解密

我正在寻找一种文件加密/解密算法,它满足以下要求:

  • 算法必须可靠
  • 对于相当大的文件,算法应该很快
  • 私钥可以通过某些参数生成(例如,密码)
  • 生成的私钥必须与公钥兼容(公钥只生成一次并存储在数据库中)

是否有建议算法的Ruby实现?

ruby encryption ruby-on-rails encryption-asymmetric public-key-encryption

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

Hibernate:org.hibernate.LazyInitializationException:无法初始化代理 - 没有Session

对数据库有以下查询:

        Session session = EmployeesDAO.getSessionFactory().getCurrentSession();
        List<Employee> employees = new ArrayList<Employee>();
        try {
            session.beginTransaction();
            String hqlQuery = "from Employee emp "
                    + "left join fetch emp.employeesOffices employeesOffice "
                    + "left join fetch employeesOffice.office employeesOfficeOffice "
                    + "left join fetch employeesOfficeOffice.company "
                    + "left join fetch emp.address empAddress "
                    + "left join fetch empAddress.city empAddressCity "
                    + "left join fetch empAddressCity.country";
            Query empQuery = session.createQuery(hqlQuery);
            empQuery.setMaxResults(maxResult);
            employees = (List<Employee>) empQuery.list();
            session.getTransaction().commit();

        } catch (HibernateException e) {
            session.getTransaction().rollback();
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

在获取employee.address.street,employee.address.houseNumber或employee.address.city时,它失败并出现异常:

org.hibernate.LazyInitializationException: could …
Run Code Online (Sandbox Code Playgroud)

java hibernate lazy-loading

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

正确覆盖proguard选项

我正在使用当前项目中的ProGuard,并决定尝试优化android配置(使用gradle):

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Run Code Online (Sandbox Code Playgroud)

我没有找到任何关于proguard和android版本执行的优化的明确文档,这些版本与它们兼容:

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* 
Run Code Online (Sandbox Code Playgroud)

如果app min sdk版本是11,它们是最新的吗?

所以我决定覆盖它试试proguard-rules.pro:

-optimizations **
-printconfiguration "result.pro"
Run Code Online (Sandbox Code Playgroud)

但最终的配置并不像我预期的那样.它包含所有组合的规则:

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*,**
Run Code Online (Sandbox Code Playgroud)

那么如何在ProGuard中正确覆盖选项?或者这条线可能等于-optimizations **

android proguard

6
推荐指数
1
解决办法
1072
查看次数

在画布上绘图时偏移

有一个简单的绘图应用程序 问题出在坐标(redraw函数)中:它们必须是鼠标,但接近2x鼠标.代码中的问题是什么?

<html>
<head>
    <style type="text/css" media="screen">
body{
    background-color: green;
}

#workspace{
    width: 700px;
    height:420px;
    margin: 40px auto 20px auto;
    border: black dashed 1px;
}

#canvas{
    background: white;
    width: 100%;
    height: 100%;
}
    </style>
<script type="text/javascript" src="jquery-1.7.1.js"></script> 
<script type="text/javascript">
$(document).ready(
    function() {
        var context = document.getElementById('canvas').getContext("2d");
        var clickX = new Array();
        var clickY = new Array();
        var clickDrag = new Array();
        var paint;

        $('#canvas').mousedown(function(e){
            var mouseX = e.pageX - this.offsetLeft;
            var mouseY = e.pageY - this.offsetTop;
            paint = …
Run Code Online (Sandbox Code Playgroud)

javascript mouse jquery draw html5-canvas

3
推荐指数
1
解决办法
6563
查看次数

使用nokogiri解析XML并创建具有多个属性的记录

感觉像我在这里遗漏了一些非常明显但却看不到的东西.

我有一个XML文件,正在使用Nokogiri gem.

XML看起来像这样(想象一下,如果你有无限量的'变种'):

<?xml version="1.0" encoding="UTF-8"?> 
<products> 
    <variant> 
        <sku type="string">123abc</sku>
        <inventory-quantity type="integer">68</inventory-quantity> 
    </variant> 
    <variant> 
        <sku type="string">321cba</sku>
        <inventory-quantity type="integer">22</inventory-quantity> 
    </variant>
</products>
Run Code Online (Sandbox Code Playgroud)

我想循环变量并为每个变量创建一个包含'sku'和'inventory-quantity'属性的相应记录.

这是我到目前为止所做的,但不是创建单独的记录,在上面的例子中它创建了两个记录并插入Nokogiri返回到每个记录属性的完整数组或NodeSet.所以这:

doc = Nokogiri::XML(File.open("#{Rails.root}/public/new.xml")) 

variant = doc.xpath("//variant")

variant.each do |product| 

  sku = product.xpath("//sku").text
  quan = product.xpath("//inventory-quantity").text

  Productmapping.create(:sku => sku, :product_quantity => quan)

end
Run Code Online (Sandbox Code Playgroud)

创造这个......

sku              inventory-quantity

123abc321cba     6822
123abc321cba     6822
Run Code Online (Sandbox Code Playgroud)

我真正想要的地方:

sku              inventory-quantity

123ab            68
321cba           22
Run Code Online (Sandbox Code Playgroud)

它看起来像是因为xpath定位器将所有出现的内容返回到一个数组中,我正在调用该数组并为每个记录插入它.

谢谢!

ruby xml activerecord ruby-on-rails nokogiri

3
推荐指数
1
解决办法
5976
查看次数