小编sgr*_*ove的帖子

使用ReactNative App中的fetch API忽略自签名SSL证书的错误?

我正在构建一个小型的ReactNative iOS应用程序.在其中,我使用fetch API向我控制的服务器发出一个简单的get请求,该服务器具有有效但自签名的SSL证书.可以理解,这会导致错误.

在iOS/JSC之间,我不确定如何(或者什么!)我可以为我的应用程序配置忽略此错误 - 到目前为止我发现的所有答案都与Objective-C解决方案有关,我正在寻找一些东西我可以与JSC环境一起使用.

javascript ssl ios react-native

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

chrome.extension.sendMessage()中的Chrome扩展内存泄漏?

我使用Chrome的chrome.extension.sendMessage()在长寿命页面中看到相当大的内存泄漏

在将〜200k事件从Content-Script发送到Background-Page作为测试后,chrome.Event的保留大小约为~50MB堆快照中保留内存的80%

我一直试图追查我可能犯的任何错误,关闭一些变量并防止它被GC,但它似乎与Chrome的事件系统的实现有关

有没有人碰到这样的事情,或看到内存泄漏与内容脚本的极长期扩展与bg页面喋喋不休?

我的Content-Script方面的代码:

  csToBg = function(message) {
    var csToBgResponseHandler = function(response) {
      console.log("Got a response from bg");
      };

    var result = chrome.extension.sendMessage(null, message, csToBgResponseHandler)
  };
Run Code Online (Sandbox Code Playgroud)

在背景页面,一个简单的ACK功能(迷信地避免https://code.google.com/p/chromium/issues/detail?id=114738):

var handleIncomingCSMessage = function(message, sender, sendResponse) {
  var response = message;
  response.acked = "ACK";

  window.console.log("Got a message, ACKing to CS")

  sendResponse(response);
}
Run Code Online (Sandbox Code Playgroud)

以这种方式在Chrome 23.0.1271.97中发送~200k消息后,堆快照如下所示: 堆快照

在页面的生命周期中,内存似乎永远不会被回收,我对如何修复它感到难过.

编辑:这是一个标准的背景页面,不是一个活动页面.

google-chrome google-chrome-extension google-chrome-devtools

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

Google Apps Marketplace SDK +全域OAuth 2 SSO

我们一直在开发一个旨在由域管理员安装的Google Apps应用.我们最初尝试通过(现已弃用)市场列表列出它,但所有新提交的内容现在必须通过Google Apps Marketplace SDK.

我们遇到了新GAM SDK SSO的问题 - 尽管已在内部将其安装在我们的域中,但每个用户在将其发送到OAuth登录网址时都会通过同意屏幕提示.OAuth网址要求与GAM SDK配置屏幕中注册的权限范围相同.

对于如何为GA管理员安装的应用程序提供无挑战的SSO,文档似乎完全相互矛盾.

什么网址,有什么参数,我们应该派用户通过GA进行身份验证而不被要求(可能已经授予)同意?

google-apps google-apps-marketplace google-oauth

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

将 Rust 编译为 wasm(Web 程序集)时,如何休眠 10 毫秒?

我的 rust 程序正在管理 2d html canvas 上下文的内存,我试图达到 ~60fps。我可以很容易地计算出每帧之间的增量,结果大约是大约 5 毫秒。

我不清楚如何让我的 Rust webassembly 程序在剩余的 11 毫秒内进入睡眠状态。一种选择是让 JavaScript 在每个上调用 RustrequestAnimationFrame并将其用作驱动程序,但我很想尽可能将其全部保留在 Rust 中。

setTimeout(renderNext, 11)在编译到 wasm 目标时,我正在有效地寻找与 JavaScript 等效的 Rust 。

asynchronous settimeout rust requestanimationframe wasm-bindgen

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

Firebase + Chrome内容安全策略设置?

我正在尝试在Chrome扩展程序后台页面中使用Firebase,但看起来它正在执行内联脚本,由于安全问题,这是不允许的.

我目前将CSP设置为:

{"content_security_policy": 
  "script-src 'self' https://cdn.firebase.com https://<my-subdomain>.firebaseio.com; object-src 'self'"}
Run Code Online (Sandbox Code Playgroud)

我可以加载初始的Firebase脚本,但是在调用新的Firebase('my-firebase-url')时,我收到以下错误:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:".未捕获的ReferenceError:未定义pRTLPCB

Firebase团队(或任何人)是否可以提供任何解决方案或建议,并且可能解释为什么脚本正在内联执行?

google-chrome-extension firebase content-security-policy

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

在WebGL片段着色器中绘制网格

由于某些原因,我正在将ZUI从SVG移植到WebGL,并且我想使用片段着色器渲染网格。

这是我要使用的基本效果https://dl.dropboxusercontent.com/u/412963/steel/restel_2.mp4

我想有一个三角形,每10个单位有1px的细线,每100个单位有2px的较粗的线(这里的单位是任意的,但与世界空间一致,而不与屏幕空间一致)。

这是我到目前为止的内容,没有视频中的第二粗线(请注意,这实际上是我打开的缓冲区的副本,显然是不对的):

顶点着色器:

attribute vec3 aVertexPosition;

uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;

varying float vX;
varying float vY;

void main(void) {
  vX = aVertexPosition.x;
  vY = aVertexPosition.y;
  gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:

precision mediump float;

uniform vec2 resolution;
uniform float uZoomFactor;

varying float vX;
varying float vY;

void main(void) {
  float distance = gl_FragCoord.z / gl_FragCoord.w;
  float fuzz = 1.0 / distance;

  float minorLineFreq;

  if (distance > 10.0) …
Run Code Online (Sandbox Code Playgroud)

shader webgl fragment-shader

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

在POST请求中将空数组丢弃到Firebase

尝试使用Firebase REST API将哈希映射推送到列表时,将以静默方式删除任何具有空数组值的键:值对,例如:

curl -X POST -d '{"name": "Persists", "words": ["what", "is", "this"], "toBeDropped": []}' "https://fbdev.firebaseio.com/channels/example.json?auth=sometoken

Firebase数据结构中的结果:

{
 "random-id": {
    "name": "Persists",
    "words": ["what", "is", "this"]
  }
}
Run Code Online (Sandbox Code Playgroud)

这导致我们的客户端上的问题,因为他们期望toBeDropped是[],而不是null在这种情况下.

api rest firebase

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

为什么透析器没有检测到这种不良类型?

在这种情况下,Dialyzer对我的行为相当奇怪,我没有找到任何更好的理解它.

这不是错误:

defmodule Blog.UserResolver do
  @type one_user :: ( {:error, String.t} )

  @spec find(%{id: String.t}, any()) :: one_user

  def find(%{id: id}, _info) do
    age = :rand.uniform(99)
    if (age < 100) do
      # This doesn't trigger a type error, even though it's wrong
      {:ok, %{email: "dw@1g.io", name: "Deedub"}}      
    else 
    {:error, "Age isn't in the right range"}
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

请注意,其中一个可能的返回分支肯定与类型签名不匹配.

但是这确实有错误:

defmodule Blog.UserResolver do
  @type one_user :: ( {:error, String.t} )

  @spec find(%{id: String.t}, any()) :: one_user

  # Throws …
Run Code Online (Sandbox Code Playgroud)

erlang elixir dialyzer

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