NodeJS实现Http请求
PHP中可以通过CUrl请求一个链接,NodeJS中可以通过Http或Https发送请求。 实现如下: http.js ``` var httpServer = require("http");var queryString = require("querystring");class Http{ constructor(){ this.params = {}; this.isPost = false; this.req = null; this.hostname = ''; this.port = 80; this.urlPath = ''; this.protocol = 'http:'; this.timeout = 10000; this.headers = {}; } /** * [setParams description] * @param {Object} [params] {key:value} */ setParams(params){ this.params = queryString.stringify(params); } se
koa-static组件的使用
koa-static组件的使用 ``` const path = require('path'); app.use(require('koa-static')(path.join(__dirname, './static'), { maxAge: 365 * 24 * 60 * 60,extensions:true })); ``` ``` npm install koa-static --save ```
累加求和算法
例子:求1累加100。 普通算法 ``` int sun = 0; for (int i = 1; i<100 i++){ sum = sum + i; } ``` 优化后的算法 ``` int sum =(1 + 99) * 50 + 50; ``` 如果1累加到99. ``` int sun = 0; for (int i = 1; i<99 i++){ sum = sum + i; } ``` 优化后的算法 ``` int sum =(1 + 98) * 50; ``` 优化算法与通用算法对比 ``` #include<stdio.h> void change(int *num1, int *num2){ *num1 = *num2 + *num1; *num2 = *num1 - *num2; *num1 = *num1 - *num2; } int add(int min, int max){ if (min > max) { change(&min, &max); } int sum = 0; int addTi
C/C++开发node扩展之优化累加求和
累加求和即从最小数开始一直加到最大数,例如: 1累加到100,即1+2+3......+100; 普通算法 ``` for(int i = min, i <= max; i++) { sum += i; } ``` 下面是以扩展的形式开发的优化算法。 ``` #include <nan.h> void change(long long *num1, long long *num2){ *num1 = *num2 + *num1; *num2 = *num1 - *num2; *num1 = *num1 - *num2; } long long add(long long min, long long max){ if (min > max) { change(&min, &max); } long long sum = 0; long long addTimes = 0; if ((min +
nodejs中三种变量声明方式var let const
在nodejs开发学习中,发现有let申明变量,故查询了下javascript的变量申明方式: var 申明方式;申明了一个要么是全局,要么是函数级的变量;这种是我们最常见也是最常用的。 描述: 1\. 变量声明无论出现在代码的任何位置,都会在任何代码执行之前处理; 2\. 给一个非声明变量赋值会隐式创建一个全局变量(全局object的一个属性) 3.如果不初始化,输出undefined或者'' ``` var https; console.log(https); //这里输出undefined或者'' ``` let 申明方式;申明了一个块级域的局部变量,并且可以给它一个初始化值; 描述: 1\. 与var相比let把变量的作用域限制在块级 ``` let httpz = 3; console.log(httpz); function change(){ let httpz = 6; console.log(httpz);//输出6 } change(); console.log(httpz); //输出3 ``` const
Materialize css本地化(包括图标与字体)
目录结构如下:  materializecss-font.css: ``` @CHARSET "UTF-8"; /* latin-ext */ @font-face { font-family: 'Inconsolata'; font-style: normal; font-weight: 400; src: local('Inconsolata'), url(/fonts/roboto/BjAYBlHtW3CJxDcjzrnZCCYE0-AqJ3nfInTTiDXDjU4.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Inco
mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
# [mysql命令gruop by报错this is incompatible with sql\_mode=only\_full\_group\_by](http://www.cnblogs.com/jim2016/p/6322703.html) 在mysql 工具 搜索或者插入数据时报下面错误: ``` ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ``` 原因: 看一下group by的语法: select 选取分组中的列+聚合函数 from 表名称 group by 分组的列 从语法格式来看,是先有分组,再确定检索的
IaaS vs CaaS vs PaaS vs FaaS:选择合适的平台
探索各种云平台,为您找到最好的平台。  由Jeff Kubina授权的CC By-SA 2.0“Circumhorizontal Arc”是否购买,构建或采用了开放源码,您可能已经在使用某种软件平台来构建,部署和扩展您的应用程序。 经过多年将应用程序中的常用功能提取到较低级别的抽象中之后,平台就出现了。 如果以故意的意图和设计完成,你会得到一个平台。 如果不是的话,你可能最终会在自己的手中产生一个有机的混乱,并发现自己正在寻找其他人为了出路而建造的平台,一线希望。 适合您的平台将在灵活性和简单性之间实现您所需要的平衡,使您能够更快地构建,而不会受到太多限制。 本文将分析云平台的各个方面,帮助您找到最适合您情况的方案。 每个人都有自己的想法,看看这个完美的平台是什么样子的,因为每个人的用例都有些不同。 但是每个人都在寻找两件大事: 发展速度加快 自动化操作专长 这两个需求推动了大部分软件平台的投资。 真的,他们是你可能用来自动化任何事情的相同论点:速度和
FaaS,PaaS和无服务器体系结构的好处
``` note: faas:功能即服务 paas:平台即服务 ``` 本文讨论无服务器是什么,将其与PaaS和SPaaS进行比较,无服务器体系结构的优点和成本以及对框架的需求。 最初,无服务器意味着开发人员不必关心设置和管理运行其后端应用程序的服务器。不是说没有涉及服务器,而是后端基础架构是由第三方提供者维护的,所需的功能是作为服务提供的,包括数据库,消息传递,认证等。这个服务基础结构通常被称为后端即服务(Backend-as-a-服务(BaaS)或移动后端即服务(MBaaS)。 但是,当亚马逊在2014年宣布AWS Lambda时,将无服务器模式推向了另一个层次,为云中运行的应用程序引入了新的系统架构。没有永久进程在服务器上运行,等待HTTP请求或API调用,而是一个触发AWS服务器上的一段代码(通常只是一个函数)的事件机制。 使用这种范例时,不必考虑服务器。重要的是写一段代码在某个事件发生时被执行。云提供商负责查找运行代码的服务器,并在需要时扩展。一旦执行结束,用于运行这些功能的容器就会退役。并且执行以100毫秒为单位计量,用户仅对代码运行时消耗的资源收费
js实现左键弹出式菜单
左键弹出式菜单\[推荐\]\[修改显示的文字及链接即可\]\[共2步\] \====1、将以下代码加入HEML的<head></head>之间: ``` <style type="text/css">body { font: 9pt "宋体"; margintop: 0px; color: #ffffff; background: #000000}a. { font: 9pt "宋体"; cursor: hand; font-size: 9pt; color: #ffffff; text-decoration: none}a:active { font: 9pt "宋体"; cursor: hand; color: #FF0033}a.cc:hover { font: 9pt "宋体"; cursor: hand; color: #FF0033}.box { font: 9pt "宋体"; position: absolute; background: #000000}</s
Linux强制踢出用户命令
一、输入w命令查看已登录用户信息 \[root@KW\_S01\_192.168.1.106\_A ~\]# w 19:22:31 up 2:11, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.1.178 18:41 0.00s 0.16s 0.01s w root pts/1 192.168.1.178 19:22 4.00s 0.14s 0.05s ssh localhost root pts/2 localhost.locald 19:22 4.00s 0.07s 0.07s -bash 二、使用命令pkill -kill -t 用户tty \[root@KW\_S01\_192.168.1.106\_A ~\]# pkill -kill -t pts/2 三、验证操作是否成功 \[root@KW\_S01\_192.168.1.106\_A ~\]# w 19:24:25 up 2:12
linux用户登录记录日志和相关查看命令汇总
Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间; 2 /var/log/wtmp:记录当前正在登录和历史登录系统的用户信息,默认由last命令查看; 3 /var/log/btmp:记录失败的登录尝试信息,默认由lastb命令查看。 这三个文件都是二进制数据文件,并且三个文件结构完全相同,是由/usr/include/bits/utmp.h文件定义了这三个文件的结构体。 默认情况下文件的日志信息会通过logrotate日志管理工具定期清理。logrotate的配置文件是/etc/logrotate.conf,此处是logrotate的缺省设置,通常不需要对它进行修改。日志文件的轮循压缩等设置存放在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下,它会覆盖缺省设置。 如果不想记录相关信息,则可以直接将相关文件删除即可。如果系统不存在该文件,则需要在此路径touch一个文件就可以继续记录相关信息了。 此外: 如果想禁用who命令