小编Not*_*ist的帖子

rails3 bigint主键

我想在Rails 3下创建一个bigint(或string任何不是int)类型的主键字段.

我有一个给定的数据结构,例如:

things
------
id bigint primary_key
name char(32)
Run Code Online (Sandbox Code Playgroud)

我目前正试图推动的方法:

create_table :things, :id => false do |t| # That prevents the creation of (id int) PK
  t.integer :id, :limit => 8 # That makes the column type bigint
  t.string :name, :limit => 32
  t.primary_key :id # This is perfectly ignored :-(
end
Run Code Online (Sandbox Code Playgroud)

列类型是正确的,但主键选项不会出现在sqlite3中,我怀疑MySQL也是如此.

ruby-on-rails primary-key bigint ruby-on-rails-3

8
推荐指数
2
解决办法
8669
查看次数

UTF-8与cpp案例所需的解释

我在Windows 7 64bit上安装了Microsoft Visual Studio 2010.(在项目属性中,"字符集"设置为"未设置",但每个设置都会导致相同的输出.)

源代码:

  using namespace std;
  char const charTest[] = "árvízt?r? tükörfúrógép ÁRVÍZT?R? TÜKÖRFÚRÓGÉP\n";
  cout << charTest;
  printf(charTest);
  if(set_codepage()) // SetConsoleOutputCP(CP_UTF8); // *1
    cerr << "DEBUG: set_codepage(): OK" << endl;
  else
    cerr << "DEBUG: set_codepage(): FAIL" << endl;
  cout << charTest;
  printf(charTest);
Run Code Online (Sandbox Code Playgroud)

*1:包括windows.h弄乱东西,所以我从一个单独的cpp中包含它.

已编译的二进制文件包含字符串作为正确的UTF-8字节序列.如果我将控制台设置为带有chcp 65001和发出的UTF-8 type main.cpp,则字符串会正确显示.

测试(控制台设置为使用Lucida Console字体):

D:\dev\user\geometry\Debug>chcp
Active code page: 852

D:\dev\user\geometry\Debug>listProcessing.exe
?írv??zt??r?? t??k?Ârf??r??g??p ?üRV??ZT??R?É T??K??RF?ÜR?ôG?ëP
?írv??zt??r?? t??k?Ârf??r??g??p ?üRV??ZT??R?É T??K??RF?ÜR?ôG?ëP
DEBUG: set_codepage(): OK
??rv??zt??r?? t??k??rf??r??g??p ??RV??ZT??R?? T??K??RF??R??G??P
árvízt?r? …
Run Code Online (Sandbox Code Playgroud)

c++ utf-8 visual-studio

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

IntelliJ想法:显示进程ID

我正在从IntelliJ Idea开始一个java程序,它使用的.dll是我用C++编写的.在应用程序启动后,我可以使用Microsoft Visual Studio(Debug/Attach to Process ...)附加到进程,这允许我调试正在运行的应用程序的C++部分.

这个过程的名称很简单java.从所有java过程中选择正确的一个总是很痛苦.简单的任务管理器是不够的.该进程资源管理器是好的,但我仍然需要,直到我找到合适的人来检查多个进程.如果Idea只是告诉它启动的应用程序的PID,对我来说会容易得多.

Idea有这样的功能吗?

(赢得7 64位新鲜@ 2017-04-19,创意2017.1.1)

c++ java intellij-idea

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

ferror()的消息文本返回值

如何获取由返回的错误代码的消息int ferror(FILE*)?因为errnochar * strerror(int).什么是ferror返回的代码?如果char * strerror(int)对此也有好处,那么我需要一个参考(我没有找到这种情况的任何指标).

c c++ io error-handling

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

积分的std :: numeric_limits <T> :: epsilon()

我没有任何好的参考std::numeric_limits<T>,但网上的网站说std::numeric_limits<T>::epsilon()会返回它之间的差异1和之后的最小数字.据我所知,这个int类型,后面的下一个数字12,所以epsilon应该是1.但它是0(Linux,g ++ 4.4.5).这背后的原因是什么?

我知道在实践epsilon()中只对浮点类型有用,我只是在挑剔.

c++ stl

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

VS2013:恢复经典查找窗口和通配符搜索

与Visual Studio 2010相比,它们取代了Visual Studio 2013中的"查找"窗口(Ctrl + F).它现在是编辑器区域右上角的窗口等简约搜索栏,它可以在实际文件中进行即时搜索.这让我发疯了.更不用说没有"通配符"选项和开关的模糊可视化([Aa],[.*]等周围的非常薄的边界......).总而言之,我不喜欢它.

不幸的是,"在文件中查找"(Ctrl + Shift + F)现在也没有通配符.至少它仍然是非即时和大的.

  • 我可以以某种方式恢复通配符搜索吗?
  • 我可以使用Ctrl + F来提升在当前文件中搜索的窗口吗?

您知道这些目标的任何有用设置或扩展吗?

visual-studio-2013

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

Java中最快的char到字符串转换

我在Java中看到了将a转换char为a的四种选择Stirng.

v = Something.lookup(new String((char)binaryData[idx])); // SORRY! Wrong.
v = Something.lookup("" + (char)binaryData[idx]);
v = Something.lookup(String.valueOf((char)binaryData[idx]));
v = Something.lookup(Character.toString((char)binaryData[idx])));
Run Code Online (Sandbox Code Playgroud)

我认为第一个是最慢的.第二个很方便.我推测第三个可能返回先前创建的String实例,但我不确定,API文档没有这么说.这同样适用于备选方案四.这种重用实例将是非常幸运的,因为基于散列的查找可以利用hashCode()缓存String.(API文档中也没有描述哪个功能,但很多人告诉我.)

我来自C++,我觉得缺乏复杂的信息令人不安.:-)我的推测是否正确?我们是否有任何形式的性能保证和缓存机制的官方文档?

java performance

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

php-cli:检测托管操作系统的最佳方法是什么?

我有一个脚本,我想在Cygwin和Linux下的Windows上运行.出于某些目的,我必须区分两个运行环境.最好的方法是什么?

php

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

水壶:填充字段,顺序没有冲突

我有一个具有以下结构的数据流

user_id (integer)
user_name (string)
Run Code Online (Sandbox Code Playgroud)

user_id是介于100和65536之间的任何内容.我想target_user_id根据以下逻辑添加(整数)字段:

  • 如果user_id在1000..9999范围内,那么让该target_user_id字段等于user_id
  • 如果没有,那么填写target_user_id1000..9999范围内的东西,不会引起冲突.最好尽可能低.

流的长度小于9000.该user_id字段在原始流中是唯一的.

pentaho sequence kettle

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

GnuPlot 中带零的对数 y

我的目标是在对数刻度上显示 0 值,略低于 1。

我设法with boxes用对数 Y 刻度绘制了自己的简单直方图 ( )。我的 Y 值是非负整数,最大为 25000。我无法区分 0 和 1 值,因为 Y 刻度从 1 开始。这在数学上是正确的,但我想在 1 的正下方添加一个零。

如果我要编写一个绘制图表的程序,我会向所有数据添加 1,并从 Y 标签中删除 1。有什么技巧可以为我做类似的事情吗?

gnuplot

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