var Koa = require('koa');var Router = require('koa-router' );var bodyParser = require('koa-bodyparser');var mysql = require('mysql');var app = new Koa();var router = new Router();app.use(bodyParser()); var connection = mysql.createConnection({host :…
1.项目目录 2.路由 根目录/routes/index.js -- 首页 const router = require('koa-router')(); router.get('/', async (ctx) => { await ctx.render('default/index'); }) // 注意 前台和后台匹配路由的写法不一样 router.get('/case', async (ctx) => { ctx.body = '案例' }) router.get('/about', a…
1.项目目录 2.入口文件 根目录/app.js /** * koa 路由模块化 */ const Koa = require('koa'); const router = require('koa-router')(); // 引入子模块(子路由) const admin = require('./routes/admin.js'); const api = require('./routes/api.js'); // 实例化 var app = new Koa(); // 配置路由 rout…
一.http协议 是浏览器和web服务器之间的通信协议 1.通用头信息 request url:请求的url,向服务器请求的数据 request method:请求的方式   get.post status code:响应的状态码 2.响应头信息 connection:连接方式,keep-alive持久连接 Content-Type:响应的文件类型 Content-Enncoding:压缩类型gzip data:响应的时间 transfer-Ending:响应的传输方式 location:响应的…
Koa 路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等) 组成的,涉及到应用如何响应客户端对某个网站节点的访问. 通俗的讲:路由就是根据不同的 URL 地址,加载不同的页面实现不同的功能. Koa 中的路由和 Express 有所不同,在 Express 中直接引入 Express 就可以配置路由,但是在 Koa 中我们需要安装对应的 koa-router 路由模块来实现 npm install koa-router 创建app.js…
Node的mysql模块,本人的感受就是不好用,各种报错,各种坑,有一个问题困扰了我很久,也不知道是不是我使用的方式不对,不过后来用easymysql模块解决了,我才深信这是一个坑. 问题描述: 假设有这么一个数据表table,它有两个字段index和name,在localhost:3000主页有一个按钮,上面写着“更新”,当我点击更新后会POST到localhost:3000/update,然后后台连接数据库进行更新操作每一条记录的name为“gdt”,更新完毕后回到主页,再重新按一下“更新”…
在Spring中Controller长这样 @Controller public class HelloController{ @RequestMapping("/hello") String hello() { return "Hello World"; } } 还有Python上的Flask框架 @app.route("/hello") def hello(): return "Hello World" 两者都用decor…
之前写了个小程序Node News,用到了MySQL数据库,在本地测试均没神马问题.放上服务器运行一段时间后,偶然发现打开页面的时候页面一直处于等待状态,直到Nginx返回超时错误.于是上服务器检查了遍,发现程序仍然在运行,且能正确记录每次的请求,再修改代码跟踪调试,原来是在查询数据库的时候,回调一直没有被执行,程序就挂在那里了. 想了很久也想不明白为神马mysql模块没有执行回调,最后突然想起来去看了下错误日志,才发现有个“No reconnection after connection lo…
依赖模块: 1. mysql:https://github.com/felixge/node-mysql npm install mysql --save 2. async:https://github.com/caolan/async npm install async --save (ps: async模块可换成其它Promise模块如bluebird.q等) 因为Node.js的mysql模块本身对于事务的封装过于简单,而且直接使用会有很严重callback hell,故我们封装了两个方法…
var mysql = require("mysql"); var client = function(sql, callback) { var db = mysql.createConnection({ host: "localhost", port: 3306, user: "root", password: "root123" }); db.connect(); db.query("use kartorRese…
//启动memcached/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -p 11211 -u root/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -p 11212 -u root 1.安装mongodb mongodb安装在/usr/local/mongod 目录下mkdir /usr/local/mongod/data //存放数据, touch /usr/loc…
使用路由延迟加载 Angular 模块 Angular 非常模块化,模块化的一个非常有用的特性就是模块作为延迟加载点.延迟加载意味着可以在后台加载一个模块和其包含的所有组件等资源.这样 Angular 就不需要在第一个界面从服务器下载所有的文件,直到您请求它,才下载相应的模块.这对提供性能和减少首屏的初始下载文件尺寸有巨大的帮助.而且它可以很容易设置. 这里将使用一个简单示例来演示这个特性是如何工作的.将应用拆分为多个不同的模块,可以在需要的时候再进行延迟加载. 延迟加载的路由需要在根模块之外定…
本文收录在Linux运维企业架构实战系列 一.收集切割公司自定义的日志 很多公司的日志并不是和服务默认的日志格式一致,因此,就需要我们来进行切割了. 1.需切割的日志示例 2018-02-24 11:19:23,532 [143] DEBUG performanceTrace 1145 http://api.114995.com:8082/api/Carpool/QueryMatchRoutes 183.205.134.240 null 972533 310000 TITTL00 HUAWEI…
本文收录在Linux运维企业架构实战系列 一.收集切割公司自定义的日志 很多公司的日志并不是和服务默认的日志格式一致,因此,就需要我们来进行切割了. 1.需切割的日志示例 2018-02-24 11:19:23,532 [143] DEBUG performanceTrace 1145 http://api.114995.com:8082/api/Carpool/QueryMatchRoutes 183.205.134.240 null 972533 310000 TITTL00 HUAWEI…
Filebeat内置了不少的模块,可以直接使用他们对日志进行收集,支持的模块如下: [root@ELK-chaofeng07 logstash]# filebeat modules list Enabled: mysql Disabled: apache2 auditd elasticsearch haproxy icinga iis kafka kibana logstash mongodb nginx osquery postgresql redis suricata system trae…
  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它.今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂在那里,需要重启服务才能正常使用.   没有使用缓存,直接都是操作数据存,所以导致一个页面数据库请求比较多.如果按住f5不动,操作太快,查询还没来得及响应,connect就被断开了,触发其error事件.但没有对它进行处理,导致程序直接挂在那里不动了   在getConnection函数中添加了对error事件的监听,能避免掉这个问题  …
nodejs 简单的封装一些mysql模块 实现一个方法根据不同传参进行增删改查 首先要 npm install mysql 代码如下 function data(objHost,sql,callback,add=null){ let mysql = require('mysql'); var connection = mysql.createConnection(objHost); connection.connect(); //增删改查 if(add != null){ connection…
本文收录在Linux运维企业架构实战系列 一.收集切割公司自定义的日志 很多公司的日志并不是和服务默认的日志格式一致,因此,就需要我们来进行切割了. 1.需切割的日志示例 2018-02-24 11:19:23,532 [143] DEBUG performanceTrace 1145 http://api.114995.com:8082/api/Carpool/QueryMatchRoutes 183.205.134.240 null 972533 310000 TITTL00 HUAWEI…
一.Python 操作 Mysql 模块的安装 linux: yum install MySQL-python window: http://files.cnblogs.com/files/wupeiqi/py-mysql-win.zip 二.Python MySQL API 2.1.插入数据 import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') cur = conn…
php的扩展 没有配置好! 打开php.ini文件: 搜索pdo_mysql和curl ;extension=php_curl.dll ;extension=pdo_mysql.dll 然后把2者前面的;去掉:再重启iis或者apache服务器,如果没有错误,就是加载成功了! mysql_connect() 不支持 请检查 mysql 模块是否正确加载…
故障现象:linux 安装discuz 错误提示:mysql_connect() 不支持请检查mysql模块是否正确载入. 解决的方法:查看/usr/lib/php/modules/ (64位的看/usr/lib64/php/modules/)里面根本没有mysql.so 找到centos5.4安装盘,放入光驱,然后找到CentOS文件夹下的 php-mysql-5.1.6-20.el5.i386.rpm php-pdo-5.1.6-20.el5.i386.rpm 二个文件.然后通过FTP上传到…
连接数据库的方法迄今为止学了三种: cmd方式.可视化工具,今天记第三种----node端连接数据库. 一:mysql模块介绍与下载 1.mysql模块是node端专门连接数据库的第三方模块 2.下载: 由于是第三方模块,需要使用nmp下载 $ npm install mysql --save -dev; 但是这样并没有在项目本地生成配置文件,因而还需要: (请注意:这条命令要在要使用的项目下使用!) $ npm init -y; 这样就安装好了mysql模块. 二:mysql模块与本地数据库的…
刚刚发现一个奇怪的问题: 在node上用mysql模块将数据写入数据库的时候,在cmd上打开mysql发现select出来的中文是乱码.但这就奇怪了. 因为本机在安装mysql的时候就已经在配置文件将字符集设置为utf-8. 然后我在mysql输入status: 再输入:show variables like '%char%'; 嗯... 然后我在node上检测,发现获取并解析了post的数据后,中文不是乱码,写入之前不是乱码,写入再读出也不是乱码.. 所以服务器上的读写是没问题的,难道是bas…
nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId 前言: 我准备用nodejs+koa+uniapp实现一款餐饮点单小程序,以及nodejs+koa+vue实现后端管理平台,目前用nodejs+koa已经搭建好服务,并使用了链接池以及pm2进程守护来保护服务端接口调用,小程序涉及用户登录+支付+下单+订单管理+信息管理等,后端管理设计登陆+商品添加编辑删除+用户管理等功能,准备在此博客记录我开发过程中遇到的问题以及解决的技术难点,想要学习的关注我一起学习进步吧!…
MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们想让NULL排在后面,让非NULL的行排在前面该怎么做呢? MySQL数据库在设计的时候,如果字段允许NULL值,那么对该字段进行排序的时候需要注意那些值为NULL的行. 我们知道NULL的意思表示什么都不是,或者理解成"未知"也可以,它与任何值比较的结果都是false, 默认情况下,My…
shell脚本获取mysql插入数据自增长id的值 在shell脚本中我们可以通过last_insert_id()获取id值,但是,需要注意的是,该函数必须在执行插入操作的sql语句之后,立即调用,否则获取的值就为0,LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,在向表b插入数据,LAST_INSERT_ID会改变.当然还有其他方法: 1. select max(id) from tablename: 2. select @@IDENTITY; 3. SHOW TAB…
昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的section和keyname获取value的,前两天怎么都调试不通过.今天百度了一下,有人通过字典的方式把我的和这个想法实现了,我把这个例子修改了一下,代码如下,并通过测试,以后可以用在自动化测试框架中: #coding:utf-8 import os import ConfigParser class…
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● 刷新路由● 查看当前路由以及所有路由● 路由触发事件● 获取路由参数 ● 路由的resolve属性● 路由URL格式 AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新.查看路由,路由事件和URL格式,获取路由参数,路由的Resolve3.AngularJS路由系列(3)-- UI-Router初体验4.AngularJS路由系列(4)…
如何采用mysql内置函数获取指定时间之前的日期呢? SELECT something FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;  获取30天前的日期. select date_sub(now(),interval 1 year); 获取一年前的今天的日期   select date_sub(now(),interval 1 week); 获取一周前的日期 select date_sub(now(…
今天发现 批量插入下,自增主键不连续了....... InnoDB AUTO_INCREMENT Lock Modes This section describes the behavior of AUTO_INCREMENT lock modes used to generate auto-increment values, and how each lock mode affects replication. Auto-increment lock modes are configured…