TokeyRoad

Never underestimate your power to change yourself!


  • 首页

  • 标签

  • 分类

  • 归档

go-vscode环境配置

发表于 2021-05-26 | 分类于 go
字数统计: 200 | 阅读时长 ≈ 1

Windows下go+vscode的环境配置

1. 下载安装vscode和 windows下go(https://golang.google.cn/)的默认安装

略

2. 配置Go Env

  1. 创建go的工作目录

    GOPATH(工作目录)

    ——-bin(go的二进制包目录)

    ——-pkg (归档文件目录)

    ——-src (源码文件目录)

    在用户环境变量中设置GoPath=工作目录

  2. CMD下配置go env

    1. go env -w GO111MODULE=on 开启 GO111MODULE
    2. go env -w GOBIN=E:\GOPATH\bin 设置bin目录
    3. go env -w GOPROXY=https://goproxy.cn,direct 设置go国内代理(七牛云CDN)

3. vscode配置

  1. vscode中go插件安装。
  2. 按住Ctrl+Shift+P 输入Go:Install/Update Tools,然后勾选所有,并安装。(前一步如果设置了代理,这里应该会全部成功,否则就会失败)。
  3. (可选)安装gocode插件,代码智能提示。go get github.com/stamblerre/gocode

优先队列priority_queue

发表于 2020-12-30 | 分类于 C++
字数统计: 763 | 阅读时长 ≈ 4

priority_queue

priority_queue是个大顶堆容器适配器,提供常数时间级的最大元素查找,对数代价的插入与删除。

成员函数有 判空(empty)、容量(size)、栈顶元素(top)、压栈(push)、出栈(pop)等。

头文件

#include

声明方式

  1. 默认

    1
    2
    3
    priority_queue<int> q;	//添加元素之后,元素从大到小的顺序出队
    //等价于 priority_queue<int, vector<int>, less<int>> q;
    priority_queue<int, vector<int>, greater<int>> q; //元素从小到大的顺序出队
  1. 自定义优先级:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //比较函数return true 表示前者的优先级低于后者
    //第一种写法:
    struct cmp {
    operator bool ()(int x, int y) {
    return x > y;//最小值优先
    }
    }
    priority_queue<int, vector<int>, cmp> q;
    //第二种写法:
    auto cmp = [](int x, int y) { return x > y; };
    priority_queue<int, vector<int>, decltype(cmp)> q(cmp);
  2. 结构体声明方式:

    1
    2
    3
    4
    5
    6
    7
    8
    struct node {
    int x;
    string data;
    bool operator< (const node& a) const {
    return this.x > a.x;
    }
    };
    priority_queue<node> q; //排序规则由 operator< 中的实现决定
  3. 注意:

    结构体比较时通过自定义operator< 操作符来比较元素中的优先级。

阅读全文 »

设计模式六大原则

发表于 2020-12-24 | 分类于 文档
字数统计: 498 | 阅读时长 ≈ 1

设计模式六大原则

1. 单一原则(Single Responsibility Principle)

一个类或者一个方法只负责一项职责,尽量做到 类的只有一个行为原因引起变化;

业务对象(BO business object)、业务逻辑(BL business logic)拆分;

2. 里氏替换原则(LSP liskov substitution principle)

子类可以扩展父类的功能,但不能改变原有父类的功能(C++的多态);

为了增强程序的健壮性,在实际项目中,每个子类对应不同的业务含义,使父类作为参数,传递不同的子类完成不同的业务逻辑。

3. 依赖倒置原则(dependence inversion principle)

面向接口编程;(通过接口作为参数实现应用场景)

阅读全文 »

敏捷开发

发表于 2020-12-23 | 分类于 文档
字数统计: 405 | 阅读时长 ≈ 1

敏捷开发步骤:

1. 用户需求分析转化为产品BACKLOG

这部分主要由PM负责。

主要内容:用户调研,需求分析,确定产品迭代功能,出具产品BACKLOG,决定产品发布日期以及发布内容,给迭代计划预设目标,并排序优先级,考虑相应的风险。

2. Sprint计划会议生成Sprint BACKLOG

这部分主要由开发经理负责。

将产品BACKLOG拆分细化为Sprint BACKLOG。根据开发优先级管理Sprint BACKLOG,随时更新状态,每个团队成员可以自主挑选任务,修改Sprint BACKLOG。

3. 迭代开发周期,每日例会,交付迭代版本

这部分由开发团队共同推进。

根据Sprint BACKLOG,开始开发工作,更新任务面板,参加每日例会,根据昨日进度,今日安排,所遇困难等快速梳理一遍面板上的工作任务,在会后对所遇困难进行讨论解决,保证整体开发进度。

优先级排序:一般分为三级。

Must 必须做的

Should 应该做的

Could 可以做的

要保证Must和Should必须完成,Could尽量去完成。在完不成时需要及时沟通,变更任务状态。

4. 验收发布版本,评审回顾会议,周期数据报表

这部分由开发团队共同完成。

开发团队通过操作演示的方式展示Sprint中完成的功能与架构。PM根据产品BACKLOG,验收开发交付的迭代版本,发布产品迭代版本。后续问题反馈,改善Sprint过程。

解决git每次推送都要输入用户名密码的方案

发表于 2020-11-22 | 分类于 环境配置
字数统计: 81 | 阅读时长 ≈ 1

打开命令行,输入以下命令:

1
git config --global credential.helper store

执行完毕会在在当前系统用户文件夹下生成一个名为.git-credentials的文件,如:C:\Users\Administrator\ .git-credentials,再次提交代码时,输入密码后会将用户名密码以明文的方式保存在其中。

123…10
Tokey

Tokey

48 日志
9 分类
41 标签
  • C++8
  • Const1
  • Final1
  • HTTP2
  • Redis8
  • SDS1
  • STL4
  • TCP1
  • args1
  • atomic1
  • condition_variable1
  • construct1
  • foreach1
  • git2
  • go4
  • hexo1
  • json1
  • libcurl1
  • mutex1
  • operator1
  • override1
  • priority_queue1
  • shared_ptr1
  • stl1
  • unique_ptr1
  • vector1
  • 关键字2
  • 内存分配1
  • 列表对象1
  • 压缩列表2
  • 堆1
  • 字符串对象1
  • 指针和引用1
  • 敏捷开发1
  • 整数集合1
  • 栈1
  • 环境配置1
  • 缓存1
  • 设计模式1
  • 跳跃表1
  • 链表1
GitHub Google
Links
  • Hacker
本站已运行
© 2021 Tokey
博客全站共45.4k字
苏ICP备-20024031号
访问人数 总访问量 次
0%