自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

转载 浏览器输入url回车后发生了什么

1、https://zhuanlan.zhihu.com/p/80551769

2021-01-14 13:37:51 118

转载 MySQL字符集及校对规则的理解

https://www.cnblogs.com/geaozhang/p/6724393.html#MySQLyuzifuji

2021-01-13 14:40:21 127

原创 trace && pprof

Of course,go tool tracecan’t solve everything. It’s not appropriate if you want to track down slow functions, or generally find where your program is spending most of its CPU time. For that you should usego tool pprof, which shows the percentage of CPU ...

2020-12-14 22:43:08 140

原创 stw

https://learnku.com/articles/41728

2020-12-09 19:39:46 726

原创 interface

2020-12-07 11:05:50 171

原创 map

2020-12-06 18:12:48 55

原创 GC

2020-12-05 15:56:16 152

原创 etcd

2020-10-28 17:48:16 64

原创 redis集群三种模式

2020-10-22 10:14:46 92 1

原创 golang 同步锁

2020-09-14 14:35:45 221

原创 golang里面引用类型的复制

chan类型复制 //chan的复制 chan1 := make(chan int, 2) chan2 := chan1 chan1 <- 1 v := <-chan2 fmt.Println(v)程序是可以输出1的断点查看chan1,chan2的结构状态发现只要改变了chan1的状态,chan2也会自动更新再来看下slice类型的复制 //slice的复制 slice1 := make([]int, 10, 20) slice2 := s.

2020-09-08 17:17:00 468

原创 golang context

分析两段比较重要的代码// 设置当父context取消时候,子context也取消的逻辑func propagateCancel(parent Context, child canceler) { //父context永远不会被取消(例如WithValue) done := parent.Done() if done == nil { return } select { case <-done: // 父context已经被取消(例如父context已...

2020-09-08 08:41:20 312

原创 通道

12.5更新

2020-09-06 15:54:25 61

原创 metadata.FromOutgoingContext 和 metadata.FromIncomingContext的区别

如果你是在编写服务中间件(grpc中的拦截器),那么你将从进来的request中接收metadata这时候你应该使用 FromIncomingContext而 outgoing中的metadata,是由客户端在发起请求时生成的一个metadata总结:FromIncomingContext用于服务端获取request中的meta,FromOutgoingContext用于客户端获取自己即将发出的metadata详细的用例https://github.com/grpc/grpc-go/blob

2020-09-01 15:33:07 1915

原创 GOLANG 内存逃逸的几个常见场景

内存逃逸.png

2020-08-24 20:02:44 582

原创 有关golang字符串的一些知识点

func main() { //如果是以数组的方式构建字符切片,是无法更改切片里面的值 str := "qianyu, 钱雨" strSlice := str[0:1] fmt.Println(strSlice) //error //strSlice[0] = "1" //这样打印出来的byte for i := 0; i < len(str); i++ { fmt.Println(str[i]) fmt.Println(st.

2020-07-26 17:24:29 61

原创 select中关闭的chan也会触发case

golang中的select用于选择一个可用的chan,没有default情况下是堵塞的收发,又default情况下是非堵塞收发。但要是case中存在关闭的chan呢?该段程序会不断的循环输出 0 false。func main() { ch1 := make(chan int) go func(){ close(ch1) }() time.Sleep(1*time.Second) for{ select{ case v,ok := <-ch1: fmt.P

2020-07-20 07:42:25 523

原创 golang的new使用

golang中很少使用new,好奇心驱使 弄清楚一下到底怎么用package mainimport "fmt"func main(){ //new已经分配好了地址空间,可以直接用 i := new(int) fmt.Println(*i) *i = 2 fmt.Println(*i) //未初始化地址,无法使用 //var j *int //*j = 1 //new一个slice或者map呢? s := new([]int) //(*s)[0] = 1 //直接使用

2020-07-15 10:50:48 2259

原创 golang中值接收者,和指针接受者

type Cat struct { Size int}type Duck interface { Bigger()}func(c Cat) Bigger(){ c.Size = c.Size*2}func main() { //虽然传入的是指针,并且在接受者是结构体时,发生了隐士的解引用,但仍然无法改变结构体中的变量值 //证明在解引用后,发生了一次结构体的复制 var d Duck = &Cat{Size: 3} d.Bigger() fmt.Println(d.

2020-07-10 14:56:19 157

原创 代码整洁之道1-6章总结

第一章 整洁代码总的来说就是,整洁的代码有益于团队的测试开发,往大了说会影响公司的发展。作者列举了几个公司的反面教材,由于代码不够整洁,无法继续维护,导致公司倒闭的情况(迭代周期越来越长),所以说作为一个程序员,都有义务和责任去尽量写出简洁优美的代码!本书的作者是总结了多位大咖几十年来的开发经验,这很难得,但同时他也指出,并非所有人都同意这些简洁之道,甚至强烈反对其中的一些建议,但我们最终...

2019-03-17 22:12:41 293

转载 Phalcon学习笔记之分发器和事件管理器

Phalcon启动之后,会通过router路由器将URL解析,然后传递给dispatcher分发器,分发器会找到对应的Module/Controller/Action并执行,执行中会输出到view视图发送给客户端。简单情况下分发器不需要特殊的配置,router的解析已经足够,一般来讲,只有在判断用户权限的时候才需要特殊处理$di-&gt;set('dispatcher', function...

2019-03-09 20:52:59 314

原创 Phalcon教程之保护INVO(翻译)

今天在看中文版的Phalcon教程的时候发现有一章的后半截没有翻译完,遂将其翻译一下,就当学习了。后端安全(Securing the Backend)¶后端是一个私有区域,只有已经注册并登录的用户才可以访问。因此,只有登录用户才能访问控制器这样的检验是有必要的。如果你没有登录到应用中并试图访问,例如 products 控制器 (这是私有的) 你将会看到如下屏幕:每次有人...

2019-03-09 20:31:31 311

原创 PHP之MongoDB的查询

项目上有一个使用MongoDB自动生成的ObjectId来查找信息的需求&lt;?php soft_name = array(); soft_ver = array(); $m_ids = array(); $ids_array = explode(',', $ids]);#将字符串id转换为数组id //...

2019-03-09 10:31:23 345

原创 scrapy之feeds

实现爬虫时最经常提到的需求就是能合适的保存爬取到的数据,或者说,生成一个带有爬取数据的“输出文件”(通常叫“输出 feed”),来供其它系统使用。Scrapy 自带了 Feed 输出,并且支持多种序列化格式(serialization format)及存储方式(storage backends)。序列化方式(serialization formats)feed 输出使用到了 Item ...

2018-08-24 15:09:53 882

原创 Scarpy的item存储数据顺序不一样

ijson = QyfirstItem()        ijson['name'] = response.xpath('//h1/text()').extract()[0]        path = response.xpath('//div[@class="tableDiv"]/table[@class="gg_detail"]')        ijson['cnvdid'] = ...

2018-08-24 14:44:35 339

转载 【转】BeautifulSoup和Selenium对比

参照http://blog.csdn.net/eastmount/article/details/53932775# BeautifulSoup:处理速度快,同时可以连续查找,主要用于静态网页 经过BeautifulSoup处理以后,编码方式都变成了Unicode,需要将其变成所需的编码方式:可以利用encode(‘需要的编码’),还可以利用 BeautifulSoup(网页/html,”lxml...

2018-06-11 19:46:38 2584

原创 各Chorm版本对应Chorm Driver

今天在用到Selenium时候遇到了Traceback (most recent call last): File "C:\Users\lord\Desktop\python爬虫项目班\资料\lesson_03_code\17huo.py", line 4, in &lt;module&gt; browser = webdriver.Chrome() File "C:\Users\...

2018-06-10 22:04:15 1292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除