当前位置:   article > 正文

工作中用到的一些小知识_feat 和fix

feat 和fix

git 提交规范

每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
  • 1
  • 2
  • 3
  • 4
  • 5

其中,Header 是必需的,Body 和 Footer 可以省略。

不管是哪一个部分,任何一行都不得超过72个字符(或100个字符)。这是为了避免自动换行影响美观。

Header

Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。

(1)type(必需)

type用于说明 commit 的类别,只允许使用下面7个标识。

feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果type为feat和fix,则该 commit 将肯定出现在 Change log 之中。其他情况(docs、chore、style、refactor、test)由你决定,要不要放入 Change log,建议是不要。

(2)scope

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

(3)subject(必需)

subject是 commit 目的的简短描述,不超过50个字符。

以动词开头,使用第一人称现在时,比如change,而不是changed或changes
第一个字母小写
结尾不加句号(.)
  • 1
  • 2
  • 3

一般情况下:fix(xxxxx文件): 修改了 xxxx bug

http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

std::move与const 容器

find && grep

找到某一个目录下包含某一个头文件的所有文件:

find ./ -name  "*"   |  xargs grep "xxxxxxxx"
find ./ -name  "*.cpp"   |  xargs grep "xxxxxxxx"
find ./ -name  "*.h"   |  xargs grep "xxxxxxxx"
  • 1
  • 2
  • 3

参考:
https://blog.51cto.com/ltblog/845691
https://blog.csdn.net/jallin2001/article/details/6750730

git merge --squash

一个分支有许多乱七八糟的commit,当合并到另一个分支不需要这些commit 时,就用:

git merge --squash  xxxxxxxxxx
  • 1

git rebase 使分支好看

参考:https://www.cnblogs.com/wangiqngpei557/p/6026007.html

指针导致的 coredump

    int *p1 ;
    int *p2 ;

    if(p1 != nullptr && p2 != nullptr)
    {
        fun(*p1,*p2);//fun 会改变p1,p2指向的内容
    }

    if(p1 != nullptr && p2 == nullptr)
    {
        fun(*p1,*p2);
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

改正:

    int *p1 = nullptr ;
    int *p2 =  nullptr ;
	//xxxxxxx
    if(p1 != nullptr && p2 != nullptr)
    {
        fun(*p1,*p2);//fun 会改变p1,p2指向的内容
    }
    //不初始化就会进不了这里,同时要注意 (*空指针) 会 coredump
    if(p1 != nullptr && p2 == nullptr)
    {
        fun(*p1,*p2);
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

switch 语句

    switch(type)
    {
        case 1:
        {
            //xxxxx
        }
        case 2:
        {
            //xxxxxx
        }
        default:
        {
            //xxxxx
        }
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

注意一定要有 break,否则会顺序执行

mysql 如何创建带- 的数据表以及数据库

把数据库名、表名都用倒引号 引起来就可以了。

https://blog.csdn.net/caiyiii/article/details/9499373

mysql 如何如何批量导入有格式的数据

LOAD DATA local INFILE '/home/xxx/xxx.csv'  INTO TABLE  tables_name FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' ignore 1 lines  (name,c_id);
  • 1
  • 2
  • local :本地文件,mysql客户端
  • FIELDS TERMINATED BY ‘,’ :,每一列的分隔符是逗号
  • LINES TERMINATED BY ‘\r\n’:一行以"\r\n"结尾
  • ignore 1 lines:不要第一行
  • (col1,col2,col3):如果里面有自增主键,不写上就行了

我的文件是来自excel,然后转的.csv ,转csv 会自动加上逗号

vector 如何去重?

利用set为vector数组去重

参考:https://blog.csdn.net/cuglxw/article/details/78616418

联合唯一索引

  • 创建表的时候添加唯一索引:
    create table test_table(id int primary key auto_increment,update_time timestamp not null default CURRENT_TIMESTAMP,frist_name varchar(255) not null,second_name varchar(255) not null ,age varchar(128), unique key `uk_fri_sec_name` (`fri_name`,`sec_name`) );

  • 查看索引:
    show index from table_name

  • 建好表之后添加唯一索引:
    alter table table_name add unique index uk_fri_sec_name(fri_name,sec_name);
    https://blog.csdn.net/haifu_xu/article/details/16864959

  • 删除索引:
    alter table table_name drop unique index uk_fri_sec_name ;

索引之坑:

当Mysql中建立的联合索引, 只要索引中的某一列的值为空时(NULL),即便其他的字段完全相同,也不会引起唯一索引冲突。

http://yukinami.github.io/2016/02/14/Mysql%E8%81%94%E5%90%88%E5%94%AF%E4%B8%80%E7%B4%A2%E5%BC%95%E5%92%8C%E7%A9%BA%E5%80%BC/

就算是空值,也设为not null,程序中如果有读入的话,也不影响代码的变动。

MySql查询字段最大长度

MySQL存储的时候,定义varchar字段一般会指定一个比较近似的值
如果是在已经存储数据的表中,可以直接查看已知最大长度,可以对这个字段长度进行一定的优化

SELECT max(length(column_name)) FROM table_name;

指定varchar长度的原则是:

尽量小,不够了可以以后增加,如果定义大了,一般很难往小的修改。

原文:https://blog.csdn.net/mouday/article/details/83107916

XShell鼠标选中, 实现快捷复制和粘贴

https://blog.csdn.net/qq_29307291/article/details/65628906

Excel 对比两列数据是否有不同:

https://jingyan.baidu.com/article/fd8044fa23eef05030137a66.html

python

  • python在文本开头插入一行
    https://blog.csdn.net/tintinetmilou/article/details/75947904
  • python画柱状图–不同颜色并显示数值
    https://blog.csdn.net/wenqiwenqi123/article/details/77451653
  • matplotlib.pyplot 标记出曲线上最大点和最小点的位置
    https://blog.csdn.net/Running_J/article/details/52119336
  • Python startswith() 函数 判断字符串开头
  • python – 检查字符串是否包含数字
    https://codeday.me/bug/20170804/50451.html
  • python 的字典是哈希,注意是不排序的结构,与 map 不同
  • python也可以写 class
  • python – 检查字符串是否包含数字
    https://codeday.me/bug/20170804/50451.html
  • python获取指定目录下的所有指定后缀的文件名
    https://blog.csdn.net/Cryhelyxx/article/details/45219947
  • python 字典如何按照key和value 排序:
tuple_list = sorted(AllAppidIndexSum.items(), key=lambda d: d[0]) 
#出来之后是一个一个的元组,按照key 排序,最后自己取出来就行了

xx =[]
yy =[]
for it in tuple_list:
    xx.append(it[0])
    yy.append(it[1]/10000)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

参考:https://blog.csdn.net/buster2014/article/details/50939892

  • 日期比较操作

在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

https://www.cnblogs.com/vampirejt/p/4159267.html

C++以特殊字符分隔字符串

void SplitString(const std::string& s, std::vector<std::string>& v, const std::string& c)
{
  std::string::size_type pos1, pos2;
  pos2 = s.find(c);
  pos1 = 0;
  while(std::string::npos != pos2)
  {
    v.push_back(s.substr(pos1, pos2-pos1));
 
    pos1 = pos2 + c.size();
    pos2 = s.find(c, pos1);
  }
  if(pos1 != s.length())
    v.push_back(s.substr(pos1));
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

mysql limit 分页

mysql中用limit 进行分页有两种方式

例1,假设数据库表student存在13条数据。

代码示例:
语句1:select * from student limit 9,4
语句2:slect * from student limit 4 offset 9
// 语句1和2均返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。
//语句2中的4表示返回4行,9表示从表的第十行开始

例2,通过limit和offset 或只通过limit可以实现分页功能。
假设 pageSize表示每页要显示的条数,pageNumber表示页码,那么 返回第pageNumber页,每页条数为pageSize的sql语句:

代码示例:
语句3:select * from studnet limit (pageNumber-1)*pageSize,pageSize
语句4:select * from student limit pageSize offset (pageNumber-1)*pageSize

参考:https://www.cnblogs.com/ahang/p/5644535.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/888197
推荐阅读
相关标签
  

闽ICP备14008679号