我有2个数字这是0和49之间让我们给他们打电话x和y.现在我想得到一些不是x或y的其他数字,但也介于0和之间49(我正在使用Objective C,但这更像是一个普遍的理论问题吗?).
我想到的方法是:
int a;
int b;
int c;
do {
a = arc4random() % 49;
} while ((a == x) || (a == y));
do {
b = arc4random() % 49;
} while ((b == x) || (b == y) || (b == a));
do {
c = arc4random() % 49;
} while ((c == x) || (c == y) || (c == a) || (c == b));
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点不好,我不知道,我只是想学习成为一名更好的程序员,最佳做法是什么才能做到这一点?
Solr 1.4 Enterprise Search Server建议对核心副本执行大型更新,然后将其交换为主核心.我遵循以下步骤:
我遇到的问题是,在步骤1中创建的核心中没有任何数据.如果我要对所有东西和厨房水槽做一个完整的索引,那就没问题了,但如果我只是想更新一个(大)文件的子集 - 那显然不会起作用.
(我可以合并核心,但我正在尝试做的部分是删除任何已删除的文档,而不试图列出它们.)
我错过了CREATE动作的标志吗?CoreAdmin的Solr Wiki页面在细节上有点稀疏.
solr-user上有人建议使用复制.要在这种情况下使用它(我的理解)需要以下步骤:
更简单的基于复制的设置是配置永远是主设备的永久PREP核心.MAIN核心(根据需要在尽可能多的服务器上)可以成为PREP核心的从属.可以根据需要快速或慢速地在PREP核心上进行索引.
我想出的另一个想法是这个(也涉及一个永久的PREP核心):
我在整个应用程序中广泛使用std :: tr1 :: shared_ptr.这包括在函数参数中传递对象.考虑以下:
class Dataset {...}
void f( shared_ptr< Dataset const > pds ) {...}
void g( shared_ptr< Dataset const > pds ) {...}
...
Run Code Online (Sandbox Code Playgroud)
虽然通过shared_ptr传递数据集对象可以保证它在f和g中的存在,但是这些函数可能会被调用数百万次,这会导致很多shared_ptr对象被创建和销毁.这是最近一次运行的平坦gprof配置文件的片段:
Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 9.74 295.39 35.12 2451177304 0.00 0.00 std::tr1::__shared_count::__shared_count(std::tr1::__shared_count const&) 8.03 324.34 28.95 2451252116 0.00 0.00 std::tr1::__shared_count::~__shared_count()
因此,大约17%的运行时用于使用shared_ptr对象进行引用计数.这是正常的吗?
我的应用程序的很大一部分是单线程的,我正在考虑重写一些函数
void f( const Dataset& ds ) {...}
Run Code Online (Sandbox Code Playgroud)
并替换电话
shared_ptr< Dataset > pds( new Dataset(...) );
f( pds …Run Code Online (Sandbox Code Playgroud) 我有两个类Address和Employee如下:
public class Address
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
public class Employee
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public Address EmployeeAddress { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有两个员工实例如下:
var emp1Address = new Address(); …Run Code Online (Sandbox Code Playgroud) 我有以下方法:
public void PutFile(string ID, Stream content)
{
try
{
ThreadPool.QueueUserWorkItem(o => putFileWorker(ID, content));
}
catch (Exception ex)
{
OnPutFileError(this, new ExceptionEventArgs { Exception = ex });
}
}
Run Code Online (Sandbox Code Playgroud)
putFileWorker方法如下所示:
private void putFileWorker(string ID, Stream content)
{
//Get bucket name:
var bucketName = getBucketName(ID)
.ToLower();
//get file key
var fileKey = getFileKey(ID);
try
{
//if the bucket doesn't exist, create it
if (!Amazon.S3.Util.AmazonS3Util.DoesS3BucketExist(bucketName, s3client))
s3client.PutBucket(new PutBucketRequest { BucketName = bucketName, BucketRegion = S3Region.EU });
PutObjectRequest request = new PutObjectRequest();
request.WithBucketName(bucketName) …Run Code Online (Sandbox Code Playgroud) 在长时间运行的操作中,我正在显示一个弹出对话框(从中ProgressDialog阻止其他操作发生).
我已经使它不可取消setCancelable(false),因此我无法使用后退按钮关闭它,但令人惊讶的是,搜索硬件按钮会取消对话框!
更确切地说,显示全局搜索应用程序,当我回到我的应用程序时,对话框已被解除.
知道如何防止对话被解雇吗?
当我们想要修改一个对象中的某个值时,我们可能会使用两种不同的方法,只是想知道哪一个更好或者它们之间没有大的差别.
void SomeMethod()
{
UserInfo newUser = New UserInfo();
ModifyUserInfo(newUser);
//Modify UserInfo after calling void method GetUserInfo
}
void ModifyUserInfo(UseerInfo userInfo)
{
userInfo.UserName = "User Name";
.....
}
Run Code Online (Sandbox Code Playgroud)
void SomeMethod()
{
UserInfo newUser = New UserInfo();
//Assign new userinfo explicitly
newUser = GetUserInfo(newUser);
}
UserInfo ModifyUserInfo(UseerInfo userInfo)
{
userInfo.UserName = "User Name";
.....
return userInfo;
}
Run Code Online (Sandbox Code Playgroud) 我开始使用ggplot2.我有一些小的n(大约30左右)粒度数据,有很多重叠.抖动和alpha(透明度)都不合适.相反,带有堆栈和偏移的条形图最好,但我不知道如何在ggplot2中执行此操作.你知道吗?
要查看最终结果应该单击此图形.
这是我几年前使用的脚本.
stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
Run Code Online (Sandbox Code Playgroud) 是否有一个PHP函数可以在两个字符之间抓取字符串.例如,我想知道百分比和美元符号之间的区别:
%HERE $
这有什么作用?
c# ×3
php ×2
android ×1
asp.net ×1
asynchronous ×1
c++ ×1
dialog ×1
ggplot2 ×1
objective-c ×1
overlap ×1
performance ×1
r ×1
random ×1
reflection ×1
return ×1
shared-ptr ×1
solr ×1
stripchart ×1
tags ×1