是否有相应的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Run Code Online (Sandbox Code Playgroud) 我有一个带有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]
.我可能在这里遗漏了一些简单的东西,但任何帮助都会受到赞赏.
我已经阅读了一些关于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)
我已经尝试更改文件权限,但它不会改变差异结果.
Ehcache 讨论了堆上和堆外内存.有什么不同?使用什么JVM args来配置它们?
我已经自动构建了使用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上运行.
我有一个简单的活动加载位图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应该在应用程序的生命周期中调用一次.我错了吗?如何重新定位设备会导致重新创建活动?
使用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) 考虑以下代码:
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的构造函数中 …
如何设置Travis-CI的构建计划,而不是基于推送到GitHub?我想每晚对我的生产网站运行Selenium测试.如果不提供官方支持,我会对hacky解决方案感到满意.
给定一个充当队列的表,如何最好地配置表/查询,以便多个客户端同时从队列中处理?
例如,下表指示了工作人员必须处理的命令.完成工作后,它会将处理后的值设置为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会更好地处理问题.
java ×3
database ×2
markdown ×2
anchor ×1
android ×1
concurrency ×1
constructor ×1
diff ×1
docx ×1
ehcache ×1
git ×1
h2 ×1
heap ×1
html ×1
memory ×1
object ×1
pandoc ×1
scala ×1
scala-option ×1
sql ×1
sql-server ×1
superclass ×1
travis-ci ×1
windows ×1