小编gat*_*pia的帖子

离线/在线数据同步设计(Javascript)

我目前正在使用所有html5好东西编写离线webapp以获得离线支持.但是,我现在开始考虑编写同步模块,以确保将任何脱机数据发送到服务器并将服务器数据发送回客户端.现在我确信这已经完成了,我的意思是它是一个非常经典的设计问题,影响移动设备和其他许多东西.所以我想知道有人能指出我为这种事情提供一些好的设计资源吗?

现在我真的不需要过于复杂,我的意思是我没有处理多个用户访问相同的数据,我很高兴不合并冲突(只需要采取最新的)但我仍然希望设计能够请允许我将来使用这些选项.

还有,有没有任何开源项目实现这种类型的东西?我不会扯掉其他人的代码(如果许可证允许的话),我很乐意移植.

javascript offline data-synchronization pouchdb

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

是否可以在Web.config中配置一个位置以仅允许本地连接

我在ASP.Net应用程序中有一个页面(实际上它的Mvc但不重要),我想只允许从本地机器连接到这个页面.我很乐意在Web.config中做这样的事情:

<location path="resources">
  <system.web>
    <authorization>
      <allow ips="local"/>
    </authorization>
  </system.web>
</location>  
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过简单检查后面的页面代码(或控制器),甚至可以只使用IIS配置,但我会喜欢Web.config配置,因为这将是我认为最优雅的解决方案.任何人都知道这是否可行?

asp.net web-config

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

ng-content选择绑定变量

我正在尝试使用角度2创建表单构建器.一个非常基本的示例如下:

this.fields = [{name: 'Name', type: 'text'}, {name: 'Age', type: 'number'}];
Run Code Online (Sandbox Code Playgroud)

但我也想支持自定义元素,如:

this.fields = [
  {name: 'Name', type: text}, 
  {name: 'Age', type: 'custom', customid: 'Ctl1'},
  {name: 'Whatever', type: 'custom', customid: 'Ctl2'}
];
// template:
<super-form [fields]="fields">
  <Ctl1><input type="number" ...><Ctl1>
  <Ctl2><whaterver-control ...><Ctl2>
</super-form>
Run Code Online (Sandbox Code Playgroud)

在我的表单构建器组件中,我有类似的东西:

<div *ngFor="let f of fields">
  <div [ngSwitch]="f.type">
    <span *ngSwitchWhen="'custom'">          
      <ng-content select="f.customid"></ng-content>
    </span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但鉴于我在这里,这显然不起作用.这是ng2限制吗?如果是这样,我想我可以硬代码说出5个可选的内容元素并检查它们是否被指定而没有动态选择,但这是一个黑客.

干杯

angular2-forms angular

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

使用 Bicep 以编程方式获取服务总线 SharedAccessKey

我正在使用二头肌来创建天蓝色资源。这些资源之一是服务总线,其定义如下:

resource service_bus 'Microsoft.ServiceBus/namespaces@2021-01-01-preview' = {
  name: '${service_bus_name}${uniqueString(service_bus_name)}'
  location: resourceGroup().location
  sku: {
    name: 'Standard'
    tier: 'Standard'
  }
  properties: {}
}
Run Code Online (Sandbox Code Playgroud)

然后,我想在另一个资源中使用此服务总线,这就是我当前的连接字符串:

name: 'AzureWebJobsServiceBus'
value: 'Endpoint=sb://${service_bus.name}.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<hardcoded_key>'          
Run Code Online (Sandbox Code Playgroud)

如何避免硬编码密钥。我尝试像这样使用 listKeys:

SharedAccessKey=${listKeys(service_bus.id, service_bus.apiVersion).value[0].primaryKey}
Run Code Online (Sandbox Code Playgroud)

但这是行不通的,而且它的变种也失败了。

azureservicebus azure-resource-manager azure-bicep

15
推荐指数
2
解决办法
6176
查看次数

IndexedDB,4个月内的WebSQL

我有一点问题,我即将开始一个4-6个月的项目,需要离线支持.AppCache很棒并且被接受为标准,但是大型浏览器仍然未决定数据库的实现,Opera,Safari和Chrome选择了WebSQL(SQLite)和Mozilla以及IE支持的IndexedDB.

我知道Chrome将来也会开发一个IndexedDB选项,但我找不到任何关于任何发布日期的信息等.

现在,在4-6个月内,让我们称它为11月我想拥有一个支持大多数(并非必须全部)最新版浏览器的系统(假设IE9已经出局,FF4和Chrome 6).我真的不想有一个IndexedDB/websql双重实现.使用localStorage作为一个丑陋的blob数据库的想法让我感到颤抖,我不想使用Gears.

你,我尊敬的同事推荐我做什么,我应该遵循什么样的路径?服用哪种药?

谢谢大家

圭多

sql database html5 local-storage

14
推荐指数
1
解决办法
4297
查看次数

如何在非静态实例对象中包装静态类(动态)

我有一个有趣的问题.我需要动态包装静态类.即返回一个非静态实例给我的调用者.例如:

public object CreateInstance(string className) {
  Type t = assembly.GetType(className);
  if (IsStatic(t)) {
    return CreateStaticWrapper(t);
  } else {
    return Activator.CreateInstance(t);
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我需要的是如何实现的指针CreateStaticWrapper.

注意:遗憾的是我无法使用Dynamic对象.

那么我的选择是什么?我不是那么热衷于学习IL一代吗?如果IL生成(Reflection.Emit,或者现在还有其他方法吗?)是什么方法,那么有没有人有指针?

编辑:重要的是要注意我可以返回代表词典.所以我可以使用Delegate.CreateDelegate这个,但我似乎无法解决如何处理重载方法和通用方法.

Edit2:另一种选择是使用Emit将空构造函数注入到类型中,再次指向任何指针?甚至可以在标记为静态的类型上进行此操作吗?static关键字是否会进入IL?

Edit3:对于一些上下文,我将它传递给javascript环境,请参阅: 我的项目.所以我希望能够(在JavaScript中):

var fileHelper = .create('System.IO.File');
if (fileHelper.Exists(fileName)) { fileHelper.Delete(fileName); }
Run Code Online (Sandbox Code Playgroud)

谢谢大家.

.net c# instance non-static static-class

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

单击按钮时的angular2验证表单

如果我使用button type="submit"表单提交表单验证消息出现,一切都很好.但是,如果我有一个按钮(或链接),(click)="myhandler()"则不会出现验证.

我怎么能:

  • 将元素标记为要求验证程序运行,或
  • 以编程方式运行并显示验证消息.

注意:这些是输入字段所需的简单验证.

示例代码:

<form (ngSubmit)="save()">                       
  <input required type='text' [(ngModel)]="name">
  <!-- Shows validation messages but still calls save() -->
  <button (click)="save()">Click</button>  
  <!-- Only submits if valid and shows messages -->       
  <button type="submit">Submit</button>         
</form>
<!-- does not even show validation messages, just calls save -->
<button (click)="save()">Click 2</button>  
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular

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

是IFRAME可能的JavaScript多线程

我目前正在使用IFRAME来实现一个非常简单的多线程引擎.但是我的初步结果表明,在线程中运行比在单个线程中运行要慢.

我的测试是:

单线程

var start = new Date().getTime();
for (var i = 0; i < 300; i++) { /* Do costly processor operations */ }
debug('Took: ' + new Date().getTime() - start);
Run Code Online (Sandbox Code Playgroud)

多线程

var start = new Date().getTime();
// In thread 1
for (var i = 0; i < 100; i++) { /* Do costly processor operations */ }
// In thread 2
for (var i = 100; i < 200; i++) { /* Do costly processor operations */ } …
Run Code Online (Sandbox Code Playgroud)

javascript multithreading

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

JavaScript中的条码扫描器?或插件/扩展

我正在考虑将USB条形码扫描仪接口写入Web应用程序(离线应用程序).我这意味着扫描仪将在客户端计算机上而不是服务器上.所以我想知道最好的设计是什么.

我知道我可以在某些浏览器中编写ActiveX对象或本机插件,但这并不理想,有没有人知道Chrome扩展(在javascript中)或firefox jetpack是否支持这种功能.

有任何想法吗?我将不胜感激.

谢谢大家

圭多

javascript activex firefox-addon barcode-scanner google-chrome-extension

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

如何在平面上随机但均匀地分布节点

我需要在html5画布上放置1到100个节点(实际上是25px点).我需要让它们看起来随机分布,所以使用某种网格就可以了.我还需要确保这些点不接触或重叠.我也希望没有大的空白区域.谁能告诉我这种算法叫什么?对这样做的开源项目的引用也将受到赞赏.

谢谢大家

圭多

math graphics canvas graph

7
推荐指数
2
解决办法
5314
查看次数