小编Mar*_*ang的帖子

在TypeScript中声明抽象方法

我试图弄清楚如何在TypeScript中正确定义抽象方法:

使用原始继承示例:

class Animal {
    constructor(public name) { }
    makeSound(input : string) : string;
    move(meters) {
        alert(this.name + " moved " + meters + "m.");
    }
}

class Snake extends Animal {
    constructor(name) { super(name); }
    makeSound(input : string) : string {
        return "sssss"+input;
    }
    move() {
        alert("Slithering...");
        super.move(5);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何正确定义方法makeSound,因此它是键入的并且可能被覆盖.

此外,我不知道如何正确定义protected方法 - 它似乎是一个关键字,但没有效果,代码将无法编译.

typescript

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

Python - 保存正在GNU Nano 2.2.4中编辑的文件

我非常擅长编程和玩Raspberry Pi以及关注Youtube的教程.

我在GNU Nano 2.2.6中打开了一个文件,例如:nano my_File.py并更改了一些数据.

我正在努力如何覆盖文件(或保存它),因为当我在新窗口中运行它时,它使用原始数据......

谢谢.

python nano

25
推荐指数
1
解决办法
5万
查看次数

Spring Security加密MD5

我有一个使用spring框架和spring安全性的java Web应用程序进行登录.在我的数据库中,我在保存之前将我的密码加密到MD5.我在application-config.xml中添加了这段代码

 <security:authentication-provider>
<security:password-encoder hash="md5"/>
<security:jdbc-user-service
        data-source-ref="dataSource"
        users-by-username-query="select user_name username, user_password password, 1 enabled from users where user_name=?"
        authorities-by-username-query="select username, authority from authorities where username=?" />
</security:authentication-provider>
Run Code Online (Sandbox Code Playgroud)

起初它在数据库中的密码未加密时起作用.但是当我加密它并在我的应用程序配置中添加了这个片段

      <security:password-encoder hash="md5"/>
Run Code Online (Sandbox Code Playgroud)

我无法登录.

encryption passwords spring-security

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

Kou使用igraph找到Steiner树的算法

我正在尝试使用igraph来实现Kou算法来识别R中的Steiner树.

Kou的算法可以这样描述:

  1. 找到完整的距离图G'(G'有V'= S(steiner节点),对于VxV中的每对节点(u,v),有一条边的权重等于最小成本路径的权重这些节点p_(u,v)在G)
  2. 找到G'中的最小生成树T'
  3. 通过用T'的每个边来代替构造G的子图Gs,这是G'的边缘,具有相应的G的最短路径(它有几个最短的路径,选择任意一个).
  4. 找到Gs的最小生成树Ts(如果有几个最小的生成树,则选择任意一个)
  5. 如果需要,通过删除Ts中的边来构造一个Steiner树Th,从Th中的所有叶子都是Steiner节点.

前两个步骤很简单:

g <- erdos.renyi.game(100, 1/10) # graph
V(g)$name <- 1:100

# Some steiner nodes
steiner.points <- sample(1:100, 5)

# Complete distance graph G'
Gi <- graph.full(5)
V(Gi)$name <- steiner.points

# Find a minimum spanning tree T' in G'
mst <- minimum.spanning.tree(Gi)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何用G'中的最短路径替换T'中的边缘.我知道get.shortest.paths我可以vpath从一对节点获取,但是我如何用shortest.pathG 中的T'替换和边缘?

提前谢谢了

r igraph

13
推荐指数
1
解决办法
1188
查看次数

iOS 9.x中嵌入式Facebook浏览器中的视口/页面高度错误

当使用iOS 9.x上的Facebook应用程序中的嵌入式浏览器从核心布局打开演示应用程序时(至少),当设备处于纵向模式时,页脚元素不可见.如果将设备旋转到横向模式,则页脚将部分可见.但是,页脚(带按钮)应该完全可见.

第一张图片显示的演示应用程序如何应该看看,而第二图像显示了如何使用Facebook的应用程序的嵌入式Web视图(图片均来自说明错误是如何表现一个Chrome桌面浏览器抢下)查看时演示程序缺少页脚:

演示如何_should_看起来. 缺少页脚的演示.

在测试了许多不同的假设之后,我们得出结论,该错误是由浏览器使页面/视口高于可见区域引起的.

这个bug似乎与iOS9 Safari视口问题有关,meta不能正确缩放?网页不能在iOS 8 Twitter的应用程序获得100%的高度.

html css facebook embedded-browser ios

13
推荐指数
1
解决办法
6999
查看次数

如何自动检测iScroll的需求?

iScroll项目提供了" overflow:scroll移动WebKit的 ",并开始

[...]因为用于iPhone的webkit不提供在固定大小(宽度/高度)div内滚动内容的本机方式.所以基本上不可能有一个固定的页眉/页脚和滚动的中心区域.

我们已经开发了一个移动友好的Web应用程序,使用响应式设计(等),使用的布局,有时在手机上显示一个固定的页眉和页脚的基础上,核心布局库,又使用角iscroll.

您可以在桌面和移动设备上试用核心布局演示,并尝试打开和关闭iScroll的使用.在桌面滚动时,不同区域应该使用和不使用iScroll(假设窗口不是太高,因此不需要滚动); 但是,在移动设备上,滚动是否在没有iScroll的情况下工作取决于浏览器的种类和版本.

最近版本的移动Safari浏览器和Android浏览器已经开始支持如上所述的overflow:scroll这种固定大小的div元素.因此,有些浏览器仍然需要使用iScroll才能工作,而其他浏览器则不需要.因为使用iScroll会引入一些问题,比如正确的点击和触摸事件处理,我想在所有不需要它的浏览器中关闭iScroll.

我想在angular-iscrollcore-layout中添加支持,以自动检测是否需要为打开页面的每个浏览器使用iScroll.我知道像modernizr这样的特征检测库,但似乎很难确定是否需要基于特征检测的iScroll.

有谁知道如何实现这种自动检测?

另一种可能性是使用白/黑名单并检查浏览器版本,但在这种情况下我想知道是否有人有一个可靠的规则集来正确确定是否需要使用基于用户代理字符串的iScroll?

披露:我是angular-iscrollcore-layout的作者.

2016-01-10更新:

既然没有人提出任何答案,我想我可以分享一些我如何解决这个问题的想法:

  • 如果通过真正的特征检测很难实现上述问题的解决方案,一种可能的方法是利用platform.js,这是一个几乎适用于所有JavaScript平台的平台检测库.通过包含platform.js脚本,您可以轻松访问有关当前浏览器的信息,例如

    // On an iPad
    platform.name; // 'Safari'
    platform.version; // '5.1'
    platform.product; // 'iPad'
    platform.manufacturer; // 'Apple'
    platform.layout; // 'WebKit'
    platform.os; // 'iOS 5.0'
    platform.description; // 'Safari 5.1 on Apple iPad (iOS 5.0)'
    
    Run Code Online (Sandbox Code Playgroud)

    可用于匹配规则集.但是, …

javascript mobile android ios iscroll

12
推荐指数
1
解决办法
610
查看次数

建议一个算法(图 - 可能是NP-Complete)

有一个城镇网络,由各种整数长度的道路连接.

旅行者希望从一个城镇到另一个城镇乘车.但是,他不想最大限度地减少行进距离; 相反,他希望尽量减少旅程中的汽油成本.汽油可以在任何城市购买,但每个城市以各种(整数)价格供应汽油(因此最短的路线不一定是最便宜的).1单位汽油使他能够驾驶1个单位的距离.他的汽车只能在油箱中装载这么多汽油,他可以选择在他经过的每个城市购买多少汽油.找到最低的汽油成本.

有谁知道可以用来解决这个问题的有效算法?即使是这类问题的名称也是有用的,这样我自己就可以研究它!显然它与最短路径问题并不完全相同.任何其他提示赞赏!

编辑 - 我所说的实际问题是将有<1000个城市; <10000道路; 汽油箱的容量将介于1到100之间.

algorithm networking graph np-complete minimum

11
推荐指数
2
解决办法
445
查看次数

有没有一种简单的方法来生成Ansible角色依赖关系图?

从版本1.3开始,Ansible支持角色依赖性以鼓励重用角色定义.要审计和维护更大的业务流程,最好有一些方法可以轻松生成依赖关系图,其中哪些角色取决于哪些其他角色.

依赖关系定义的示例可能是roles/app_node/meta/main.yml:

---
dependencies:
  - { role: common, some_parameter: 3 }
  - { role: apache, port: 80 }
  - { role: postgres_client, 
      dbname: blarg, 
      other_parameter: 12 }
Run Code Online (Sandbox Code Playgroud)

哪里roles/postgres_client/meta/main.yml可能包括类似的东西

---
dependencies:
  - { role: postgres_common }
  - { role: stunnel, 
      client: yes,
      local_port: 5432
      remote_host: db_host
      remote_port: 15432 
    }
Run Code Online (Sandbox Code Playgroud)

当业务流程中的角色数量增加时,这种嵌套的依赖关系可能会变得混乱.因此,我想知道是否有人找到了一种简单的方法来生成这种依赖关系的图形,无论是图形(点或neato?)还是仅作为缩进文本图形?这样的工具可以帮助降低维护复杂性.

administration scalability orchestration ansible

11
推荐指数
1
解决办法
2764
查看次数

重载本机PHP函数以加密HIPAA合规性数据

背景资料:

我是运行Web应用程序的开发人员团队的一员,该应用程序存储和检索HIPAA(医疗)数据.最近,更新了HIPAA指南以包括一项策略,该策略要求所有识别客户信息在"静止"(存储在数据库中且未被访问)时加密.

最初的问题

我们必须解决的第一个问题是确定以双向加密数据的最佳方式,以便在发生破坏时使数据安全.

最初的解决方案

我们提出的最快的解决方案是在将数据插入数据库之前使用mcrypt加密数据.

新问题

我们正在开发的应用程序已经很老了(就像Web应用程序一样)并且使用了大量的过程编程以及严重依赖mysql_query函数来插入,更新,检索和删除数据.我们没有时间或奢侈地将我们的代码翻译成数据库抽象层.因此,实现此加密/解密系统的唯一方法是手动编辑所有CRUD查询以使用通过mcrypt加密的数据.这是非常低效且极易出错的.

我们提出的解决方案

我们认为解决问题的最快最有效的方法是用我们自己设计的方法覆盖本机mysql_query函数.在我们的新函数中,我们将在将查询发送到服务器/返回结果集之前加密/解密数据值.

你在哪里进来

  1. 这是解决我们最初问题的最佳解决方案吗?
  2. 你如何覆盖现有的核心PHP函数?

php mysql overloading mcrypt hipaa

9
推荐指数
1
解决办法
1504
查看次数

PHP readfile()永远不会结束并使Apache服务器挂起

我有一个apache服务器,php应用程序的大问题.

该服务器正在为一个运行速度很快的网站提供服务.

每24小时或48小时,apache挂起,我必须重新启动才能再次访问该网站.我必须重新启动它,因为apache达到允许的进程/服务器的最大数量(对我来说是16000),并且它不能释放其他进程,因为其他进程都是活动的.

托管在这个服务器上的网站是一个php应用程序,最后提供一个文件:假设它是一个下载服务器.

浏览器通过提交POST请求的表单请求文件.

问题是这个帖子请求似乎永远不会结束(我可以看到我的服务器状态上的几乎所有16000个进程都是POST请求).

提供的文件是大文件(10M到2G),我使用php readfile函数为它们服务(我不想用href链接提供它们,所以我使用表单POST请求,以便用户永远不会看到文件在我的文件系统上).

使用php readfile的函数似乎永远不会结束,即使我在它的末尾使用exit()(参见下面的代码snipet).

我在这里要求一种方法来避免这种永远不会结束由我的PHP代码引起的POST请求.我想保持POST方式提供文件.

首先我的conf:

  • Ubuntu服务器14.04
  • apache 2.4与mpm prefork
  • php 5.5.9(mod php)
  • 硬件:128G RAM

我的mpm_prefork.conf文件:

<IfModule mpm_prefork_module>
        StartServers              512
        MinSpareServers           512
        MaxSpareServers          1024
        ServerLimit             16000 # no problem with my server ram
        MaxRequestWorkers       16000
        MaxConnectionsPerChild  10000
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我的apache2.conf文件:

...
Timeout 300
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
...
Run Code Online (Sandbox Code Playgroud)

我的php.ini文件:

max_execution_time = 7200
Run Code Online (Sandbox Code Playgroud)

我的apache日志文件:对我的问题没什么好处的

显示问题何时发生的munin图: 在此输入图像描述

我的apache服务器状态如下: 在此输入图像描述

在此输入图像描述

和我的服务器类(导致问题的代码):

class Server
{
    /* the file is served from a remote url source */
    public function …
Run Code Online (Sandbox Code Playgroud)

php apache preforking

9
推荐指数
1
解决办法
1084
查看次数