小编Ore*_*ren的帖子

关闭AngularJS中的URL操作

我正在尝试使用Angular编写我的第一个Web应用程序.

在正常模式下(html5Mode关闭),Angular强制地址的哈希部分看起来像"路径"(添加前导"/"),并对特殊字符进行编码 - 例如,它允许单个"?" 哈希中的"#"和用%3F和%23替换其他的#.

有没有办法关闭此功能?我不想使用$ locationProvider/$ routeProvider功能 - 我想自己解析哈希(在我的情况下,用户将在哈希中输入一些"自由文本"以在我的网站内搜索).

我读到routeProvider无法配置为使用正则表达式...

如果打开htmlMode,则不会强制地址的散列部分看起来像路径(没有前导"/"),但它仍然编码特殊字符.

我知道有些浏览器可能会编码/转义特殊字符,但如果用户设法在其地址栏中输入一些特殊字符,那么我不想更改它.

谢谢

javascript address-bar location-provider angularjs route-provider

44
推荐指数
2
解决办法
1万
查看次数

Bootstrap 3 - 如何最大化导航栏内的输入宽度

现在我有一个看起来像这样的导航栏:http: //bootply.com/78239

我想最大化"搜索"文本输入的宽度,而不创建换行符(即"清除"链接将与"关于"链接紧密).

我只有css和网页设计的基本经验.我读了一些关于" overflow: hidden"技巧的内容,但是当目标元素右侧有更多元素时,我不明白如何使用它.

谢谢


编辑:

部分解决方案可以是为每种情况"手动"设置宽度,例如http://bootply.com/78247:

@media (max-width: 767px) {
  #searchbar > .navbar-form {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #searchbar > .navbar-form {
    width: 205px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #searchbar > .navbar-form {
    width: 425px;
  }
}

@media (min-width: 1200px) {
  #searchbar > .navbar-form {
    width: 625px;
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当菜单的文本是"动态的"时(例如,包含"Hello username"),此解决方案将不起作用.

我想如果你假设菜单文本的宽度有限制,这不是一个大问题 - 手动计算/测试这些宽度真的很烦人.我只是想知道是否有一种简洁的方法可以自动完成.

html css html-input navbar twitter-bootstrap-3

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

通过iBeacon监控和测距与CoreBluetooth scanForPeripheralsWithServices检测信标

关于iOS对想要扫描BLE信标\外设的应用程序所施加的限制存在很多困惑.在阅读了几篇博客和Stack Overflow答案之后,我想看看我是否正确理解了所有问题.如果有什么我误解或错过了,请纠正我.我只提到iOS 7及更高版本,专注于检测而不是连接(你能使用iBeacon Monitoring&Ranging API连接到CLBeacon吗?).

信标的选项很明确 - 使用通用BLE外设或使用以iBeacon格式通告的BLE外设(此外,非标准外设可以在adv-packet中以iBeacon格式进行通告,并在扫描响应包).

一般限制

  • iBeacon Ranging会让你知道你周围的信标.您必须指定信标预先通告的ProximityUUID(无"一般"扫描).didRangeBeacons将使用最近找到的CLBeacon对象数组每秒调用一次.距离信标的距离及其准确度由iOS使用一些机密算法计算,只有Apple的开发人员才知道(该算法基于rssi值和信标所宣传的rssi-at-1米校准字节).每次进入或退出某个区域时,您也可以使用iBeacon Monitoring来呼叫代理 - 您必须再次指定您要查找的ProximityUUID(您还可以指定主要和次要)."退出某个地区"的定义是一段时间没有收到任何广告,因此不能立即进行.每台设备可以同时监控的区域数量 限制为20 - 这意味着如果其他应用同时监控\范围,您的应用可能无法监控\范围(对吗?).
  • CoreBluetooth - 您还可以检测信标广告中的其他广告结构.如果信标也以iBeacon格式进行广告,您无法看到iBeacon字段(ProximityUUID,主要,次要......),尽管它们是在标准的"制造商特定"广告结构下发送的,您可以在其他情况下看到.

在前台运行 - 限制较少的用例:

  • iBeacon测距和监控 - 没有进一步的限制.
  • CoreBluetooth - Passing nil in the serviceUUIDs of scanForPeripheralsWithServices will scan for all peripherals. Passing CBCentralManagerScanOptionAllowDuplicatesKey as YES in the options will make the didDiscoverPeripheral to be called multiple times for the same peripheral\beacon (I assume that using a timer you detect the advertisement was not received for …

ios core-bluetooth bluetooth-lowenergy ibeacon

19
推荐指数
1
解决办法
7176
查看次数

Scala:为什么SortedMap的mapValues返回Map而不是SortedMap?

我是Scala的新手.我在我的代码中使用了SortedMap,我想使用mapValues创建一个新的地图,并对值进行一些转换.

mapValues函数返回一个新的Map,而不是返回一个新的SortedMap,然后我必须将其转换为SortedMap.

例如

val my_map = SortedMap(1 -> "one", 0 -> "zero", 2 -> "two")
val new_map = my_map.mapValues(name => name.toUpperCase)
// returns scala.collection.immutable.Map[Int,java.lang.String] = Map(0 -> ZERO, 1 -> ONE, 2 -> TWO)
val sorted_new_map = SortedMap(new_map.toArray:_ *)
Run Code Online (Sandbox Code Playgroud)

这看起来效率低下 - 最后一次转换可能会再次对键进行排序,或者至少验证它们是否已排序.

我可以使用普通的map函数,它既可以对键和值进行操作,也可以故意不改变转换函数中的键.这看起来太低效,因为执行地图可能假设转换可以(在的情况下,如:改变键的顺序my_map.map(tup => (-tup._1, tup._2)) -所以它可能"重新排序"他们.

有人熟悉MapSortedMap的内部实现,可以告诉我我的假设是否正确吗?编译器能否自动识别出密钥没有重新排序?是否有内部原因导致mapValues不应返回SortedMap?有没有更好的方法来转换地图的值而不会失去键的顺序?

谢谢

scala map treemap sortedmap

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

之后的Tkinter幸免于时钟倒带

我注意到在我的Tkinter版本中,after()调用无法在系统时钟倒带后幸存。

如果调用after(x,func),并且倒带了系统时钟,则仅在时钟返回倒带之前的时间+ x毫秒之后,才调用func

我认为这是因为Tkinter使用系统时钟而不是“ time.clock”(程序运行的时间)。

我只在Windows上测试过它,也许是因为我有旧版本的Tkinter。我希望我的应用程序能够在通过网络同步其时钟的计算机上工作...

有没有人有一个简单的解决方案?

python windows tkinter

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

我的hack是否将用户的私有数据存储在Cloudant上?

我想将用户的私人信息存储在Cloudant中的CouchDB上 - 即每个用户应该只能阅读和更新他自己的文档.通常这些信息保存在_users db中,但我真的很喜欢Cloudant的API密钥,并且不想自己管理用户和密码.

我在这个wiki中找到了几个解决方案:http: //wiki.apache.org/couchdb/PerDocumentAuthorization 但它们都有局限性:

  • "每用户数据库"真的很难管理.
  • "智能代理"从CouchDB和CouchApps中获取乐趣.
  • "基于每个用户的文档加密"过于复杂.

然后我想出了一个新的解决方案 - 我创建了一个数据库(称为"测试")并将所有用户配置为_writers,没有任何_readers.为了防止用户写下彼此的文档,我validate_doc_update在以下内容中设置_design/app:

function(newDoc, savedDoc, userCtx) { 
  if ((userCtx.roles.indexOf('_admin') < 0) && (userCtx.name != newDoc._id)) { 
    throw ({unauthorized: "cannot access others"});
  } 
}
Run Code Online (Sandbox Code Playgroud)

为了让用户阅读他们自己的文档,我编写了以下更新函数(称为"update_hack"):

function(doc, req) { 
    return [doc, toJSON(doc)];
}
Run Code Online (Sandbox Code Playgroud)

现在,每个用户都可以通过发送POST请求来"获取"他的文档:

http://<username>:<password>@<host>/db/_design/app/_update/update_hack/<username>
Run Code Online (Sandbox Code Playgroud)

如果用户尝试向其他用户的文档发送POST请求,请说:

http://<username>:<password>@<host>/test/_design/app/_update/update_hack/someoneelse
Run Code Online (Sandbox Code Playgroud)

那么他会得到一个{"error":"unauthorized","reason":"cannot access others"}回应,试图"更新"文件.

这种技巧效率低下,因为每次用户"获取"他的文档时,文档的修订都必须改变.还存在通过发送POST请求来实现用户名是否存在的问题(如果文档不存在,则将返回"null").

你觉得这个技巧有什么安全漏洞吗?

当用户通过API密钥生成时,是否有更好的方法来存储每个用户的私人文档?(即使有,我仍然认为我的伎俩很酷).

security authentication couchdb cloudant

8
推荐指数
1
解决办法
847
查看次数

OAuth2 - 将访问令牌返回给用户是否安全?

我是 OAuth(1 和 2)的新手,我正在开发一个移动应用程序的服务器端,该应用程序有一个带有“从 Google 帐户填写详细信息”按钮的表单。我不需要任何远程身份验证\授权。

这里(清单 2)我了解到服务器应该有一个控制器:

在此阶段,我的服务器应该能够使用访问令牌从https://www.googleapis.com/plus/v1/people/me获取用户的详细信息- 然后将详细信息返回到用户的应用程序,填写其表格。

我(服务器开发人员)是否可以偷懒并将访问令牌返回给用户,而不是其详细信息?即,让用户应用程序向https://www.googleapis.com/plus/v1/people/me发出请求。

将来,这将允许为客户端应用程序提供更多功能,而无需更改服务器上的代码。

谢谢

.net security oauth oauth-2.0

7
推荐指数
1
解决办法
3051
查看次数

Emacs模式用于类似c语言

我正在尝试为新的模板c语言编写一个新的emacs模式,我必须将其用于一些学术研究.

我希望代码在c模式下着色和缩进,但以下情况除外:

  • 的"%"不被用作一个操作符,但在某些特定的关键字的第一个字符(例如:"%P","%作用"等)
  • 代码行不以分号结尾.

是否可以创建派生模式(来自c模式)并将其设置为忽略'%'和';'的原始目的?是否可以在没有';'的情况下使"按RET后自动缩进"功能工作?

类似的语言是否有相似的模式(带有'{}'括号,但没有分号)我可以尝试修补?

我应该尝试从头开始编写主要模式吗?

我考虑过从http://ess.r-project.org/修补R模式,但是这种模式不支持"/*comment*/"形式的注释.

我正在寻找的最重要的特性是括号缩进,即在按下RET之后在'{}'块内缩进代码(并且在没有以';'结尾的行之后没有额外缩进).部分解决方案也会有所帮助.

emacs development-environment colors indentation auto-indent

6
推荐指数
1
解决办法
467
查看次数

并发程序中的Scala模式匹配

我是Scala的新手,我想编写一些带有模式匹配的多线程代码,我想知道我是否可以将模式匹配代码视为原子.

例如:

abstract class MyPoint
case class OneDim(x : Int) extends MyPoint
case class TwoDim(x : Int, y : Int) extends MyPoint

var global_point : MyPoint = new OneDim(7)

spawn {
    Thread.sleep(scala.util.Random.nextInt(100))
    global_point = new TwoDim(3, 9)
}
Thread.sleep(scala.util.Random.nextInt(100))

match global_point {
    case TwoDim(_, _) => println("Two Dim")
    case OneDim(_) => println("One Dim")
}
Run Code Online (Sandbox Code Playgroud)

是否有可能执行如下:

  1. 主线程到达"match global_point"代码,发现*global_point*不是TwoDim类型并且暂停(返回调度程序).
  2. 生成的线程将*global_point*更改为TwoDim类型
  3. 主线程返回,发现*global_point*不是OneDim类型,认为没有与*global_point*匹配并引发NoMatch异常.

Scala内部是否避免了这种执行?如果确实如此,那怎么样?匹配是否拍摄对象的快照,然后尝试将其与模式匹配?快照深度是否有限制(匹配模式可以是复杂的和嵌套的)?

concurrency scala pattern-matching

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

了解mqtt用户qos

我是MQTT的新手,我刚刚了解了在发布消息时决定的QOS级别的含义:

  • 0当我们更喜欢消息根本不会到达而不是两次到达时
  • 1当我们希望消息至少到达一次但不关心它是否到达两次(或更多)
  • 2当我们希望消息恰好到达一次时.较高的QOS值意味着较慢的传输

我注意到用户端也可以设置" 他们将收到的最大QOS级别 ".引自这里:

例如,如果在QoS 2上发布消息并且客户端订阅了QoS 0,则该消息将以QoS 0传递到该客户端.

这是否意味着尽管发布者将其与QOS 2一起发送,但该消息可能无法到达客户端(QOS 0)?

这可能是缺乏经验的开发人员的一个大问题 - 例如,npm mqtt包中的subscribe函数的默认QOS 为0!(在我看来,默认值应该是最大值2,即"让出版商决定QOS").

qos publish-subscribe mqtt

5
推荐指数
2
解决办法
4378
查看次数

Node.JS - 设置max-old-space-size的任何副作用都太大了?

我们的服务器在云PaaS(特别是Bluemix)上运行Node.JS.我们可以通过PaaS仪表板配置分配的内存量,但我注意到对于大于~1.4GB的值,您还需要使用该--max-old-space-size选项执行节点(此处说明).

这意味着每当我想要更改已分配内存的大小时,我必须在设置中的两个位置更改它.

如果我打电话node --max-old-space-size 99999999999 app.js会怎么样?Node.JS会尝试分配99999999999MB,还是会考虑运行它的VM\Container的实际内存限制?它是否会影响GC的行为(即如果它看起来有很多可用空间,那么GC运行的次数会少一些)?有--max-old-space-size use-machine-limits选择吗?

谢谢

memory memory-management v8 node.js ibm-cloud

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

如何检查对象是否在CPU缓存中?

有没有办法在java中检查特定对象是否在CPU缓存中?有没有办法测试读/写其中一个字段是否会导致缓存未命中?

我以前编写过java程序,但不是复杂程序,现在我必须在java中做一些学术研究.

如果这是不可能的,有没有一种通用的方法来模拟这种事情?这在低级编程中是否可行,例如C?

java caching cache-control low-level cpu-cache

0
推荐指数
1
解决办法
430
查看次数