小编msa*_*ord的帖子

什么是按位移位(位移)运算符以及它们如何工作?

我一直在尝试在业余时间学习C语言,其他语言(C#,Java等)具有相同的概念(通常是相同的运算符)......

我想知道是,在核心层,是什么位移(<<,>>,>>>)这样做,可以帮助它什么问题解决,和周围的弯曲什么潜伏的陷阱?换句话说,一个绝对的初学者指导比特移位的所有优点.

bit-manipulation binary-operators operators bit-shift

1340
推荐指数
9
解决办法
67万
查看次数

升级到Angular4后找不到名称'require'

我想在我的Angular项目中使用Chart.js.在以前的Angular2版本中,我使用'chart.loader.ts'做得很好,它有:

export const { Chart } = require('chart.js');
Run Code Online (Sandbox Code Playgroud)

然后在组件代码中我就是

import { Chart } from './chart.loader';
Run Code Online (Sandbox Code Playgroud)

但升级到cli 1.0.0和Angular 4之后,我收到错误:"找不到名称'require'".

要重现错误:

ng new newapp
cd newapp
npm install chart.js --save
echo "export const { Chart } = require('chart.js');" >> src/app/chart.loader.ts
ng serve
Run Code Online (Sandbox Code Playgroud)

在我的'tsconfig.json'中,我有

"typeRoots": [
  "node_modules/@types"
],
Run Code Online (Sandbox Code Playgroud)

在'node_modules/@types/node/index.d.ts'中有:

declare var require: NodeRequire;
Run Code Online (Sandbox Code Playgroud)

所以我很困惑.

顺便说一句,我经常遇到警告:

[tslint] The selector of the component "OverviewComponent" should have prefix "app"(component-selector)
Run Code Online (Sandbox Code Playgroud)

虽然我在'.angular-cli.json'中设置了"前缀":"".可能是因为从'angular-cli.json'改为'.angular-cli.json'的原因?

angular-cli angular

113
推荐指数
5
解决办法
9万
查看次数

为什么我们需要使用flatMap?

我开始使用RxJS,我不明白为什么在这个例子中我们需要使用像flatMap或的函数concatAll; 这里的数组数组在哪里?

var requestStream = Rx.Observable.just('https://api.github.com/users');

var responseMetastream = requestStream
  .flatMap(function(requestUrl) {
    return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl));
  });

responseMetastream.subscribe(url => {console.log(url)})
Run Code Online (Sandbox Code Playgroud)

如果有人可以直观地解释发生了什么,那将非常有帮助.

javascript rxjs

82
推荐指数
10
解决办法
9万
查看次数

打字稿安全导航操作符(?.)或(!.)和null属性路径

Angular2模板具有安全的运算符(?.),但在component.ts(typescript 2.0)中.安全导航操作员(!)无法正常工作.

例:

这个TypeScript

if (a!.b!.c) { }
Run Code Online (Sandbox Code Playgroud)

编译到这个JavaScript

if (a.b.c) { }
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我得到以下错误:

无法读取未定义的属性'b'

还有其他选择:

if (a && a.b && a.b.c) { }
Run Code Online (Sandbox Code Playgroud)

typescript

82
推荐指数
4
解决办法
7万
查看次数

Angular2无法绑定到DIRECTIVE,因为它不是元素的已知属性

我通过Angular CLI生成了新的@Directive,它被导入我的app.module.ts

import { ContenteditableModelDirective } from './directives/contenteditable-model.directive';

import { ChatWindowComponent } from './chat-window/chat-window.component';

@NgModule({
  declarations: [
    AppComponent,
    ContenteditableModelDirective,
    ChatWindowComponent,
    ...
  ],
  imports: [
    ...
  ],
  ...
})
Run Code Online (Sandbox Code Playgroud)

我尝试在我的组件中使用(ChatWindowComponent)

<p [appContenteditableModel] >
    Write message
</p>
Run Code Online (Sandbox Code Playgroud)

即使在指令内只有Angular CLI生成的代码:

 import { Directive } from '@angular/core';

 @Directive({
   selector: '[appContenteditableModel]'
 })
 export class ContenteditableModelDirective {

 constructor() { }

 }
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

zone.js:388未处理的Promise拒绝:模板解析错误:无法绑定到'appContenteditableModel',因为它不是'p'的已知属性.

我尝试了几乎所有可能的更改,遵循这个有角度的文档,一切都应该工作,但它没有.

有帮助吗?

directive typescript angular

72
推荐指数
4
解决办法
5万
查看次数

我理解/ dev/urandom吗?

我一直在阅读/dev/urandom,据我所知,/dev/random通过利用网络数据包时序等几个事件来创建加密随机数.但是,我是否理解/dev/urandom使用PRNG,播种数字来自/dev/random?或者/dev/random只要有比特就可以使用它- 当它们用尽时它会回到一些PRNG,从那里收集种子?

unix linux random cryptography

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

php数组

我有以下数组

Array
(
    [0] => Array
        (
            [id] => 96
            [shipping_no] => 212755-1
            [part_no] => reterty
            [description] => tyrfyt
            [packaging_type] => PC
        )

    [1] => Array
        (
            [id] => 96
            [shipping_no] => 212755-1
            [part_no] => dftgtryh
            [description] => dfhgfyh
            [packaging_type] => PC
        )

    [2] => Array
        (
            [id] => 97
            [shipping_no] => 212755-2
            [part_no] => ZeoDark
            [description] => s%c%s%c%s
            [packaging_type] => PC
        )

)
Run Code Online (Sandbox Code Playgroud)

我该如何对数组进行分组id?是否有任何本机PHP功能可用于执行此操作?

如果我foreach上面那么我会得到一个重复的,我怎么能避免这个?

在上面的例子中id有2个项目,所以它需要在里面id.

编辑:一切工作精细:但有一种方式可以一个人实现相同的目标吗?

php arrays

64
推荐指数
6
解决办法
12万
查看次数

服务工作者JavaScript更新频率(每24小时?)

根据MDN上的这个文档:

之后每24小时左右下载一次.它可能会更频繁地下载,但必须每24小时下载一次,以防止坏脚本长时间烦人.

Firefox和Chrome也是如此吗?或者更新到服务工作者javascript只在用户导航到网站时发生?

service-worker

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

Javascript排序功能.按First排序,然后按Second排序

我有一个要排序的对象数组.每个对象有两个参数:强度和名称

objects = []
object[0] = {strength: 3, name: "Leo"}
object[1] = {strength: 3, name: "Mike"}
Run Code Online (Sandbox Code Playgroud)

我想首先按强度排序,然后按名称按字母顺序排序.我使用以下代码按第一个参数排序.我如何排序呢?

function sortF(ob1,ob2) {
  if (ob1.strength > ob2.strength) {return 1}
  else if (ob1.strength < ob2.strength){return -1}
  return 0;
};
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

javascript arrays sorting

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

Python:Inflate和Deflate实现

我正在与服务器连接,该服务器要求发送给它的数据使用Deflate算法(Huffman编码+ LZ77)进行压缩,并且还发送我需要的数据以进行Inflate.

我知道Python包含Zlib,并且Zlib中的C库支持对InflateDeflate的调用,但这些显然不是由Python Zlib模块提供的.它提供压缩解压,但是当我拨打电话,如下列:

result_data = zlib.decompress( base64_decoded_compressed_string )
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error -3 while decompressing data: incorrect header check
Run Code Online (Sandbox Code Playgroud)

Gzip并没有更好; 在打电话时如:

result_data = gzip.GzipFile( fileobj = StringIO.StringIO( base64_decoded_compressed_string ) ).read()
Run Code Online (Sandbox Code Playgroud)

我收到错误:

IOError: Not a gzipped file
Run Code Online (Sandbox Code Playgroud)

这是有道理的数据是平减文件不是真正的Gzip压缩文件.

现在我知道有一个Deflate实现可用(Pyflate),但我不知道Inflate的实现.

似乎有几个选择:

  1. 在Python中查找InflateDeflate的现有实现(理想)
  2. 将我自己的Python扩展编写到包含InflateDeflate的zlib c库中
  3. 调用可以从命令行执行的其他内容(例如Ruby脚本,因为zlib中的Inflate/Deflate调用完全包含在Ruby中)

我正在寻求解决方案,但缺乏解决方案,我将感谢见解,建设性意见和想法.

附加信息:为了我需要的目的,放松(和编码)字符串的结果应该与下面的C#代码片段给出相同的结果,其中输入参数是与要压缩的数据相对应的UTF字节数组:

public static …
Run Code Online (Sandbox Code Playgroud)

c# python compression zlib

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