Python
—— B站 Python 课程自学笔记 【B站网课】
一、python简介
1、简介
python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python是解释型语言︰这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python是交互式语言︰这意味着,您可以在一个Python提示符 >>> 后直接执行代码。
Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python是初学者的语言:Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到wwW浏览器再到游戏。
2、Python发展历史
Python是由Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmalTalk、Unix shell和其他的脚本语言等等。
像P ...
docker基础学习
黑马:https://www.bilibili.com/video/BV1HP4118797/?spm_id_from=333.337.search-card.all.click&vd_source=eca8bef44f4d5efc79f226fa688a5064
一、docker安装
1.1 安装
(一)安装命令:
Ubuntu:
1sudo apt install docker.io
(二)检查安装:
1docker -v
查看示例 12SDE@test-sg90-seatalk-10-136-185-3:~$ docker -vDocker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1
1.2 启动和校验
(一)启动docker
1systemctl start docker
查看示例 1234SDE@test-sg90-seatalk-10-136-185-3:~$ sudo systemctl start dockerSDE@test-sg90-seatalk-10-136-185-3:~$ ps aux | ...
golang日志库 —— zap
摘抄自:https://www.cnblogs.com/jiujuan/p/17304844.html
一、介绍
zap的特性
高性能:zap 对日志输出进行了多项优化以提高它的性能
日志分级:有 Debug,Info,Warn,Error,DPanic,Panic,Fatal 等
日志记录结构化:日志内容记录是结构化的,比如 json 格式输出
自定义格式:用户可以自定义输出的日志格式
自定义公共字段:用户可以自定义公共字段,大家输出的日志内容就共同拥有了这些字段
调试:可以打印文件名、函数名、行号、日志时间等,便于调试程序
自定义调用栈级别:可以根据日志级别输出它的调用栈信息
Namespace:日志命名空间。定义命名空间后,所有日志内容就在这个命名空间下。命名空间相当于一个文件夹
支持 hook 操作
做了哪些优化
基于反射的序列化和字符串格式化,它们都是 CPU 密集型计算且分配很多小的内存。具体到 Go 语言中,使用 encoding/json 和 fmt.Fprintf 格式化 interface{} 会使程序性能降低。
Zap 咋解决呢?Zap 使用一个无反射、 ...
solidity
https://solidity-cn.readthedocs.io/zh/develop/index.html
live reloading go with air
Golang应用实时重新加载利器: Air工具指南
使用Air实现Go程序实时热重载
一、简介
Live reloading(实时重载)和 Hot-reload(热重载)并非完全同义,它们都与开发过程中的代码更新反馈机制有关,但在实现方式和效果上存在差异。
Live reloading(实时重载)
原理:当监测到代码发生变化后,它会直接刷新整个应用程序页面或重新启动应用。就好比在开发网页时,一旦保存了修改后的代码,浏览器会自动刷新页面,从而展示最新的效果;在开发桌面应用或者移动应用时,应用程序会被重新启动。
效果:因为是整体刷新或重启,这就会使得之前在应用中的操作状态丢失。比如在网页表单里填写了部分内容,页面刷新后,填写的内容就没了;在游戏应用中玩到一半,重新启动应用后就得从头开始。
使用场景:对于那些对状态保存要求不高,或者页面结构、样式、整体逻辑改动较大的情况比较适用。像静态网站开发、样式文件修改等场景,使用实时重载就能快速看到修改后的效果。
Hot-reload(热重载)
原理:当代码改变时,它不会重新启动整个应用程序,而是仅替换发生改变的那部分代码模块。在运行时动 ...
go编程规范
项目目录结构
Go 官网并没有给出一个目录结构的标准模板,但是 golang-standards 倒是给出了一个。
中文readme
在此基础上,我的项目目录结构具体使用如下:【持续更新!!!】
https://github.com/gw-gong/template_project
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172.├── api│ ├── router│ │ ├── service01.go│ │ └── service02.go│ └── rpc│ ├── <service_name>.pb.go│ ├── <service_name>.proto│ └── makefile├── cmd│ ├── service01│ │ └── main.go│ ...
.ini
INI 文件(Initialization file)的出现和发展与计算机早期操作系统及软件的配置需求紧密相关,以下介绍它的由来:
起源背景
在计算机发展早期,软件的配置管理是一项具有挑战性的任务。随着计算机软件功能逐渐增多,需要对各种参数进行设置和调整,例如硬件设备的参数、软件的运行选项等。为了方便用户和开发者对软件进行配置,一种简单、易读的配置文件格式就应运而生,这就是 INI 文件。
诞生与发展
早期操作系统的应用:20 世纪 80 年代,微软的 MS - DOS 和 Windows 3.x 等操作系统广泛使用 INI 文件。在 MS - DOS 时代,许多应用程序需要对硬件设备(如显示器、打印机等)进行配置,INI 文件提供了一种方便的方式来存储这些配置信息。例如,用户可以通过修改 INI 文件来设置显示器的分辨率、颜色模式等。
Windows 系统的推广:Windows 3.x 系统进一步推广了 INI 文件的使用。系统本身和许多应用程序都依赖 INI 文件进行配置。例如,Windows 的系统配置文件system.ini和用户配置文件win.ini,分别存储了系统级 ...
mysql使用笔记
Explain
Extra 内容解释
类型
说明
Using filesort
MySQL 有两种方式可以生成有序的结果:通过排序操作或者使用索引。当 Extra 中出现了 Using filesort 说明使用了前者,但注意虽然 filesort 但并不是一定就是用了磁盘文件来进行排序,也可能是在内存里完成的。当出现排序,可以通过添加合适的索引来改进性能,用索引来为查询结果排序。
Using temporary
用临时表保存中间结果,常用于 GROUP BY 操作中,一般看到它说明查询需要优化了。
Using index
使用索引覆盖的情况
Using index condition
发生索引条件下推(Index Condition Pushdown)的情况
Using where
全表扫描的时候,MySQL 服务层应用 where 条件过滤数据;使用索引访问数据,但是 where 子句中有除了改索引包含的字段之外的条件
Using join buffer
当关联查询使用 Block Nested Loop 算法或者 Batched Key Acce ...
资源
Application
Typora旧版本(免费)
Typora 最后一个免费版本是 0.11.18(Windows、macOS、Linux 系统通用) 。在这个版本之后,Typora 从免费软件转变为采用订阅制的付费软件。
mac:https://typora.cn.uptodown.com/mac/versions
win:https://typora.cn.uptodown.com/windows/versions
Charles
抓包工具
www.charlesproxy.com/
https://juejin.cn/post/6844904182588112904
推荐阅读:https://www.cnblogs.com/Uni-Hoang/p/13796852.html
配置https:https://blog.csdn.net/jdsjlzx/article/details/95970917 (没有配置,抓到加密数据看不了啊)
破解:https://www.cnblogs.com/hahaniuer/p/17915980.html
内网穿透
内网穿透是一种将内网 ...
技术摘抄
systemd
systemd.unit 中文手册 https://www.jinbuguo.com/systemd/systemd.unit.html#
grafana
视频:https://www.bilibili.com/video/BV1Yv4y1W7tF/?vd_source=eca8bef44f4d5efc79f226fa688a5064
echart官方case:https://echarts.volkovlabs.io/dashboards
插件链接:https://grafana.org.cn/grafana/plugins/volkovlabs-echarts-panel/ (数据源)
jenkins
https://devtest-notes.readthedocs.io/zh/latest/CI/continuous-integration-for-jenkins-api-2.html
confluence
API:https://docs.atlassian.com/ConfluenceServer/rest/6.9.1/
个人访问令牌使用方式:
...