我一直在使用的Markdown编辑器Typora终于从beta升级到了正式版,不过随之而来的就是收费了,买断制,单个帐号许可89RMB(15刀),这个价格怎么说呢,个人觉得对于一个不带云服务的单纯Markdown编辑器还是有点小贵。我决定观望一下再决定是否购买。
我一直在使用的Markdown编辑器Typora终于从beta升级到了正式版,不过随之而来的就是收费了,买断制,单个帐号许可89RMB(15刀),这个价格怎么说呢,个人觉得对于一个不带云服务的单纯Markdown编辑器还是有点小贵。我决定观望一下再决定是否购买。
图源:wallpapercave.com 本篇笔记是Go语言编程笔记9:使用共享变量实现并发的补充,将以一个《Go程序设计语言》中列举的一个函数缓存示例为基础进一步阐述如何使用并发来解决实际问题,以及说明goroutine和操作系统线程的区别。 函数缓存 所谓的函数缓存,就是对某些极其耗费时间或计算资源的函数调用进行缓存,如果系统中需要再次进行相同调用,直接返回缓存的结果,以达到节省时间或者计算资源的目的。 以下的代码为参考《Go程序设计语言》中的示例后编写。 首先我们先确定需要缓存的函数: func getUrl…
图源:wallpapercave.com 数据竞态 在多线程编程中,遇到的最大麻烦就是当多个线程对同一个数据进行操作时,因为代码交错执行引发的一些问题: package main import ( "fmt" "sync" ) type bank struct { amount int } func (b *bank) SaveMoney(amount int) { b.amount += amount } func (b *bank) GetAmount() int { return b.amou…
图源:wallpapercave.com 本篇笔记会讲解Go语言编程笔记7:goroutine和通道中剩余的内容。 文件统计程序 Linux上有一个程序du,可以很方便地计算指定目录的真实大小,《Go程序设计语言》一书中也有一个类似的示例: package main import ( "flag" "fmt" "io/ioutil" "log" "path" "time" ) var paramHuman = flag.Bool("h", false, "human show") func main()…
图源:wallpapercave.com goroutine Python中并发的核心概念是协程,Go语言中类似的概念叫做goroutine。虽然两者在原理和使用方式等方面都有很大不同,但都是用于解决并发问题的核心概念。 协程(coroutine)与goroutine从名称上看就很相似。 我们知道,Python因为有全局线程锁的缘故,除了发生I/O的部分以外,大部分使用协程实现并发的时候实际上都是单线程在执行,事实上并不能挖掘多线程的全部性能,对于I/O密集型的应用的确是可以解决问题,但对于计算密集型的应用就无能为…
图源:wallpapercave.com 虽然Go语言没有传统编程语言的类与继承,但通过结构、方法和接口,Go语言依然可以实现OOP式的编程。所以接口对于Go语言来说相当重要,这里我们就讨论一下Go语言中的接口。 概念 在介绍Go语言中的接口之前我要先阐述一下其概念的不同,与传统的编程语言比,Go语言的接口是一种隐性实现。即接口只会定义一组方法,所有实现了该方法的类型都满足该接口。 在概念上,这与Python中的协议更类似,不过后者并不会真实定义在代码中,仅仅是文档中的一种约定。 定义 定义接口很简单: packa…
周末在网上闲逛, 发现了一个叫Piotr Fusik波兰程序员,从2011年开始,开发一个叫做Ć的语言。 GitHub :https://github.com/pfusik/cito 注意,不是C语言啊,在字母C上还有一撇,这是个波兰字母,我搜了一下发音好像有点像“赤”。 他一个人整整维护了10年! 这个语言是干嘛的呢? 当然可以用它去写程序,不过它的厉害之处在于:可以自动编译成 C, C++, C#, Java, JavaScript, Python, Swift, TypeScript and OpenCL C…
今天意外在CSDN系统消息中看到这个: 比较离谱的是我的这篇博文是老早以前就审核通过正常发布的,但怎么说呢,这篇文章能被第一时间机审通过正常发布就很微妙,因为虽然整篇文章都很正常,是谈论HTTP底层技术的,但我在其中插入了这么一条个人吐槽: 也可以通过我的博客访问原文。 但怎么说呢,理论上这只算是随口吐槽,但在CSDN这个很奇葩的机审机制下,能不能通过真的不好说,但所幸没啥问题,正常通过了。 但是,今天又被关小黑屋了,算是漏网之鱼? 虽然我大概已经猜到是怎么回事——无非是新一轮的敏感词检查被逮住了,但我还是挺好奇审…
图源:wallpapercave.com 虽然整体上Go语言的函数和其它语言颇为相似,但实际上有很多其它语言中鲜见的特性,在这篇笔记中我会一一进行介绍。 定义 Go语言中的函数定义与传统语言类似,其函数签名同样由函数名、参数列表、返回值构成,只不过写法稍有区别: package main import "fmt" func myFunc(message string) bool { fmt.Println(message) // hello return true } func main() { myF…
最近趁着双11入了阿里云,因为腾讯云当时只买了1年试水,现在续费的话实在是遭不住。 需要说明的是,主机、域名都需要ICP备案,所以新买的阿里云又折腾了一番进行备案,万幸的是如果之前备案过域名和主机,只是要添加一台新的主机到原备案的话,审核速度是非常快的,我这里1个工作日就搞定了。 顺带一提,阿里云会按备案耽搁的天数进行时间补偿,会将你的服务器到期时间顺延相应的天数,腾讯云就没这福利...... VPS准备好后就需要折腾一下,把腾讯云上的服务搬迁到阿里云了,其它服务倒也不重要,主要还是要先把博客搬过来,以下就是博客搬…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang