小编Dou*_*eri的帖子

websocket自动关闭连接

我正在java中构建一个具有基于jetty的嵌入式websocket服务器的应用程序.客户端是Google Chrome中的默认websocket实现.只有在连接关闭一定时间后服务器和客户端之间没有传输时,一切正常.我不确定谁正在关闭连接:jetty服务器或chrome浏览器.

我认为解决方案是每隔x秒发送一条消息,但我打开了更好的解决方案.

所以......我的问题是:

  1. 这是websocket协议所需要的东西吗?在这种情况下,chrome浏览器正在关闭我的连接?

  2. 这是否与jetty相关并且或多或少与websocket协议有关?在这种情况下,如何在码头禁用此功能?

  3. 还有其他问题吗?

谢谢

更新:即使我发送1条消息/秒仍然关闭连接

javascript java google-chrome jetty websocket

67
推荐指数
5
解决办法
11万
查看次数

什么是打字稿?

我刚开始玩角度2,我看到网上有很多项目都有一个名为的文件夹typings.更深入地研究问题我发现它与https://www.npmjs.com/package/typings包有关.我阅读了他们的文档,但我不明白为什么我们需要打字.你能提供一些需要或有帮助的例子吗?谢谢

typescript angular

46
推荐指数
1
解决办法
9206
查看次数

进口/出口在Angular 2+ ngModule中的作用

我正在学习Angular 2+,我很难理解导入/导出在ngModule中的作用.更具体地说,如果您要使用es6语法导入模块,为什么导入模块很重要

import { BrowserModule } from '@angular/platform-browser';
@NgModule({
  imports:      [ BrowserModule ],
  providers:    [ Logger ],
  declarations: [ AppComponent ],
  exports:      [ AppComponent ]
})
Run Code Online (Sandbox Code Playgroud)

通过es6语法检测模块是不是更简单?

导入 - 此模块中声明的组件模板需要导出类的其他模块.

但是我们已经在组件级别上导入了那些.我错过了什么吗?我也在寻找他们为什么选择这种语法的一些例子.

angular-module angular

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

Angular 10 更严格的设置 --strict

在 Angular 10 中,您可以使用创建一个新项目 ng new --strict

启用此标志会使用一些新设置初始化您的新项目,以提高可维护性,帮助您提前捕获错误,并允许 CLI 对您的应用程序执行高级优化

是否有将现有项目升级到严格模式的命令行,或者我只需要创建一个新项目然后从另一个项目复制粘贴文件?

angular-cli angular

36
推荐指数
1
解决办法
7691
查看次数

从元素中删除/重置继承的css

我知道之前曾问过这个问题,但在将其标记为重复之前,我想告诉您我的情况与我在互联网上发现的情况略有不同.

我正在构建和嵌入脚本,人们可以把它放在他们的网站上.此脚本创建一个具有特定宽度/高度的div以及其中的一些信息.

我的问题是,一些网站也为我的div继承的div声明了样式.

例如:

div{
    background-color:red;
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我没有为我的div设置任何背景颜色,即使我不想要它也会显示红色.

我遇到的唯一解决方案是覆盖尽可能多的css属性,这样我的div将完全按照我的要求显示.这个解决方案的问题是有太多的css属性要覆盖,我希望我的脚本尽可能轻松.

所以我的问题是,如果你知道我的问题的另一个解决方案.它可以在css/javascript/jQuery中.

谢谢

javascript css jquery embedded-script

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

Angular:绑定到@Input别名

我试图在此示例后面的指令中设置输入别名

  @Input('appAvatarColor') name: string;
Run Code Online (Sandbox Code Playgroud)

该计划正在运作,但我收到TS Lint的警告

不应重命名指令输入属性

指令选择器就是这个

@Directive({
  selector: '[appAvatarColor]'
})
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

angular

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

java同步基于参数

我正在寻找一种基于它接收的参数同步方法的方法,如下所示:

public synchronized void doSomething(name){
//some code
}
Run Code Online (Sandbox Code Playgroud)

我想doSomething基于这样的name参数同步方法:

线程1:doSomething("a");

线程2:doSomething("b");

线程3:doSomething("c");

线程4:doSomething("a");

线程1,线程2和线程3将执行代码而不同步,但线程4将等待,直到线程1完成代码,因为它具有相同的"a"值.

谢谢

UPDATE

根据都铎的解释,我认为我面临另一个问题:这是新代码的示例:

private HashMap locks=new HashMap();
public void doSomething(String name){
    locks.put(name,new Object());
    synchronized(locks.get(name)) {
        // ...
    }
    locks.remove(name);
}
Run Code Online (Sandbox Code Playgroud)

我没有填充锁定映射的原因是因为name可以有任何值.

基于上面的示例,由于HashMap不是线程安全的,因此在同一时间由多个线程添加/删除散列映射中的值时会出现问题.

所以我的问题是如果我创建了HashMap一个ConcurrentHashMap线程安全的,那么synchronized块会阻止其他线程访问locks.get(name)吗?

java multithreading synchronized

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

angular 4+为ngComponentOutlet动态创建的组件分配@Input

在Angular 4中动态创建一个组件,你可以使用ngComponentOutlet指令:https://angular.io/docs/ts/latest/api/common/index/NgComponentOutlet-directive.html

这样的事情:

动态组件

@Component({
  selector: 'dynamic-component',
  template: `
     Dynamic component
  `
})
export class DynamicComponent {
  @Input() info: any;
}
Run Code Online (Sandbox Code Playgroud)

应用

@Component({
  selector: 'my-app',
  template: `
     App<br>
     <ng-container *ngComponentOutlet="component"></ng-container>
  `
})
export class AppComponent {
  this.component=DynamicComponent;
}
Run Code Online (Sandbox Code Playgroud)

如何传递@Input() info: any;此模板中的信息<ng-container *ngComponentOutlet="component"></ng-container>

javascript typescript angular

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

nginx重定向除一个以外的所有目录

我正在使用nginx 1.0.8,我正在尝试将所有访问者从www.mysite.com/dir重定向到谷歌搜索页面http://www.google.com/search?q=dir ,其中dir是一个变量,但是如果dir =="blog"(www.mysite.com/blog)我只想加载博客内容(Wordpress).

这是我的配置:

    location / {
        root   html;
        index  index.html index.htm index.php;
    }



    location /blog {
          root   html;
          index index.php;
          try_files $uri $uri/ /blog/index.php;
    }

    location ~ ^/(.*)$ {
          root   html;
          rewrite ^/(.*) http://www.google.com/search?q=$1 permanent;
    }
Run Code Online (Sandbox Code Playgroud)

如果我这样做,甚至www.mysite.com/blog将被重定向到谷歌搜索页面.如果我删除最后一个位置www.mysite.com/blog效果很好.

从我在这里读到的:http://wiki.nginx.org/HttpCoreModule#location似乎优先级将首先在正则表达式上,并且与查询匹配的第一个正则表达式将停止搜索.

谢谢

mod-rewrite nginx

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

当键盘在移动设备上可见时,jquery/js/html5更改页面内容

可能重复:
iPad Web App:在Safari中使用JavaScript检测虚拟键盘?

我正在为一个网站构建一个移动版本,我很感兴趣,如果我可以使用jquery/js/html5或任何其他技术创建相同的分屏效果,可以在虚拟键盘可见时在移动应用上进行.

例如,如果用户进入我的网页并单击输入文本字段,则会显示虚拟键盘,浏览器会自动缩放到输入文本字段所在的区域.

我想要的是能够根据新的分辨率(屏幕高度 - 键盘高度),通过移动屏幕顶部的输入文本字段,然后根据一些提示,在虚拟键盘可见时更改我的页面内容用户在文本字段中输入的内容.

这是一些草图,看看我在说什么:

这是没有键盘的页面视图,结果基于搜索:

没有键盘的页面

带有纵向键盘的页面,徽标消失,文本输入移至顶部,最多显示4个项目

页面与肖像键盘

带有横向键盘的页面,徽标消失,thext输入移动到顶部并放大,只显示2个项目

在此输入图像描述

是键盘是隐藏的,页面应该去faze 1.

希望这可以帮助.

html javascript jquery jquery-mobile jquery-events

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