学习笔记
文章平均质量分 66
FatherOfCodingMan
这个作者很懒,什么都没留下…
展开
-
2021-03-12
造假都这么明目张胆的吗?一家专为收割上市的公司!收入造假,关联交易,收入全到应收账款上了。应收账款(或存货)大增的股票要多留意一下,是否是这种情况。在财务报表中有一项是《主要销售客户和主要供应商情况》,公司主要客户情况,前五名客户销售额中关联方销售额占年度销售总额比例,该公司是75.92%。在第二年减值,收入蒸发。一堆骚操作,还发增持公告来操控股价。太经典了。C/C++ 协程库boost.coroutine2、魅族libgo、腾讯libco、开源libaco详解c++20协程入门..原创 2021-03-12 21:38:09 · 89 阅读 · 0 评论 -
系统性能和TCP/UDP网络优化-学习大杂烩
以下内容,纯属拼凑,有点混乱,参考原文在文章末尾。基于硬件做优化如果有条件用专用处理器如GPU,NPU行。用好CPU缓存,提高缓存命中率CPU的缓存:一级缓存约5个时钟周期,二级是约12个,三级是约30个。一次进入缓存的数据大小,coherency_line_size 通常是64字节。C++[[likely]] [[unlikely]]。利用好内存管理常用的库是TCMalloc,Ptmalloc2。TCMalloc在多线程下小内存具有优势。Ptmalloc2在大内存分配上原创 2021-01-01 17:53:45 · 751 阅读 · 0 评论 -
golang gc垃圾回收
大神的文章写得很好https://zhuanlan.zhihu.com/p/105571503golang虽然用了三色标记法,但是在阶段一:Mark Setup标记准备(STW:Stop the world)还是要停止所有的 goroutine。停止的方式是合作式抢占模式(当前 1.13 及之前版本),也就是在每个函数的序言中增加一个合作式抢占点。如果中间有个goroutine执行某个计算没有函数调用,其它goroutine只能处于等待中。在标记开始的时候,收集器会默认抢占 25% 的 CPU.原创 2020-12-17 23:44:25 · 183 阅读 · 1 评论 -
golang-reflect-method-callback
参考:https://stackoverflow.com/questions/38897529/pass-method-argument-to-function通过反射调用method方法。package mainimport ( "fmt" "reflect")type Foo intfunc (f Foo) A(b int) { fmt.Println("testA", b)}func (f Foo) B(b int) { fmt.P原创 2020-12-08 11:42:54 · 290 阅读 · 0 评论 -
golang内存相关文章-收集
译文:Go 内存分配器可视化指南https://www.linuxzen.com/go-memory-allocator-visual-guide.html(原文:https://medium.com/@ankur_anand/a-visual-guide-to-golang-memory-allocator-from-ground-up-e132258453ed)原创 2020-12-03 21:51:52 · 89 阅读 · 0 评论 -
golang内存管理和分配
Go: Memory Management and Allocation引子goroutine堆栈上的内存块不用gc。package-level变量在堆上分配且运行期间永远不会gc。示例1:package maintype smallStruct struct { a, b int64 c, d float64}func main() { smallAllocation()}//go:noinlinefunc smallAllocation() *s翻译 2024-06-21 11:56:25 · 63 阅读 · 1 评论 -
golang的内存相关内容
前言golang是自动内存管理和自动gc的,了解golang的内存细节不是必须的。但是如果明白golang内存方面的概念和编译时、运行时的内存管理细节对写出更高质量的代码是很有帮助的。本文会介绍内存块申请(memory block allocation)的实现和原理,编译时和运行时的垃圾回收方面的内容。内存块/存储块(memory blocks)内存块是连续的内存段,用于在运行时托管值部分(value parts )。不同的内存块可能有不同的大小,以便寄存不同的value parts。一个内翻译 2020-12-03 14:49:08 · 376 阅读 · 0 评论 -
知名定律摘要-持续更新
统一学上的莱维飞行一个分形的统计,最开始是计算人行走的步长分布,比较有趣的是苍蝇飞行是符合这个规律。本福特定律说明一堆从实际生活得出的数据中,以1为首位数字的数的出现概率约为总数的三成,接近直觉得出之期望值1/9的3倍。推广来说,越大的数,以它为首几位的数出现的概率就越低。它可用于检查各种数据是否有造假。在十进制首位数字的出现概率(%,小数点后一个位):d p 1 30.1% 2 17.6% 3 12.5% 4 9.7% 5 7转载 2020-12-01 17:45:01 · 108 阅读 · 0 评论 -
2020-11-30-golang并发模式context
https://blog.golang.org/contextGo的并发模式:Context (上下文)在Go的服务器中,每个的进来的请求都是由独立的goroutine来处理的。处理请求的goroutine中通常会启动额外的goroutines去访问数据库和RPC服务。处同一个请求的这群goroutines通常需要访问特定的请求值,例如:终端用户的身份识别,授权令牌和请求的截止日期。当一个请求被取消或超时时,这个请求所有相关的goroutines都应该快速退出,以便系统回收相关资源。谷歌开...翻译 2020-11-30 22:37:28 · 180 阅读 · 0 评论 -
golang反射基本准则
原文https://blog.golang.org/laws-of-reflection介绍在计算中,反射(reflection)是程序检索其自身结构的能力,特别是通过类型;这是元编程的一种形式。这也是造成混乱的重要原因。在本文中,我们尝试通过解释反射在Go中的工作原理来澄清事物。Types and interfaces因为反射是基于类型系统,所以先说一下go的类型。Go是静态类型。每个变量有一个静态类型,也就是说,类型是在编译时就清楚和确定的:int, float32, *My原创 2020-11-23 12:06:27 · 220 阅读 · 1 评论 -
阅读protobuf-go代码
我想通过学习protobuf-go更深入了解go反射的应用,就看了下它的代码。所看版本是go 1.14require ( github.com/golang/protobuf v1.4.3 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.0.1 // indirect google.golang.org/protobuf v1.23.0)粗略看一下先瞄一眼它的生成文件*.pb.go在proto中定义的一个原创 2020-11-17 16:37:19 · 978 阅读 · 0 评论 -
golang 指针的知识点
读书笔记https://go101.org/article/pointer.html尽管golang吸收了很多其它语言的特点,但是go还是算是C家庭的语言。指针就是其中的一个证据。Go的指针与C指针有相同的地方也有不同的地方。什么是指针Go中有一个叫Pointer的类型。Go Pointer类型与值类型T的指针可以表示为*T。关于什么是non-defined pointer和defined pointer*int // A non-defined pointer type w.原创 2020-11-16 16:52:03 · 160 阅读 · 0 评论 -
golang 反射的例子
看https://go101.org/article/reflection.htmlexample 1:(channel map array)package mainimport "fmt"import "reflect" // use this packagefunc main() { type A = [16]int16 var c <-chan map[A][]byte tc := reflect.TypeOf(c) fmt.Println原创 2020-11-11 00:41:42 · 233 阅读 · 0 评论 -
golang testing
概述func TestXxx(*testing.T)测试函数的名字,Test要以大写开始。测试的文件名是 xxx_test.go, "_test.go"结尾,文件内是TestXxx的函数。文件放在被测试模块同一目录。具体错误可以用testing.T的Errorf来输出。Benchmarksfunc BenchmarkXxx(*testing.B)go test -bench 将会依序运行benchmarks的用例。example:func BenchmarkRandIn原创 2020-11-10 13:03:44 · 223 阅读 · 0 评论 -
Go101 深入理解channel
参考https://go101.org/article/channel.htmlChanncel的介绍Rob Pike有个关于并发编程伟大的建议:不要通过共享内存来通信,而是通过通信来共享内存,也就是channels,对共享资源也一样。当goroutines需要实现共享内存来通信,我们要用到传统的并发同步技术,例如:mutex locks,来保护共享内存,避免数据竞争。用channels 则可以实现通过通信共享内存。channel可以被看成是一个程序内的FIFO(先进先出)队列。一些go翻译 2020-11-03 19:02:22 · 1023 阅读 · 0 评论 -
wsl1 ubuntu20.04安装nodejs14失败
WSL Ubuntu 20.04 - gpg: can't connect to the agent: IPC connect call failed1、libc6降级sudo add-apt-repository ppa:rafaeldtinoco/lp1871129sudo apt updatesudo apt install libc6=2.31-0ubuntu8+lp1871129~1 -y --allow-downgradessudo apt-mark hold libc62.原创 2020-08-18 10:03:06 · 768 阅读 · 0 评论 -
白鹭小游戏开发,并发布到微信平台
用白鹭开发小游戏,能快速部署到微信、qq、oppo、小米等平台。白鹭官网https://www.egret.com/先要下载egret enginehttps://docs.egret.com/engine,下载好engine后,可以在engine里再下载wing。wing的文档http://developer.egret.com/cn/github/egret-docs/Wing/introduction/index.html?home=2开发语言用ts。下面介绍我自己做的一个...原创 2020-07-08 16:56:41 · 940 阅读 · 0 评论 -
c++新特性20、17、14、11
# C++20语言特性翻译自https://github.com/AnthonyCalandra/modern-cpp-features## Concepts*Concepts* are named compile-time predicates which constrain types. They take the following form:Concepts被称为编译时谓语,用于约束类型。有如下格式:```c++template < template-parameter-翻译 2020-07-01 23:14:22 · 3267 阅读 · 0 评论 -
javascript promises的使用
javascript# 使用promiseshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promisess一个Promise是一个对象,代表一个异步操作最终的成功或失败。由于大部分人是已经创建的promises的消费者,这个指引将先解释如何使用返回(创建好的)promise,然后再解释如何创建。本质上,一个promise是一个异步函数返回的对象,你可以attach回调给这个对象,而不是传递callba原创 2020-06-09 11:22:24 · 245 阅读 · 0 评论 -
golang channel各种情况下的使用
https://go101.org/article/channel-use-cases.html像Futures/Promises一样使用channels将receive-only channels作为返回值package mainimport ( "time" "math/rand" "fmt")func longTimeRequest() <-chan int32 { r := make(chan int32) go func() { // Simulate原创 2020-05-22 17:35:25 · 451 阅读 · 0 评论 -
golang 并发 Concurrency
创建goroutinefunc gofun() { //helo goroutine}go gofun() //在普通函数执行前加关键字go并行库synchttps://golang.org/pkg/sync/不要复制sync中类型的值。Values containing the types defined in this package should not be copied.type Cond 条件变量,包含一个locker, 方法有:Broadcast, Sig..原创 2020-05-21 10:58:37 · 340 阅读 · 0 评论 -
etherscan verify contract 上传有使用库library的代码
添加链接库1、Library_1 Name: 库名字, Library_1Contract Address地址2、This option ONLY applies to contracts that use libraries. The source code should contain the concatenated contract and library source c...原创 2020-04-27 20:38:43 · 606 阅读 · 0 评论 -
2020年aws认证一些经验 saa
2020年2月18过的aws saa考试。1、报名网址https://www.aws.training/Certification2、费用,150美金。需要一个visa的信用卡。3、证书有效期3年。4、考试名字要与信用卡一致,考试时要看信用卡和身份证。5、推荐视频https://www.youtube.com/watch?v=Ia-UEYYR44s。把里面的知识点全部记...原创 2020-04-23 21:45:00 · 5097 阅读 · 0 评论 -
golang 经验,package export, json
1、可见性。Packages里的首字母大写的变量表示是export的。struct中成员如果也要在package外用,那成员变量名首字母要大写。2、json Decode时的大小写。在使用encoding/json进行decode时,struct相关变量需要大写。例如我们有string{"jsonrpc":"1.0","id":"curltext","method":"getbloc...原创 2020-04-23 16:04:23 · 756 阅读 · 1 评论 -
solidity truffle学习
环境:ubuntu 18安装nodejs和npmsudo apt install nodejssudo apt install npm安装trufflenpm -g参数是安装到全局的node_modules目录sudo npm install -g trufflesudo npm install -g ethereumjs-testrpc我的truffle版本是v5...原创 2019-10-22 17:46:22 · 938 阅读 · 0 评论 -
go-lang快速入门 二
Go 没有类。不过你可以为结构体类型定义方法。方法就是一类带特殊的接收者参数的函数。func (v Vertex) Abs() float64 { 指针接收者,1.方法能够修改其接收者指向的值。2.这样可以避免在每次调用方法时复制该值。 接口类型 是由一组方法签名定义的集合。接口类型的变量可以保存任何实现了这些方法的值。空的接口 type AnyType interfa...原创 2019-10-02 13:00:56 · 160 阅读 · 0 评论 -
go-lang快速入门 一
本系列针对有编程基础的人,学过c,c++,c#或php之类。官网(英文的):https://golang.org/找到个中文的:http://docscn.studygolang.com/doc/。第一步可以通过https://tour.golang.org/welcome/1快速的了解golang的大致特点,这个网页可以一边看概要文档,一边练习。第二步可以看http://...原创 2019-09-26 01:08:51 · 283 阅读 · 0 评论