
后端
文章平均质量分 59
一杯码农
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
https流程详解(含ca证书校验)
首先来说 一下,为什么需要https 加密由于http 传输是明文传输,信息在传输的过程中容易被篡改,不安全所以 就有了 加密传输对称加密 (aes等)对称加密很容易理解,就是 只有一个秘钥, 可以使用这个秘钥加密和解密,但是这样只要被别人截取到秘钥,信息传输就不安全了,相当于明文传输了。特点:1. 只有一个秘钥, 客户端和服务器传输秘钥过程中被截取就能被破解2. 加解密速度极快非对称加密(RSA等)特点:1. 有 公钥 和 私钥,公钥加密,就只能用 私钥 来..原创 2021-07-22 23:09:22 · 2053 阅读 · 1 评论 -
sql插入更新语句封装
背景: 当我们项目上需要写原生sql语句的时候,但是写插入更新语句都很麻烦,这里就封装了一个方便调用的函数//设置表的主键const tablePrimaryKey = { t_fund_trade_data: { fund_id: true, trade_time: true }, t_fund_value_discount: { fund_id: true, hist_dt: true }, t_fund_stock_list: { fund_id: true,原创 2021-07-15 14:54:52 · 471 阅读 · 0 评论 -
简单实现koa的洋葱模型
class myKoa{ middleware = [] ctx = {a:1} constructor(){ } use(fn){ this.middleware.push(fn) } listenCallback(){ let fn = this.compose(this.middleware) return fn(this.ctx).then(this.respond) } r.原创 2021-06-10 16:01:16 · 251 阅读 · 0 评论 -
js实现flat函数
function myFlat(arr,count){ if(count == 0){ return arr } return arr.reduce((res,value)=>{ if(Array.isArray(value)){ res = res.concat(myFlat(value,count-1)) }else{ res = res.concat(value) .原创 2021-06-07 22:42:36 · 1115 阅读 · 0 评论 -
手写 nodejs 打包工具,转译 CommonJs 规范的代码
使用过nodejs的小伙伴应该都知道, commonjs规范其实就是用在nodejs服务器端的commonjs 其实是同步加载机制我们先来看一下这段代码,这个其实就是webpack 将 commonjs 规范的模块代码 打包编译之后的代码const cache = {};(function(modules){ const require = (path)=>{ if(cache[path]) return cache[path] let...原创 2021-05-31 15:57:29 · 386 阅读 · 1 评论 -
nodejs京东接口分析 实现京东自动化功能整合(扫码登陆、商品信息监控、购物车修改、自动下单)
nodejs 实现京东自动化功能整合(扫码登陆、商品信息监控、购物车修改、自动下单)1.京东扫码登陆功能实现 原理 分析https://blog.youkuaiyun.com/weixin_38407447/article/details/1165906022.京东商品信息监控功能实现 原理 分析https://blog.youkuaiyun.com/weixin_38407447/article/details/1165926293.京东购物车修改功能实现 原理 分析https://blog.csd.原创 2021-05-10 15:27:12 · 1478 阅读 · 0 评论 -
nodejs京东接口分析系列-实现京东自动化功能 之 自动下单
本章节实现,京东自动下单功能需要用到京东的用户登陆后的信息,详情请查看https://mp.youkuaiyun.com/editor/html/116590602章节相对之前的功能,该功能会稍微复杂一点,需要通过阅读京东源码来分析,看看能不能先实现拦截提交订单请求,防止在测试的时候多次真实提交订单首先 打开https://cart.jd.com/cart_index/#none点击去结算,跳到下单页通过查看HTML结构代码,发现提交订单需要调用submit_Order(n...原创 2021-05-10 15:22:19 · 5189 阅读 · 1 评论 -
nodejs京东接口分析系列-实现京东自动化功能 之 购物车修改
本章节实现,清空购物车和添加购物车功能需要用到京东的用户登陆后的信息,详情请查看https://mp.youkuaiyun.com/editor/html/116590602章节后续感兴趣的小伙伴可自行实现 购物车的增删查改等全部功能首先,我们先分析一下京东的购物车接口打开https://item.jd.com/100009820314.html,ctrl+f12来一波~发现加入购物车功能是如此简单,以至于不敢相信http://cart.jd.com/gate.act...原创 2021-05-10 14:41:16 · 3688 阅读 · 4 评论 -
nodejs京东接口分析系列-实现京东自动化功能 之 商品信息监控
本章节无需登陆,接口是可以直接get请求调用的这里随便打开一个京东商品https://item.jd.com/100009820314.html随便看一下请求信息,就能发现很多接口能直接用1.获取商品库存状态接口(京东不能直接查看具体库存,只能查看是否有库存)http://c0.3.cn/stocks?type=getstocks&area=19_1601_36953_62867&skuIds=100009820314参数解析type:getstocksa原创 2021-05-10 13:33:38 · 3798 阅读 · 1 评论 -
nodejs京东接口分析系列-实现京东自动化功能 之 扫码登陆,需要puppeteer
最近想要实现一个京东扫码登陆和自动下单,自动抢购的功能(ps:实现京东自动化功能),!!!本项目纯属学习性质,禁止商业用途给大家分享一下我是如何一步步通过分析京东的网站请求,查看京东网站的源代码去找到对应的接口和参数爬虫必备,准备好接口的基础headers头部信息,下面所有接口请求需要在头部传入这些参数,以表示你是个正常用户~let header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap原创 2021-05-10 12:36:07 · 5551 阅读 · 3 评论 -
回溯算法之解数独
编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字1-9和字符'.'。你可以假设给定的数独只有唯一解。给定数独永远是9x9形式的。/* * @lc app=leetcode.cn id=37 ...原创 2020-08-04 14:04:26 · 370 阅读 · 0 评论 -
js基础锻炼题1~20题
第1题:const one = (false || {} || null );const two = (null || false || "");const three = ([] || 0 || true);console.log(one,two,three)//{} '' []第2题console.log([..."neng"])//[ 'n', 'e', 'n', 'g' ]第3题console.log( [[0,1],[3,5]].reduce( (a,原创 2020-07-07 11:14:07 · 645 阅读 · 0 评论 -
写过的史上最长mysql
每小时抓取淘宝商品数据, 统计淘宝 日,周,月的数据selectifNull(t1.count,0)ascount,ifNull(t1.tb_day30,0)astb_day30,ifNull(t1.tb_day7,0)astb_day7,ifNull(t1.tb_day1,0)astb_day1,ifNull(t1.tb_day0,0)astb_day0,...原创 2020-06-03 10:19:12 · 267 阅读 · 0 评论 -
uni-app快速开发微信小程序、h5、和app
过年在家无聊,尝试使用uni-app开发微信小程序,发现这个框架的跨端功能非常强大,几乎能直接从微信小程序移植过来技术栈:后端 node +mysql 抓取各大视频网站的数据前端 uni-app服务器使用微信云开发 (先用node抓取数据到mysql,再分析处理数据成云数据库的格式导入到云数据库)可以说这个项目的开发是不需要任何费用,非常赞的!uniapp还出了类似于...原创 2020-02-29 22:39:06 · 5444 阅读 · 2 评论 -
mariadb启动失败解决办法
mariadb启动失败查看原因systemctl status mariadb.service打开mysql日志vi /var/log/mariadb/mariadb.log原因:mysql启动时,ib_logifle0文件大小 不正常,查看ib_logifle0文件大小为0,解决办法:将ib_logifle0文件删除,然后重新启动mariadb ,service mar...原创 2019-12-28 09:37:34 · 6225 阅读 · 1 评论 -
Linux shell脚本按日期 切割pm2日志
linux shell脚本按日期 切割pm2日志 (解决定时任务pm2命令无法执行问题,原因:没有环境变量)1.首先在输入命令echo $PATH 拿到当前系统环境变量2.然后在/root/.pm2目录新建cutlog.sh文件(注意:第一句一定要有,设置当前shell脚本里面的环境变量,没有的话pm2命令会无法执行)PATH=/root/.tnvm/versions/alinode/v3...原创 2018-11-24 10:03:12 · 758 阅读 · 0 评论 -
搭建git服务器
1.安装依赖工具yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel2.安装编译工具yum install gcc perl-ExtUtils-MakeMaker3.下载gitcd /usr/local/src&&wget https://www.kernel.org/pub...原创 2018-11-24 10:12:49 · 120 阅读 · 0 评论 -
python 快速入门(一)
一.    安装下载python安装包,https://www.python.org/downloads/二.    变量和简单数据类型####1.变量message = "Hello Python world!"print(message) #Hello Python world!"原创 2018-11-24 10:14:26 · 225 阅读 · 0 评论 -
python 快速入门(二)
六. 字典 dict (增、删、查、改)字典是一系列键-值(key-value)对######1.操作字典alien = { 'color': 'green' , 'points':3,'height':12 }#增alien['x_position'] = 0alien['y_position'] = 0print(alien) #{'color': 'green', 'po...原创 2018-11-26 11:13:15 · 229 阅读 · 1 评论 -
python 快速入门(三)
九. 类1.创建类class Dog(): """一次模拟小狗的简单尝试""" def __init__(self, name, age): """初始化属性name和age""" self.name = name self.age = age def sit(self): "&q原创 2018-11-27 15:55:15 · 200 阅读 · 0 评论 -
leetcode-旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示...原创 2018-12-08 13:45:46 · 182 阅读 · 0 评论 -
JAVA - 开发环境搭建
一. 开发环境搭建1.下载jdkhttp://www.oracle.com/technetwork/java/javase/downloads/index.html2.配置环境变量步骤一:右击计算机,选择属性步骤二:打开高级系统设置步骤三:选择高级步骤四:选择环境变量步骤五:在系统变量里配置JAVA_HOME点击系统变量下的新建变量名填JAVA_HOME变量值填JDK的...原创 2018-12-19 20:50:39 · 165 阅读 · 0 评论 -
leetcode-整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码/** * @pa...原创 2018-12-09 13:26:15 · 154 阅读 · 0 评论 -
采用DFA算法实现字库屏蔽规则
//需要过滤的字库let filterWordsArr = '广告|下载|邀请|邀请码';//切割字库成数组filterWordsArr = filterWordsArr .slice(1, filterWordsArr.length - 1).split('|');let filterWords = {};//处理字符串,将字符串切割使用对象递归嵌套存储function dealWo...原创 2019-01-02 10:48:35 · 1334 阅读 · 0 评论 -
js实现定时任务
/** * 定时任务 * 例子: dealTask(1000 * 60 * 60* 24,function(){ console.log(11) }) ; //每天固定0:00执行 */async function dealTask(time, task) { console.log(`设置了一个定时任务 time ${time}`); function getHMST...原创 2019-01-03 10:55:33 · 489 阅读 · 0 评论 -
srs推流服务器部署
参考链接https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP1.获取srsgit clone https://github.com/ossrs/srs cd srs/trunk2.编译SRS./configure && make3. 启动应用./objs/srs -c conf/realtime.conf &4...原创 2019-03-05 16:50:13 · 3259 阅读 · 0 评论 -
nodejs系列环境部署(svn+nginx+node+mysql+pm2+redis)
一、安装svnyum install subversion二、安装nginx1.安装centos 7以上第一步 - 添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令:sudo yum install epel-release第二步 - 安装Nginx现在Nginx存储库已经安装在您的服务器上,使用以下yum命令安装Nginx :sudo yum...原创 2018-11-24 09:59:03 · 325 阅读 · 0 评论