- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 TS依赖注入简单实现举例
依赖注入解释A作为提供方将自己注入至代理方,然后B作为消费方从代理中获取提供方信息工具使用1. 使用TS语法自带的装饰器进行语法糖包装2. 使用reflect-metadata来获取原类型的映射3.关于reflect-metadata的高阶用法,强烈推荐阅读【掌握 JS 高级编程基础】代码实现思路:定义元数据类说明//MetaData.tsexport const MetaData = { CONTAINERS: Symbol("containers"), //容器集合 In
2022-05-27 14:42:31 1147
原创 aes-128-gcm 不需要传iv的加密方式和解密
1.nodejs 版本var crypto = require("crypto");/*** * @version 1.0 aes-128-gcm 加密 * @params msg 为加密信息 password为32位的16进制key * @return 返回base64编码 * */function Encrypt(msg, password) { try { var pwd = Buffer.from(password, 'hex');
2021-03-09 14:54:13 6528 33
原创 node环境下使用MYSQL数据库池断线后无法连接的解决办法
1. 使用环境说明 1.1 node 环境 5.0以上 1.2 依赖库为:generic-pool(数据库连接池) mysql(数据库连接库)2. 原因说明: 由于generic-pool仅限于管理连接,对于连接状态是不管理的,我们需要在进行调用数据库连接的时候 进行状态判断,如果是断开连接的错误 则释放这个连接,那么再次调用的时候就可以重新创建一个新的连接,从而达到重连数据库的目的。3.代码说明var _poolModule = require('gene...
2020-10-12 18:28:12 798 1
原创 docker 高可用性的一些注意点
1.重启策略no 不要自动重启容器。(默认)on-failure 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。unless-stopped 除非显式停止或停止或重新启动Docker本身,否则重新启动容器。always 如果容器停止,请务必重启容器。注意:在docker run 或者 service 后面追加 --restart always 服务器重启...
2019-02-27 11:24:38 777
原创 TypeScript在vscode中断点调试
1.配置所需的环境node 版本yarn add typescript --global (安装支持ts模块)yarn add ts-node --global (安装编译ts模块,ts模块可以帮助我们无需手动编译成js,可以直接在vscode中调试)2.构造项目npm init 项目名称(创建项目)tsc --init (初始化tsc项目)在执行第二步后,会生成一个 t...
2018-12-20 18:32:27 4856 1
原创 小程序(微信和支付宝)面试知识点
一、写在前面 1.前端的技术框架历史演变 参考链接:https://blog.csdn.net/juzipchy/article/details/76408029 2. 现有公司的几种开发模式 2.1 首先小程序不是凭空产生的,它是基于前端技术的发展而逐步演变过来的。那么公司开发小程序也不是重新开发的,而是基于原有的前端和业务之上的。 ...
2018-11-26 00:29:55 2790
原创 vs code 搭建java maven springboot环境
1.首先你的在你的vscode里面下载相应的扩展包,包含以下几个Java Extension Pack,Maven for Java,Spring Boot Extension Pack 然后会下载相应的包及其依赖包的,截图如下,下完后记得重新打开vs code来重新加载以下2.我们来创建一个spring boot的项目。 启动VS代码 按下Ctrl + Shift + P打开命令选项板。 ...
2018-03-08 17:53:59 37504 4
原创 记一次koa2源码的探索经历
1.本文解决两个问题,koa启动的时候需要初始化哪些东西和做了哪些事情?2.一次完整的http请求,对于koa来说是怎么处理的?3.我们先来回顾一下,我们在使用koa时所使用的一些代码const koa = require('koa');//加载koa框架const app = new koa(); //创建一个实例app.use(fn); //在use方法里使用你需要使用的方法 它会被挂...
2018-03-08 11:30:42 538
原创 解决使用vue+elementui组件采用webpack打包导致vendor过大的情况
1.如果你使用了webpack来打包你的vue项目,如发现你的vendor.js过大则可以参考本文的解决方案.2.造成过大的原因是因为在main.js导入第三库太多时,webpack合并js时生成了vendor.js(我们习惯把第三方库放在vendor里面)造成的.如下图在main.js引用element-ui等第三方库。后果就是你的服务器端的js文件越大则用户加载页面的时间会越长(因为所需下载j...
2018-02-26 21:10:24 27575 14
原创 微信小程序配置-服务端nodejs版
1.微信小程序服务器域名设置 1.在这我想说的是,如果你涉及到和你自己的服务器进行交互,则服务器域名必须支持https协议。在阿里云和腾讯云都可以进行免费申请https证书。我自己用的是腾讯云的,操作步骤链接:腾讯与https申请。 2.服务器端https请求配置代码如下,我用的是koa2web端框架(推荐使用) const koa = require('koa');c
2018-02-04 11:53:24 6281 4
原创 es6 promise 异步方法处理
1.在js中,凡是涉及到非内存的操作都为异步操作。如读写磁盘文件,访问url请求,读写数据库数据等都为异步操作。2.在es6之前我们最常见对于异步的处理就是书写大量的callback函数,所以当你的下一步数据需要依赖于上一步异步操作的数据时,会出现很多嵌套,代码凌乱的感觉。这种后果就是你不会知道你的callback是在哪,并且如果报错也很难处理.这是我以前写的代码.exports.ge
2018-02-02 19:44:49 484
原创 IM聊天实现思路及其采用 node+socket.io+elasticsearch实现的代码片段
本文将以问题的形式展示自己在IM开发项目中所遇到的问题及其相应解决方案.1.我采用了node运行环境(8.x)+socket.io(用于长连接)+elasticsearch(用于存储和检索消息).2.由于js对于所有的IO操作都是异步的,并且socket.io(2.x)对于js有较好的执行性,能够通过十几行代码就能实现一个简单的聊天功能。3.考虑到我们的聊天消息没有大量的更新和关联操作,我采用了
2017-08-04 11:35:26 3361
原创 elasticsearch api与nodejs 调用实例
本文适合对ES6有一定了解且对elasticsearch官方文档api有一定了解的人群阅读
2017-07-18 14:56:13 2473 4
原创 Linux centos7下常用的命令
linux下优化tomcat http://www.tuicool.com/articles/uaiURzF文件操作 cp(复制) mv(移动) rm -rf(删除) mkdir(新建) 解压压缩文件:jar -xvf (解压的文件)杀进程:netstat -apn |grep 8005(查看端口号或进程) kill -9 进程名杀批量进程 pkill -9 java查看电脑信
2017-06-26 14:24:10 493 1
原创 tomcat 日志说明整理
1.tomcat下的日志配置详细说明 https://yq.aliyun.com/articles/50595 2.tomcat 日志可分为五大类 1.catalina类的输出信息一般为tomcat启动服务时所输出的信息。如果服务启动失败,可以直接去该日志下查看. 2.localhost的输出信息一般为服务运行时所输出的日志.如果你的某个功
2017-06-26 11:37:30 897
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人