1 前言 nodejs 运行时,出现以下情况er_bad_field_error NaN in where clause. 2 分析 原来是userid = NAN传进来了,生成userid时出错了. 3 解决方案 解决userid出现NAN情况即可,在执行前,对字段做检测 4 小结 仅作为记录使用.…
数据类(Data Classes) data class User(val name: String, val age: Int) 编译器自动生成的有: equals()/hashCode() toString() 形式为 "User(name=John, age=42)" componentN() 函数 copy() 函数 数据类必须符合以下条件. 主体构造器必须至少有一个参数. 所有主体构造器的参数都必须被标注为var或val. 数据类不可以是 abstract, open, se…
node中调用mysql模块读写时候,如果直接插入字符串: connection.query('SELECT * from  users WHERE name=' + data.name , callback); 或者: connection.query('SELECT * from  users WHERE name = alan' , callback); 会抛出这个错误. 正确写法应该是: connection.query("SELECT * from  users WHERE name=…
Mac版本客户端准备使用electron实现,需要对现有的C API的IM SDK 做NodeJS封装,提供Javascript接口. 使用Nan,遇到的问题主要是NodeJS是libuv defalut_loop 单线程的, SDK有自己的线程,C++层 V8的任何操作必须在主线程操作,不然就直接崩溃, 不像lua 加个锁不同线程都能进去.libuv 唯一线程安全的接口是uv_async_send, 也就只能用它解决问题了. SDK -> NodeJs 调用流程: 1. SDK 实例初试化时…
安装 $ npm install mysql 简介 这个一个mysql的nodejs版本的驱动,是用JavaScript来编写的.不需要编译 这儿有个例子来示范如何使用: var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'me', password : 'secret', database : 'my_db' }); connection.conn…
上次发的个人网站效果代码集合: 代码集合: 1.彩色文字墙[鼠标涟漪痕迹] 2.彩色旋转圆环 [模仿http://www.moma.org/interactives/exhibitions/2012/centuryofthechild/中间部分效果, 那个走路的孩子技术很简单,和以前的春分秋分Google的Doodles类似,就没有模仿,换成一个头像] 3.视屏拼图 4.百度地图api简单应用集合 5.财经数据 6.天气预报 [nodejs搭建,express框架,nodejs简单页面抓取,JS…
写在前面 今天想要查下Node的类型什么的知识,想要总结下,在Googol上看到一个文章,但是原始的链接不在了,在快照中把这篇文章拉出来,如果原作者有问题,请联系我! 该文章都是一些JS的基础,高手自动跳过!我之前没怎么写过js,这方面比较弱,所以在写node的时候也遇到了麻烦,这里给自己补充下知识! 正文 Node.js 的基础是 JavaScript 这门 脚本语言.而大多数的脚本语言一个共同的特点就是“弱类型”. 不同于 PHP 的是,PHP 就是是有了新变量也无需申明,而 JavaScr…
第一步:安装node git clone https://github.com/joyent/node.git cd node git checkout v0.10.33-release ./configure make make install 第二步:安装npm mac下使用命令ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 第三步:安装redis w…
JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内置对象.E…
数据库异常 NodeJs版本:4.4.4 数据库链接错误 使用nodejs处理异常最麻烦不过,这里我抛开nodejs提供的domain和一些第三方库专门处理的东西.操作数据库是我们常用的功能.通过回调,我们这里会有很多err出没. 如下: var pool = require('../db.js'); var runtimeLog = require('../log.js').getLogger('runlog'); var Promise = require('bluebird'); func…
在写关于NodeJS项目中常遇到的小错误  此时用到的服务器是phpstudy中的MySQL 1. First argument must be a string or Buffer    解决方法: 需要转化为字符串类型 JSON.stringify() 2.存储cookie的时候,在浏览器中不显示时候,需要转化为字符串:JSON.stringify() 3. ER_BAD_NULL_ERROR: Column 'uid' cannot be null     数据库表的uid行出现错误  …
背景 笔者近期从事在线IDE工作的开发,作为本地IDE普遍拥有的功能,terminal(命令行)对项目的git操作以及文件操作有着非常强大的支持.而之前没有web伪终端的情况下,仅仅提供已封装好的git命令完全不能满足开发者使用,因此为了更好的用户体验,web伪终端的开发也就提上日程. 关于终端(tty)与伪终端(pty)的区别,大家可以参考What do pty and tty mean? 调研 终端,在我们认知范围内略同于命令行工具,通俗点说就是可以执行shell的进程.每次在命令行中输入一…
安装必要的包 nodejs的单元测试最常用的是使用mocha包.首先确保你本地安装nodejs,之后安装mocha包. npm install mocha -g 然后还需要安装相关的断言工具,Node.js中常用的断言库有: assert: TDD风格 should: BDD风格 expect: BDD风格 chai: BDD/TDD风格 使用npm install安装这些断言库其中之一即可. PHPStorm配置nodejs单元测试环境 在PHPStorm中选择菜单:Run -> Edit C…
某个产品的Mac客户端计划基于electron实现,因为现有SDK有C API,原理上用NodeJS Addon来封装成JS API就可使用了.但涉及到与Addon多线程交互,翻找资料没能找到到底该怎么做,只好翻看NodeJS实现找到实现思路. 实现思路上,NodeJS V8 引擎是libuv单线程的,客户端前台页面逻辑跑在libuv事件循环中,后台SDK跑在独立的线程上.业务需要前后台线程之间互相通信,前台访问后台直接API调用,然后异步回调.后台通知则需要唤醒libuv线程来完成. libu…
==虹软官网地址== http://www.arcsoft.com.cn 在官网注册账号,并且申请人脸识别激活码, 选择SDK版本和运行系统(windows/linux/android/ios) ,我们选择windows做测试,申请类型选择1:N ,功能模块包括人脸检测.人脸跟踪.人脸识别.申请之后会获取APP_ID 和SDK_Key,在代码中会用到. ==虹软SDK人脸检测目的== 主要是与face++人脸检测做对比,看能否在face++人脸检测之前选择虹软事先检测一下. ==c++部分功能实…
==虹软官网地址==http://www.arcsoft.com.cn 在官网注册账号,并且申请人脸识别激活码, 选择SDK版本和运行系统(windows/linux/android/ios) ,我们选择windows做测试,申请类型选择1:N ,功能模块包括人脸检测.人脸跟踪.人脸识别.申请之后会获取APP_ID 和SDK_Key,在代码中会用到. ==虹软SDK人脸检测目的== 主要是与face++人脸检测做对比,看能否在face++人脸检测之前选择虹软事先检测一下. ==c++部分功能实现…
推荐网址: https://github.com/nswbmw/N-blog/blob/backup/book/%E7%AC%AC1%E7%AB%A0%20%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E5%8D%9A%E5%AE%A2.md https://www.cnblogs.com/Darren_code/p/node_express.html https://www.cnblogs.com/chyingp/p/express-multer-…
nodejs也算是一篇脚本了我们来看nodejs如何使用mysql数据库了有了它们两组合感觉还是非常的不错哦,下面一起来看nodejs中使用mysql数据库的示例,希望能够帮助到各位. <script>ec(2);</script> db-mysql因为 node-waf: not found 已经不能使用,可以使用mysql代替. 本文主要是[node-mysql]: https://www.npmjs.com/package/node-mysql 的翻译,也去除了一部分自己暂时…
鸽了好久,最近沉迷游戏,继续写点什么吧,也不知道有没有人看. 其实这个node的源码也不知道该怎么写了,很多模块涉及的东西比较深,JS和C++两头看,中间被工作耽搁回来就一脸懵逼了,所以还是挑一些简单的吧! 这一篇选的是定时器模块,简单讲就是初学者都非常熟悉的setTimeout与setInterval啦,源码的JS内容在目录lib/timers.js中. node的定时器模块是自己单独实现的,与Chrome的window.setTimeout可能不太一样,但是思想应该都是相通的,学一学总没错.…
nodejs中如何使用mysql数据库 db-mysql因为node-waf: not found已经不能使用,可以使用mysql代替. 本文主要是[node-mysql]: https://www.npmjs.com/package/node-mysql 的翻译,也去除了一部分自己暂时没有使用到的,如集群. 安装 npm install mysql 简介 纯JavaScript编写,使用的MIT协议. var mysql = require('mysql'); var connection =…
Node.js 线程你理解的可能是错的 本文代码运行环境 系统:MacOS High Sierra Node.js:10.3.0 复制代码 Node.js是单线程的,那么Node.js启动后线程数是1? 答案:Node.js启动后线程数并不是1,以下面代码为例 const http = require('http'); http.createServer((req, res) => { res.end('hello'); }).listen(8000, () => { console.log(…
mongoDB 简介 一.什么是MongoDB ? 1.MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. 2.MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. 3.MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 二.历史 1.2007年10月,MongoDB由10gen团…
关于node-gyp如何进行编译,我想它的官网已经说的很详细了: https://github.com/nodejs/node-gyp 但是我感觉关于binding.gyp文件的语法规则还是说的不明确,大概是因为它本身也不属于node-gyp的范畴吧 gyp文件的语法规则的官方文档应该是这个:https://code.google.com/p/gyp/wiki/GypLanguageSpecification 但是由于墙的原因,所以无法打开,国内我从网上找的比较好的文档是这个: http://w…
常见的数据类型的转换基本比较容易,结合nan应该不是一件难事 参考链接: http://blog.jobbole.com/109598/ http://deadhorse.me/nodejs/2012/10/09/c_addon_in_nodejs_object.html 这里主要说一下Buffer类型的转换: Buffer是nodejs里面的类型,但是c++里面是没有的,那么怎么实现它们之间的转换呢? 1.c++ -> nodejs c++里面没有专门的buffer类型,但是有类似的char…
Nodejs c++ addon 是用c++去编写Nodejs的插件 技术栈: 1.node-gyp 一个用于把c++文件编译成node可执行文件的库 2.v8 google v8引擎 用于处理c++的数据类型和node的数据类型的转换 3.nan 相当于对v8做了一层封装,去处理v8不同版本兼容的问题 4.c++ 因为插件是用c++编写,所以掌握c++的知识…
文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格式 目录 关于本文档 稳定度 JSON 输出 概述 全局对象 global process console 类: Buffer require() require.resolve() require.cache require.extensions __filename __dirname module e…
2017/01/23 星期一 前言:根据手上现成的一个web工程来学习 1.配置vscode使其可以识别nodejs的页面文件.ejs 2.先把项目拖拽至vscode的编辑界面,在"查看"菜单栏中打开"集成终端",配置并启动项目. 1). npm install 安装package.json中的模块2). npm install -g supervisor 安装用于调试的模块3). npm install oracledb 安装oracle模块4). npm sta…
OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()); console.log('[cpus] 每个CPU/内核的信息:'+JSON.stringify(os.cpus())); console.log('[endianness] CPU 的字节序:'+os.endianness()); console.log('[freemem] 操作系统空闲内存…
Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\Administrator\\Desktop\\event.js'; console.log('文件名带后缀:',path.basename(path_str)); console.log('文件名不带后缀:',path.basename(path_str, '.html')); console.l…
关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是肯定的. 但是还好,我们有## node-inspector ##来帮助我们解决一部分的调试问题,但是对于异步能力很强的NodeJs它还是有点力不从心. node-inspector 安装node-inspector 依旧是通过npm来全局安装node-inspector npm install -…