👨🎓 About: 24 Years old Developer from China.
👨💻 Languages: C/C++, Golang, HTML, CSS.
🚴♀️ Hobbies: Cycling, Coding, Open-Source.
🏢 Organizations: Coder
ysluckly / gittalk Goto Github PK
View Code? Open in Web Editor NEWgittalk save comment
gittalk save comment
https://ysliving.github.io/post/quick-go-protobuf.html
protobuf 即 Protocol Buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储的,占用空间小,但也带来了可读性差的缺点。protobuf 在通信协议和数据存储等领域应用广泛。本文介绍的是 Protocol Buffers 3 (protobuf3, proto3) 的安装和基本语法,以及如何在 Go 语言使用。
https://ysliving.github.io/post/4414531b.html
一篇文章入门Go语言,Go语言(Golang)简明教程,Go语言入门教程,Go语言中文教程(golang tutorial)。Go 是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。本文介绍了 Go 语言的安装、基本类型(字符串str,整型,数组,切片slice,字典 map 等)、控制流(if, for range, for循环, switch 等)、复杂类型(结构体 struct, 接口 interface,方法 method 等),并发编程(sync, chan),错误处理(panic, error),Go Modules 引入第三方依赖,以及如何写测试代码(Unit Test)等。
https://ysliving.github.io/post/2020.html
从 2020 年开始,在博客里记录每一年的成长与改变。年初的时候,给自己定了两个目标:工作上升一级,博客浏览量能翻一倍。第一个目标没想到刚过完年,就实现了。第二个目标到年底的时候也基本达成了,月 UV 3w,月 PV 8w。在这里,将过程中的一些经历和感悟记录下来。
https://ysliving.github.io/post/7days-golang-q1.html
Go 语言/golang 中函数式接口或接口型函数的实现与价值,什么是接口型函数,为什么不直接将函数作为参数,而是封装为一个接口。Go 语言标准库 net/http 中是如何使用接口型函数的。
https://ysliving.github.io/post/charpter-1/hpg-pprof.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。
https://ysliving.github.io/post/8a39abcb.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。
https://ysliving.github.io/post/charpter-0/high-performance-go.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。
https://ysliving.github.io/post/geerpc-day7.html
7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial),动手写 RPC 框架,参照 golang 标准库 net/rpc 的实现,实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第七天实现了一个简单的注册中心(registry),具备超时移除、接收心跳(heartbeat)等能力,并且实现了一个简单的服务发现(server discovery)模块。
https://ysliving.github.io/post/geerpc-day4.html
7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial),动手写 RPC 框架,参照 golang 标准库 net/rpc 的实现,实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第四天为RPC框架提供了处理超时的能力(timeout processing)。
https://ysliving.github.io/post/quick-golang.html
一篇文章入门Go语言,Go语言(Golang)简明教程,Go语言入门教程,Go语言中文教程(golang tutorial)。Go 是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。本文介绍了 Go 语言的安装、基本类型(字符串str,整型,数组,切片slice,字典 map 等)、控制流(if, for range, for循环, switch 等)、复杂类型(结构体 struct, 接口 interface,方法 method 等),并发编程(sync, chan),错误处理(panic, error),Go Modules 引入第三方依赖,以及如何写测试代码(Unit Test)等。
https://ysliving.github.io/post/quick-go-rpc.html
本文介绍了 Go 语言(Golang)中远程过程调用(Remote Procedure Call, RPC)的使用方式,使用 Golang 标准库 net/rpc,同时介绍了异步调用,以及如何使用 TLS/SSL/HTTPS 实现服务器端和客户端的单向鉴权、双向鉴权。
https://ysliving.github.io/post/3199e35d.html
嗨购,都是些珍藏多年的宝贝。包括潮鞋,潮表,潮饰等。
https://ysliving.github.io/post/box-tools.html
极客兔兔的百宝箱,都是些珍藏多年的宝贝。包括编程常用的网站,例如在线正则表达式;前端设计常用的网站,例如色彩搭配等。
https://ysliving.github.io/post/charpter-2/hpg-struct-alignment.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文介绍了结构体(struct)占用的内存空间如何计算,为什么要字节对齐/内存对齐,Go 语言中的大小和对齐保证(size and alignment guarantees),字节对齐和安全访问(原子访问)的关系,以及如果利用内存对齐的规律减小 struct 内存占用。
https://ysliving.github.io/post/charpter-3/hpg-mutex.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。介绍了读写锁(sync.RWMutex)和互斥锁(sync.Mutex)在不同的读写比情况下的性能开销。
https://ysliving.github.io/post/charpter-4/hpg-escape-analysis.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。介绍了 Go 内存分配逃逸分析(escape analysis)的几种典型场景,变量所使用的内存什么时候分配到栈上,什么时候分配到堆上。以及如何利用逃逸分析的原理优化代码的性能,例如传值 VS 传指针。
https://ysliving.github.io/post/blog-experience-1.html
极客兔兔(Geektutu)的博客折腾记的第一篇,介绍了博主从Koa+React到Hexo的切换,以及为达到极致性能的一些尝试。
https://ysliving.github.io/post/b7809ea1.html
一篇文章入门 Python/Python3,Python简明教程,Python入门教程,Python中文教程(Python 3 tutorial)。Python 是一个易于学习、功能强大的编程语言,它拥有高效高级的数据结构和一种简单有效的面向对象编程的编程方法。本文介绍了 Python 的安装、基本类型/内置类型(字符串str,整型,数组,字典 dict 等)、控制流(if, for循环, while 等)、复杂类型(类 class, 方法 method 等),函数式编程,面向对象编程,错误处理(try except finally),pip 引入第三方依赖,以及如何写单元测试(unit test)等。
https://ysliving.github.io/post/quick-python.html
一篇文章入门 Python/Python3,Python简明教程,Python入门教程,Python中文教程(Python 3 tutorial)。Python 是一个易于学习、功能强大的编程语言,它拥有高效高级的数据结构和一种简单有效的面向对象编程的编程方法。本文介绍了 Python 的安装、基本类型/内置类型(字符串str,整型,数组,字典 dict 等)、控制流(if, for循环, while 等)、复杂类型(类 class, 方法 method 等),函数式编程,面向对象编程,错误处理(try except finally),pip 引入第三方依赖,以及如何写单元测试(unit test)等。
https://ysliving.github.io/post/pandas-dataframe-series.html
DataFrame和Series是pandas中最常见的2种数据结构。DataFrame可以理解为Excel中的一张表,Series可以理解为一张Excel表的一行或一列数据。
https://ysliving.github.io/post/charpter-2/hpg-string-concat.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍了构造字符串/拼接字符串(string concatation) 的 5 种方式:+, strings.Builder, bytes.Buffer, []byte 和 fmt.Sprintf,比较了这 5 种方式的性能,并且深入解释了背后的原理。
https://ysliving.github.io/post/charpter-1/hpg-benchmark.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。
https://ysliving.github.io/post/charpter-2/hpg-reflect.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文介绍了反射的使用场景,并测试了反射的性能,以及某些场景下的替代方式。
https://ysliving.github.io/post/92135ab8.html
极客兔兔的百宝箱,都是些珍藏多年的宝贝。包括编程常用的网站,例如在线正则表达式;前端设计常用的网站,例如色彩搭配等。
https://ysliving.github.io/post/cheat-sheet-sqlite.html
SQLite 常见的使用命令。包括数据库的安装与连接,表(table)的创建(create)与删除(delete),记录的插入(insert)删除(delete)查询(select)改(update),以及事务(transaction)等操作。
https://ysliving.github.io/post/58c4c0c4.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文介绍了使用空 struct{}/空结构体的优点:不占用内存,且具有良好的语义。
https://ysliving.github.io/post/charpter-3/hpg-sync-cond.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。sync.Cond 是一个条件锁,也被称为条件变量,常用来一写多读(一个 goroutine 通知多个在等待的 goroutines)的场景。
https://ysliving.github.io/post/about.html
极客兔兔的小站,致力于分享一些技术教程和有趣的技术实践。
https://ysliving.github.io/post/gee.html
7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial),用 Go语言/golang 动手写Web框架,从零实现一个Web框架,以 Gin 为原型从零设计一个Web框架。
https://ysliving.github.io/post/hai-goshopping.html
嗨购,都是些珍藏多年的宝贝。包括潮鞋,潮表,潮饰等。
https://ysliving.github.io/post/tensorflow2-gym-pg.html
TensorFlow2教程,TensorFlow2.0教程,TensorFlow 2.0 入门系列文章,第九篇,使用强化学习算法策略梯度(Policy Gradient),实战 OpenAI gym CartPole,代码仅70行。
https://ysliving.github.io/post/charpter-3/hpg-exit-goroutine.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文介绍了协程没有正常关闭导致内存泄漏的场景,并介绍了如何借助通道/信道(channel) 优雅地退出协程。
请开始你的评论吧~
https://ysliving.github.io/post/539e144.html
记录开发过程中一些工具的常用配置,加速在新环境上的准备效率。工具包括不限于微软 Linux 子系统 Ubuntu (WSL, WSL2), Git, 微软最新发布的命令行神器( Mircosoft Terminal )等。
https://ysliving.github.io/post/blog-experience-2.html
极客兔兔(Geektutu)的博客折腾记的第一篇,介绍博主对原创有价值的理解。
https://ysliving.github.io/post/blog-experience-7.html
极客兔兔(Geektutu)的博客折腾记的第七篇,模仿disqus的 SEE ALSO ON 功能,为静态博客添加“显示本站其他文章评论”的功能,完善内链。
https://ysliving.github.io/post/tensorflow2-gym-q-learning.html
TensorFlow2教程,TensorFlow2.0教程,TensorFlow 2.0 入门系列文章,第七篇,Q-Learning 玩转 OpenAI gym game MountainCar-v0。
https://ysliving.github.io/post/2dcd508c.html
五险一金 VS 个税小常识
https://ysliving.github.io/post/tensorflow-mnist-simplest.html
TensorFlow 入门系列文章,第一篇,mnist手写数字识别(网络搭建)。
https://ysliving.github.io/post/geerpc-day2.html
7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial),动手写 RPC 框架,参照 golang 标准库 net/rpc 的实现,实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第二天实现了一个支持异步(asynchronous)和并发(concurrent)的客户端。
https://ysliving.github.io/post/charpter-3/hpg-concurrency-control.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文介绍了 goroutine 协程并发控制,避免并发过高,大量消耗系统资源,导致程序崩溃或卡顿,影响性能。主要通过 2 种方式控制,一是使用 channel 的缓冲区,二是使用第三方协程池,例如 tunny 和 ants。同时介绍了使用 ulimit 和虚拟内存(virtual memory)提高资源上限的技巧。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.