小编cyt*_*nox的帖子

获取完整的rails控制器名称,包括命名空间

我在不同的命名空间中有很多控制器.controller_name方法仅返回控制器的名称,例如"articles".有没有机会获得像'service/articles'这样的全名(文章控制器在服务命名空间中)?

我想通过全局使用的部分创建每个控制器的索引操作的链接:

<%= link_to controller.display_name, { :controller => controller.controller_name, :action => "index"} %>
Run Code Online (Sandbox Code Playgroud)

如果在"users"命名空间的视图中呈现此部分,则会出现错误:users/articles没有路由(它应该是service/articles).

ruby-on-rails ruby-on-rails-3

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

根据模板参数创建字符串

我有很多这样的类/方法:

template<typename CharT, typename TraitsT = std::char_traits<CharT> >
struct Foo
{
   std::basic_string<CharT, TraitsT> getFoo(void) const
   {
     return "Foo"; // + this->member_var1 + this->member_var2...
   }
};
Run Code Online (Sandbox Code Playgroud)

但是根据CharT,我必须使用"","",""或"U"(对于char,wchar_t,u16char_t,u32char_t).

必须使用什么语法来创建与此类模板参数无关的字符串?

c++ string templates

14
推荐指数
1
解决办法
743
查看次数

将元素从一个列表添加到另一个列表的简单方法

将所有元素从一个std :: list添加到另一个std :: list的"正确"方法是什么?

void
Node::addChilds(const NodeList *list)
{
    for(NodeList::const_iterator i = list->begin();
        i != list->end();
        ++i)
        {
            this->m_childs.push_back(*i);
        }
}
Run Code Online (Sandbox Code Playgroud)

我想到了std :: copy,但afaik for copy我必须调整目标列表的大小,备份结束迭代器(在调整大小之前)等.

我正在寻找单行声明.

c++ stl

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

为什么std :: copy(从istream到ostream)会引发ios :: failure异常?

以下代码应将数据从wifstream复制到wcout.复制内容后,程序将抛出ios :: failure异常.

#include <string>
#include <iostream>
#include <sstream>
#include <fstream>
#include <locale>
#include <iterator>
#include <algorithm>


int main(void)
{
    std::locale::global(std::locale(""));

    std::wifstream is;
    is.exceptions( std::ios::failbit | std::ios::badbit );
    is.open("test.ts", std::ios::binary);

    is >> std::noskipws;

    std::istream_iterator<wchar_t, wchar_t> in(is);
    std::istream_iterator<wchar_t, wchar_t> end;

    std::copy(in, end,
              std::ostream_iterator<wchar_t, wchar_t>(std::wcout));

    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

如果出现任何问题,流应该只抛出一个异常(参见异常掩码),但不会抛出异常.

c++ stl stream

8
推荐指数
1
解决办法
2815
查看次数

在Delphi中将数据从TBytes复制到Byte数组的正确方法

鉴于以下内容:

LBytes: TBytes;
LArr: array[1..512] of Byte;
...
SetLength(LBytes, 512);
Run Code Online (Sandbox Code Playgroud)

什么是正确的Move()调用将所有字节从LBytes复制到LArr?

Move(LBytes[0], LArr, Length(LBytes)); // works

Move(LBytes[0], LArr[1], Length(LBytes)); // works, too

Move(LBytes, LArr[1], Length(LBytes)); // fail
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么使用Larr和Larr [1]没有区别但LBytes [0]和LBytes之间有区别吗?

delphi pascal

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

没有路由匹配时覆盖Falcon的默认错误处理程序

当Falcon(-Framework)无法找到特定请求的路由时,将返回404.如何覆盖此默认处理程序?我想用自定义响应扩展处理程序.

python falconframework

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

如何在python 3.5中使用毫秒而不是微秒获取日期时间的ISO8601字符串

鉴于以下日期时间:

d = datetime.datetime(2018, 10, 9, 8, 19, 16, 999578, tzinfo=dateutil.tz.tzoffset(None, 7200))
Run Code Online (Sandbox Code Playgroud)

d.isoformat() 结果为字符串:

'2018-10-09T08:19:16.999578+02:00'
Run Code Online (Sandbox Code Playgroud)

如何获得毫秒而不是微秒的字符串:

'2018-10-09T08:19:16.999+02:00'
Run Code Online (Sandbox Code Playgroud)

strftime() 在这里不起作用:%z 返回 0200 而不是 02:00 并且只有 %f 来获取微秒,没有毫秒的占位符。

python datetime iso8601 python-3.x python-3.5

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

如何将白平衡系数应用于 sRGB 输出的 RAW 图像

我想将 RAW 图像数据 (RGGB) 转换为 sRGB 图像。有许多专门的方法可以做到这一点,但首先要了解基础知识,我已经实现了一些简单的算法,例如通过降低分辨率进行去拜耳化。我目前的管道是:

  • 通过重新调节U16输入数据的黑whitelevel
  • 应用白平衡系数
  • 尺寸减小的 Debayer,G 的平均值:g=((g0+g1)/2)
  • 计算 D65 光源 XYZ_TO_CAM 的伪逆(来自 Adob​​e DNG)
  • 通过 CAM_TO_XYZ 将 debayered RGB 数据转换为 XYZ
  • 将 XYZ 转换为 D65 sRGB(取自 Bruce Lindbloom 的矩阵)
  • 应用伽马校正(目前简单的例程,应替换为 sRGB 伽马)
  • 从 [minval..maxval] 重新缩放到 [0..1] 并将 f32 转换为 u16
  • 另存为 tiff

问题是,如果我跳过白平衡系数乘法(或者只是用 1.0 替换它们),输出图像看起来已经可以接受了。如果我应用系数(取自 DNG 中的 AsShot),则输出会产生巨大的色偏。而且我不确定我是否必须乘以coef1/coef

第一个图像是 wb_coefs 设置为 1.0 的管道的结果。

在此处输入图片说明

第二个图像是“正确”wb_coefs 的结果。

在此处输入图片说明

我的管道有什么问题?

补充问题:

  • 我不确定重新缩放过程。我是否必须在每一步后重新调整为 [0..1] 或者在 u16 转换期间作为最后阶段重新调整是否足够?

完整代码:


macro_rules! max {
  ($x: expr) …
Run Code Online (Sandbox Code Playgroud)

rgb image image-processing rust raw

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

将python字典传递给psycopg2游标

我需要调用一个PostgreSQL 8.4函数,它需要来自Python的17个输入参数.值存储在字典中.所以我可以写:

cur.execute("SELECT add_user(%s, %s, %s, %s, %s, %s, %s, .......)", user["nr"], user['email']...)
Run Code Online (Sandbox Code Playgroud)

是否可以自动将字典中的值映射到函数参数(与字典中的键同名)?

就像是:

cur.execute("SELECT add_user(*magic-here*)", user)
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2

5
推荐指数
1
解决办法
4971
查看次数

从Win32从C或Delphi获取BIOS UUID

VMWare配置文件包含一行

uuid.bios = "56 4d ed cf 3c cd 63 20-53 78 95 86 26 92 22 c8"
Run Code Online (Sandbox Code Playgroud)

而afaik大多数(每个?)物理BIOS都有这样一个UUID.是否有任何Windows API调用来获取此标识符?

我已经尝试了WMI类Win32_ComputerSystemProduct.UUID属性,但该值与uuid.bios值不同.HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineGuid的值也不同.

c delphi winapi uuid bios

4
推荐指数
1
解决办法
9426
查看次数