小编Mr_*_*s_D的帖子

存储webapp临时数据的最佳实践

我的最新项目能够使用数据库中的信息生成文档.

因此,我将文档模板按需复制到用户的临时文件夹并进行修改.我这样做是因为每个模板在修改期间都必须可用.

之后,用户通过我的webapp下载链接获得他的文档.

我的问题:存储webapp数据是否有最佳实践?我觉得温度会很好.但是因为我必须自己删除数据,所以我想把它放在tomcat webapp文件夹中的WAR文件夹旁边.

我使用Windows 2003作为Tomcat的主机系统.我为我的项目使用Grails,Java和Maven ......不知道是否需要这些信息.

编辑:
我提出这个微不足道的问题的主要原因是......如果我负责创建/删除我的临时数据......在系统上使用临时文件夹仍然是一个好习惯吗?我不确定这个......

java grails tomcat

28
推荐指数
4
解决办法
4万
查看次数

在服务上使用SharedPreferences的问题(服务上不存在getPreferences)

我有一些我希望从服务访问的共享首选项(纬度,经度),它不是来自Activity的子类.

特别是,当我尝试访问getPreferences时,此功能在服务上不存在.我的代码发布在下面

我的目标是允许在我的服务中使用这些共享首选项.有什么建议/例子可以帮助我吗?

public class MyService extends Service implements Runnable {

    LocationManager mLocationManager;
    Location mLocation;
    MyLocationListener mLocationListener;
    Location currentLocation = null;
    static SharedPreferences settings;
    static SharedPreferences.Editor configEditor;

    public IBinder onBind(Intent intent) {
        return null;
    }

    public void onCreate() {
        settings = this.getPreferences(MODE_WORLD_WRITEABLE);
        configEditor = settings.edit();
        writeSignalGPS();
    }

    private void setCurrentLocation(Location loc) {
        currentLocation = loc;
    }

    private void writeSignalGPS() {
        Thread thread = new Thread(this);
        thread.start();
    }

    @Override
    public void run() {
        mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            Looper.prepare();
            mLocationListener …
Run Code Online (Sandbox Code Playgroud)

service android sharedpreferences

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

Weka中的交叉验证

我一直在想,我读到的交叉验证是这样执行的:

在k倍交叉验证中,原始样本被随机分成k个子样本.在k个子样本中,保留单个子样本作为用于测试模型的验证数据,并且剩余的k-1个子样本用作训练数据.然后将交叉验证过程重复k次(折叠),其中每个k个子样本仅使用一次作为验证数据.然后可以对折叠的k结果进行平均(或以其他方式组合)以产生单个估计

所以建立了k个模型,最后一个是平均值.在Weka指南中写道,每个模型总是使用所有数据集构建.那么Weka中的交叉验证如何工作呢?是否根据所有数据构建模型,"交叉验证"意味着创建了k折叠,然后对其进行评估,最终输出结果只是折叠的平均结果?

validation fold weka

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

git line endings - 无法存储,重置,现在无法通过虚假行结尾提交

我有一个回购我添加了gitattributes它并正在努力它.我通过Dropbox将它同步到另一台机器.当我把它打开到另一台机器时,一堆文件突然出现在未分区的区域作为总差异(所有文件都是一个巨大的差异,这意味着行结束差异) - 我的crlf结局基本上是.* text=auto我在Windows上工作.我试图隐藏更改,重置分支等.最后我决定提交文件然后做了一些其他提交我想在行结束提交之前重新排序(和压缩).当我尝试变基时,我得到一个:

error: Your local changes to the following files would be overwritten by merge
        # those same files
Please, commit your changes or stash them before you can merge.
Aborting
Could not apply 89b25b81fff1a1e7893319e123aaaca9c4162a95... <commit message>
Run Code Online (Sandbox Code Playgroud)

当然藏匿不起作用

这是一个错误吗?

有关:

编辑与机器无关 - 在同一台机器上,一些(......)操作只是使这些文件(它们在.gitattributes文本中)出现在"已更改"部分.似乎存在的唯一解决方法是:

git rm --cached -r .
git reset --hard
Run Code Online (Sandbox Code Playgroud)

小心使用

编辑:hack上面转移到别名状态:

[alias]
     crlf = !git rm -r . …
Run Code Online (Sandbox Code Playgroud)

git line-endings

28
推荐指数
1
解决办法
5880
查看次数

Activity OnDestroy从未调用过?

我在ListActivity中使用以下代码

// a separate class in project
public class MyActivity extends ListActivity {
    // some common functions here..
}

public class SelectLocation extends MyListActivity {

    public void onCreate(Bundle savedInstance) {
        // here.....
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (adap != null) adap = null;
        if (list != null) list = null;
        System.gc();
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都指导我为什么onDestroy在我的代码中没有调用方法?

android ondestroy

27
推荐指数
3
解决办法
7万
查看次数

Git:只在本地仓库中删除文件并将其保存在远程仓库中

我有一个NetBeans文件"nbproject/project.properties",它总是显示在"不提交的更改"部分(当我执行git状态时).我怎么能将它移动到Untracked文件部分(不将其添加到.gitignore)?我尝试了这个命令,git rm --cached但发生的事情是文件在我的本地仓库中显示为未跟踪并在远程访问中被删除但我想要的是将其保存在远程和仅在本地仓库中的未跟踪.

git

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

Python"string_escape"vs"unicode_escape"

根据文档,内置字符串编码string_escape:

在Python源代码中生成一个适合作为字符串文字的字符串

......而unicode_escape:

在Python源代码中生成一个适合作为Unicode文字的字符串

所以,他们应该有大致相同的行为.但是,他们似乎对待单引号的方式不同:

>>> print """before '" \0 after""".encode('string-escape')
before \'" \x00 after
>>> print """before '" \0 after""".encode('unicode-escape')
before '" \x00 after
Run Code Online (Sandbox Code Playgroud)

string_escape单引号的转义,而Unicode的则没有.假设我可以简单地说:

>>> escaped = my_string.encode('unicode-escape').replace("'", "\\'")
Run Code Online (Sandbox Code Playgroud)

......并获得预期的行为?

编辑:只是为了超级清晰,预期的行为是获得适合作为文字的东西.

python quotes encoding escaping

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

每天都有AlarmManager Android

我正在努力制定一份时间表.

它应该每天下午1点或下午2点运行......

目前我只能让它每10秒或10分钟运行一次......

Intent myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0);

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

Toast.makeText(AndroidAlarmService.this, "Start Alarm", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

谢谢

android scheduled-tasks alarmmanager

26
推荐指数
2
解决办法
4万
查看次数

是java.util.UUID线程安全吗?

由于以下观察,我问这个问题

  1. 在高度多线程环境中的线程转储中获取此堆栈跟踪

    "http-80-200" daemon prio=10 tid=0x00002aaab4981000 nid=0x7520 waiting \
     for monitor entry [0x000000004fec7000]
       java.lang.Thread.State: BLOCKED (on object monitor)
        at java.security.SecureRandom.nextBytes(SecureRandom.java:433)
        - waiting to lock <0x00000000c00da220> (a java.security.SecureRandom)
        at java.util.UUID.randomUUID(UUID.java:162)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 找到了这个链接

    http://bugs.sun.com/view_bug.do?bug_id=6611830

如果UUID不是线程安全的,请建议任何其他库(如果存在).

java multithreading thread-safety

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

TensorFlow - 类似numpy的张量索引

在numpy中,我们可以这样做:

x = np.random.random((10,10))
a = np.random.randint(0,10,5)
b = np.random.randint(0,10,5)
x[a,b] # gives 5 entries from x, indexed according to the corresponding entries in a and b
Run Code Online (Sandbox Code Playgroud)

当我在TensorFlow中尝试相同的东西时:

xt = tf.constant(x)
at = tf.constant(a)
bt = tf.constant(b)
xt[at,bt]
Run Code Online (Sandbox Code Playgroud)

最后一行给出"Bad slice index tensor"异常.似乎TensorFlow不支持像numpy或Theano这样的索引.

有没有人知道是否有TensorFlow方法这样做(用任意值索引张量).我已经看过tf.nn.embedding部分了,但是我不确定它们是否可以用于此,即使它们可以,但对于这种简单的事情来说,这是一个巨大的解决方法.

(现在,我正在将数据x作为输入提供并在numpy中进行索引,但我希望将其放入xTensorFlow以获得更高的效率)

python tensorflow

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