文章
273
标签
62
分类
34
首页
文章
标签
分类
资源
留言
猿码记
搜索
首页
文章
标签
分类
资源
留言
猿码记
Python学习(四):列表&字典操作
发表于
2023-07-30
|
编程
Python
基础篇
1.列表操作1.1 遍历if __name__ == "__main__": name_list = ["张三", "李四", "王五", "老鳖"] ## ************** 只遍历名称****************** for name in name_list: print(name) # *****************遍历k和v********************** for k, v in enumerate(name_l ...
Python学习(三):字符串常见操作
发表于
2023-07-30
|
编程
Python
基础篇
1.字符串运算1.1 拼接字符串if __name__ == "__main__": name = "张三" sex = "男" # 使用+ 拼接 print("使用 + 拼接 >> ", "姓名:" + name + " 性别:" + sex) # 使用print 格式化 print("使用 print 格式化 >> 姓名:%s 性别:%s " % (name, sex)) # 使用for ...
Python学习(二):变量和类型
发表于
2023-07-30
|
编程
Python
基础篇
1. 第一个程序工作中一般都是使用PyCharm 进行开发,这里就直奔主题,直接展示一个程序的简单结构: 1.1 简单层级结构 1.2 示例源码main.py代码如下: # 导入其他包import basis.grammar# 程序入口if __name__ == '__main__': # 调用其他包里的函数 sumRes = basis.grammar.get_sum(1, 3) # 打印函数返回结果 print("求和结果:", sumRes) # 打印常量 print("常量:", basi ...
Python学习(一):环境安装
发表于
2023-07-29
|
编程
Python
基础篇
Python支持多种方式安装,这里推荐使用Anaconda,更方便管理版本等信息。 1. Anaconda介绍Anaconda 是一个用于科学计算的Python 发行版,支持Linux、Mac、Windows 系统,包含了众多流行的科学计算、数据分析的Python 包。 此外,Anaconda 提供了包管理与环境管理的功能,可以很方便地解决多版本python 并存、切换以及各种第三方包安装问题。 1.1 下载方式 国内地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive 官网地址: https://www.anaconda.c ...
Go底层探索(七):并发编程[上]-协程的由来
发表于
2023-06-06
|
编程
Go
进阶篇
1.介绍Go语言以简单、高效地编写高并发程序而闻名,这离不开Go语言原语中协程(Goroutine)的设计,也正对应了多核处理器的时代需求。 与传统多线程开发不同,GO语言通过更轻量级的协程让开发更便捷,同时避免了许多传统多线程开发需要面对的困难。因此,Go语言在设计和使用方式上都与传统的语言有所不同,必须理解其基本的设计哲学和使用方式才能正确地使用。 2. 系统进化史为了了解Go语言协程的设计,我们从系统历史设计出发,来看看最终Goroutine怎么一步一步到现在的设计; 2.1 单进程时代早期的操作系统每个程序就是一个进程,操作系统在一段时间只能运行一个进程,直到这个进程运行完,才能运行下 ...
Go底层探索(六):延迟函数defer
发表于
2023-05-18
|
编程
Go
进阶篇
@注: 以下内容来自《Go语言底层原理剖析》、《Go 语言设计与实现》书中的摘要信息,本人使用版本(Go1.18)与书中不一致,源码路径可能会有出入。 1.介绍defer是Go语言中的关键字,也是Go语言的重要特性之一。defer的语法形式为defer 函数,其后必须紧跟一个函数调用或者方法调用。在很多时候,defer后的函数以匿名函数或闭包的形式呈现,例如: defer func(...){ // 逻辑处理} 2. 特性2.1 延迟执行defer后的函数并不会立即执行,而是推迟到了函数结束后执行,示例如下: func deferDelayExec() { ...
Go底层探索(五):哈希表Map下篇-扩容
发表于
2023-04-11
|
编程
Go
进阶篇
1. 介绍随着哈希表中元素的逐渐增加,哈希的性能会逐渐恶化,所以我们需要更多的桶和更大的内存保证哈希的读写性能。 2. 怎么触发在每次对哈希表赋值时,都会调用runtime.mapassign 函数,该函数每次都会判断是否需要扩容,主要有两个函数:overLoadFactory和tooManyOverflowBuckets: // hash[k]=x表达式,会在编译期间转换成runtime.mapassign 函数的调用 func mapassign(t *maptype, h *hmap, key unsafe.Pointer) unsafe.Pointer { ... if !h ...
Go底层探索(四):哈希表Map上篇
发表于
2023-03-15
|
编程
Go
进阶篇
@注: 以下内容来自【Go语言底层原理剖析、Go 语言设计与实现】两书中的摘要信息,一起读书、一起学习。 1.介绍Go语言中的map又被称为哈希表,是使用频率极高的一种数据结构。哈希表的原理是将多个键/值(key/value)对,分散存储在buckets(桶)中。 通常map的时间复杂度为O(1),通过一个键快速寻找其唯一对应的值value。在许多情况下,哈希表的查找速度明显快于一些搜索树形式的数据结构,被广泛用于关联数组、缓存、数据库缓存等场景中。 如果想要实现一个性能优异的哈希表,需要注意两个关键点 —— 哈希函数和冲突解决方法。 2. 哈希函数与碰撞实现哈希表的关键点在于哈希函数 ...
Go底层探索(三):切片
发表于
2023-01-30
|
编程
Go
进阶篇
@注: 以下内容来自《Go语言底层原理剖析》、《Go 语言设计与实现》书中的摘要信息,本人使用版本(Go1.18)与书中不一致,源码路径可能会有出入。 1. 介绍切片是Go语言中非常常用的数据类型之一,使用方式和数组一样,但是其长度并不固定,我们可以向切片中追加元素,它会在容量不足时自动扩容。 1.1 声明在 Go 语言中,切片类型的声明方式与数组有一些相似,不过由于切片的长度是动态的,所以声明时只需要指定切片中的元素类型: []int[]interface{} 从切片的定义我们能推测出,切片在编译期间的生成的类型只会包含切片中的元素类型,即 int 或者 inter ...
Go底层探索(二):字符串
发表于
2023-01-28
|
编程
Go
进阶篇
1. 介绍 @注: 以下内容来自《Go语言底层原理剖析》书中的摘要信息,本人使用版本(Go1.18)与书中不一致,源码路径可能会有出入。 字符串在编程语言中无处不在,程序的源文件本身就是由众多字符组成的,在程序开发中的存储、传输、日志打印等环节,都离不开字符串的显示、表达及处理。因此,字符与字符串是编程中最基础的学问。不同的语言对于字符串的结构、处理有所差异。 1.1 字符串长度在编程语言中,字符串是一种重要的数据结构,通常由一系列字符组成。字符串一般有两种类型: 一种: 在编译时指定长度,不能修改。 另一种:具有动态的长度,可以修改。 在Go语言中,字符串不能被修改,只能被访问。 错 ...
Go底层探索(一):编译器
发表于
2023-01-15
|
编程
Go
进阶篇
1. 介绍 @注: 以下内容来自本人学习《Go语言底层原理剖析》书中的摘要信息。另外这本书中使用的Go是老版本,我使用的版本是Go1.18有时候源码路径可能会不一样 编译器是一个大型且复杂的系统,一个好的编译器会很好地结合形式语言理论、算法、人工智能、系统设计、计算机体系结构及编程语言理论。 Go语言的编译器遵循了主流编译器采用的经典策略及相似的处理流程和优化规则(例如经典的递归下降的语法解析、抽象语法树的构建)。另外,Go语言编译器有一些特殊的设计,例如内存的逃逸等; 1.1 为什么要了解Go语言编译器?通过了解Go语言编译器,不仅可以了解大部分高级语言编译器的一般性流程与规则,也能指导我 ...
K8s学习(十四):部署服务[下篇]
发表于
2023-01-06
|
微服务
Kubernetes
1.介绍在K8s学习(十三):部署服务[上篇]文章中,已经把持续集成和持续部署的相关软件都进行了安装,但由于文章篇幅受限,所以有关各个软件的具体使用和发布服务流程并未说明,在这篇文章中,我们接着继续学习… 文章中涉及到的go-app、pipeline完整代码、以及Containerd配置,关注公众号【猿码记】,回复【k8s-demo】即可获得 2.Jenkins容器映射2.1 映射软件说明 软件 说明 docker 在jenkins发布过程中,用于镜像制作。 goctl 生成制作镜像的Dockerfile和发布到k8s的配置文件,由go-zero提供 kubectl 将应 ...
1
…
3
4
5
…
23
刘庆辉
人生需要 “归零”,每过一段时间都要将过去 “清零”,让自己重新开始。
文章
273
标签
62
分类
34
Follow Me
公告
欢迎来到我的博客,互动请留言~
最新文章
Go常用包(三十六):自动化文档生成[swagger]
2024-06-20
Python框架篇(9):FastApi-SQLAlchemy集成
2024-05-10
Python框架篇(8):FastApi-文件处理
2024-04-01
Python框架篇(7):FastApi-依赖项
2024-03-26
AI学习(5):PyTorch-核心模块(Autograd):自动求导
2024-02-27
分类
AI学习
6
使用篇
1
使用篇(一):Ai绘图-Stable Diffusion WebUI
基础篇
5
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
微服务
18
Docker
4
创建自己的Docker镜像
Docker常用命令整理
查看Docker容器日志方法
基于Docker搭建禅道
Kubernetes
14
K8s学习(一):环境准备
K8s学习(二):集群部署
K8s学习(三):架构简述
K8s学习(四):运行应用
K8s学习(五):容器运行时Container
K8s学习(六):go服务部署(升级&回滚)
K8s学习(七):深入了解Pod
K8s学习(八):Pod健康检查
K8s学习(九):深入Service暴露
K8s学习(十一):Secret和ConfigMap
K8s学习(十):数据管理
K8s学习(十二):Helm入门
K8s学习(十三):部署服务[上篇]
K8s学习(十四):部署服务[下篇]
架构进阶
17
ElasticSearch
8
ElasticSearch(一):核心概念整理
ElasticSearch(二):架构设计总览
ElasticSearch7(三):索引(index)操作
ElasticSearch7(四):映射(mapping)操作
ElasticSearch7(五):文档操作-增改删
ElasticSearch7(六):文档查询之(Uri Search)
ElasticSearch7(八):聚合查询
ElasticSearch7(七):文档查询之(Request Body Search)
Mysql
8
MySQL深入(二):B+树索引分类和添加规则
MySQL深入(三):联合索引和覆盖索引
MySQL深入(一):B+树的演化和操作
SQL优化思路纪要
MyISAM和InnoDB之存储结构对比
在MySql中批量执行更新SQL语句
Innodb中的事务隔离级别和锁的关系
MYSQL性能优化神器之Explain使用
RabbitMQ
1
RabbitMQ之消息类型
理论知识
10
数据结构-单向链表
数据结构-双向链表、循环链
Http-头部属性
Http-状态码
其他术语
写时复制
存储单位
幂等性
TPS/QPS/PV/UV
进程、线程、协程
编程
202
Go
110
Gin框架
18
Gin框架(一):快速入门
Gin框架(十):日志使用(logrus+lumberjack)
Gin框架(十二):更多HTTP服务使用
Gin框架(三):路由初使用
Gin框架(四):路由组使用
Gin框架(五):参数接收
Gin框架(十一):验证器Validator使用
Gin框架(二):服务启动源码分析
Gin框架(六):参数绑定
Gin框架(九):BasicAuth授权认证中间件使用
Gin框架(七):文件上传
Gin框架(八):中间件
Gin集成(一):集成viper配置解析包
Gin集成(二):集成高性能日志zap
Gin集成(三):集成全功能ORM框架-GORM
Gin集成(四):集成JWT
Gin集成(五):集成Redis操作库
Gin集成(六):集成ElasticSearch操作库
基础篇
31
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
实战篇
6
基金分析系统(一):项目介绍
基金分析系统(三):爬取基金收益榜单
基金分析系统(二):通过数据模型建表
基金分析系统(四):爬取基金详情信息
基金分析系统(五):爬取基金持仓信息
基金分析系统(六):通过docker-compose项目部署
实践篇
5
框架开发(一):目录介绍和路由设计
框架开发(二):集成Gorm及使用
框架开发(三):集成Go-Redis及使用
框架开发(四):集成LogRus及使用
框架开发(五):集成Go-ElasticSearch及使用
常用包篇
36
Go常用包(十):viper配置文件解析
Go常用包(一):strings(字符串操作)包使用
Go常用包(十一):sort排序和查询
Go常用包(十二):rune字符操作包(unicode)
Go常用包(十三):Uber开源之高性能日志库(zap)
Go常用包(十四):高性能缓存库BigCache
Go常用包(十五):系统基本操作包使用(os)
Go常用包(十六):crypto之AES加解密
Go常用包(十七):crypto之RSA非对称加解密
Go常用包(十八):结构体匿名字段的Json序列化、反序列化
Go常用包(二):strconv(字符串转换)包使用
Go常用包(十九):全功能ORM框架[gorm]使用
Go常用包(二十):数学计算和常数(math)
Go常用包(二十一):360开源高性能excel库(Excelize)
Go常用包(二十二):JWT在Golang中的实现(jwt-go)
Go常用包(二十三):操作redis开源库(go-redis)
Go常用包(二十四):单元测试(testinng)
Go常用包(二十五):ElasticSearch客户端的实现
Go常用包(二十六):知名爬虫框架Colly
Go常用包(二十七):定时任务管理库Cron
Go常用包(二十八):构建现代CLI应用库Cobra
Go常用包(二十九):性能调试利器使用(上)
Go常用包(三):time(时间)包使用
Go常用包(三十):性能调试利器使用(中)
Go常用包(三十一):性能调试利器使用(下)
Go常用包(三十二):现代的Go工具库go-funk
Go常用包(三十三):高性能json解析器
Go常用包(三十四):高性能http客户端fasthttp
Go常用包(三十五):高性能的goroutine池[ants]
Go常用包(三十六):自动化文档生成[swagger]
Go常用包(四):fmt包使用
Go常用包(五):ioutil包使用
Go常用包(七):context上下文
Go常用包(六):bufio有缓存的IO包使用
Go常用包(八):sync辅助并发安全
Go常用包(九):flag命令行参数解析
进阶篇
14
Go底层探索(一):编译器
Go底层探索(二):字符串
Go底层探索(三):切片
Go底层探索(四):哈希表Map上篇
Go底层探索(五):哈希表Map下篇-扩容
Go底层探索(六):延迟函数defer
Go底层探索(七):并发编程[上]-协程的由来
RPC编程(一):初步了解RPC
RPC编程(二):快速入门使用
RPC编程(三):gRPC快速入门
RPC编程(四):protobuf语法学习
RPC编程(五):gRPC中的Token认证
RPC编程(六):gRPC中的TLS认证
RPC编程(七):gRPC中的截取器
Java
46
基础篇-数据类型及运算
基础篇-异常处理
基础篇-了解多线程
基础篇-初识Lambda
基础篇-Lambda操作集合
基础篇-Stream使用
基础篇-Collect方法详解
基础篇-Lambda操作Map
基础篇-FutureTask初使用
Java实践篇-使用Md5/Sha1/base64
基础篇-数组
基础篇-初始化块
基础篇-类
基础篇-注解
基础篇-泛型
基础篇-枚举
基础篇-集合
基础篇-map操作
Java实践篇-Api接口多版本控制
基础篇-抽象类和接口
SpringBoot学习(一):controller注解使用
SpringBoot学习(十):事务使用(@Transactional)
SpringBoot学习(十二):Mybatis连表(一对一)使用实践
SpringBoot学习(十三):Mybatis连表(一对多)使用实践
SpringBoot学习(十一):Mybatis批量插入数据
SpringBoot学习(十四):Mybatis连表(多对多)使用实践
SpringBoot学习(十八):SLF4J+Logback-日志使用
SpringBoot学习(十五):Mybatis多数据源实践
SpringBoot学习(十七):配置文件值注入
SpringBoot学习(十六):配置文件使用
SpringBoot学习(十九):初探Logback
SpringBoot学习(二):Swagger文档集成
SpringBoot学习(二十):Logback配置文件详解(上篇)
SpringBoot学习(二十一):Logback配置文件详解(下篇)
SpringBoot学习(二十二):约定编程模拟AOP的实现
SpringBoot学习(二十四):AOP之切点指示器
SpringBoot学习(二十三):AOP使用实践
SpringBoot学习(二十五):AOP之引入增强(@DeclareParents)
SpringBoot学习(二十六):AOP之多切面使用
SpringBoot学习(三):集成Mybatis
SpringBoot学习(四):集成Mybatis代码生成器(MyBatis Generator)
SpringBoot学习(五):验证器(hibernate-validator)使用
SpringBoot学习(六):集成阿里数据源(Druid)
SpringBoot学习(七):集成Redis并结合Spring Cache使用
SpringBoot学习(八):拦截器的使用
SpringBoot学习(九):验证码(EasyCaptcha)使用
PHP
11
开发compose包
PHP常用数组函数整理
PHP中的并发请求实践
搭建docker+PHP7+phpstorm+xdebug开发环境
基于laradock+phpstorm配置单元测试
PHP常用魔术函数整理
记一次在PHP中使用正则删除非汉字字符串
PHP常用字符串函数整理
基于laradock搭建非侵入式性能监控平台
PHP7更新变更差异整理
PHP-FPM配置详情及优化
Python
33
FastAPI框架
9
Python框架篇(1):FastApi-快速入门
Python框架篇(2):FastApi-参数接收和验证
Python框架篇(3):FastApi-响应模型
Python框架篇(4):FastApi-错误处理
Python框架篇(6):FastApi-配置管理
Python框架篇(5):FastApi-中间件使用
Python框架篇(7):FastApi-依赖项
Python框架篇(9):FastApi-SQLAlchemy集成
Python框架篇(8):FastApi-文件处理
基础篇
10
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
常用库
14
Python库学习(十):Matplotlib绘画库
Python库学习(一):日期和时间
Python库学习(十一):数据分析Pandas[上篇]
Python库学习(十二):数据分析Pandas[下篇]
Python库学习(十四):ORM框架-SQLAlchemy
Python库学习(二):数学计算(random、math、statistics)
Python库学习(四):json序列化和反序列
Python库学习(五):图像处理-Pillow
Python库学习(三):文件目录操作
Python库学习(六):科学计算库Numpy[上篇]:创建、访问、赋值
Python库学习(七):Numpy[续篇一]:结构数组
Python库学习(十三):爬虫框架-Scrapy
Python库学习(八):Numpy[续篇二]:数组操作
Python库学习(九):Numpy[续篇三]:数组运算
Vue
1
了解vue实例和生命周期
正则表达
1
正则使用
踩坑
5
Row size too large (> 8126) for mysql
服务-定时任务(crontab)使用总结
Mysql8采坑记录归纳
使用docker的采坑纪要
记录Git使用采坑纪要
运维
11
Nginx
3
Nginx反向代理使用
Nginx限流(防恶意请求)实践
Nginx配置调优
其他
1
批量更新多个服务器代码
命令
3
curl
ls
scp
服务
4
Centos-在Centos7中使用防火墙
Maven私服搭建(nexus3)和使用
记在Linux中搭建nfs文件共享的一次经历
RabbitMQ安装方法总结
面试题
4
PHP常见排序算法汇总
消息队列(MQ)相关面试题整理
PHP相关面试题整理
Redis相关面试题整理
标签
AI
AOP
Anaconda
Centos
ES
ElasticSearch
FastAPI
Gin
Go
Go入门
Go实战
Go实践
Go工具
Go底层
Go推荐包
Go编码规范
Go规范
Java
Java实践
Json
Jupyter
Kubernetes
Logback
MQ
Matplotlib
Mybatis
Mysql
Numpy
ORM
Pandas
Pillow
Python
Python框架篇
RPC
RabbitMQ
SQLAlchemy
Scrapy
SpringBoot
Vue
composer
文章
六月 2024
1
五月 2024
1
四月 2024
1
查看更多
网站资讯
文章数目 :
273
已运行时间 :
本站总字数 :
516.8k
本站访客数 :
本站总访问量 :
繁
本地搜索
由
hexo-generator-search
提供支持