Tag: 内容types

BLE GATT:为什么在整数types中存储小数?

我正在学习蓝牙技术,特别是如何实现GATT特性规格,以便我可以编写外设驱动程序。 在几乎所有的规格中,他们都希望使用整型数据types来保存十进制值(当数据是十进制值时)。 例如, 循环功率测量规格规格将Pedal Power Balance存储到uint8 。 正如您所见, Pedal Power Balance值的分辨率为1位小数(例如: 10.1 )。 GATT 格式types规范有很多types的小数点数字( float32等)。 为什么GATT不使用被devise为保存十进制数字的数据types? 我的猜测是限制通过BLE发送的数据的大小。 那是对的吗? 我正在编写NodeJs代码来快速certificate一些技术。 用我的假设,这里是我怎么猜测一个精确到一个有符号的8位整数一个十进制小数“打包”。 我在这里使用加速度(可以是+/-,所以使用signed int): 'use strict'; const oneG = -9.806649999788; let int8Buf = new Buffer.alloc(8); //to hold signed 8-bit integer int8Buf.writeInt8(oneG * 10, 0); console.log(int8Buf.readInt8(0) / 10); 按照我的预期运行这个输出-9.8 。 问题: GATT是否使用这种“包装”技术来节省空间? 我正确地做这个? NodeJS有一个库来处理这个数据打包和解包吗? 看起来像一个非常普遍的情况。 我搜查了NPM,但我不确定这个概念是什么。

与打字稿`toArray`方法不工作的mongodb

我正在使用打字稿的Visual Studio。 这段代码中的所有东西都在编译 根据我正确使用toArray 的mongoDB文档 。 我有点新的打字稿,所以我不知道这是一个打字稿错误或mongodb。 testsvariables似乎有一个方法toArray但是当我称它没有任何回报。 console.log调用甚至没有运行。 根据文档和打字稿样本,这是做到这一点的正确方法。 任何人都可以与我分享我的代码中的任何错误,或“正确”的方式来做到这一点? ///<reference path="c:\DefinitelyTyped\mongodb\mongodb.d.ts"/> import mongodb = require("mongodb") var server = new mongodb.Server('localhost',27017, { auto_reconnect: true}) var db = new mongodb.Db('test', server, { w: 1 }); export interface Test { _id: mongodb.ObjectID; a: number; } db.open(function () { }); export function getTest(callback: (test: any) => void): […]

MongoDB + Node.js:如何从一个外部文件使用架构为另一个架构?

我有一个类(或模型),需要使用另一个类作为其属性的一部分,如下所示。 **两个文件的标题** var mongoose = require('mongoose'), Schema = mongoose.Schema; item.js module.exports = function() { var ItemSchema = new Schema({ name: String, cost: Number }); mongoose.model('Item', ItemSchema); } receipt.js ItemModel = require('./item.js'); var Item = mongoose.model('Item'); module.exports = function() { var LineItemSchema = new Schema({ item: Item, amount: Number }); var LineItem = mongoose.model('LineItem', LineItemSchema); var […]

检查node.js中的实际文件types

我想阻止人们通过向我的头像上传端点添加jpg扩展来上传电影文件或shell脚本。 我没有编写后端长时间上传脚本,但我记得PHP能够告诉我实际的文件types,而不仅仅是基于文件扩展名的types。 我也可以单纯地检查这个前端JS。 或者在Java中有http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29 这个问题是在香草节点,并使用一堆mime相关模块,包括mmmagic ,只是基于文件扩展名返回MIMEtypes。 例如,我删除了gif文件的gif扩展名,并将其改为txt ,Node和mmmagic只是返回text/plain 。

streamtypes和合并json对象

假设以下types的代码(例如使用lodash或者像这里显式的): function extend(base, overwrite) { for (var key in overwrite) base[key] = overwrite[key]; return base; } var first = extend({ a: 1 }, { b: 2 }); var second = extend({ c: 3 }, { d: 4 }); console.log(first.a + first.b + second.c + second.d); 我怎样才能解释FlowType,这实际上是罚款?

JS – 如何将所有键转换为其值(从对象)

我有这样的事情(即时通讯从API获取,所以我不能改变它): { one: [ { price: ['$10'], weight: ['1000'], color: ['red'] } ], two: [ { price: ['$20'], weight: ['2000'], color: ['green'] } ], three: [ { price: ['$30'], weight: ['3000'], color: ['blue'] } ] } 我想将所有“价格”,“重量”和“颜色”键转换为其值,看起来像这样: { one: [ '$10', '1000', 'red' ], two: [ '$20', '2000', 'green' ], three: [ '$30', '3000', 'blue' […]

FlowType包装获取而不会丢失默认types的注释

我想要做的就是包装fetch函数来处理一些类似调用.json()的fetch样板文件。 但问题是,如果我包装fetch函数,在一个函数与我自己的注释,我失去了很多的types安全,因为我的types将永远不会像默认情况下与stream来的具体。 所以我试图利用存在types(*)和typeof来使Flow保持默认的注释 // Imported as f because importing as "fetch" // overwrites all of Flow's default type info about fetch import f from 'node-fetch' export const fetchJSON: typeof fetch = (url: *, opts: *): * => f(url, opts).then(r => r.json()) export const post: typeof fetchJSON = (url: *, opts: *): * => fetchJSON(url, { […]

从打字稿模块自动生成index.d.ts,types定义

如果我有一个TypeScript模块保存为my-function.ts,如下所示: export function myFunction (param: number): number { return param } 这将以任何方式编译为JavaScript,并将其types定义放宽。 然后我可以创build一个index.d.ts文件来声明这个模块的定义,但是重新定义/重新定义这个定义似乎有点繁琐。 有没有办法从my-function.ts文件自动生成types定义到一个index.d.ts文件?

为request.post设置内容types的标题为json

我正在为我的项目使用“hackathon-starter”节点群。 在这个构build中,当我尝试从request.post调用一个API时,它将采用“内容types'application/x-www-form-urlencoded;charset=utf-8'打电话,但只会采取 内容types:'application / x-www-form-urlencoded; charset = utf-8' 所有API的头。 我已经尝试下面的代码。 我想为所有API设置应用程序/ json 。 var querystring = require('querystring'); var request = require('request'); var form = { "userType": req.body.type, "userName": req.body.mobile, "email": req.body.email, "name": req.body.name, "password": req.body.password }; var formData = querystring.stringify(form); var contentLength = formData.length; request.post({ headers: {'content-type':'application/json'}, url:'mylink', form: formData // I have tried form […]

browser.d.ts依赖Edge Web扩展API browser.runtime。* in typescript

对于使用typescript开发的chrome扩展,我们需要在typings文件夹中定义一个名为chrome.d.ts的文件,用于访问诸如chrome.runtime。*或chrome.tabs。*之类的networking扩展API。 对于边缘扩展,在打字稿中进行开发,我们需要在typings文件夹中定义一个名为browser.d.ts的定义文件,用于访问诸如browser.runtime的networking扩展API。 我们如何使用节点包pipe理器(npm)下载这个依赖关系。 我在我的background.ts文件中添加了一个对文件的引用,例如: /// reference path =“typings / browser / browser.d.ts”