首页 文章

    [并发Goroutine&Channel]-第002节:并发性Concurrency

    ### 1.1 多任务 --- 怎么来理解多任务呢?其实就是指我们的操作系统可以同时执行多个任务。举个例子,你一边听音乐,一边刷微博,一边聊QQ,一边用Markdown写作业,这就是多任务,至少同时有4个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是界面上没有显示而已。 ![file](/static/upload/bigpic/20210329/1616948634736931576.png) CPU的速度太快啦。。。 ![file](/static/upload/bigpic/202

    作者:RainNight 2021-03-28 所属分类:[Golang]

    有趣的电影

    某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。 作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。 例如,下表 cinema: ```sql +---------+-----------+--------------+-----------+ | id | movie | descript

    作者:RainNight 2021-03-28 所属分类:[算法]

    利用puppeteer采集自己想要的书籍

    # 安装node --- ```bash cd /usr/local/src/ wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz tar zxvf node-v0.10.24.tar.gz cd node-v0.10.24 ./configure --prefix=/usr/local/node/0.10.24 make make install node -v ``` ![file](/static/upload/bigpic/

    作者:RainNight 2021-03-28 所属分类:[Puppeteer]

    [并发Goroutine&Channel]-第001节:并发编程介绍

    在本章节,我们将介绍一下,什么是并发编程,什么是并行,并发,串行。Go语言如何实现并发编程,以及实现的原理,goroutine的使用。runtime包、sync包的介绍。channel通道的使用,以及缓冲通道,定向通道。select语句,time包中和并发编程相关的函数介绍。最后我们介绍一下CSP模型。

    作者:RainNight 2021-03-23 所属分类:[Golang]

    [IO操作]-第008节:遍历文件夹

    学习io之后,尤其是文件操作,我们就可以遍历给定的目录文件夹了。可以使用ioutil包下的readDir()方法,这个方法可以获取指定目录下的内容,返回文件和子目录。 因为文件夹下还有子文件夹,而ioutil包的ReadDir()只能获取一层目录,所以我们需要自己去设计算法来实现,最容易实现的思路就是使用递归。 示例代码: ``` package main import ( "io/ioutil" "fmt" "log" ) func main() { /** 遍历文件夹: */ dirname

    作者:RainNight 2021-03-23 所属分类:[Golang]

    [IO操作]-第007节:ioutil包

    除了io包可以读写数据,Go语言中还提供了一个辅助的工具包就是ioutil,里面的方法虽然不多,但是都还蛮好用的。 ``` import "io/ioutil" ``` 该包的介绍只有一句话:Package ioutil implements some I/O utility functions。 ### 一、ioutil包的方法 --- 下面我们来看一下里面的方法: ``` // Discard 是一个 io.Writer 接口,调用它的 Write 方法将不做任何事情 // 并且始终成功返回

    作者:RainNight 2021-03-23 所属分类:[Golang]

    [IO操作]-第006节:bufio包

    生命不止,继续Go go go。。 Go语言在io操作中,还提供了一个bufio的包,使用这个包可以大幅提高文件读写的效率。 ### 一、bufio包原理 --- bufio 是通过缓冲来提高效率。 io操作本身的效率并不低,低的是频繁的访问本地磁盘的文件。所以bufio就提供了缓冲区(分配一块内存),读和写都先在缓冲区中,最后再读写文件,来降低访问本地磁盘的次数,从而提高效率。 简单的说就是,把文件读取进缓冲(内存)之后再读取的时候就可以避免文件系统的io 从而提高速度。同理,在进行写操作时,

    作者:RainNight 2021-03-23 所属分类:[Golang]

    [IO操作]-第005节:断点续传

    ### 一、Seeker接口 --- Seeker是包装基本Seek方法的接口。 ``` type Seeker interface { Seek(offset int64, whence int) (int64, error) } ``` seek(offset,whence),设置指针光标的位置,随机读写文件: ​ 第一个参数:偏移量 ​ 第二个参数:如何设置 ​ 0:seekStart表示相对于文件开始, ​ 1:seekCurrent表示相对于当前偏移量, ​ 2:seek end表示相

    作者:RainNight 2021-03-23 所属分类:[Golang]

书籍归档