自定义路由日志的格式
默认的路由日志是这样的: [GIN-debug] POST /foo --> main.main.func1 (3 handlers) [GIN-debug] GET /bar --> main.main.func2 (3 handlers) [GIN-debug] GET /status --> main.main.func3 (3 handlers) 如果你想以给定的格式记录这些信息(例如 JSON,键值对或其他格式),你可以使用gin.Deb
linux 系统 如何删除各种形式的空行
1、首先创建测试文件 a.txt、b.txt、c.txt 2、 查看空格类型,使用如下命令: cat -A file a.txt 第二行什么都没有 b.txt 的第二行为空格 c.txt文件第二行为tab键 3、使用常规命令 删除空行 sed '/^$/d' file 或者 grep -v '^$' file 或者 awk '/./ {print}' file 以上测试说明常规的方法仅对什么都没有的空格起作用。 4、测试如下命令 awk NF file 说明该命令对以上的任一空行都起作用。 5
微信小程序的接口调用封装
首先呢是http.js文件代码::: const app = getApp();
var http = {
get: function(url, data, callback) {
data.access_token = wx.getStorageSync('access_token');
wx.request({
url: app.domain + url,
method: 'get',
header: {
'companyId':21,
'appid': app.appi
对迪杰斯特拉算法的理解
迪杰斯特拉算法的作用: 计算图中某个顶点到其他顶点的最短路径,边的权值不能为负数 迪杰斯特拉算法的基本思想及代码介绍: https://www.cnblogs.com/skywang12345/p/3711512.html 迪杰斯特拉算法的正确性证明: 数学上的证明:https://www.zhihu.com/question/20630094 扣鼎之歌的回答 清晰地证明了dist[j] = min{dist[j], dist[i] + matrix[i][j]} 贪心算法的最优子结构性质:h
MySQL数据库之外键约束的简单理解
定义 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。(来自百度百科) 要想理解外键的概念,就不得不提到主键了。 主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键; 外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。 举个例子 有这样的两个关系:
数电(3):常用编码
一、十进制代码 二、格雷码(循环码) 特点: (1)每一位的状态变化都按一定的顺序循环。 (2)相邻两个代码之间只有一位发生变化,这样在代码转换的过程中就不会产生过渡“噪声”。 注: 余3循环码就是取4位格雷码中的十个代码组成的,仍具有格雷码的优先,即两个相邻代码之间仅有一位不同 (独热码不也这样吗?) 三、ASCII码 略 四、独热码 下次再写
GB28181平台对接记录-定位视频无法播放问题
发生了过多次这样的事情,于是决定写一篇简短的博客来说明这个问题。以后有客户再问, 可以邀请他直接看这篇文章,清楚明了点。 我们的国标平台作为国标上级平台经常会跟海康、大华、东方网力平台做对接(他们是国标 下级平台),部署的环境基本都在内网(大部分是在公安系统内部,也有在政府部门,还有就是 在客户公司)。客户在在使用我们国标平台时有时会出现视频播放不了的情况,基本上前期客户 一看不到视频就会想到是我们平台的问题。原因之一是海康、大华都是大厂家,出问题的可能性不 大。原因之二是 他们自己(海康、大
MySQL排名 保留名次空缺 问题
思路:主要是看每门课程下,每个分数比该课程所有分数小的有几个 保留名次空缺: select a.cid, a.sid, a.score , count(a.score<b.score)+1 as rank
from sc a left join sc b on a.cid=b.cid and a.score<b.score #笛卡尔积连接, 然后筛选满足a.score<b.score的
group by a.cid, a.sid
order by a.cid, a.score desc;
Java中的break和continue 区别
break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行。 注意:循环嵌套时只会跳出带break那层的循环,例如 1 class test{
2 public static void main(String[] args) {
3 for (int i = 0; i < 3; i++)
实例_评论区功能的实时更新
练习目的:使用localstorage进行本地储存,并借此完成类评论功能的实时提交与显示功能 html(bs4框架) <body>
<div id="app">
<div class="container">
<div class="card">
<div class="card-header bg-dark text-center text-white">
<span>评论
查找序列元素(链表)
问题描述 : 使用带头结点的单链表编程: 一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入一个整数,表示要查找的学生学号。 输出说明 : 对于每个要查找的学号,输出一个整数,表示要查找学生的位置。如果共有n个学生,则位置序号为1~n。 如果学生不存在,输出“no”,不包括双引号。 每个输出占一行。 输入范例 : 12 50 51
将请求体绑定到不同的结构体中
package main
import (
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/binding"
"net/http"
)
type formA struct {
Foo string `json:"foo" xml:"foo" binding:"required"`
}
type formB struct {
Bar string `json:"bar" xml:"bar" binding:"require
Odd-Even Subsequence
题意: 在长 \(n\) 的序列 \(a\) 中保留 \(k\) 个数,形成一个新的子序列为 \(s\)。统计 \(s\) 中所有奇数索引上的最大值和偶数索引上的最大值,取二者的最小值,为结果。求最小的结果。 \(2\leq k \leq n \leq 2*10^5\) 传送门 分析: 最终的结果不是取奇下标的最大值,就是取偶下标的最大值。 二分枚举最终的答案,分别验证奇下标和偶下标是否满足,二者有一个满足就行。即对于当前的数 \(x\) ,在原序列中找出 \(\frac{k+1}{2}\)
干货分享丨AM335x平台如何通过udev固定4G模块串口号的解决方法
本文以 飞凌嵌入式 AM335x平台为例进行讲解。 在使用 4G模块的时候, 在 4G 信号不太理想的环境下需要检测网络,当设备断网后重启 4G模块重新拨号联网。但系统长期运行后,重启模块 会导致在 /dev 目录下的4G模块生成的设备节点ttyusb序号改变,导致应用程序拨号时出错。我们可以修改 udev规则文件解决这个问题。
IOC/DI概念简述及基本应用
早几年面试时,面试官经常问我依赖注入的概念,但有面试官自己都不是很清楚ioc和di的区别,而是草草归于一类,今天翻了翻以前写的demo,顺便把这部分概念整理出来,加深一下印象。 先科普一下,IOC是什么 IOC(Inversion of Control)又称控制反转,它并不是指某种技术实现,而是OOP的一种设计原则。 这个概念基础不牢靠的同学很多都是和DI混淆的,包括我曾经遇到几个面试官也是这样(面试过程极其尴尬),这里着重强调。 为什么叫控制反转?传统程序设计中,我们经常使用 new 创建对
今日推荐
周排行