自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

项目、学习记录

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 docker启动nginx及常见nginx配置

nginx为方便在设置出错时快速恢复,使用docker方式来配置nginx,下文所有命令针对docker方式。简单启动sudo docker run --name nginx_3000 -p 3000:80 -d nginx可以在3000端口访问nginx,如下图:nginx相关目录实际使用过程中,我们需要对nginx的转发规则等选项进行配置。docker版本的各个配置文件默认所在路径为:网页root目录:/usr/share/nginx/htmlnginx配置文件:/etc/ngin

2020-06-12 10:49:21 8026

原创 nodejs后台接口配置https访问

后台配置https分为以下几步:生成ssl证书,安装nginx,配置nginx ssl认证和端口转发分别介绍如下ssl证书生成证书生成有两种方式,自己生成或者第三方申请,快速部署使用阿里云免费ssl证书即可。具体申请流程参见:https://yq.aliyun.com/articles/637307。注意:需要提前准备好域名和ip信息。申请成功后得到 后缀为crt和key的两个文件,将其放在服务器某个位置下并记录。nignx安装打开网站:http://nginx.org/e

2020-05-25 21:45:45 3491

原创 nodejs定时器和promise执行顺序

var wait = function (ms) { return new Promise((resolve) => { console.log("promise"); //promise的构造函数是同步代码,立即执行 setTimeout(() => { console.log("resolve"); //宏任务 resolve(); }, ms); });};Promise.resolve().then(() => {

2020-05-25 13:58:16 2271

原创 js多个await语句并行调用方法

看代码//模拟异步async function waitfor(timeout) { let sleep = new Promise((resolve) => { setTimeout(() => { console.log(timeout, "ms时间到"); resolve(); }, timeout); }); await sleep; //注意不要加(),因为 new Promise已经是一个函数了}//模拟获取接口fun

2020-05-19 14:46:10 6957

原创 前端mqtt使用调研

简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,是 TCP/IP 的再封装,由 IBM 在 1999 年发布。MQTT 最大优点在于,地开销,少流量实现网络通信协议原理mqtt 协议中有两种角色,客户端和服务端。服务端一般由消息 broker 实现...

2020-04-30 15:39:42 3660 2

原创 vscode免密登陆服务器远程编辑

起因笔记本性能弱,当需要同时开发运行前端程序、后端程序、运行数据库和一些中间件时,cpu占用率高,导致机器卡顿,影响开发效率。因为使用的编辑器是vscode,从网上得知,新版本支持远程编辑,今天用来一试,真好用!现将配置流程记录如下:配置流程vscode安装插件 Remote-ssh,如下安装完毕后会在左下角出现一个插头标志,点击后可以打开对话框,选择 第一项输入用户名和ip地址...

2020-04-18 09:21:19 1151 2

原创 mogodb开启用户密码验证

mongoDB开启密码验证使用mongoDB开发测试一直在裸奔,今天在登陆系统时一直报错,链接上数据库才发现“我方防御塔被摧毁”,万恶的黑客!幸亏我的数据库没有什么真实数据,而且是用docker方式启动的,思来想去,痛定思痛,原因还是在自己,偷懒了。为了避免以后仍然发生这种事情,开发也得加上用户验证配置。下面记录自己配置用户和密码的步骤配置流程为mongodb增加用户名和密码分为以...

2020-04-17 15:19:04 607

原创 使用git管理KEIL5开发的单片机工程文件

使用git管理KEIL5工程的忽略文件前置知识使用KEIL5开发stm32比较方便,在程序编译、连接等中间过程中会产生很多无用文件。比如一个STM32项目正常编译通过后整个项目大小为:使用正点原子提供的keilkill.bat执行无用文件删除后文件大小为:可以看出体积相差10倍多,一般为了备份保存,我们只需要保存执行完keil killbat的项目文件夹即可。注意:删除无用文件后,不...

2020-03-16 10:19:09 5670

原创 AD18使用技巧

之前一直使用AD15,最近安装了AD18,新版本的“黑暗模式”好评,因为改版好多功能与之前入口不同了,本文记录AD18的使用技巧,不断补充中。清除PCB重叠报错当绘制pcb时,有些模块希望重叠在某些元器件上,比如OLED模块希望放在贴片电解电容上,默认这种情况下AD的设计规则会检测报错。如下图:绿色是报错。如果要消除报错,可以选中OLED模块后依次按TM快捷键。即可消除报错。如下:清除...

2020-03-02 20:52:45 9165

原创 JS全栈后端Server部分笔记 (2) - 接口鉴权、中间件使用、http-assert

JS全栈后端Server部分笔记 (2) - 接口鉴权、中间件使用、http-assert前言NodeJS编写的后台管理系统笔记,github地址:(待补充,)通用CURD抽离上文完成基本的框架搭建和分类的CRUD操作,由于后续对物品、图片资源都具有相同操作,因此可以抽象出CRUD,简化程序。分类CURD部分实现:const Category = require("../../mode...

2020-02-14 15:36:02 1412 10

原创 JS 全栈前端后台管理部分笔记(2)- 富文本编辑、图片上传、接口鉴权

前言使用vue和element搭建的管理后台笔记。github地址:待补充(github在家里打不开啊啊啊)物品管理页面增加左侧菜单导航入口: <el-submenu index="2"> <template slot="title"><i class="el-icon-message"></i>物品管理</tem...

2020-02-14 15:31:13 526

原创 JS全栈前端后台管理部分笔记(1)- 初始化及分类CURD

JS全栈前端后台管理部分(1)- 初始化及分类CURD组成前端程序:后台管理系统前端程序:手机客户端后端程序工程搭建前台使用vue框架,创建工程使用vue-cli,安装命令:npm install -g @vue/cli可通过查看vue/cli版本来验证是否安装成功vue --version在wangzhe目录下创建前端的前后台项目vue create web和...

2020-02-08 14:44:26 351

原创 JS全栈后端Server部分笔记 (1)-初始化及分类接口编写

JS全栈后端Server部分 (1)-初始化及分类接口编写关于初始化和路径参考王者荣耀后台服务.md切换到server目录并启动项目npm run serve安装主要依赖npm install express@next mongoose cors 注意,安装express时必须指定next,表示下一个版本,用来支持async和await的ES6新语法。主程序//index.js...

2020-02-08 14:41:02 291

原创 09. nodejs操作MongoDB

nodejs操作MongoDBnodejs操作MongoDB上一篇文章对MongoDB的操作是在mongo客户端shell中执行的命令,实际工作中多是利用程序来操作MongDB,类似php操作mysql中的PDO,nodejs操作MongoDB也需要安装相应的依赖,比如mongo、mongose,mongo库安装依赖npm install mongodb --save-dev连接数据...

2020-01-17 15:16:10 170

原创 MongoDb的介绍、CURD操作、索引设置笔记

简介NoSQLNoSQL(非关系数据库)对比MySql等传统关系型数据库的优点是更适合于大规模数据和多种数据的应用场景,尤其是大数据相关问题。NoSQL的应用场景是:对数据库并发读取的需求对海量数据高效率存储和访问的需求对数据库高扩展性和高可用性的需求传统数据库是通过表、行、列来组织和存储数据的,而NoSQL是用JSON来存储数据。MongoDb 介绍MongoDB 是一个...

2020-01-16 17:14:23 255

原创 08.nodejs封装一个类似express路由

nodejs封装一个类似express路由路由如前面文章所述,路由是前端浏览器访问路径,后端程序解析访问路径并返回其对应的页面,这一实现过程称为路由。express实现的路由如下:app.get("index",function(req,res){ res.send("hello express")})假设运行在本地,以上程序实现访问 http://127.0.0.1/inde...

2020-01-16 11:26:02 242

原创 在react中实现组件吸附到窗口顶部

吸附原理工作任务需求,某个单一标志性组件需要在页面滚动时吸附到窗口顶部,之前利用原生js实现过,基本原理是:当滚动条相对于页面的距离大于元素高度时,设置该元素的定位为fixed。API使用的基本API是:1. 获取当前窗口滚动条相对页面的长度,document.body.scrollTop //chromedocument.documentElement.scrollTop//ie...

2019-12-21 17:06:42 1384

原创 电源中W(瓦)和VA(伏安)的区别

电源中W(瓦)和VA(伏安)的区别瓦电源最终的参数就是最大输出功率,一般开关电源都是以W来标识,表示该电源最大输出能力是多少W,不能超过,如果超过则会损坏开关电源。一般选用电源时都会留出余量,比如说我一台电脑预计消耗功率是300W,那么我们会给他配一台最少350W的电源。伏安在参加工作以后发现工控领域中有些控制电源(实际上是EI型变压器)所标志的最大输出功率单位是以VA来标识的,比如说3...

2019-12-21 10:25:26 24140

原创 Manjaro尝鲜体验

Manjaro尝鲜体验mnjaro是世界上流行度第一的linux发行版,是基于ArchLinux核心简化安装版。因为手中的thinkpad x200s 安装win10后cpu温度太高,于是自己从网上摸索了下安装manjaro的教程,最终成功安装。秀一下成功。以下内容为自己的备忘。安装利用rufus制作启动盘,然后设置电脑u盘启动,之后的步骤参考Manjaro官网即可,因为电脑配置低,所...

2019-12-14 19:20:12 1626

原创 07 ejs 模板引擎

07 ejs 模板引擎模板引擎在前后端分离之前是最web开发必不可少的一个组件,随着电脑手机设备性能的提高,浏览器也能做更多的事情了,前后端分离逐渐流行,模板引擎也逐渐没落,不过在某些特需领域或者一些小项目中模板引擎仍然再用。背景ejs是后台模板引擎,在web刚刚发展起来时,一般网页开发web后端是主力,前端人员仅仅是写页面,页面完成之后交于后端人员,不负责联调。后端的程序一般为MVC架构...

2019-12-12 20:29:09 416 1

原创 05 路由和GET、POST传值

路由和GET、POST传值什么是路由浏览器和web服务器之间的交互是通过HTTP协议,呈现给用户的网页一般是一个html文件,针对浏览器发出的不同请求,服务器返回不同的html文件。那么服务器怎么知道浏览器请求的是哪个html文件呢?答案就是路由。路由是由url(路径)和请求方法组成的,用于服务器处理浏览器发出的请求并返回对应的数据。nodejs中可以利用url模块来获取当前浏览器访问的pa...

2019-12-10 20:40:31 1253

原创 04. nodejs的异步、回调、非阻塞IO、事件驱动

04 nodejs的异步、回调、非阻塞IO、事件驱动​ nodejs具有单线程、非阻塞io、事件驱动的特性,非阻塞io和单线程联系在一起,异步非阻塞的特性适合高并发场景,并且优于java和php等传统后台语言。具体请看前一篇文章的理解和分析:异步程序的写法回调函数nodejs的异步提供了强大的并发处理能力,但是在写程序时需要注意,他的语法并不是像java和php一样是从上到下执行的,具体...

2019-12-09 09:29:09 858

原创 通过单片机理解来理解异步非阻塞

通过单片机理解来理解异步非阻塞并发在BS架构中非常重要,是web服务器的典型应用场景。传统后台高级语言java、php虽然能实现高并发,但是却有缺点,最好解决并发的方案是异步非阻塞。下文以单片机多任务来讲解异步非阻塞的优点。两个基本概念并发并发指的时服务器同时应对多个客户端请求,这里的同时是宏观的,从微观来讲cpu只在某一小段时间处理其中一个请求并且在不同的处理线程上进行切换,因为切换的...

2019-12-08 12:03:28 623

原创 03. Nodejs编写简单静态web服务器

03. Nodejs编写简单静态web服务器​ 之前提到过nodejs与javaphp等纯后台语言的区别是nodejs可以自己编写web服务器,web服务器是用运行于服务器中为浏览器提供响应数据(网页、文件)的程序,世界上现在应用最广泛的有Nginx、Apache、Tomcat、IIS.github仓库: https://github.com/liangfenggithub/nodejsLe...

2019-12-08 10:09:56 307

原创 02.nodejs的url、fs模块

nodejs的内置url、fs模块前言本文对应所有代码的github仓库是:https://github.com/liangfenggithub/nodejsLearn.git顺带吐槽一下,在本地利用typora写完md文档,然后粘贴到csdn中发现图片都不能直接从浏览器读取,还得一张一张从本地电脑上找到在粘贴进来,很是繁琐,真希望csdn能支持直接读取md文件本地电脑相对路径的图片。内...

2019-12-07 11:34:41 402

原创 01.nodejs再相识

nodejs前言​ 之前使用node写过websocket的聊天室,也写过一些mqtt通信的小工具,但是因为平时使用少,加上没有系统的记录笔记,每次使用都得去百度查相关的库和方法,加上最近研究webpack的配置,用到了nodejs语法,很多库方法的一查再查让人很是疲累,索性搞webpack前再系统学习一边nodejs吧,这次把所有用的基础知识都记录下来,自己有个整理,也方便之后的查询。​...

2019-12-07 11:20:54 118

原创 vim快捷键

vim前言之前在折腾OpenWrt路由器时,最长用到的编辑器就是vim了,前几天在自己低配thinkpad笔记本上安装了ArcLinux,但是跑vscode仍然热的仍然像个大火炉,于是便着使用vim来编写代码,发挥下余热。知道开始写才发现之前掌握的hjkl之类命令远远不够,于是从酷客网上一遍联系一遍记录笔记,防止年老忘记,哈哈,另外说一句:vim是世界上最牛的编辑器,逃。。。快捷命令在...

2019-12-06 19:51:30 152

原创 Ant Design 实战教程练习笔记

项目说明Ant Design 实战教程的练习程序笔记。注意:因为开始的疏忽,并未将model、page、service、layout、util文件夹放在src文件夹下,但是功能完全实现,待后期有时间完善。源码仓库地址:https://github.com/liangfenggithub/antd_course.gitumiumi是阿里推出的一个基于react的框架,采用约定大于配置的思想...

2019-12-05 17:54:45 887

原创 CSS3学习笔记

CSS3学习笔记0.前言这篇笔记是18年11月左右学习css3记录下来的,当时没有发表在博客,而是放在自己电脑上,今天整理时才发现,补发CSDN.本项目下的每个文件都可以正常运行,参考笔记进行理解。github地址 (点击可查看源程序文件)css选择器和jQuery的选择器大体一致,不知道是谁抄谁的,程序之间怎么叫抄呢,就像是孔乙己的“窃”,哈哈。1.选择器基本选择器<选择...

2019-12-04 17:07:12 212

原创 数据库的基本概念

数据库源由对于数据库的初次接触是毕业第一年到公司做的视频监控系统,利用PHP语言MySQL语言实现。虽然实现了功能,但由于当时间紧任务重,我对数据库并没有深入了解,在后续自己编写物联网管理后台受到了制约。为了更好的重构自己的iot后台,决心重学一边数据库,这篇博客是用来记录个人学习廖雪峰教程的笔记,用于以后的查询,(年纪大了,脑子不好使了)。基本概念数据库是独立于应用程序外的一种程序,用于...

2019-12-01 10:21:07 291

原创 tmux学习笔记

tumux上图就是tmux的使用效果,之前在使用服务器运行需要后台执行的springboot程序和emq程序时,一直在使用screen这个软件,今天有空,学习下tmux的基本操作。会话传统终端Tmerminal 窗口是是用户与计算机临时交互界面,称为会话(session)。当我们用ssh连接到服务器就是一个会话,关闭窗口,会话结束,运行程序也会终止,造成这样的原因是会话与进程相绑定,为了...

2019-11-30 15:58:22 484

原创 git重学笔记

好记性不如烂笔头,古人诚不欺我。之前学过git的基本操作,但是在后续使用上经常记不起来具体命令,趁着空闲重学一遍,记录如下查看提交历史git log单行显示历史git log --pretty=oneline版本回退HEAD是git的指针,表示当前版本,HEAD^表示当前版本的上一个版本,HEAD^^表示当前版本的前两个版本,以此类推。一种简单的表示方法是HEAD~n,其中n为...

2019-11-28 15:40:15 301

原创 ssh连接服务器linux命令.md

在使用win10系统的wsl中,连接远程服务器的ssh命令有以下几种方式:几种不同登录方式不指定用户登录ssh 192.168.1.1指定用户名登录ssh [email protected] //root为用户名指定端口访问ssh -p 12233 [email protected] 其中-p命令是指定ssh端口为12233安全加固为保证服务器安全,可以:修改...

2019-11-27 18:07:12 419

原创 Redux中间件原理与实现

Redux中间件redux中间件类似Express的中间件,在Express中中间件运行于接收到request到返回response之间,redux中间件运行于action发出到reducer执行之间。他们的实现都是为了原本功能的增强。实质中间件的执行时机在aciton发出到reducer执行之间。redux中间件的实质是对redux中store.dispath函数的再封装,...

2019-11-22 13:23:34 518

原创 redux-saga学习笔记

redux-sagaredux的一个中间件,用于实现异步操作原理saga是由Generator函数实现的,(Generator函数能够实现将外部数据传入内部,同时将内部函数传递到外部,并能切换调用者,类似于lua中的协程。)我们自己编写Generator函数,Generator函数将会yield包含指令的稳步对象,redux-saga中间件将确保执行这些执行并将指令结果回馈到Generato...

2019-11-21 20:18:02 294

原创 redux应用笔记

项目中应用到了redux,根据前人的代码和网上百度到的资料总结如下,以免遗忘。简介redux是一个状态管理工具,随着前端功能的增加,业务的复杂,将数据提取出组件是更好的方式,rudex是其中一种解决方案。redux基本概念redux由store、action、reducer 三部分组成。storestore:仓库,是一个包括项目所有的状态数据的对象,redux提供了createStor...

2019-11-14 18:42:28 106

原创 JS的异步和同步函数

好久没有写博客了,从7月1日我正式从电子工程师(其实就是写单片机程序的)转为了前端开发(萌新),新工作加班较多,一些知识也没有放在博客上,今天遇到了同步和异步的问题,作为一个新的开始,重新记录。起源要弄清楚同步和异步的问题,必须搞清楚js的单线程,以前看书和博客常常看到说“JavaScript是一种异步单线程的变成语言”这句话,以前理解的不太深入,今天通过查询资料,重新学习了一遍,1. js...

2019-08-20 14:49:09 3496 1

原创 单片机通过GPRS模块利用MQTT协议上报设备数据流程

硬件设备STM32F407单片机安信可A9 GPRS 模块流程1.建立连接需要按照如下流程发送: AT+CGATT=1 //附着网络 OK AT+CGDCONT=1,"IP","CMNET" //设置PDP参数 OK AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了 OKAT+MQTTCONN="95.169.24.41",18...

2019-06-25 16:09:24 3373 6

原创 simplicTI协议栈串口驱动程序解析

2019-06-25 14:05:49 295

原创 simplicTI协议栈修改LED的GPIO

2019-06-25 13:57:32 166

mqttws31.js

前端使用mqtt的的websocket库,简单易用,具体使用方法参考博文https://blog.csdn.net/liangcsdn111/article/details/105863097

2020-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除