<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小小范哈哈的博客]]></title><description><![CDATA[以防我华而不实的脑子记不住事情]]></description><link>https://blog.youkuaiyun.com/qq_39697306</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_39697306]]></copyright><item><title><![CDATA[go语言中在某个文件中引用同一个包中另一个文件下的结构体时报“未定义”错误]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/115085149</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/115085149</guid><author>qq_39697306</author><pubDate>Mon, 22 Mar 2021 16:50:16 +0800</pubDate><description><![CDATA[今天在学习的时候遇到以下一个bug。


这时候在simple_test.go中显示没有定义Product1。经过求解谷歌大佬发现，问我需要把项目放在GOPATH/src下面。具体答案如下：解答人的文件是main.go 和employee.go

这个错误犯的低级了，但也是因为没有了解go语言运行时的机制吧，加油~

...]]></description><category></category></item><item><title><![CDATA[面试与简历的建议]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114920405</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114920405</guid><author>qq_39697306</author><pubDate>Wed, 17 Mar 2021 11:25:39 +0800</pubDate><description><![CDATA[简历
1.简洁
2.突出优势和成就(突出在项目里的贡献)
3.因地、因时制宜(根据招聘要求，书写自己的简历内容)
4.项目经验(不要多，选取有代表性的项目；不要简单介绍项目，而是介绍自己在项目里的职责，成就)
跳槽建议
1.符合你预定的规划发展路线(如你想在性能测试有所深入，但是现在公司接触不到；或本公司的项目已经很熟悉，不能再给自己带来成长)
2.高薪
3.宜精不宜多(小于两年一跳不建议)


...]]></description><category></category></item><item><title><![CDATA[BAT测试岗位介绍]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114920731</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114920731</guid><author>qq_39697306</author><pubDate>Wed, 17 Mar 2021 11:21:58 +0800</pubDate><description><![CDATA[BAT测试岗位需求总结

纯功能测试，越来越不好混
接口自动化爆发
UI自动化和专项自动化占据一定比例
性能测试人才稀缺
综合技能要求越来越高
BAT面试风格


除以上还会问性能测试深入的内容，不管你用的工具是什么，主要问的是监控和分析等内容。一面二面过了，基本停稳的，后面是主管看你的态度等。
一面偏技术(产品线测试小例子，技术好的人为面试官)
二面(结合简历里的项目经验来写的技术方向和流程方向)
三四面(主管面，hr面，未来规划，技术调整，薪资)



...]]></description><category></category></item><item><title><![CDATA[软件测试行业介绍]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114880160</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114880160</guid><author>qq_39697306</author><pubDate>Tue, 16 Mar 2021 16:04:42 +0800</pubDate><description><![CDATA[软件测试的职责：
1.入门的测试：执行用例，找缺陷
2.合格的测试：积极主动地发现、暴露缺陷，并团队合作、解决问题
3.优秀的测试：半个产品半个开发，提高质量和交付速率
测试人员工作内容：
需求阶段：需求评审，明确测试边界；提取功能点与测试点
测试设计：测试计划、方案、用例
系统架构：清楚系统的架构实现，数据走向，代码逻辑分析；根据系统架构选择适用的自动化测试框架和性能测试策略
执行测试：提交缺陷、回归验证
其他评估：性能测试评估、自动化测试覆盖
测试总结：测试报告、验收总结、风险评估
时间管理：工具调研、]]></description><category></category></item><item><title><![CDATA[如何让服务器的代码在Xshell断联情况下保持运行状态]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114322883</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114322883</guid><author>qq_39697306</author><pubDate>Wed, 03 Mar 2021 16:56:32 +0800</pubDate><description><![CDATA[最近做实验裁剪数据，但是实验室网络不稳定，总是断网，导致xshell与服务器断联，然后服务器上的代码就停了，又得重新来过，因此找到两种方法解决。

服务器本身会默认所有 前台  命令在ssh断开以后会结束掉，因为ssh退出会给一个hup信号，所以要让程序不结束，只有改变这个设定。即在你的运行命令前加nohup，无视hup信号。
如本身你的命令为：python train.py
命令最后加 &amp; 让它运行在后台 如果有输出就把标准输出重定向到文件 &gt; output.txt 这样
现在改为：nohu]]></description><category></category></item><item><title><![CDATA[Git多人协作流程图]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114284629</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114284629</guid><author>qq_39697306</author><pubDate>Tue, 02 Mar 2021 14:35:50 +0800</pubDate><description><![CDATA[团队内部使用局域网的环境下，可以搭建GitLab服务器作为代码托管中心，GitLab可以自己搭建

跨团队使用外网时，可以由GitHub或者Gitee(码云)作为代码托关中心，GitHub或Gitee是现成的托管中心，不用自己去搭建。

...]]></description><category></category></item><item><title><![CDATA[error: failed to push some refs to ‘https://github.com/YuYingFan163/second.git‘]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/114273505</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/114273505</guid><author>qq_39697306</author><pubDate>Mon, 01 Mar 2021 22:34:58 +0800</pubDate><description><![CDATA[当用vs code和git将项目进行上传到github上时，按照慕课网的全方位入门git方法来时，会报一个错误

其中命令 git push -u origin main是直接从github网址上复制过来的

后来查文档发现，将最后一条命令都是为
git push -u origin master

这样就可以用vs code将代码正常上传到github上了，但是目前不太懂里面的原理。

...]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——第五章并发]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112652633</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112652633</guid><author>qq_39697306</author><pubDate>Fri, 15 Jan 2021 16:20:38 +0800</pubDate><description><![CDATA[groutine 的特性

go的执行是非阻塞的，不会等到
go后面的函数的返回值会被忽略
调度器不能保证多个goroutine的执行次序
没有父子goroutine的概念，所有的goroutine是平等地被调度和执行的
Go程序在执行时会单独为main函数创建一个goroutine，遇到其他go关键字时再去创建其他的gotoutine
go没有暴露goroutine id给用户，所以不能在一个goroutine里面显示地操作另一个goroutine，不过runtime包提供了一些函数访问和设置goruti]]></description><category></category></item><item><title><![CDATA[【极客时间】——大厂晋升指南(通用晋升步骤)]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112638647</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112638647</guid><author>qq_39697306</author><pubDate>Thu, 14 Jan 2021 21:19:55 +0800</pubDate><description><![CDATA[通用晋升步骤一般有以下几个阶段：
1.做好自己所处阶段的事情，为公司创造价值。在自己的所在职位把自己的事情做好是晋升的一个前题，你需要熟练精通你的工作的技能。
2. 到了精通程度后，对照下一级别的要求提升自己的各种能力，为可能的晋升机会做好准备。
3. 主动寻找工作机会，尝试做下一个级别的事情，并拿到好结果，向领导证明你具备下一级的能力。
4. 拿到工作结果后申请晋升，向评委介绍你做过的事情，展示相关的能力和结果，证明自己已经具备下一级别的能力。

...]]></description><category></category></item><item><title><![CDATA[【极客时间】——大厂晋升指南（什么样的人更容易晋升）]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112600091</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112600091</guid><author>qq_39697306</author><pubDate>Thu, 14 Jan 2021 09:45:42 +0800</pubDate><description><![CDATA[主动做事的人。这里的主动做事，并不仅仅代表主动完成主管给你分布的任务，而是指定期不定期去找主管沟通，交流关于工作任务的想法和意愿；同时，也要积极主动和不同部门的同事沟通交流，如果你是做业务开发的，不妨和运营产品等同事交流业务上线情况，业务不行的原因等等与工作相关的信息。
关注自身成长的人。当你在某个级别已经可以得心应手的完成本级别的任务，记住要跳出舒适圈，尝试更高难度和更复杂的事情。不管事情做好没有，都应该多做复盘总结，找到可以提升的优化点。晋升不是指你可以出色的完成本职级的任务，而是你是否达到下一级别的.]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——第四章 接口]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112574012</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112574012</guid><author>qq_39697306</author><pubDate>Wed, 13 Jan 2021 19:20:35 +0800</pubDate><description><![CDATA[接口类型断言

直接赋值模式：

o := i.(TypeName)

(1)TypeName是具体类型名，此时如果接口i绑定的实例类型就是具体类型TypeName，则变量o的类型就是TypeName，变量o的值就是接口绑定的实例值的副本（当然实例可能是指针值，那就是指针值的副本）
（2）TypeName是接口类型名，如果接口i绑定的实例类型满足接口类型TypeName，则变量o的类型就是接口类型TypeName，o底层绑定的具体类型实例是i绑定的实例的副本（实例可能是指针值，那就是指针值的副本）
（3）如]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——第三章类型系统（2）]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112535092</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112535092</guid><author>qq_39697306</author><pubDate>Wed, 13 Jan 2021 11:02:02 +0800</pubDate><description><![CDATA[类型方法的特点：

可以为命名类型增加方法（除了接口），非命名类型不能自定义方法。
为类型增加方法有一个限制，就是方法的定义必须和类型的定义在同一个包中。
方法的命名空间的可见性和变量一样，大写开头的方法可以在包外被访问，否则只能在包内可见。
使用type定义的自定义类型是一个新类型，新类型不能调用原有类型的方法，但是底层类型支持的运算可以被新类型继承。


...]]></description><category></category></item><item><title><![CDATA[【Go 语言核心编程】知识点记录——第三章类型系统]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112345072</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112345072</guid><author>qq_39697306</author><pubDate>Fri, 08 Jan 2021 10:30:21 +0800</pubDate><description><![CDATA[Go语言的类型系统分为命名类型、非命名类型、底层类型、动态类型和静态类型等。
命名类型
类型可以通过标识符来表示，这种类型称为命名类型。Go语言的基本类型中有20个预声明简单类型都是命名类型，Go语言还有一种命名类型——用户自定义类型。
未命名类型
一个类型由预声明类型、关键字和操作符组合而成，这个类型称为未命名类型。未命名类型又称为类型字面量。Go语言中的数组、切片、字典、通道、指针、函数字面量、结构和接口都属于类型字面量。
package main

import "fmt"

//使用type声明的是]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——闭包]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112253523</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112253523</guid><author>qq_39697306</author><pubDate>Tue, 05 Jan 2021 21:58:54 +0800</pubDate><description><![CDATA[书上的闭包太晦涩，于是在b站上看了一下关于闭包的讲解，讲的过于简单，而且正确性无法保证，先分享一下：
闭包就是一个函数“捕获”了和它在同一作用域的其他常量和变量。这就意味着当闭包被调用的时候，不管在程序什么地方调用，闭包都能够使用这些常量或者变量。它不关心这些捕获了的变量和常量是否已经超出了作用域，所有只要闭包还在使用它，这些变量就还会存在。
书上的说法比较拗口，需要多读几遍，多理解
闭包是由函数及其相关引用环境组合而成的实体，一般通过在匿名函数中引用外部函数的局部变量或包全局变量构成。
如果函数返回的闭包]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——第二章函数]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112234763</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112234763</guid><author>qq_39697306</author><pubDate>Tue, 05 Jan 2021 15:50:44 +0800</pubDate><description><![CDATA[1.GO函数作为“第一公民”的表现：
a. 函数是一种类型，函数类型变量可以像其他类型变量一样使用，可以作为其他函数的参数或者返回值，也可以直接调用执行；
b. 函数支持多值返还；
c. 支持闭包；
d. 函数支持可变参数；
2.函数名遵守标识符的命名规则，首字母的大小写决定该函数在其他包的可见性：大写时其他包可见，小写时只有相同的包可以访问。
3.函数的特点
a. 函数可以没有输入参数，也可以没有返回值
b. 多个相邻的相同类型的参数可以使用简写模式
c. 支持有名的返回值，参数名就相当于函数体内最外层的]]></description><category></category></item><item><title><![CDATA[【Go语言核心编程】知识点记录——第一章基础知识]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/112205160</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/112205160</guid><author>qq_39697306</author><pubDate>Mon, 04 Jan 2021 21:53:48 +0800</pubDate><description><![CDATA[1.token的定义：
构成源程序的基本不可分割的单元，Go语言中的token有标识符、分隔符、关键字、字面常量和操作符等。
2.数组的特点
a. 数组创建完长度就固定了，不可以再追加元素。
b. 数组是***值类型***，数组赋值或作为函数参数都是值拷贝。
c. 数组长度是数组类型的组成部分，[10]int 和[20]int 表示不同类型。
d. 可以根据数组创建切片。
3.切片的特点
a. 切片是一种变长数组，底层中有指向底层数组的指针、切片的元素数量和底层数组的容量，是一种引用类型。

...]]></description><category></category></item><item><title><![CDATA[什么是脚本语言]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/109716955</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/109716955</guid><author>qq_39697306</author><pubDate>Mon, 16 Nov 2020 11:17:37 +0800</pubDate><description><![CDATA[1.脚与非脚的不同在于执行之前是否需要编译
脚本语言是读一行执行一行、而无需关注下一行的语言，非脚本语言则是必须读取整个源程序内容、建立完执行环境后执行的语言。
脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。
狭义的脚本语言指为某一特定运行时环境服务的语言，如Bash，Javascript，广义的脚本语言可用来指某些动态的高级语言，如Python、Perl。
​按照普遍接受的定义，脚本语言是指支持脚本、支持为某一特定运行时环境编写的程]]></description><category></category></item><item><title><![CDATA[bash脚本抽奖小程序(主要用来学习bash脚本语法)]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/108709460</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/108709460</guid><author>qq_39697306</author><pubDate>Mon, 21 Sep 2020 14:20:43 +0800</pubDate><description><![CDATA[#!/bin/bash
# 随机抽取一个幸运人
rand() {
  # 从文件中读取所有人的信息，用..代替空格
  local seeds=`while read line;do echo $line | sed -e 's/ /../g' ;done &lt; name.txt`
  #定义局部变量，不加local默认是全局变量
  local count=0
  # 不停的进行筛选，直到只剩一个同学为止
  while [[ $count != 1 ]];do
    # 从seeds中筛选出一部分]]></description><category></category></item><item><title><![CDATA[Linux性能分析(uptime、vmstat、iostat、top等)]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/108641470</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/108641470</guid><author>qq_39697306</author><pubDate>Thu, 17 Sep 2020 21:27:25 +0800</pubDate><description><![CDATA[uptime

结果说明

14：07：55：服务器当前时间
up 624 days，24 min：系服务器已经开机624天24分钟
1  user：当前只有一个用户在使用服务器
load average：0.04，0.05，0.05：分别为服务器一分钟，五分钟，十五分钟平均负载
平均负载：
如果CPU=1，laod average =1: cpu时刻在用；
如果CPU4，load average=1： cpu值使用25%。
平均负载不大于3，则系统运行表现良好；如果多核cpu，需要累加，4核cpu&lt;]]></description><category></category></item><item><title><![CDATA[Linux与Bash课程（grep sed awk 三剑客）]]></title><link>https://blog.youkuaiyun.com/qq_39697306/article/details/108441979</link><guid>https://blog.youkuaiyun.com/qq_39697306/article/details/108441979</guid><author>qq_39697306</author><pubDate>Mon, 07 Sep 2020 10:13:51 +0800</pubDate><description><![CDATA[grep定义
根据用户指定的模式（pattern）对目标文本进行过滤，显示被模式匹配到的行
grep命令形式
grep [OPTIONS] PATTREN [FILE…]
pattern为正则表达式
选项




语法
说明




-v
显示不被pattern匹配到的行


-i
忽略字符大小写


-n
显示匹配的行号


-c
统计匹配的行数


-o
仅显示匹配到的字符串


-E
使用ERE,相当于egrep


练习
1.查找文件file.txt内容包含root的行号
grep -n root ]]></description><category></category></item></channel></rss>