风屿の博客


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

bgp.he.net爬虫

2022-05-22
| 字数统计: 1.6k

本文介绍怎么使用python编写爬虫爬取bgp.he.net的数据

阅读全文 »

golang进行超时控制

2022-05-18 | golang
| 字数统计: 388

本文介绍golang进行超时控制的几种方法

阅读全文 »

golang使用base64Captcha做图形验证码并支持点击刷新

2022-05-12 | golang
| 字数统计: 638

很多go的web框架都自带图形验证码,比如macaron和gin,但是这些验证码模块的验证码都比较弱,只能使用纯数字作为验证码,此处介绍base64Captcha包的使用方法并支持点击刷新。

阅读全文 »

树莓派作为旁路由安装OpenWrt

2022-05-02 | 宽带症侯群
| 字数统计: 1.3k

旁路由可以理解为接入在内网的一台普通机器,不管是用LAN还是WAN接入都无所谓,只要你能知道它的内网IP,在本地网络中直接编辑网关和DNS服务器指向它即可。

如果想内网流量都自动经过它,则只需在主路由上的DHCP分配网关、DNS设置为旁路由即可。

树莓派的硬件条件素质不够高,作为主路由性能比不上硬路由,所以可以将其作为旁路由安装软路由作为一个网关是比较合适的。

阅读全文 »

记一次安卓安装恶意软件

2022-04-29 | 信息安全
| 字数统计: 535

本文介绍了一种自动识别安卓平台下载并隐藏恶意apk包名的方法

阅读全文 »

golang之协程复用

2022-04-25 | golang
| 字数统计: 770

golang是原生支持高并发的语言,它的并发是通过协程实现的,对于上千个任务,我们一般会通过将其分割成多组任务后,对于每组任务,开启对应数目的协程来运行任务。

阅读全文 »

golang的channel死锁问题

2022-04-24 | golang
| 字数统计: 2k

Channel 介绍

默认channel

默认情况下创建的channel是阻塞和不带缓冲区的,例如:

1
ch := make(chan int)  // 创建一个阻塞的不带缓冲区的channel

通过默认方式创建的channel有以下性质:

  • 发送操作将会阻塞,直到接收端准备好了。
  • 接收操作将会阻塞,直到发送端准备好了。也就是说:若channel中没有数据,接收者将会阻塞。

带缓冲区的Channel

不带缓冲区的channel只能包含一个元素(一条记录),带缓冲区的channel可以包含多条记录

1
ch := make(chan string, 100)  // 此时的ch,类似一个消息队列,可以容纳100个string类型的元素
  • 向带缓冲区的channel写数据时不会阻塞,直到channel的缓冲区满了
  • 从带缓冲区的channel中读数据也不会阻塞,直到缓冲区为空
  • 从带缓冲区的channel中读取或写入数据时,是异步的,类比使用消息队列写入和读取数据
  • 向带缓冲区的channel中写数据时是FIFO顺序进行的
阅读全文 »

golang之Web爬虫练习

2022-04-20 | golang
| 字数统计: 2.1k

go编程指南的题目

题目链接:https://tour.go-zh.org/concurrency/10

练习:Web 爬虫

在这个练习中,我们将会使用 Go 的并发特性来并行化一个 Web 爬虫。

修改 Crawl 函数来并行地抓取 URL,并且保证不重复。

提示:你可以用一个 map 来缓存已经获取的 URL,但是要注意 map 本身并不是并发安全的!

阅读全文 »

golang之等价二叉查找树

2022-04-20 | golang
| 字数统计: 363

go编程指南的题目

题目链接:https://tour.go-zh.org/concurrency/8

练习:等价二叉查找树

1. 实现 Walk 函数。

2. 测试 Walk 函数。

函数 tree.New(k) 用于构造一个随机结构的已排序二叉查找树,它保存了值 k, 2k, 3k, …, 10k。

创建一个新的信道 ch 并且对其进行步进:

1
go Walk(tree.New(1), ch)

然后从信道中读取并打印 10 个值。应当是数字 1, 2, 3, ..., 10。

3. 用 Walk 实现 Same 函数来检测 t1 和 t2 是否存储了相同的值。

4. 测试 Same 函数。

Same(tree.New(1), tree.New(1)) 应当返回 true,而 Same(tree.New(1), tree.New(2)) 应当返回 false。

Tree 的文档可在这里找到。

阅读全文 »

golang之图像练习

2022-04-20 | golang
| 字数统计: 233

go编程指南的题目

题目链接:https://tour.go-zh.org/methods/25

练习:图像

还记得之前编写的图片生成器 吗?我们再来编写另外一个,不过这次它将会返回一个 image.Image 的实现而非一个数据切片。

定义你自己的 Image 类型,实现必要的方法并调用 pic.ShowImage。

Bounds 应当返回一个 image.Rectangle ,例如 image.Rect(0, 0, w, h)。

ColorModel 应当返回 color.RGBAModel。

At 应当返回一个颜色。上一个图片生成器的值 v 对应于此次的 color.RGBA{v, v, 255, 255}。

阅读全文 »
12…7
Mingkwind

Mingkwind

61 日志
19 分类
15 标签
© 2022 Asymptotic-freedom
本站访客数: | 本站访问量