0%

什么是GIL GIL(Global Interpreter Lock,即全局解释器锁),是最流行的 Python 解释器 CPython 中的一个技术术语。它的意思是全局解释器锁,本质上是类似操作系统的 Mutex ,它可以帮助CPython解决其在内存管理中存在的线程不安全问题。 每一个 Python 线程,在 CPython 解释器中执行时,都会先锁住自己的线程,阻止别的线程执行。 简而言之就是任意时刻,Python 只有一个线程在同时运行。 为什么需要GIL 在CPython中,全局解释器锁(GIL)是一个互斥体,用于保护对Python对象的访问,防止多个线程同时执行Python
阅读全文 »

MitmProxy是一组优秀的网络代理拦截工具,可为 HTTP/1、HTTP/2 和 WebSockets 提供交互式、支持 SSL/TLS 的拦截代理。它提供 拦截 HTTP 和 HTTPS 请求和响应并动态修改它们、保存完整的 HTTP 会话,以供重放攻击和分析、反向代理模式将流量转发到指定服务器、macOS 和 Linux 上的透明代理、对 HTTP 流量进行脚本化更改等功能。 * 官方地址:https://mitmproxy.org/ * 官方文档:https://docs.mitmproxy.org * 官方博客:https://mitmproxy.org/posts/ *
阅读全文 »

开源官方网站 下载界面 官方文档 openresty 商业nginx 商业openresty 什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 正向代理: 是一个位于客户端和原始服务器(origin server) 之间的服务器
阅读全文 »

Book 官方wiki 经典书籍 《The Way To Go》- Go 语言百科全书 《Go 101》- Go 语言参考手册 《Go 语言学习笔记》- Go 源码剖析与实现原理探索 《Go 语言实战》- 实战系列经典之作,紧扣 Go 语言的精华 《Go 程序设计语言》- 人手一本的 Go 语言“圣经” 《Go语法树入门——开启自制编程语言和编译器之旅》 《golang编译器代码解析》 值得一读 《go语言精进之路》(全两册)—白明 《Go语言高级编程》 《go语言底层原理剖析》 《go语言并发之道》 在线图书 《go语言设计与实现》 《go语言原本》 《Go
阅读全文 »

官方网址:kafka.apache.org Mirror of Apache Kafka github: https://github.com/apache/kafka 什么是Kafka Apache Kafka 是一款开源的消息引擎系统, 也是一个分布式流处理平台(Distributed Streaming Platform) * 处理实时数据提供一个统一、高吞吐、低延迟的平台。 * 它使用的是纯二进制的字节序列, 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间复杂度的访问性能。 * 高吞吐率。即使在非常廉价的商用机器上也能做
阅读全文 »

git安装 mac 1 brew install git git-lfs Linux(centos) 1 yum install -y git git-lfs git配置初始化 1 2 3 4 5 6 git config --global user.name "paynewu" git config --global user.email "wuzhipeng1289690157@gmail.com" git config --global credential.helper store git config --global core.longpaths true
阅读全文 »

SpaceVim 是一个社区驱动的模块化的 Vim IDE,以模块的方式组织管理插件以及相关配置, 为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱即用的 Vim IDE。 相关链接如下: 官方网站 中文官方网站 github gitee 入门指南 安装 前置条件: 需要安装完成vim或neovim 1 2 3 4 5 # 前置安装 ## centos python3 -m pip install -U pip && python3 -m pip install pyn
阅读全文 »

什么是方法 ​ 方法一般是面向对象编程(OOP)的一个特性,在cpp中方法对应一个类对象的成员函数,是关联到具体对象上的虚表中的。但是Go语言的方法却是 关联到类型的,这样可以在编译阶段完成方法的静态绑定。 ​ 一个面向对象的程序会用方法来表达其属性对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。面向对象编程( OOP) 进入主流开发领域一般认为是从cpp开始的,cpp就是在兼容C语言的基础之上支持了class等面向对象的特性。然后Java编程则号称是纯粹的面向对象语言,因为Java中函数是不能独立存在的,每个函数都必然是属于某个类的。 面向对象编程更多
阅读全文 »

svn使用 命令行实现rollback 1 2 3 4 5 6 7 # 查看前100条提交日志 svn log -v -l 100 svn log -v -l 100 > svn_do.log # 尝试回滚 svn merge --dry-run -r 当前版本号:目标版本号 target_repo_addr # 回滚 svn merge -r 当前版本号:目标版本号 target_repo_addr
阅读全文 »

安装 1 2 3 4 5 6 7 8 9 10 11 # 普通安装 brew install neovim # 开发版本安装 brew install --HEAD luajit brew install --HEAD neovim # 包安装 curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-macos.tar.gz tar xzf nvim-macos.tar.gz ./nvim-osx64/bin/nvim # 验证安装 nvim --version 熟悉的所有Vim命令都可以在Neo
阅读全文 »