我喜欢Emacs,但不喜欢它是如何缩进的:要么是无法控制的标签和空格组合,要么只是空格((setq indent-tabs-mode nil)).
我希望Emacs做缩进:
单独使用标签.
缩进到固定数量的地方(有时不是6个,其他8个,其他地方有4个).
能够将一个级别的缩进设置为等于4(或2)个空格.
如果我更改制表位的值,则所有新打开或重新加载的文件都应使用新值(或者只有重新启动Emacs才会影响此更改?)
以上所有都可能吗?一些设置.emacs或包?
大多数IDE(例如Eclipse)都提供上述功能.
不久前我从 Subversion 存储库中删除了一个文件,现在我想看看它的内容。我确定该文件在修订版 68 中已被删除,因此我尝试了以下操作:
svn cat -r 67 path/to/file
Run Code Online (Sandbox Code Playgroud)
从项目根目录,svn 告诉我svn: E155010: The node '/absolute/path/to/file' was not found. 然后我尝试:
svn list -r 67 path/to
Run Code Online (Sandbox Code Playgroud)
Subversion 清楚地显示了目录中的文件。那么我错过了什么?
我尝试通过检查已删除文件的历史记录来找到答案,但它对我不起作用。
以下按预期工作:
>>> print re.sub('(\w)"(\W)', r"\1''\2", 'The "raw string literal" is a special case of a "string literal".')
The "raw string literal'' is a special case of a "string literal''.
Run Code Online (Sandbox Code Playgroud)
由于我想在替换表达式中使用单引号(这是正确的术语吗?),我使用双引号引用它.
但是为了我的启发,我尝试在替换表达式中使用单引号并且无法理解结果:
>>> print re.sub('(\w)"(\W)', r'\1\'\'\2', 'The "raw string literal" is a special case of a "string literal".')
The "raw string literal\'\' is a special case of a "string literal\'\'.
Run Code Online (Sandbox Code Playgroud)
这两种形式不应该产生完全相同的输出吗?
所以,我的问题是:
re.sub()我在第一个参数中不必使用原始字符串,但在第二个参数中我必须这样做.两者看起来像这个Python noob的正则表达式的字符串表示.如果它有所不同,我在Mac OS X上使用Python 2.7.5(10.9,Mavericks).
我有一Address节课:
public class Address
{
//Some stuff
}
Run Code Online (Sandbox Code Playgroud)
并且有一个相应的*Wrapper类来强制执行有关如何使用Address该类的某些规则:
public class AddressWrapper : IWrapped<Address>
{
private Address _wrapped;
public Address GetWrapped()
{
return _wrapped;
}
//And some more
}
Run Code Online (Sandbox Code Playgroud)
其中IWrapped定义为:
public interface IWrapped<T>
{
T GetWrapped();
}
Run Code Online (Sandbox Code Playgroud)
我有以下通用类来保存这些实体(还有其他实体遵循这种模式Entity和EntityWrapper):
public class GenericRepository
{
private GenericRepository() { }
public static void Add<T>(IWrapped<T> entity)
{
//Do something
}
public static void AddList<T>(IList<IWrapped<T>> entities)
{
//Do something
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个测试代码:
[Test]
public …Run Code Online (Sandbox Code Playgroud) 最近不得不将Jersey的版本从2.5.1(稍后解释)升级到2.7并且自升级以来,每次我将代码上传到服务器时,随机API调用开始失败,使用以下堆栈跟踪:
org.glassfish.jersey.internal.Errors logErrors: The following warnings have been detected: WARNING: HK2 service reification failed for [com.example.rest.LeaderboardApi] with an exception:
MultiException stack 1 of 2
java.lang.NullPointerException
at org.jvnet.hk2.internal.Utilities.hasInjectAnnotation(Utilities.java:1484)
at org.jvnet.hk2.internal.Utilities.findInitializerMethods(Utilities.java:1425)
at org.jvnet.hk2.internal.DefaultClassAnalyzer.getInitializerMethods(DefaultClassAnalyzer.java:102)
at org.glassfish.jersey.internal.inject.JerseyClassAnalyzer.getInitializerMethods(JerseyClassAnalyzer.java:239)
at org.jvnet.hk2.internal.Utilities.getInitMethods(Utilities.java:243)
at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:163)
at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:200)
at org.jvnet.hk2.internal.SystemDescriptor.internalReify(SystemDescriptor.java:649)
at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:604)
at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:405)
at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2046)
at org.jvnet.hk2.internal.ServiceLocatorImpl.access$700(ServiceLocatorImpl.java:116)
at org.jvnet.hk2.internal.ServiceLocatorImpl$6.compute(ServiceLocatorImpl.java:1011)
at org.jvnet.hk2.internal.ServiceLocatorImpl$6.compute(ServiceLocatorImpl.java:1006)
at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:115)
at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:111)
at java.util.concurrent.FutureTask.run(FutureTask.java:260)
at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture.run(LRUHybridCache.java:173)
at org.glassfish.hk2.utilities.cache.LRUHybridCache.compute(LRUHybridCache.java:292)
at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:1093)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:616)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606)
at org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:173)
at org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:185)
at org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74)
at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115)
at …Run Code Online (Sandbox Code Playgroud) 在网络应用中,我们使用Firebase Auth来管理登录名和(基本)帐户创建。如果在具有多个Google帐户的活跃用户中使用Google登录选项,则会向用户显示Google帐户选择器,以选择要在我们网站上使用的帐户。其标题如下所示:
选择一个帐户
以继续访问mydomain.com
就我的Web应用而言,它没有显示mydomain.com,而是显示了<firebase-project-id> .firebaseapp.com。
我要做的就是更改,以便帐户选择器弹出窗口显示mydomain.com?
web-applications google-oauth2 firebase-authentication angularfire2
在 Java 项目中,我依赖于我自己的库。我已通过mvn install在库目录的根目录中运行来将该库安装在本地存储库中。
当我更新库并重新安装它时,VS Code 看不到新添加的方法(一切都可以从命令行编译良好)。
我已经尝试过Java: Force Java Compilation(完全)但没有成功。
我pom.xml右键单击我的库并选择“更新项目”,但这也没有帮助。
如果有什么区别的话,我在 Windows 10 上的 WSL2 (Ubuntu-20.04) 上运行。
除了重新启动 VS Code(这是一个相当麻烦的解决方法)之外,还有什么解决方案吗?
[这不是“ 无法从JSON字符串实例化类型的值的重复项;没有单字符串构造函数/工厂方法:这是简单得多的POJO和JSON。就我而言,解决方案也有所不同。]
我要解析的JSON并通过以下方式创建POJO:
{
"test_mode": true,
"balance": 1005,
"batch_id": 99,
"cost": 1,
"num_messages": 1,
"message": {
"num_parts": 1,
"sender": "EXAMPL",
"content": "Some text"
},
"receipt_url": "",
"custom": "",
"messages": [{
"id": 1,
"recipient": 911234567890
}],
"status": "success"
}
Run Code Online (Sandbox Code Playgroud)
如果响应恰好是错误,则看起来像:
{
"errors": [{
"code": 80,
"message": "Invalid template"
}],
"status": "failure"
}
Run Code Online (Sandbox Code Playgroud)
这是我定义的POJO:
@Data
@Accessors(chain = true)
public class SmsResponse {
@JsonProperty(value = "test_mode")
private boolean testMode;
private int balance;
@JsonProperty(value = "batch_id")
private int batchId;
private …Run Code Online (Sandbox Code Playgroud) 我调用一个方法,为a Future中的每个元素返回一次List<Principal>,所以我最终得到一个List<Future<UserRecord>>.
返回的方法Future是库代码,我无法控制代码的运行方式,我只有Future.
我想等待所有的Futures完成(成功或失败),然后再继续.
有没有比这更好的方法:
List<Principal> users = new ArrayList<>();
// Fill users
List<Future<UserRecord>> futures = getAllTheFutures(users);
List<UserRecord> results = new ArrayList<>(futures.size());
boolean[] taskCompleted = new boolean[futures.size()];
for (int j = 0; j < taskCompleted.length; j++) {
taskCompleted[j] = false;
}
do {
for (int i = 0; i < futures.size(); i++) {
if (!taskCompleted[i]) {
try {
results.add(i, futures.get(i).get(20, TimeUnit.MILLISECONDS));
taskCompleted[i] = true;
} catch (TimeoutException e) { …Run Code Online (Sandbox Code Playgroud) 我可以使用array_containsFirebase安全规则中的等价物吗?
我有一Event堂课(对应Event于events馆藏文件)。每个文档都有一个subscribers列表/数组,其中包含应该能够查询此事件的所有用户的UID:
{
.
"subscribers" : ["uidA", "uidB", "uidC"],
.
}
Run Code Online (Sandbox Code Playgroud)
更明确地说,用户应该能够运行查询:
db().collection("events").whereArrayContains("subscribers", "uidC");
Run Code Online (Sandbox Code Playgroud)
如何编写此安全规则?
我试过了:
match/events/{eventId} {
allow list: if request.auth.uid in resource.data.subscribers;
}
Run Code Online (Sandbox Code Playgroud)
模拟器告诉我访问将被拒绝。
使用这样的功能还会报告访问被拒绝:
function isSubscriber() {
return resource.data.subscribers.includes(request.auth.uid);
}
match/events/{eventId} {
allow list: if isSubscriber();
}
Run Code Online (Sandbox Code Playgroud) 按照Up和在MaE,Jersey和Guice的AppEngine上运行的优秀步骤- 第3部分,除了将对象注入Jersey POJO之外,我已经能够完成所有工作.
我从该配置中唯一的区别是我也集成了Objectify,但这是有效的.
TestClass注入到HelloWorldServlet工作中的实例(单例),但注入POJO 的TestClass和SecondTest(RequestScoped)对象HeyResource总是如此null.
我怀疑HK2和Guice之间的互动应该归咎于此,但这是我与Guice , Jersey 和 HK2的第一个项目,所以我都在海上.
我的配置是:
如果我想在将文档保存到 Firestore之前了解其(随机)ID (无需编写自定义代码),我可以执行以下操作:
String id = db.collection("collection-name").document().getId();
Run Code Online (Sandbox Code Playgroud)
"collection-name"如果我提供上面的代码但使用它来id将文档保存到集合中,会有什么不同吗"some-other-collection"?
换句话说,集合名称(或者更一般地说,文档的路径)对 Firestore 生成的随机 ID 有任何影响吗?
Firestore ID 的生成方式是否与确保唯一标识符的 2^120 种方法中描述的类似?
以下代码对于自动生成 Firestore 文档的已知 ID 有多好:
private static SecureRandom RANDOMIZER = new SecureRandom();
.
.
.
byte[] randomId = new byte[120];
RANDOMIZER.nextBytes(randomId);
// Base64-encode randomId
Run Code Online (Sandbox Code Playgroud) java ×7
jersey-2.0 ×2
angularfire2 ×1
c# ×1
concurrency ×1
emacs ×1
future ×1
generics ×1
guice ×1
ide ×1
indentation ×1
jackson2 ×1
java-8 ×1
json ×1
maven-3 ×1
python ×1
regex ×1
string ×1
svn ×1