- 博客(55)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 session、token、jwt 区别
序言在网上看了很多博客,说法比较多,我想说下关于我自己的理解,可以简单理解他们都是为了解决 http 无状态特性产生的一些鉴权问题问题首先用户登录完成后,http 不能保存这个状态,后续的请求服务器是不知道我们是否有请求的权限的,为了解决这个问题,引入了下面几种常见的技术session1. 通过 session 机制,相当于服务器为客户端开辟的一个存放登录信息信息的房间,并把钥匙返回给客户端。2. 每个客户端访问都会带上自己的钥匙(session id),服务器收到请求后打开对应的房
2022-03-31 11:04:43
1569
4
原创 mysql 本日、本周、本月、本年 统计
大家注意这里的 sql 统计的是 “本周”不是 “过去一周”例如:今天是周三,统计的是本周一到周日这个时间段,而不是上周三到本周三这 7 天* 所有 sql 中的 date 为我们对应表的 日期字段本日select * from demowhere date =date(now())本周通常,一年的正常年份为365天,闰年为366天。一年又可以分为许多周,每周有7天。 所以一年,我们经常有365/7 = 52周,周范围是从1到52。这里需要注意,mysql 中的 wee
2022-02-22 11:57:33
2467
3
原创 Mysql - 带条件求和(sum)
已有表:例:需要求 age 大于等于 20 的共计 多少 ?可能有的童鞋,给出以下答案select sum(age) from test where age >= 20如果是 age 小于等于 20 的呢 ?这还不简单,换下条件就行select sum(age) from test where age <= 20但是问题如果是,求 age 大于等于 20,和小于等于 20 的各有多少,如果用上边的方式也可以拿到结果,但是不够简洁,这时候我们可以用到下面的语句.
2021-10-13 17:28:26
11893
原创 Mysql - 带条件计数(count)
mysql 统计条数很简单, 使用 count 函数就行已有数据:先聊聊 count(*) 和 count(字段) :区别:count(*) 包含 null 值的条目,count(字段) 则不包含count(*) // 返回 3count(name) // 返回 2,去除了 第三条 null 值记录性能:网上众说纷纭,其实想想 * 是不需要知道内容的,计数就行。而 字段 则多了一层是否为 null 的判断,效率应该是 count(*) 会高一些,但是除非是海量的数据量,区别应该
2021-10-13 17:10:25
31014
3
原创 golang java AES 加密 SHA1PRNG
前言和不同语言的第三方对接不可避免的遇到语言不一致的问题,比如加解密,有关于 golang 的CBC/ECB/CFB 加密方法,这篇博客写的很全传送门->本文主要介绍 java AES 中出现的随机算法SHA1PRNG 生成key,在 golang 中的实现方法描述先来看 java 代码// java 代码// content:test123// encryptKey:123456// 加密结果为:668C826342B8703D86E8BBF404610499pu...
2021-03-22 17:34:20
4714
5
原创 dockerfile 解决时区的问题
问题使用 dockerfile 构建镜像,经常会遇到时区问题,也就是服务器时间比北京时间慢 8 个小时解决方法# 基础镜像FROM alpine#时区问题RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositoriesRUN apk add --no-cache tzdata \ && ln -snf /usr/share/zoneinfo/Asia/Shangha
2020-11-30 17:11:16
2063
原创 go iris 跨域方法
废话不多说直接上代码// Cors func Cors(ctx iris.Context) { ctx.Header("Access-Control-Allow-Origin", "*") if ctx.Request().Method == "OPTIONS" { ctx.Header("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,PATCH,OPTIONS") ctx.Header("Acc
2020-11-30 16:57:56
2234
4
原创 go iris next之后获取不到body
在使用 golang 的 iris 框架的过程中,发现了一个问题,就是我添加一个中间件之后,在后边的中间件里获取不到body信息查阅资料后发现只要添加在app.run里加一句话就好了app.Run(...,iris.WithoutBodyConsumptionOnUnmarshal)添加后的这样app.Run(iris.Addr(":8080"), iris.WithPostMaxMemory(maxSize), iris.WithoutBodyConsumptionOnUnmarsha
2020-11-30 16:51:24
531
原创 golang orm数据库插入null值
不知道大家在用golang orm框架的时候有没有遇到过这个问题,比如有表 person 字段 age、name, name不能重复所以设置了唯一索引(unique)// go 结构体type Person struct { Name string // unique Age int}大家都知道,stirng的默认值为空字符串(""), 所以在插入的时候,name默认就被orm框架插入成空字符串了,等到第二条就会报索引值重复的问题// go 结构体type Perso
2020-11-30 16:41:59
3084
1
原创 ingress redirect 配置
一、配置跳转apiVersion: extensions/v1beta1kind: Ingressmetadata: name: app annotations: nginx.ingress.kubernetes.io/configuration-snippet: | rewrite / https://t.example.com$uri permanent; kubernetes.io/ingress.class: "nginx" cert-manag
2020-11-30 16:28:13
948
1
原创 启动mysql报错 Error on realpath()
问题docker 使用mysql8镜像时加载指定的外部配置文件和存储目录,报错mysqld: Error on realpath() on '/var/lib/mysql-files' (Error 2 - No such file or directory原因当指定了外部配置文件与外部存储路径时,也需要指定/var/lib/mysql-files的外部目录解决1. 在主机新建/home/mysql/mysql-files目录2. 在启动容器时 需要加上 -v /home/...
2020-08-25 11:37:55
4095
1
原创 mysql 表名大小写敏感问题
问题# 已有表 userselect * from user # 可以查出来select * from USER # 报USER不存在* 这在一些orm框架里可能会产生问题,比如默认使用大写的表名,导致找不到表或者报错原因mysql表名大小写再linux环境默认为敏感的解决首先我们可以在mysql中通过如下命令查看当前是否为大小写敏感show variables like '%lower_case_table_names%'; 1:表示是大小写不敏感...
2020-08-25 11:31:41
579
原创 window 查看端口和杀死进程
问题经常遇到端口被占用导致服务起不起来的情况解决我们需要先通过下面方法找到端口进程 1. netstat -ano //查看所有端口 2. netstat -aon|findstr "3000" //找到某个端口图中标红的两个状态为LISTENING(监听中)的就是我们要找的进程,最后一列是进程号,这里也就是“2496” 使用如下命令杀死该进程// 杀死pid为2496的进程 taskkill /pid 2496 -t -f ...
2020-08-25 11:15:22
817
原创 npm 安装 node-sass报错的问题
问题vue 项目在安装依赖,也就是执行npm install的过程中报sassloader相关的一堆问题原因因为墙的问题,无法下载或者下载缓慢导致安装node-sass报错,也就是下面这个文件https://github.com/sass/node-sass/releases/download/v4.13.0/win32-x64-72_binding.node解决1. 手动下载https://github.com/sass/node-sass/releases/download/
2020-08-25 10:59:18
950
原创 pip 安装 tensorflow 时,出现异常提示[requirement setuptools || cudart64_101.dll]
简介安装tensorflow的时候遇到很多坑, 记录一下错误(1).版本异常tensorboard 2.1.1 has requirement setuptools>=41.0.0, but you'll have setuptools 40.2.0 which is incompatible.google-auth 1.14.2 has requirement setuptools>=40.3.0, but you'll have setuptools 40.2.0 wh.
2020-05-29 11:24:17
1994
原创 VSCode 中使用Anaconda切换多Pyhon环境
简介发现是conda命令却只能在cmd中运行,一直很苦恼,结果去github上安装别人的script,结果报错,发现anaconda4.6已经支持powershell了!解决根据报错提示输入condainit --help得到帮助得知使用以下命令可以使powershell支持condaactivateconda init powershell重开一个powershell, 在VSCode中则重启该应用生效感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和...
2020-05-29 11:08:25
807
原创 Node Crype 对应 Java中的DES/CBC/PKCS5Padding 的加解密
简介node中经常遇到需要和java项目对接的情况, 或者是java的加密jar包给你, 需要用node写加解密、验签的情况今天带来 使用node crypte 对应 java的 DES解密代码const crypto = require('crypto');/* * @brief 加密数据 * @param[in] encodeParam<obj> 加密相关参数 * @return 密文 */function crypto_encode(encodeParam)
2020-05-29 11:04:07
911
原创 Deno 启动报错
简述Deno 装好环境(cmd : deno -> :Deno 1.0.2 \n exit using ctrl+d or close())发现官网的hello world跑不起来,报错:[ERROR]: Property 'EOF' does not exist on type 'typeof Deno'其实是版本问题, 将v0.36.0修改为0.52.0, 如下错误情况import{serve}from'https://deno.land/std@v0.36...
2020-05-29 10:45:54
472
原创 [cron、schedule] 解决pm2 cluster 模式启动导致定时任务多次执行的问题
描述pm2 cluster 启动项目如果其中有定时任务, 这个定时任务在每个worker中都会执行一遍, 可能会有性能浪费或导致一些问题解决pm2 启动会默认自带一个 'NODE_APP_INSTANCE' 的环境变量, 它从 0 开始自增,永远不能能重复, 每一个worker拥有一个值 程序中启动定时任务, 或者执行方法的时候判断下 if(process.env.NODE_APP_INSTANCE === '0'){// TO DO ...} 这样就可以在某个worker里执行一次 也...
2020-05-29 10:34:21
2529
原创 [cors] 跨域option配置详解
在express或者nestjs中使用cors库进行跨域设置1.示例 -仅允许example.com的域名跨域:// *注意: origin不支持 'http://*.example.com'这种配置, 多个必须得写正则或者传数组进去 具体规则看下边说明app.use(cors({ origin: /.*.example.com/}))2. 具体配置说明-官网origin:配置Access-Control-Allow-OriginCORS标头。可能的值: Boo...
2020-05-29 10:29:52
2115
原创 node 项目启动警告 (node:13680) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes
描述使用该模板项目启动警告:DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.原因mongoose模块api废弃了collection.ensureIndex报的错解决// 链接数据库 mongoose.set('useCreateIndex', true) 也可以直接写道option里边 // 加上这个 mongoose.connect(db, { u...
2020-05-29 10:26:54
3345
1
原创 nginx 代理 vue项目, 解决404问题
简介 我们开发的vue项目使用history模式的时候, 如果后端不配置, 每次刷新会报404错误, 今天我们来学习下, 使用nginx来配置静态路由, 解决这个问题代码server { listen 80; server_name app.example.com; #rewrite ^(.*) https://$server_name$1 permanent; # 配...
2020-04-16 10:45:40
6079
原创 判断js是否加载完毕
简介 在项目中经常会用到动态加载js, 就是使用创建标签的方式加载js, 但是因为是异步的, 我们有些需要在js加载完成后才能执行的代码就有问题, 各种setTimeout, 其实是有问题的, 在这里通过js加载的事件来判断js是否加载完毕代码废话不多说直接上方法// 传入需要加载的js地址 和 回调函数function dynamicLoadJs(url, callback...
2020-04-02 15:50:38
2019
原创 js 对象null 或者 'null' 值处理(去除null值)
简介在javascript中, 前端把null值展示到页面上, 对用户来说是不太友好的, 我们所以经常写很多对 null 值判断的代码, 费时费力, 所以写了一个统一的函数来处理介绍/** * data 需要传入的去除null值的对象或者值 * defaultStr 将null值转为该字符串, 不传默认为 空字符串 '' */functionremoveNull...
2020-03-29 15:32:19
9470
1
原创 nestjs Joi验证详细教程
简介参数验证一直都是让后端狗比较蛋疼的事情, 最近在学nestjs, 发现这里边使用管道加Joi验证比较舒适, 记录一下教程1. 安装npm install --save @hapi/joinpm install --save-dev @types/hapi__joi2. 创建验证管道类// JoiValidationPipe.tsimport { PipeTra...
2020-03-20 17:53:46
2196
原创 sql 语句的执行顺序 详解
查询语句中select from where group by having order by的执行顺序1.查询中用到的关键词主要包含六个,并且他们的顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的...
2020-01-09 14:31:55
262
原创 android studio 启动flutter项目报错
1. android studio启动报错lib/main.dart: Warning: Interpreting this as package URI, 'package:flutter_a Not found: 'dart:ui'2. 请检查以下几个方面检查setting-language自己的flutter sdk 和 dart sdk的配置 检查插件是否安装 s...
2020-01-09 14:15:02
1580
原创 docker 安装完mysql 8, 无法远程访问的问题
1. 先检查自己服务器是否存在安全组或者防火墙限制导致无法访问2. 查看docker启动mysql容器的时候是否绑定了端口, 我这里是33063. 查看mysql用户是否具有访问权限权限docker exec -it 你的容器名称 bash进入控制台后mysql -uroot -p 然后输入你的root密码进入mysql;use mysql;select us...
2020-01-09 14:09:25
2836
1
原创 java spring-boot pom.xml 中引用 properties中的变量
xml版本中// .properties 文件内定义<properties> <pomMysql.version>8.0.17</pomMysql.version></properties>// pom.xml 中引用<dependency> <groupId>mysql</groupId&...
2019-12-17 17:41:12
1926
原创 ip地址查询 免费 接口 linux 外网地址查询
一、查询本机ip地址接口查询(推荐):http://ip-api.com/json 打开百度, 输入框内输入 ip , 点击查询, 页面则会展示自己的ip地址, 也可以访问网址:http://www.ip138.com/查询 接口查询:http://pv.sohu.com/cityjson 接口查询:http://ip.taobao.com/service/getIpInfo...
2019-12-10 13:06:20
3774
1
转载 汉字转拼音pinyin
这里引用的是 well2049老哥的博客 原文链接如有侵权,马上删除使用方法//返回全拼pinyin.getFullChars('西安'); //XiAn //返回首字母pinyin.getCamelChars('西安'); //XA但是文中对应的有些字符拼音有误,我检查了所有省市的拼音做了一点修改,下面是所改的列表深圳 → Shenchou 应该读zhen(四声)...
2019-08-13 14:19:35
16336
原创 node http-proxy模块的使用及报错处理
nodejs中,有时候我们会碰到一些需要转发请求的情况,这时候使用代理就比较方便了,下面介绍下 http-proxy 的使用一.express中简单使用的代码const httpProxy = require('http-proxy');const proxyInstance = httpProxy.createProxyServer({}); // 创建代理实例function p...
2019-06-19 11:30:29
1829
原创 node-rsa和java-rsa相对应的加解密及rsa公私钥生成
和第三方对接, 有可能语言不一样, 对应的加解密方法也会有所差别, 本篇记录RSA加解密在java在node分别如何实现可以实现互通加解密方法,Talk is cheap , show you the code:***注意!!! ssl生成密钥的时候,Java使用的是pkcs8.pem格式的密钥, 而我们其他语言则直接使用private.pem格式就可以附上ssl密钥生成bash:...
2019-04-29 10:56:41
2972
2
原创 悬浮显示输入框内容
我们经常会有,输入框内容显示会显示不全,如下图这时候我们通常会在鼠标移动到输入框时,显示一个浮动窗来显示里边的内容,方便查看具体怎么实现呢 ? 其实很简单 ,上代码<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="view...
2019-04-26 10:41:01
3505
原创 js导出excel表格 简单示例
纯前端导出json为excel表格,不需要插件,直接上代码,导出函数:/** * @date 2019/3/21 * @author lxs * @Description: 生成excel * @param: titles:顶部一行名称集合{name:显示的名称,fieldName:对应json中的字段名} jsonData:所有数据json对象 worksheet:工作区名称,默认...
2019-03-21 11:02:38
2653
2
原创 vue上传图片 简单示例
在vue中如何上传图片呢?如何使用ajax/axios上传图片?,其实很简单,废话不多说,直接上代码,前端<template> <div> <!--点击选择图片--> <input @change="fileChange($event.target)" type="file" id="upload_file"
2019-03-13 17:55:23
939
原创 node流程控制,定次循环执行异步请求或方法
在写程序中,经常会遇到循环请求某个接口或者执行某个方法,然后某个条件去终止它,或者到达最大次数自动终止,我把asyn.retry方法封装了下,调用起来更方便一点,调用代码如下:const MyProcess = require('MyProcess'); //引入自定义流程控制模块const config = { times:5, //最大调用次数5次 interval:...
2019-01-29 18:15:10
1091
win32-x64-72_binding.node
2020-08-24
这玩意打开关不了,只能杀掉idea的进程,否则啥也点不了,是我使用方式不对吗?
2021-11-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人