所以我正在使用这个巨大的代码库,并意识到其中一个结构缺少一个重要的领域.我尽可能密切地查看代码(使用结构)并得出结论,添加额外的字段不会破坏它.
关于我可以搞砸的任何想法?
另外:欢迎设计建议 - 我能做到这一点的最佳方式是什么?
例如(如果我不清楚):
typedef struct foo
{
int a;
int b;
}
foo;
Run Code Online (Sandbox Code Playgroud)
现在是:
typedef struct foo
{
int a;
int b;
int c;
}
foo;
Run Code Online (Sandbox Code Playgroud) 我的网络应用程序以UTC为单位存储所有时间戳,没有时区.我有一个shell/psql脚本,它返回最近登录的列表,我希望该脚本在服务器的本地时区显示登录时间(这可能因服务器的位置和夏令时而异).
要获得表示我的数据库服务器的时区和UTC之间的差异的间隔,我目前正在使用此hack:
SELECT age(now() at time zone 'UTC', now());
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是有更简单的方法吗?
有一个名为"timezone"的服务器配置参数返回一个有效的时区字符串,但我认为不可能在查询中访问这些参数.(我想这是一个单独的问题,但是它的答案可以解决时区问题.)
假设methodA和methodB都会抛出几种类型的异常,而有些异常属于同一类型,有些则不是,那么处理这种情况的最佳做法是什么?
风格A:
void foo()
{
try
{
methodA();
}
catch (exceptionTypeA)
{
handleA;
}
try
{
methodB();
}
catch (exceptionB)
{
handleB;
}
}
Run Code Online (Sandbox Code Playgroud)
风格B:
void foo()
{
try
{
methodA();
methodB();
}
catch (exceptionTypeA)
{
handleA;
}
catch (exceptionB)
{
handleB;
}
}
Run Code Online (Sandbox Code Playgroud) 我知道如何更改Web服务器中的MIME类型.我使用它来确保浏览器下载我的.scrpt文件而不是打开纯文本版本.到目前为止这么好但是有可能通过链接做同样的事情吗?我想链接到GitHub上的文件,但这将打开为纯文本文件.我可以在链接中添加"MIME类型属性"以告诉浏览器下载文件吗?
这是我想看到的:
<a mimetype="application/octet-stream" href="http://gist.github.com/raw/279094/39d5a2c1037288d5ee0ba1a17dca9edb368bbe42/RepairiPhotoDates.scpt">download</a>
Run Code Online (Sandbox Code Playgroud) 我想放弃对linq表所做的所有更改(这意味着 - 我使用linq,数据在客户端更改,服务器上的数据完好无损).这该怎么做?
编辑:问题部分解决
http://graemehill.ca/discard-changes-in-linq-to-sql-datacontext/
只要您不使用事务,它就可以工作.当你这样做并且使用混合"模式"作为记录时,存在一个问题:
begin trans
insert a record
update inserted record
commit trans
Run Code Online (Sandbox Code Playgroud)
当您更新上面的记录时,Linq将其计为更新记录,如果出现异常,您有两个操作 - 事务将被回滚,Linq端的数据将被丢弃.在丢弃更改时,Linq尝试从数据库中获取它(丢弃更新意味着为记录重新获取数据),但由于所有更改都已回滚,因此没有更新记录.
如何以智能通用方式改进DiscardChanges方法以处理事务.或者如何更改事务/ discard-submitchanges的工作流程以使所有这些工作一起工作?
那些不是聪明的解决方案:
我已经开始写一个简单的控制台Yahtzee游戏进行练习.我只是对这个功能是否会泄漏内存有疑问.每次需要重新滚动骰子时都会调用滚动功能.
它的作用是创建一个动态数组.第一次使用它会存储5个随机值.对于下一次运行,除了你要保留的骰子外,它只会重新滚动.我有另一个功能,但由于它与这个问题无关,我把它留了出来
主功能
int *kast = NULL; //rolled dice
int *keep_dice = NULL; //which dice to re-roll or keep
kast = roll(kast, keep_dice);
delete[] kast;
Run Code Online (Sandbox Code Playgroud)
这是功能
int *roll(int *dice, int *keep) {
srand((unsigned)time(0));
int *arr = new int[DICE];
if(!dice)
{
for(int i=0;i<DICE;i++)
{
arr[i] = (rand()%6)+1;
cout << arr[i] << " ";
}
}
else
{
for(int i=0;i<DICE;i++)
{
if(!keep[i])
{
dice[i] = (rand()%6)+1;
cout << "Change ";
}
else
{
keep[i] = 0;
cout << "Keep ";
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Microsoft.Office.Interop.Excel,我找不到返回所选行的方法.我所说的"选择"是指,当您单击左侧的行排水沟并选择一个或多个连续或不连续的行(突出显示整行)时,行号本身.这与选择区域或纸张本身的区域.
到目前为止,我已经看过app.Selection,app.Cells,app.Rows,但这些似乎都没有给我行.app.Selection给我实际的细胞内容,这不是我想要的.
有任何想法吗?谢谢!
我使用Ruby on Rails的精湛的Formtastic插件.
在使用自定义集合时,有人知道如何包含空格(选项)吗?
当我尝试:
<%= f.input :organizations, :collection => Organization.all(:order => :name), :include_blank => true %>
Run Code Online (Sandbox Code Playgroud)
我得到了收藏的选择框,但不是空白...
我希望如果我在一个单独的命名空间中定义常量,例如:
namespace config\database\mysql;
const HOST = 'localhost';
const USER = 'testusr';
const PASSWORD = 'testpwd';
const NAME = 'testdb';
Run Code Online (Sandbox Code Playgroud)
我可以__autoload用来自动包含它们:
function __autoload($className)
{
echo "Autoload: {$className}\n";
$class_file = str_replace('\\', '/', $className) . ".php";
if(file_exists($class_file)) {
include $class_file;
}
}
echo config\database\mysql\HOST;
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.该__autoload不叫为恒,因为它是带班,留我一个Undefined constant错误.
我可以通过某种方式模拟__autoload常量类吗?
我有一个Message模型类(继承自ActiveRecord :: Base).对于特定部署,我希望有一个单独的文件,通过添加回调来修改Message.所以,而不是做:
# app/models/message.rb
class Message < ActiveRecord::Base
before_save :foo
def foo
puts 'foo!'
end
end
Run Code Online (Sandbox Code Playgroud)
我希望能够做到:
# app/models/message.rb
class Message < ActiveRecord::Base
end
# config/initializers/fixes.rb
Message
class Message
before_save :foo
def foo
puts 'foo!'
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,它在我启动脚本/控制台时有效,但是当我使用脚本/服务器启动它时通常不会.这是最糟糕的部分,并不是它永远不会奏效.有时我启动服务器并且它可以工作,有时它不工作,而且没有对源进行任何更改.
我正在重新启动服务器本身(据我所知)初始化程序只运行一次,如果修改则不会重新加载.
我知道'有时'的作品很模糊,但我在这里花了好几个小时没有运气.也许某人有类似的问题,或者可以想出一个不同的想法来添加回调.
c# ×3
c++ ×2
activerecord ×1
autoload ×1
automation ×1
c ×1
callback ×1
codebase ×1
const ×1
database ×1
datacontext ×1
excel ×1
formtastic ×1
href ×1
html ×1
hyperlink ×1
linq ×1
memory-leaks ×1
mime ×1
php ×1
postgresql ×1
stream ×1
struct ×1
timezone ×1