我从Node.js模块连接到firebase.我的Javascript代码应该是将数据写入我的firebase,但事实并非如此.我也没有看到任何错误,warnins等登录到控制台.那么我如何为firebase JS客户端启动日志记录以查看实际发生的情况?这样的事情存在吗?我尝试搜索firebase API文档,但找不到任何内容.
我正在使用node myModule.jsMac OS X 10.9中的终端运行我的Node模块,以防万一.
我的团队在内部使用pull请求来代码审查我们维护的应用程序,但是当合并提交时,我们只需直接推送master.无论如何我们都是repo collabs,并且通过不使用pull请求来合并代码,我们避免使用merge commit来污染我们的提交历史.由于该应用程序是我们团队的内部,因此没有其他人受到影响.
我想知道的是,我可以修改我的提交消息,"closes PR #30"并让github自动关闭拉取请求吗?
我知道你可以使用提交消息来关闭问题,所以我希望有类似的拉动请求.我在网上快速搜索了SO,但没有看到任何内容.
在运行任何测试之前,我使用 Junit 5 扩展来启动 Wiremock 服务器。然而,Spring 上下文中的一个 bean 在其初始化过程中进行了远程调用,我无法更改该调用,并且该调用会导致 ConnectionException,因为 Wiremock 服务器尚未启动。
如何配置 JUnit 5 测试以在之前获得回调以在Spring 加载文本上下文
我的 JUnit 5 扩展如下所示:
public class MyWiremockExtension implements BeforeAllCallback, AfterAllCallback {
private final WireMockServer wireMock = new WireMockServer(...);
@Override
public void beforeAll(ExtensionContext extensionContext) throws Exception {
wireMock.start();
}
@Override
public void afterAll(ExtensionContext extensionContext) throws Exception {
wireMock.stop();
}
}
Run Code Online (Sandbox Code Playgroud)
Spring Bean 配置深埋在我的 OkHttpClient bean 所依赖的上游代码中,但它看起来像这样:
@Configuration
public class OkHttpClientConfiguration {
@Bean
OkHttpClient okHttpClient(...) {
OkHttpClient okHttpClient = new OkHttpClient.Builder()...build();
// wrap …Run Code Online (Sandbox Code Playgroud) 我听说是这种情况,但我找不到确定的在线资源来确认.
背景:一位同事喜欢制作他的局部变量final.他这样做的原因之一是表现.我的论点是,Java的HotSpot Just In Time编译器会自动检测不变的局部变量并制作它们final,所以自己做这个没有性能上的好处.
请注意,我不是在问局部变量是否是一个好的编码实践final,因为已经有很多(非主题)SO问题.
编辑:mrhobo为优化整数文字的字节码提出了一个很好的观点.我应该给出一个我正在谈论的代码类型的例子,我的问题是:
Object doSomething(Foo foo) {
if (foo == null) {
return null;
}
final Bar bar = foo.getBar();
final Baz baz = this.bazMap.get(bar);
return new MyObject(bar, baz);
}
Run Code Online (Sandbox Code Playgroud)
您是否认为在这种情况下会发生相同类型的优化,因为bar并且baz都标记了final?或者,HotSpot会自动检测到它们是否在方法范围内没有变化,并将它们视为final无论如何?
在我的 Grafana 仪表板(使用 Prometheus 作为数据源)中,我有一个自定义$tier变量,它允许用户从下拉列表中选择层。它的定义为:
Values separated by comma: production, stage, development
Run Code Online (Sandbox Code Playgroud)
我需要通过包含层名称的缩写版本的标签来过滤 Prometheus 指标:
我想我应该创建一个隐藏变量,$shortened_tier这样我就可以在查询过滤器中使用它,如下所示:
my_label=~"foo-$shortened_tier"
Run Code Online (Sandbox Code Playgroud)
我想根据以下值来定义它$tier:
我怎么做?
我有一个使用Spring 3.1的java webapp.My Spring安全上下文定义了多个身份验证过滤器,每个过滤器对应不同的身份验证路径(例如用户名/密码与单点登录).每个auth过滤器定义自己的AuthenticationSuccessHandler.现在,我想在成功进行身份验证时注入2个额外的操作,它们应该适用于所有身份验证类型:
在用户成功通过身份验证后,这些操作可能是您想要挂钩的任何操作.重要的是,与常规AuthenticationSuccessHandler(每个身份验证路径不同)不同,它们不会转发或重定向请求.所以打电话给他们是很安全的.
有没有一种干净的方法来使用Spring Web/Security 3.1集成这些额外的身份验证成功"操作"?
我考虑实现一个ApplicationListener<AuthenticationSuccessEvent>,但我的事件需要访问请求,所有AuthenticationSuccessEvent提供的都是Authentication对象本身.
我找不到方法,所以我决定推出自己的代理:
public class AuthenticationSuccessHandlerProxy implements AuthenticationSuccessHandler {
private List<AuthenticationSuccessHandler> authenticationSuccessHandlers;
public AuthenticationSuccessHandlerProxy(List<AuthenticationSuccessHandler> successHandlers) {
this.authenticationSuccessHandlers = successHandlers;
}
@Override
public void onAuthenticationSuccess(HttpServletRequest request,
HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
for (AuthenticationSuccessHandler successHandler : this.authenticationSuccessHandlers) {
successHandler.onAuthenticationSuccess(request, response, authentication);
}
}
}
Run Code Online (Sandbox Code Playgroud) 注意:Java HTTPS 客户端已经多次询问了这个问题;我的问题是关于配置服务器。
我正在尝试使用MockWebServer测试我的OkHttpClient配置。我的代码访问的真正的Web服务器刚刚放弃了TLS v1.0支持,因此我将代码更改为使用TLS v1.2,并使用服务器的首选密码套件。我想用模拟真实服务器的内存中Web服务器测试此更改,但是我不知道如何SSLContext在测试中使用特定的密码套件列表配置a 。(我需要访问的所有方法在SSLContextImpl其内部类及其内部类中都得到了很好的保护。)
我已经能够找出最佳的完全包裹一的SSLServerSocketFactory,覆盖4的createServerSocket()方法,并要求setEnabledCipherSuites()在SSLServerSocket其返回,类似这样的答案与SSLSocketFactoryEx如何做客户端之前:https://开头计算器。 com / a / 23365536/278800
令人沮丧的是,使用特定的TLS版本就像调用eg这样简单SSLContext.getInstance("TLSv1.2"),但是没有类似的简单方法可以配置密码套件。
我有使用Spring 3.1的Java webapp,Freemarker模板用于渲染视图.我想根据特定应用程序属性的true/false值有条件地在视图中显示一个链接.
我在以下位置定义了以下app属性src/main/resources/application.properties:
showLink=true
如果我使用常规JSP与Spring MVC,我可以使用SpEL根据以下值有条件地显示链接showLink:
<c:if test="${configuration['showLink']}">
<a href="...">some link</a>
</c:if>
Run Code Online (Sandbox Code Playgroud)
我如何在Freemarker模板中执行此操作?我尝试过这样的事情,但无法让它发挥作用:
<#assign showLink>${configuration['showLink']}</#assign>
<#if showHelpLink>
<a href="...">some link</a>
</#if>
Run Code Online (Sandbox Code Playgroud)
我查看了Spring freemarker宏(在spring.ftl中),但我看到的最接近的是能够获取消息属性,而不是app属性.
我查看了spring.ftl中的宏,但它最接近的是给我消息属性.
此外,我无法将值注入控制器然后将其放入ModelMap,因为我的FreeMarker模板是所有页面的标题,因此它是自动导入的:
<bean id="abstractFreemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer" abstract="true">
...
<property name="freemarkerSettings">
<props>
<prop key="auto_import">
/spring.ftl as spring, /myTemplate.ftl as myTemplate
</prop>
</props>
</property>
...
</bean>
Run Code Online (Sandbox Code Playgroud)
我发现了一篇博客文章,描述了如何手动将支持SpEL添加到Freemarker.在我需要它的情况下,我宁愿不做所有这些.
创建自定义标记库以检索应用程序属性值,因此我可以在我的freemarker模板中执行以下操作:
<#assign showLink><foo:getAppProperty name="showLink"/></#assign>
Run Code Online (Sandbox Code Playgroud) java ×4
spring ×3
spring-mvc ×2
firebase ×1
freemarker ×1
git ×1
github ×1
grafana ×1
javascript ×1
jit ×1
junit5 ×1
jvm-hotspot ×1
node.js ×1
okhttp ×1
prometheus ×1
pull-request ×1
spring-boot ×1
ssl ×1