小编Syn*_*sso的帖子

降价中的交叉引用(命名锚点)

是否有相应的markdown语法:

Take me to <a href="#pookie">pookie</a>

... 

<a name="pookie">this is pookie</a>
Run Code Online (Sandbox Code Playgroud)

html anchor markdown cross-reference

471
推荐指数
11
解决办法
18万
查看次数

H2内存数据库.表未找到

我有一个带有URL的H2数据库"jdbc:h2:test".我使用创建一个表CREATE TABLE PERSON (ID INT PRIMARY KEY, FIRSTNAME VARCHAR(64), LASTNAME VARCHAR(64));.然后我使用这个(空)表选择所有内容SELECT * FROM PERSON.到现在为止还挺好.

但是,如果我将URL更改为"jdbc:h2:mem:test",唯一的区别是数据库现在只在内存中,这给了我一个org.h2.jdbc.JdbcSQLException: Table "PERSON" not found; SQL statement: SELECT * FROM PERSON [42102-154].我可能在这里遗漏了一些简单的东西,但任何帮助都会受到赞赏.

java database h2

170
推荐指数
11
解决办法
13万
查看次数

Windows上的Git文件权限

我已经阅读了一些关于Git文件权限的问题,我仍然有点困惑.我在GitHub上有一个来自另一个的回购.合并后,它们应该是相同的.然而:

$ git diff --summary origin/epsilon master/epsilon
 mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh
 mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee
 mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee
 mode change 100644 => 100755 ants/util/block_test.sh
 mode change 100644 => 100755 manager/mass_skill_update.py
 mode change 100644 => 100755 worker/jailguard.py
 mode change 100644 => 100755 worker/release_stale_jails.py
 mode change 100644 => 100755 worker/start_worker.sh
Run Code Online (Sandbox Code Playgroud)

我已经尝试更改文件权限,但它不会改变差异结果.

windows git diff file-permissions

157
推荐指数
6
解决办法
8万
查看次数

"堆上"和"堆外"之间的区别

Ehcache 讨论了堆上和堆外内存.有什么不同?使用什么JVM args来配置它们?

java memory heap ehcache

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

降价至docx,包括复杂模板

我已经自动构建了使用Pandoc将Markdown文件转换为DOCX文件.我甚至使用参考文档来确定最终文档的样式.我使用的命令是:

pandoc -f markdown -t docx --data-dir=docs/rendering/ mydoc.md -o mydoc.docx
Run Code Online (Sandbox Code Playgroud)

reference.docx从拾起Pandoc docs/rendering和Pandoc使mydoc.docx具有相同风格的参考文档.

但是,不仅reference.docx包含样式.它包含公司徽标,序言等.

如何自动将Markdown内容与样式和内容合并reference.docx.我的解决方案需要在Linux上运行.

markdown docx pandoc

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

活动生命周期 - onCreate呼吁每次重新定位

我有一个简单的活动加载位图onCreate.我发现如果我旋转设备,我可以从onCreate再次调用的日志中看到.实际上,因为所有实例变量都再次设置为默认值,所以我知道整个Activity已经重新实例化了.

旋转2次后,我得到一个FC,因为没有足够的内存可以分配给位图.(所有活动的实例是否仍然存在?或者GC的清理速度不够快?)

@Override
public void onCreate(Bundle savedInstanceState) {
    File externalStorageDir = Environment.getExternalStorageDirectory();
    File picturesDir = new File(externalStorageDir, "DCIM/Camera");
    File[] files = picturesDir.listFiles(new FilenameFilter(){
        public boolean accept(File dir, String name) {
            return name.toLowerCase().endsWith(".jpg");
        }});
    if (files.length > 0) {
        Bitmap bm = BitmapFactory.decodeStream(new FileInputStream(files[0]));
        ImageView view = (ImageView) findViewById(R.id.photo);
        view.setImageBitmap(bm);
    }
}
Run Code Online (Sandbox Code Playgroud)

从我读到的所有内容中,onCreate应该在应用程序的生命周期中调用一次.我错了吗?如何重新定位设备会导致重新创建活动?

android activity-lifecycle

58
推荐指数
9
解决办法
8万
查看次数

如何使用高阶函数展平选项列表?

使用Scala 2.7.7:

如果我有一个选项列表,我可以使用for-understandness来展平它们:

val listOfOptions = List(None, Some("hi"), None)
listOfOptions: List[Option[java.lang.String]] = List(None, Some(hi), None)

scala> for (opt <- listOfOptions; string <- opt) yield string
res0: List[java.lang.String] = List(hi)
Run Code Online (Sandbox Code Playgroud)

我不喜欢这种风格,宁愿使用HOF.这种尝试过于冗长,无法接受:

scala> listOfOptions.flatMap(opt => if (opt.isDefined) Some(opt.get) else None)
res1: List[java.lang.String] = List(hi)
Run Code Online (Sandbox Code Playgroud)

直觉上我会期望以下工作,但它没有:

scala> List.flatten(listOfOptions)
<console>:6: error: type mismatch;
 found   : List[Option[java.lang.String]]
 required: List[List[?]]
       List.flatten(listOfOptions)
Run Code Online (Sandbox Code Playgroud)

即使以下似乎它应该工作,但不是:

scala> listOfOptions.flatMap(_: Option[String])
<console>:6: error: type mismatch;
 found   : Option[String]
 required: (Option[java.lang.String]) => Iterable[?]
       listOfOptions.flatMap(_: Option[String])
                          ^
Run Code Online (Sandbox Code Playgroud)

我能想到的最好的是:

scala> listOfOptions.flatMap(_.toList)         
res2: List[java.lang.String] = List(hi) …
Run Code Online (Sandbox Code Playgroud)

scala scala-option

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

为什么在声明子类的对象时会调用超类的构造函数?(JAVA)

考虑以下代码:

class Test {
    Test() {
        System.out.println("In constructor of Superclass");
    }

    int adds(int n1, int n2) {
        return(n1+n2);
    }

    void print(int sum) {
        System.out.println("the sums are " + sum);
    }
}


class Test1 extends Test {
    Test1(int n1, int n2) {
        System.out.println("In constructor of Subclass");
        int sum = this.adds(n1,n2);
        this.print(sum);
    }

    public static void main(String[] args) {
        Test1 a=new Test1(13,12);
        Test c=new Test1(15,14);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们在超类中有一个构造函数,它将由我们为子类构造的每个对象调用(例如a,类Test1调用的对象Test1(int n1, int n2)以及它的父类Test()).

为什么会这样?

该程序的输出是:

在Superclass的构造函数中 …

java constructor object superclass

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

Travis-CI按计划建立

如何设置Travis-CI的构建计划,而不是基于推送到GitHub?我想每晚对我的生产网站运行Selenium测试.如果不提供官方支持,我会对hacky解决方案感到满意.

travis-ci

33
推荐指数
2
解决办法
4885
查看次数

将SQL Server用作具有多个客户端的数据库队列

给定一个充当队列的表,如何最好地配置表/查询,以便多个客户端同时从队列中处理?

例如,下表指示了工作人员必须处理的命令.完成工作后,它会将处理后的值设置为true.

| ID | COMMAND | PROCESSED |
|  1 | ...     | true      |
|  2 | ...     | false     |
|  3 | ...     | false     |
Run Code Online (Sandbox Code Playgroud)

客户端可能会获得一个命令来执行此操作:

select top 1 COMMAND 
from EXAMPLE_TABLE 
with (UPDLOCK, ROWLOCK) 
where PROCESSED=false;
Run Code Online (Sandbox Code Playgroud)

但是,如果有多个worker,则每个都尝试获取ID = 2的行.只有第一个会得到悲观的锁定,其余的将等待.然后其中一个将获得第3行等.

什么查询/配置允许每个工作者客户端分别获得不同的行并同时处理它们?

编辑:

几个答案提出了使用表本身记录进程中状态的变化.我认为在单一交易中这是不可能的.(也就是说,如果在txn提交之前没有其他工作人员会看到它,那么更新状态的重点是什么?)或许建议是:

# start transaction
update to 'processing'
# end transaction
# start transaction
process the command
update to 'processed'
# end transaction
Run Code Online (Sandbox Code Playgroud)

这是人们通常接近这个问题的方式吗?在我看来,如果可能的话,DB会更好地处理问题.

sql database sql-server concurrency

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