小编chi*_*s42的帖子

用于存储本地化数据版本的良好数据库表设计

我正在尝试设计一些表来存储一些数据,这些数据必须在以后转换为不同的语言.任何人都可以提供一些"最佳实践"或指导方针吗?

谢谢

sql sql-server database-design localization

7
推荐指数
1
解决办法
5512
查看次数

SQLite的案例不敏感的UTF-8字符串排序规则(C/C++)

我正在寻找一种方法,以不区分大小写的方式比较和排序C++中的UTF-8字符串,以便在SQLite中的自定义排序规则函数中使用它.

  1. 理想情况下,该方法应与区域设置无关.然而,我不会屏住呼吸,据我所知,校对是非常依赖于语言的,所以任何适用于英语以外语言的东西都可以,即使这意味着切换语言环境.
  2. 选项包括使用标准C或C++库或小型(适用于嵌入式系统)和非GPL(适用于专有系统)第三方库.

到目前为止我所拥有的:

  1. strcoll使用C语言环境和std::collate/ std::collate_byname区分大小写.(这些是否有不区分大小写的版本?)
  2. 我试图使用POSIX strcasecmp,但它似乎没有为除以外的语言环境定义"POSIX"

    在POSIX语言环境中,strcasecmp()和strncasecmp()执行从上到下的转换,然后执行字节比较.结果未在其他语言环境中指定.

    事实上,strcasecmpLinux与GLIBC上的语言环境之间的结果并没有改变.

    #include <clocale>
    #include <cstdio>
    #include <cassert>
    #include <cstring>
    
    const static char *s1 = "Äaa";
    const static char *s2 = "äaa";
    
    int main() {
        printf("strcasecmp('%s', '%s') == %d\n", s1, s2, strcasecmp(s1, s2));
        printf("strcoll('%s', '%s') == %d\n", s1, s2, strcoll(s1, s2));
        assert(setlocale(LC_ALL, "en_AU.UTF-8"));
        printf("strcasecmp('%s', '%s') == %d\n", s1, s2, strcasecmp(s1, s2));
        printf("strcoll('%s', '%s') …
    Run Code Online (Sandbox Code Playgroud)

c++ sqlite unicode utf-8 internationalization

7
推荐指数
1
解决办法
9411
查看次数

将unicode代码点转换为UTF-8的最简单方法

在C中将Unicode代码点转换为UTF-8字节序列的最简单方法是什么?想到的唯一方法是使用iconv从UTF-32LE代码页映射到UTF-8,但这似乎有点过分.

c unicode utf-8

7
推荐指数
2
解决办法
5719
查看次数

测试一下?

我主要花时间研究win32和.NET应用程序的自动化测试,这需要大约30%的时间来编写,70%用于维护.我们一直在研究减少维护时间的方法,并且已经转移到可重用的测试库,该库涵盖了我们软件的大部分关键组件.此外,我们正在进行一些工作,以使我们的库进入可以使用基于关键字的测试的状态.

我一直在考虑对我们的测试库进行单元测试,但我想知道它是否值得花时间.我是软件单元测试的坚定支持者,但我不确定如何处理测试代码.

您认为自动化Gui测试库应该进行单元测试吗?还是只是浪费时间?

automated-tests unit-testing

7
推荐指数
4
解决办法
1041
查看次数

.NET/Mono的最佳图形库

我正在寻找一个.NET和Mono的高性能图形库.我已经看过Tao框架,虽然它非常完整,但在可用性方面却相当缺乏.它应该是跨平台兼容的.

还有哪些替代方案适合您?

.net graphics mono cross-platform

6
推荐指数
2
解决办法
1675
查看次数

根据整数设置布尔值

我发现这个陈述是一些旧代码,我花了一秒钟才弄明白......

IsTestActive = (TestStateID == 1 ? true : false);
Run Code Online (Sandbox Code Playgroud)

如果我错了请纠正我,但这不是这个吗?:

IsTestActive = (TestStateID == 1);
Run Code Online (Sandbox Code Playgroud)

如果是的话,你为什么要使用第一个呢?哪一个更具可读性?(我想是后者,但我想看看别人怎么想.)

c# coding-style readability

6
推荐指数
2
解决办法
667
查看次数

同构开发平台是否适合行业发展?

一个框架,浏览器或语言赢得战争并成为事实上的标准,是否符合软件开发行业的最佳利益?一方面它消除了跨平台的挑战,但它为单点故障打开了它.它是否也会导致创新停滞,或者是否会让行业专注于更重要的事情(无论那些可能是什么).

cross-platform

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

跨平台编辑器控制

我需要一个跨平台的编辑器控件,以便在内部工具中用作GUI部件.控制可能是商业性的,但价格合理.

所需功能:

  • 平台:Win32,OS X,Linux
  • UTF-8支持
  • 对文本样式(或至少颜色)进行细粒度的运行时控制
  • 漂亮的低级普通C API没有通常可怕的膨胀
  • 不应该阻止我拥有这些功能(即使我必须自己实现):
    • 撤销重做
    • 复制粘贴
    • 上下文菜单,取决于文本中的单击位置
    • 工具栏,取决于文本中的光标位置
    • 侧栏面板,取决于文本中的光标位置

实际上上面不需要简单的控制,而是整个跨平台的GUI库.

丢弃的选项:

  • Scintilla和后代
  • FLTK
  • 福克斯的工具包
  • gtksourceview

更新:

注意:我在这里写了一些半写的丢弃推理,我道歉.Scintilla确实可以在OS X上运行.但是,如果我能正确使用它,Scintilla的API就是用C++编写的.

用例:

我的用例是编写自定义的"半刚性"逻辑编辑器,用户可以自由地复制粘贴,在他希望的地方添加注释,甚至可以直接输入文本.但是文本结构是逻辑树的一种严格的自然语言表示(在某种程度上类似于AST).我打算写一些类似intellisense(或类似代码模板)的东西用作主要的创作工具(而不是手工输入逻辑).

顺便说一句,存储格式不是纯文本,而是提到的逻辑树的内部表示(带有注释和空格等元数据).

因此,我拥有所有必要的信息来自己呈现所需颜色的文本.我不需要任何外部词法分析器等.

c user-interface cross-platform editor

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

如何查询与其约束不匹配的外键?

SQL Server 2005.

我正在将外键约束添加到据称不需要它们的应用程序的数据库中.当然,数据变得不可靠,并且在外键领域中存在孤立的条目.

设置:
两个表,TableUser和TableOrder.TableUser具有主键'UserID',TableOrder具有外键'UserID'.

如何在TableUser.UserID中找到TableOrder.UserID没有匹配条目的行?

例如,TableOrder.UserID的值为250,但250没有匹配的TableUser.UserID键.

t-sql sql-server-2005 foreign-keys foreign-key-relationship

5
推荐指数
2
解决办法
2227
查看次数

是否值得努力使函数返回另一个函数的反函数?

我最近在内部javascript库中添加了一个HasValue函数:

function HasValue(item) {
    return (item !== undefined && item !== null);
}
Run Code Online (Sandbox Code Playgroud)

在与同事交流期间,我们提出了添加另一个基本上只是反过来的函数的想法:也许是HasNoValue,或IsNothing如果我们最终做到了这样我们会:

function HasNoValue(item) {
    return (item === undefined || item === null);
}
function HasValue(item) {
    return !HasNoValue(item);
}
Run Code Online (Sandbox Code Playgroud)

但是,我们不确定它们和HasValue是否更具可读性.哪个更具可读性/首选?

A:

if (HasValue(x) && !HasValue(y))
Run Code Online (Sandbox Code Playgroud)

B:

if (HasValue(x) && HasNoValue(y))
Run Code Online (Sandbox Code Playgroud)

javascript readability syntactic-sugar

5
推荐指数
3
解决办法
283
查看次数