全栈
刘泽美
我心净时,何时不见如来。
我心净处,何处不是西天。
展开
-
ubuntu 部署 sentry 服务
1. 安装 Dockersudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get updatesudo apt-get install ca-certificates curl gnupg lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyri原创 2021-11-18 07:44:08 · 390 阅读 · 0 评论 -
100行代码 5分钟开发一个数字货币行情软件(升级版)
鉴于之前 ccxt 的接口貌似被墙了。国内访问不了。所以我又重新用了 非小号 的数据 重新弄了一下,现在国内的也能访问了。非小号的 api 禁止了浏览器跨域请求。所以中间我又用我的服务器做了一层 nginx 反向代理转发接口的数据。技术栈: html css js vue elementUI axios流程:行情系统无非就是一张动态数据的表格。只要获取到数据,然后按照一定的方式展示就行了。软件截图:展示:想直接查看效果 请点击这里也欢迎 start加了一些字体和颜色,所原创 2021-07-04 15:13:36 · 1013 阅读 · 3 评论 -
关于 高内聚 和 低耦合 的理解
随着一个程序逻辑越来越多,就难免需要微服务来保证程序的高可用性。一个服务宕机或者出问题了,不影响其他的服务。只要有微服务的存在,两个服务之间有许多代码需要共用。高内聚低耦合是一种程序设计的思想,高内聚的本质也就抽象和封装,目的是为了代码结构清晰,减少代码量。低耦合的目的是为了不同服务之间不同的业务代码不混用,降低了整体宕机的风险。当然,如果说抽象和封装的高内聚部分的代码如果出现问题,那可能还是会整体宕机。单元测试还是有必要搞一下。高内聚:模型或业务相关的方法,都放在相同的文件里。再进一步原创 2021-06-18 08:30:11 · 1559 阅读 · 0 评论 -
psql使用EXPLAIN ANALYZE来分析执行速度 优化执行速度
使用 EXPLAIN ANALYZE 优化查询速度事情的经过是这样写了一个消息分发的服务,群内有大概1200人,每个人发一条消息,数据库待分发的消息就增加 1200 条。如果短期内发消息的人特别多且特别频繁。然后每小时清理一次。这里涉及到两个操作从数据库里拿出消息最近的一部分消息。发完消息之后,从数据库里更新这些消息。然后发现,当数据库里的数据大于几十万条之后,消息发送极其缓慢。1 和 2 的的查询都是在10s左右。于是建立了两个索引之后,1 和 2 的查询速度都降低到了 10m原创 2021-06-16 07:51:53 · 1254 阅读 · 0 评论 -
nginx 指定路由 做 重定向 到另外的站点
我们需要将一个站点的指定路由,重定向到其他的网站。比如:我们在访问 my.com 的时候,访问的是我们自己的站点。希望在访问 my.com/others 的时候,直接重定向到 xxx.com 。当然我们可以直接通过前端代码里路由去判断做重定向。不过这样做有一个问题,就是浏览器会保留返回按钮。虽然也能达到目的。好了,下面进入正题。其实直接在my.com 项目中的 nginx 的 location 里加上 rewrite 就可以了。location / { rewrite ^/other.原创 2021-06-09 21:01:42 · 1778 阅读 · 0 评论 -
systemctl 添加一个开机任务
进入工作目录cd /lib/systemd/system在工作目录下,新建一个 new-task.service 任务sudo vi new-task.service编辑 new-task.service[Unit]Description=New TaskAfter=network.target[Service]User=oneType=simpleWorkingDirectory=/home/one/xxxExecStart=/home/one/xxx/task.原创 2021-05-25 13:35:52 · 387 阅读 · 0 评论 -
git 合并 两个 不同的仓库
合并两个不同的仓库最终要得到的仓库为 origin/master.要合并的仓库为 upstream/master.# 1. 拉下 origin/master 的代码git clone xxxxxxx.git# 2. 添加需要合并的远程仓库 upstreamgit remote add upstream xxxxxxxx.git# 3. 基于 upstream/master 创建一个 origin/asf 的仓库git checkout -b asf upstream/master原创 2021-05-20 09:34:28 · 260 阅读 · 0 评论 -
你的 https 请求偶尔会慢几拍?也许你需要看看 OCSP stapling
你的 https 请求偶尔会慢几拍?也许你需要看看 OCSP stapling导读1.1 读完本文,您将收获:连接速度更快、更稳定的web项目。1.2 本文面向人群。服务器在海外使用诸如 letsencrypt 之类 OCSP 服务器访问慢的 ssl服务器使用 nginx 或 caddy 做网页服务器。正文1. OCSP概述1.1 概念OCSP:在线证书状态协议(Online Certificate Status Protocol),被用于检验证书合法性。浏览器访原创 2020-12-13 15:12:27 · 1310 阅读 · 1 评论 -
ubuntu服务器从零开始搭建 nginx https node pm2 postgres github redis
ubuntu服务器从零开始搭建1. nginx 安装及配置1.1. 安装1.2. 配置1.2.1 字体跨域1.3. 配置 Let's encrypt2. node1. node环境安装2. 主要包安装3. Postgres sql 数据库安装4. GitHub 配置1. nginx 安装及配置1.1. 安装sudo apt-get updatesudo apt-get install nginx1.2. 配置cd /etc/nginx/sites-enabled/xxxxupstream te原创 2020-06-15 08:27:46 · 768 阅读 · 1 评论 -
使用 Vue 建立 MixinMessenger 的 用户登录功能
项目中不涉及后端代码,仅供学习参考使用。关于API的使用,详情请参见文档:Mixin API,或者部分 中文文档读完此篇文章,您将获得Mixin Messenger的 登录 功能,可以获取用户的基本信息,手机号等信息。掌握 Mixin Messenger Auth 的调用流程技术栈Vue.jsVue-RouterAxios这里直接使用的 Vue-cli3 创建工程...原创 2020-03-09 11:45:14 · 664 阅读 · 0 评论 -
promise、async和await回调队列和事件循环 剖析
本文受https://segmentfault.com/a/1190000015057278文章启发。不过感觉作者写得比较冗余,且有些东西还是没有讲明白。于是我尝试用更进阶的代码并配上更简洁的注释来讲明白这些事情。1. 事件循环js在执行的过程中是单线程的,所以采用了事件循环机制。也就是说,从上往下执行。执行完毕 => 判断是否微任务 => 判断是否有宏任务2.回调队列...原创 2019-06-02 11:24:02 · 762 阅读 · 0 评论 -
mongdb _id比对req.body._id 的大坑
Product.findOne({producName: req.body.producName}) .then(product => { product.completeImgs = product.completeImgs || [] if(product.completeImgs.length > 0) { ...原创 2019-02-19 15:35:40 · 275 阅读 · 0 评论 -
nodejs 实现登录操作的常用包及使用方法
Mongoose1.安装包Npm install mongoose2. 在app.js入口文件中导入包const mongoose = require("mongoose")3.连接数据库(app.js)//连接数据库,数据库名为:db_namemongoose.connect("mongodb://localhost/db_name") .then(() => {...原创 2019-02-07 16:35:58 · 891 阅读 · 1 评论 -
Node 认证中间件 Passport 学习笔记
1. 综述 GENERALSimple, unobtrusive authentication for Node.js1.综述 GENERAL1.1. 概览 Overview1.2. 认证 Authenticate1.2.1. 重定向 Redirects1.2.2. 快报 Flash Messages1.2.3. 禁用会话 Disable Sessions1.2.4. 自定...转载 2019-02-07 16:34:23 · 3249 阅读 · 0 评论 -
我的NodeJS学习之路7(权限认证)
本文来介绍系统中用到的权限认证的知识。首先简单介绍一下passportjs。Passport做登录验证具有:灵活性、模块化、丰富的中间件等特点,更加详细的介绍请参考:http://idlelife.org/archives/808如何在项目中使用passport?注意:关于passport的配置信息要放置在app.js所有的路由请求上面,这样才能对所有的路由进行过滤。1. 安装集成...转载 2019-02-07 16:10:24 · 2220 阅读 · 0 评论 -
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): postcss-svgo: Error
用vue-cli脚手架,用mui这个框架,运行 npm run build 时 发生如下错误:Error processing file: static/css/app.efecf6dcdf8d2d9b19398fc99ecf888c.css(node:15116) UnhandledPromiseRejectionWarning: Unhandled promise rejection ...原创 2019-02-02 08:55:22 · 15918 阅读 · 0 评论 -
2019 node.js调用mongodb实现一些操作代码
express + nodejs + mongodb实现一个简单的数据库的增删改功能。1 首先创建express工程目录---html---node_modules---resourcesapp.js #入口模块config.js #配置模块handler.js #业务处理模块router.js #路由模块package.json #包管理2 直接先上数据库代码...原创 2019-01-31 15:42:35 · 593 阅读 · 1 评论 -
【1】一起学习mevn框架 · 安装vuejs
首先安装vue.js并创建一个vue.js项目1.安装webpack:(全局安装)npm install webpack -g2.安装vue.jsnpm install vue -g3.安装vue命令行工具npm install vue-cli -g4.cd到项目目录下创建项目:vue init webpack es6进入项目目录cd es65.安装package.json...原创 2019-01-23 22:12:15 · 631 阅读 · 0 评论