菜鸟笔记
提升您的技术认知


docker 教程

docker 教程docker 容器部署发展简史docker 架构docker 底层技术docker 网络实现docker dockerfile介绍docker compose 项目

leetcode 题解

leetcode 介绍

markdown 教程

markdown 教程markdown 标题markdown 字体markdown 段落markdown 列表markdown 引用markdown 代码引用markdown 链接markdown 图片markdown 表格markdown 语法介绍

redis 教程

redis 教程redis 简介redis 安装redis 环境配置redis 数据类型

wordpress 教程

wordpress 教程wordpress 安装

http 教程

http 教程http 工作原理http url介绍http uri和url的区别http 消息结构http 请求方法http 响应头信息http 状态码http content-typehttp 缓存机制及原理http 各版本区别https 请求过程https 原理http 协议超级详解

linux 教程

linux 教程linux 简介linux 安装linux 系统启动过程linux 系统目录结构linux 文件系统linux 文件基本属性linux inode 介绍linux 文件与目录管理linux 文件压缩linux 权限管理linux 用户管理linux 系统用户组管理

shell 教程

shell 教程shell 变量shell 数组shell 传递参数shell 基本运算符shell 流程控制shell 函数shell 输入/输出重定向shell 文件包含shell 正则表达式shell 字符截取shell echo命令shell printf 命令shell test 命令shell grep 命令shell sed 命令shell 字符处理命令

tcp/ip 教程

tcp/ip 教程计算机网络体系结构tcp/ip 基础tcp/ip 报文头部结构tcp 与udp的区别tcp 三次握手tcp 四次挥手tcp 流量控制tcp 状态转换图详解tcp 保证有序传输tcp 滑动窗口tcp 流量控制讲解tcp 拥塞控制

经典定律

墨菲定律马太效应21天效应垃圾人定律木桶原理从众效应破窗效应奶头乐理论长尾理论幸存者偏差边际效应社会懈怠效应蝴蝶效应多米诺骨牌效应手表定律不值得定律羊群效应费斯汀格法则唐僧团队毛毛虫效应蘑菇管理定律摩尔定律柏林定律半途效应棘轮效应猴子理论黑洞效应金鱼缸效应懒蚂蚁效应猴子管理法则abc理论成长型思维窄化效应pma成功法则费曼学习法零和博弈熵增定律

git 教程

git 教程git 安装和配置git 工作流程git 工作区、暂存区和版本库git 创建仓库git 基本操作git 分支管理git 查看提交历史git 标签管理git github使用指南git github服务器搭建git 常用命令git 基础教程

vim 教程

vim 教程vim 安装vi 和 vim 的区别vim 模式介绍vim 启动方式vim 文档操作vim 光标移动vim 文本插入vim 剪切复制粘贴vim 查找与替换vim 排版与检查vim 编辑多个文件vim 分屏编辑vim 快速编辑vim 编辑特殊文件vim 编程辅助vim 命令行vim 其他

svn 教程

svn 教程svn 简介svn 安装svn 生命周期svn 启动模式svn 创建版本库svn 检出操作svn 解决冲突svn 提交操作svn 版本回退svn 查看历史信息svn 分支svn 标签(tag)tortoisesvn 使用教程

leetcode 数组

搜索旋转排序数组

leetcode 字符串

无重复字符的最长子串

linux 基础

学会使用命令帮助文件及目录管理文本处理磁盘管理进程管理工具性能监控网络工具用户管理工具系统管理及ipc资源管理

linux 程序篇

程序构建程序调试性能优化进程间通信进程状态

linux 参考手册

linux 命令大全ascii 码对照表

linux 命令

linux cd命令linux ls命令linux cp命令linux du命令linux df命令linux kill命令linux alias命令linux unalias命令linux history命令linux export命令linux dmesg命令linux uname命令linux lsb_release命令linux ifstat命令linux iostat命令linux vmstat命令linux mpstat命令linux w命令linux pmap命令linux nohup命令linux command命令linux echo命令linux type命令linux ulimit命令linux declare命令linux dos2unix命令linux iconv命令linux unix2dos命令linux curl命令linux ftp命令linux scp命令linux rsync命令linux pstack命令linux pstree命令linux date命令linux crontab命令linux ipcs命令linux find命令linux grep命令linux cut命令linux chown命令linux sed命令linux pgrep命令linux mcopy命令linux vimdiff命令linux rgrep命令linux mv命令linux rm命令linux touch命令linux mkdir命令linux wget命令linux egrep命令linux fgrep命令linux split命令linux tree命令linux zcat命令linux hexdump命令linux nano命令linux install命令linux nl命令linux cat命令linux bzgrep命令linux tar命令linux unzip命令linux zip命令linux ln命令linux dirname命令linux dd命令linux pwd命令linux rename命令linux more命令linux less命令linux head命令linux wc命令linux uniq命令linux sort命令linux lsattr命令linux csplit命令linux which命令linux tail命令linux chmod命令linux cmp命令linux tee命令linux tcpdump命令linux ssh命令linux telnet命令linux ifconfig命令linux hostname命令linux host命令linux netstat命令linux let 命令linux set命令linux dumpkeys命令linux poweroff 命令linux rdev命令makedev命令loadkeys命令setleds命令linux ar命令bunzip2命令

linux 笔记

工作中最常用的linux命令,排查问题必备linux 简史用了这么多年linux,你清楚这些概念吗?详细linux 权限介绍linux 命令行简介在linux中建立swaplinux重启定时任务crontab命令linux系统指令 top 之 %si 占用高,分析实例mlock实现原理及应用linux 下三种高效的文件处理技巧linux proc/status 内存状态说明linux time_wait过多的问题如何解决timewait过多问题linux 查看进程占用内存linux 下 c so热更新vmrss vmsizefree命令中cached和buffers的区别截取命令cut命令、awk命令、sed命令几种清空linux文件的方法定时任务crontab详细用法linux grep正则表达式awk 删掉文件中重复的行查看linux系统版本awk 字符串连接操作(字符串转数字,数字转字符串)linux下设置和查看环境变量linux中的stdin是什么意思?linux下tar.gz文件解压缩命令如何让linux的history命令显示时间记录linux中修改文件编码linux中的&&和&,|和||详解运维人员常用的linux命令linux中修改文件或文件夹权限的chmod777计算cpu利用率linux查看系统版本、内核版本、机器位数centos7 查看系统版本详细讲解systemctl命令详解几种常见的raidcentos7 could not retrieve mirrorlist 问题原因mmap和madvise的使用释放大块内存时的阻塞问题多读场景下的本地缓存透明大页(huge pages) ---transparent hugepages进程地址空间几种内存泄露检测工具的比较进程空间elf文件格式总结rcu(read copy update)linux内核中的radix treelinux僵尸进程处置解析linux信号集操作函数什么是时序竞态?如何使用nload实时监控网络带宽简述linux的内存寻址方式linux下高效切换目录的方法在 linux 上调整命令历史linux命令su、sudo、sudo su、sudo -i使用和区别linux端口转发的几种常用方法linux之线程互斥锁5种检查可用内存的方法什么是僵尸进程以及如何处理#!/usr/bin/env python与#!/usr/bin/python的区别linux程序后台运行实践为你介绍4个超实用的linux监控工具ping: icmp open socket: operation not permitted的解决办法linux查看物理cpu个数、核数、逻辑cpu个数linux 线程控制实例linux下如何查看系统启动时间和运行时间shell实现ssh自动登陆用crontab定期执行脚本sz与rz命令-bash: unzip: command not found未找到命令的解决方法-bash: lsb_release: 未找到命令的解决方法-bash: sz: command not found未找到命令的解决方法如何查看linux系统位数?32位或64位?linux 查看进程之ps命令linux命令之du命令linux 软链接的创建、删除和更新linux shell 计算两个文件的并集、交集、差集linux上安装rz和sz命令linux 命令之split(将一个大文件根据行数平均分成若干个小文件)linux:ps命令详细使用查看进程运行时间ssh登录时在参数中加入密码的ag真人游戏的解决方案修改linux系统时间edt改为cstssh命令-使用密钥文件进行登陆ssh-agent 与 ssh 的区别linux 下的使用 ln 创建 软链接 和 硬链接linux内核 rename 命令批量修改名称一次进程hang住问题分析。。。gdb调试命令小结linux多线程同步方式linux性能监控工具linux查看硬件常用命令elf文件格式linux平台的c开发及运行环境bss段(未初始化数据)是否占用空间的问题linux内核地址空间分布tomcat connectiontimeout 问题执行shell脚本报错 cannot execute binary filelinux下的su,su -,以及cd,cd - ,cd ~总结

mysql 笔记

探索mysql的各种锁(表锁,行锁,悲观锁,乐观锁,间隙锁,死锁)mysql数据库操作基本入门mysql的索引是什么?怎么优化?mysql的密码管理、mysql初始密码查找、密码修改、mysql登录mysql5.7修改root默认密码mysql获取最新插入数据的id(id为自增)数据库索引原理数据库中的乐观锁与悲观锁mysql的b tree索引实战:上亿数据如何秒查一次性讲清楚mysql事务和锁mysql存储引擎innodb详解,从底层看清innodb数据结构从数据结构层面解析mysql索引原理mysql三大日志-binlog、redo log和undo logmysql进阶知识点,启动项、系统变量、字符集介绍!乐观锁vs悲观锁来自大厂面试官的mysql灵魂十连问myisam与innodb 的区别(9个不同点)mysql数据库中的各种锁第一范式(1nf)、第二范式(2nf)和第三范式(3nf)的区别【数据库】快速理解脏读、不可重复读、幻读【数据库】事务隔离级别【数据库】mysql 加锁处理分析修改mysql数据库字符集mysql创建用户,并设置指定访问数据库mysql索引的失效场景mysql自定义函数:身份证号码的真实性判定索引失效场景mysql游标循环的使用mysql 清空表中数据mysql同时插入多条记录mysql 之原有表上新增字段一条sql查询语句是如何执行的?一条sql更新语句是如何执行的mysql的主键查询为什么这么快从根上彻底理解mysql重点面试题mysql事务隔离级别与acidbuffer pool详解(free链表 flush链表 lru链表)innodb存储引擎buffer pool数据结构lru链表以及buffer pool运行机制从一条sql的执行流程来详细了解buffer pool修改mysql数据库的用户名和密码字符串加索引,你知吗?mysql 用法技巧mysql数据库 基本操作mysql数据库操作mysql数据库 表操作 ️正则表达式与分页查询mysql数据库之dml(数据操纵语言)数据库中ddl、dml、dcl的区别mysql数据库之ddl操作mysql 数据去重的三种方式记录一次mysql死锁mysql索引优化及面试题mysql触发器剖析mysql的innodb索引mysql innodb介绍sql注入详解sql注入基础原理(超详细)sql注入getshell的几种方式left join详解cast和convert用法和区别mysql高级查询mysql - 死锁的产生及ag真人游戏的解决方案mysql灵魂十连问mysqldump命令详解linux系统彻底卸载mysql数据库mysq order by 不走索引问题sql中的like用法mysql存储过程存储过程常见语法mysql命令行导入sql文件mysql导入sql文件的三种方法mysql命令行导入导出sql文件hive sql 五大经典面试题mysql 日期数据类型 - date, datetime, timestamp区别及相互转换mysql的union和union all图解数据库左连接、右连接、内连接、外连接、全连接的区别mysql 分页批量修改表名mysql的语句执行顺序ifnull() 函数mysql 优化面试题什么是mvcc记一次mysql占用内存过高的优化过程mysql 表分区 按天分区关于group by不使用聚合函数的分组情况搞定mysql的 行转列(7种方法) 和 列转行mysql跨机房同步方案mysql 主从复制原理及步骤mysql索引优化mysql的innodb的幻读问题mysql(innodb)如何避免幻读innodb幻读实例关于select中distinct的技巧和使用sql去重复操作详解sql中distinct的用法sql中的distinct的使用方法sql_distinct 语句详细用法

c 笔记

c std::unique_lock与std::lock_guard区别boost多线程之mutex与lockboost mutex lock 使用boost并发编程之shared_mutexc 智能指针详解boost库中thread多线程--细说lock_guardc 抛异常时如何获取堆栈调用信息c 的异常处理和堆栈信息c noncopyable禁止拷贝类c map拷贝赋值到另一个mapc vector的迭代器倒序遍历代码实现std::stringstream头文件及清空处理jsoncpp使用方法堆和栈的区别unordered_set使用介绍c sring类 浅拷贝&深拷贝&copy on writec explicit关键字c 操作符的优先级 及其记忆方法c 类占用空间大小c 11中std::numeric_limits的使用c/c ? 问号运算符c 模板类声明头文件和实现文件分离,如何编译?c 指针和数组及动态内存管理c 四种强制类型转换介绍c/c 进程内存布局c 抛异常时如何获取异常时的堆栈调用信息linux系统中的异常堆栈跟踪实现std::pair作为unordered_map的key代码中 i 与 i 的区别为什么(i )不能做左值,而( i)可以this指针大揭秘高并发内存池的实现c 内功修炼----面向对象的多态c 内功修炼----基础知识的零碎整理c 内功修炼----面向对象之封装c 内功修炼----预处理 volatilec 内功修炼----表达式c 内功修炼----函数c 内功修炼----面向对象概述c 内功修炼----面向对象之继承程序的内存结构new delete完全解析神兵利器shared_ptr unique_ptr weak_ptrc 动态内存管理一篇文章搞懂stl中的顺序容器之vector一篇文章彻底搞懂红黑树一文搞懂c 标准io库一篇文章搞懂stl中的迭代器iterator一篇文章彻底搞懂哈希表细说 c traits classesc 神奇的traitsc 内功修炼----变量一篇文章搞懂stl中的空间配置器allocator一篇文章搞懂stl中的顺序容器之liststl中的顺序容器之dequec 内功修炼----类型c stl中的vector的内存分配与释放c 中的static关键字大揭秘老生常谈,正确使用memsetc 死锁情况protobuf repeated的用法protobuf和thrift对比c 捕获异常时的栈信息用c 写一个单例模式c/c 引用作为函数的返回值守护进程c 中的new、operator new与placement new详细解说 stl 排序(sort)extern关键字c 左值 右值c 中的左值与右值一种高效的 vector 四则运算处理方法c unordered_map的使用c 单例模式总结与剖析c 11线程中的几种锁c 多线程编程实例c 中的异常安全性c 11的移动语义protobuf repeated类型的使用malloc和new的区别?经典面试题之new和malloc的区别c/c new与malloc的区别及使用时注意的问题多态的概念函数的形参和实参函数的递归指针是什么?c map.find使用方法std::vector中的陷阱c map用法总结通过代码如何获取环境变量c 面试题之哪些函数不能声明为虚函数c 结构体初始化与赋值c 类成员的初始化c 中的内联函数inlinec 函数指针c 中的函数指针总结c/c 在windows下获取时间和计算时间差的方法c 指针探讨 (一)数据指针c 成员函数指针c 函数对象

wordpress 笔记

wordpress 百度快速收录 api 提交代码及教程wordpress各种获取路径和url地址的函数总结wordpress文章别名设置英文、拼音和文章idwordpress后台新文章增加文章别名设置wordpress文章中随机段落中插入广告wordpress标题自动生成英文拼音别名wordpress文章自动添加description信息wordpress手动修改文章排列顺序wordpress刷新object-cache缓存wordpress只允许登录用户使用搜索wordpress常用函数wordpress纯代码生成网站地图sitemap.xmlwordpress获取当前分类的顶级分类idwordpress 获取当前页面分类的idwordpress自动对外链添加"nofollow"标签nofollow、noopener和noreferrer标签区别wordpress在指定页面添加js/css代码wordpress在特定页面加载css和js实例wordpress百度云cdn加速教程方法wordpress后台更新出现正在执行例行维护,请一分钟后回来的办法!wordpress 网站的复制和迁移重置wordpress 的管理员密码移除wordpress版本信息 删除无用信息wordpress调用指定分类随机文章wordpress限制非登录用户浏览分类文章wordpress如何获取全部文章总浏览数量如何给发表一定时间内文章添加特殊样式wordpress调用css最常用的方法有哪些wordpress调用指定分类文章如何实现wordpressag真人游戏首页列出所有分类及分类下的文章wordpress调用指定tag的文章wordpress刷新object-cache缓存wordpress备份插件all-in-one wp migration 解除上传限制!wordpress 需要访问您网页服务器的权限。 请输入您的 ftp 登录xxxxwordpress根据文章分类调用不同文章模板的几种方法如何在 wordpress 文章列表中插入一篇或几篇广告跳转文章wordpress分类页 在文章列表的任意位置插入广告代码wordpress 排除指定文章分类wordpress数据库及各表结构分析零基础个人网站搭建教程wordpress使用 redis 做缓存wordpress显示加载时间、数据库查询次数及内存占用wp keyword link出现php warning: use of undefined constant action - assumed 'actionwordpress批量删除垃圾评论方法wordpress忘记登陆密码怎么办wordpress开启 wp_debug 调试模式的方法wordpress固定链接设置完全指南阿里云官方平台的免费ssl证书python在wordpress上发布文章推荐一款实用性挺高的wordpress插件simple urlswordpress批量发布内容python脚本

docker 安装

docker 版本简介centos 安装 dockermacos 安装 dockerubuntu 安装 dockerred hat 安装 dockerdebian 安装 dockergentoo 安装 dockerrackspace cloud 安装 dockeramazon ec2 安装 dockeribm softlayer 安装 dockerfrugalware 安装 dockerfedora 安装 dockeropensuse 安装 dockercrux linux 安装 dockerwindows 安装 dockerbinaries 安装 docker

docker 使用

docker 运行 hello worddocker 容器使用docker 镜像使用docker 容器连接docker 仓库管理docker dockerfiledocker composeswarm 集群管理

docker 实例

docker 安装 mongodbdocker 安装 reidsdocker 安装 postgresqldocker 安装 riakdocker 安装 sshdocker 安装 couchdbdocker 安装 apt-cacher-ngdocker 安装 nginxdocker 安装 mysqldocker 安装 pythondocker 安装 tomcatdocker 安装 apachedocker 安装 node.jsdocker 安装 phpdocker 安装 centosdocker 安装 ubuntu

git 笔记

git 覆盖本地某个文件,放弃当前修改分享git的一些高级技巧git使用常见问题解决方法汇总git master分支代码合并到自己的分支git merge 命令的应用场景git文件的四种状态git入门教程git从master分支拉取新分支git 放弃本地修改git系列:初步认识和使用gitgit系列:如何创建和初始化仓库,添加更新修改git系列:版本回退git系列:管理、撤销以及删除git系列:如何使用远程仓库git系列:分支管理git系列:如何重命名仓库,并同步远程仓库git系列:进一步讲讲git的分支管理git常用指令合集如何写好 git commit messagesgit 简洁提交——合并多个commit使用git log比较不同分支的差异git、github、gitlab的区别linux -bash: git: 未找到命令的解决方法git根据tag创建分支git tag的用法git修改文件权限方式git忽略掉文件权限检查git合并分支上指定的commitgit commit后,如何撤销commitgit commit之后,想撤销commitgit tag 标签完全用法git 如何获取指定 tag 代码git pull 强制拉取线上代码覆盖本地用gitlab 在linux 上搭建自己的 git 服务器git 查看远程分支、本地分支、删除本地分支git删除远程分支理解git常用命令原理git回滚代码到某个commitgit回退到指定版本git stash详解虚拟机与docker有何不同git merge和rebase的区别git merge 与 git rebase的区别git撤销add操作git 撤销add 和 撤销改动git 合并某个提交commit到指定的分支上git合并特定commits 到另一个分支git 回退到某个commitgit reset 三种模式git diff 只显示文件名git忽略规则和.gitignore规则不生效的解决办法git根据某个commit创建分支git 的配置git初始化仓库git diff 查看 git 区域文件的具体改动git log查看历史提交git checkout git 仓库 回退功能git 分支git 标签git pull强制覆盖本地文件git 撤销放弃本地修改git放弃本地文件修改git给项目打tag命令用git命令行打tag(标签)五步完成git tag打标签常用命令解决git冲突:please move or remove them before you can mergegit问题之unmerged paths: (use "git add ..." to mark resolution)git 回退代码到某次 commit错误提示fatal: paths with -a does not make sense.统计git 修改过的文件列表git fast-forwardgit 模型git命令索引git 技巧git 紧急救助git 查询历史git 解决冲突git 跨平台协作git 删除分支git 新建分支错误git bad object head错误git 集合运算git 二分查找git 线下传输仓库git 搜索git 统计git 钩子git 重写历史git 全局,用户,仓库作用域的配置文件git revert merge会出现的问题git 复制连续多个提交git clone 获取指定分支的指定commit版本git操作---在指定的commit id点创建分支git 删除具体某个提交commit的方法git命令面试篇git相关面试题目git常见面试题git checkout -bgit stash命令详解和使用git 的下载与安装

tcp/ip 笔记

tcp 为什么要三次握手tcp 为什么要四次挥手tcp/ip常见面试题tcp面试相关tcp/ip的四元组 五元组 七元组tcp 如何保证数据的有序传输面试高频考点:tcp的三次握手中,为什么要进行第三次?数据链路层网络层(ip协议)tcp time_wait详解linux 大量的time_wait解决办法tcp状态转换图udp tcp 消息边界tcp之深入浅出send和recvtcp性能优化之避免慢启动tcp性能优化之避免大量握手为什么需要四次挥手四次挥手中time_wait,close_wait,fin_wait_1,fin_wait_2状态浅析tcp socket如何判断连接断开检查非正常断开的tcp连接判断非阻塞socket是否已经断开的几种方法如何判断一个socket连接是否已经断开udp和tcp协议区别?tcp和udp编程区别close_wait状态的产生原因及解法端口状态 listening、established、time_wait及close_wait详解,以及三次握手,滑动窗口tcp协议的连接建立过程和释放过程简单介绍tcp/ip网络知识点总结这篇 tcp 、udp 绝了!“tcp连接”究竟是什么意思?tcp 核心问题 之 流量控制tcp报文段中的序号和确认号tcp到底有多厉害?网络通信tcp协议三次握手tcp与udp的区别udp丢包与tcp发送缓存区爆满tcp retransmission原因tcp retransmission 出现的原因_tcp重传问题排查思路与实践什么是三次握手和四次握手深入浅出tcp三次握手tcp协议的可靠传输原理tcp连接建立系列 — tcp选项解析tcp校验和的原理和实现tcp/ip:连接服务器失败(错误原因:connection refused)

python 笔记

python获取当前时间和当前日期python合并两个字典成一个新字典python类的实例化python 当前时间减一天importerror: no module named requestssyntaxerror: non-ascii character '\xe9'python注释python列表的按列访问,列表的转置python二维列表转置python反转列表的三种方式python:提取经纬度位置信息使用python删除一个文件或文件夹python里面search()和match()的区别python的十进制与任意进制的转换python 判断一个数是整数还是小数python实现定时器python apscheduler安装和基本使用python修改字典的值python跨文件调用变量python向已存在的excel中写入数据pip安装软件时出现command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*的ag真人游戏的解决方案python set遍历python中list的四种查找方法一日一技:如何使用 python批量读取多个文件python中fileinput模块介绍使用python写一个http接口pyhton 正则表达式符号详解numpy.array 函数简介python 打印显示设置python 对数据one-hot编码python里import和from import的区别python中import和from import的区别python定时备份为知笔记数据python中pandas的dataframe取数操作python编译器的选择与比较查看python安装路径几种方法python的打包神器—nuitka!python办公自动化十大场景,你都知道吗?mac下scrapy的安装python基础之scrapy简介python 中对象是如何被调用的?爬虫突破封禁的6种常见方法python 对字符串的判断python调用c 【环境配置篇】python调用c python解析参数的三种方法python算法re模块的详细解析python递归算法解决斐波那契数列no module named ‘cv2‘ 解决方法bs4之beautiful souppython:爱因斯坦阶梯问题对python中字符串编码的理解一文搞懂python中的三大法器之迭代器python去除html标签的几种方法python一直报错:syntaxerror: invalid syntax 的原因及解决办法python dataframe索引转成列_如何将 pandas dataframe 的索引转换为列python3之http.server模块python 正则表达式详解pip install 参数完全解析pip安装详解pip安装时-u参数的作用python中的finallybase64字符串转换为图片python读写docx文件python之classnumpy数组操作numpy库介绍python的enumerate函数python教程:*的用法理解 python 的 for 循环python flask web 框架入门24个非常实用的python小技巧python读写、创建文件、文件夹等等python获取当前工作目录python出现‘int‘ object is not iterable的解决办法python模块——os模块详解python三种方式单行、多行注释python中的单行、多行、中文注释套接字详解(socket)python实现input一行输入多个值python天文包python中yield的用法详解——最简单,最清晰的解释窗口函数python实现简单计算器(加减乘除)python中对table(表格)的应用python for循环使用详解python 宏使用详解python标准库之string 库python字符串截取子串python输出乘法口诀表京东自动下单脚本python连接hive总结python httplib模块http请求详解python 技术篇-httpclient库连接服务器发送请求解析响应实例演示,no module named ‘httplib‘问题解决方法python 相对路径问题:“no such file or directory“,原因及解决方法python graphviz画图python graphviz的使用(画图工具)python编程:graphviz库绘制流程图python graphviz的使用(画图工具)

mysql 教程

mysql 教程mysql 安装mysql 管理mysql 架构

工具使用

navicat 是什么?navicat 的安装如何使用客户端navicat连接mysql数据库?securecrt 配色方案securecrt 保持会话xshell入门教程graphviz程序员轻松绘图神器chrome浏览页面常用快捷键chrome插件开发进阶sublime 格式化代码 设置快捷键以及插件使用本地服务器环境phpstudy安装mac licecap--gif 屏幕录制工具vscode打开多个项目文件夹的解决方法vscode中的git使用篇在 vscode 中使用 git :拉取、提交、克隆vscode如何打开命令行提高生产力的vscode快捷键jupyter notebook 和 jupyter lab 的区别jupyter notebook连接远程服务器jupyter notebook服务器后台保持运行或关闭jupyter使用教程eclipse常用快捷键visual studio基本使用mac常用操作visual studio 2022安装保姆级教程vscode配置c/c 环境使用openvscode-server搭建一个web的vscodevscode server: 一个移动设备上编程/多人编程的解决方法 (附新手教程)wireshark常用过滤使用方法如何使用wireshark进行 关键字搜索过滤/搜索报文关键字/字符串查找wireshark中查找字符串在线代码编辑器code-servermac篇---mac安装jupyter

redis 笔记

redis性能问题分析和优化redis数据过期策略redis高频面试题亿级数据过滤算法神器-布隆过滤器面试时说 redis 是单线程的,被喷惨了!15张图解redis为什么这么快redis做消息队列redis常见对象类型的底层数据结构redis 单线程 为何却需要事务处理并发问题redis的并发竞争问题redis分布式锁深度剖析redis缓存穿透,缓存击穿,缓存雪崩详解缓存穿透,缓存击穿,缓存雪崩ag真人游戏的解决方案分析布隆过滤器的方式解决缓存穿透问题redis数据结构之hperloglogredis集群方案redis集群批量删除模糊key shell脚本mac下设置redis开机启动方法步骤从应用到底层 36张图带你进入redis世界单线程的redis为什么能支持10w 的qps?使用redis,你必须知道的21个注意要点redis 面试题全面总结redis基础、高级特性与性能调优redis使用规范redis 内存满了怎么办?redis的maxmemory设置以及淘汰策略介绍最新版redis安装配置教程redis数据类型---五大常用类型操作为什么redis会有哨兵?彻底搞懂redis的持久化redis的持久化机制redis发布与订阅redis键(key)记一次redis命令异常:参数截断缓存穿透、缓存雪崩、缓存击穿?再也不怕了,你随便问吧加锁了,还有并发问题?redis分布式锁你真的了解?redis的多路复用原理硬核 redis 使用规范redis cli命令详解缓存淘汰算法-lru 实现原理redis集群原理详解redis面试必备,超详细redis 应用场景redis主从复制关于redis缓存雪崩,穿透,击穿的介绍及ag真人游戏的解决方案

排序算法

经典排序算法插入排序选择排序冒泡排序快速排序希尔排序

vim 笔记

vim中数据粘贴取消自动缩进vim对行进行排序vi 常用的命令vim输入中文乱码和打开中文文件乱码的问题vim 按单词移动vi中如何跳转到指定行数vim跳转到开头、结尾、指定行linux系统vim编辑器的使用 页面跳转vim中的特殊字符vim多窗口使用技巧perf的基本使用方法linux下vim高亮度显示所需查找字符串vim的保存文件和退出命令vim入门技巧&常用命令整理vim使用方法与小技巧vim命令大全vim 操作命令大全linux命令行下vim指令笔记打造vim神器的方式让你的vim编辑器更高效vim 练级攻略如何在vim/vi中复制,剪切和粘贴如何在vi / vim中进行撤消和重做操作vim 如何删除或替换空行空格日常linux命令--vi/vim复制一行,粘贴

shell 笔记

shell 字符串操作(长度,查找,替换)详解grep中的正则表达式如何使用awk处理文本内容教你认识awk 用户自定义函数sed命令删除文件的指定行合并和排序 linux 上的文件grep的正则表达式应用print0 && xargsshell命令从字符串中提取数字linux grep多条件匹配数据linux grep匹配指定位数数字linux系统删除开头几个字符或者结尾几个字符linux 中大小写转换linux 系统 awk命令提取奇数行、偶数行及整数倍行linux 系统sed命令如何提取奇数行、偶数行及整倍数行grep显示匹配行的上下几行shell 判断字符串是否包含另一个字符串shell 脚本中获取执行系统命令的输出结果awk指令使用详解shell 杀死指定进程名称的进程方法linux系统清空swap脚本sed指令使用详解linux shell 中获取当前目录的方法sed & awk & grep 专题( 鸟哥 )shell-awk 按列求和sed修改文件内容sed 指令替换用法bat 将指令执行结果赋给变量shell内值命令之exitgrep不区分大小写查找字符串方法find 忽略大小写查找文件shell中的if语句shell if 条件判断linux echo -e 的作用shell 中 特殊变量$0, $#, $*, $@, $?, $$shell脚本超全详解如何运行.sh脚本文件用shell脚本合并多个文件内容【shell】删除文件中包含指定字符串的行(sed)shell判断字符串包含关系的三种方法shell之转义字符\hbase shell命令大全shell脚本中大于,大于等于,小于,小于等于、不等于的表示方法shell脚本中的等于和不等于shell—— awk两个特殊模式(begin 和 end)及awk高级应用(条件判断、循环)find 命令常用用法shell判断大于、小于、等于shell提取一行中的字符串

lvs 教程

lvs 简介为什么需要lvslvs 体系架构lvs 工作原理lvs 负载均衡模式lvs 负载均衡算法

markdown 笔记

markdown 表格内换行markdown常用语法(缩进、换行、字体大小等)macdown如何显示删除线

docker 参考手册

docker 命令大全docker 基础命令docker 常用命令docker 资源汇总

docker 命令大全

docker create 命令docker run 命令docker start/stop/restart 命令docker kill 命令docker rm 命令docker pause/unpause 命令docker exec 命令docker ps 命令docker inspect 命令docker top 命令docker attach 命令docker events 命令docker logs 命令docker wait 命令docker export 命令docker port 命令docker commit 命令docker cp 命令docker diff 命令docker login/logout 命令docker pull 命令docker push 命令docker search 命令docker images 命令docker rmi 命令docker tag 命令docker history 命令docker build 命令docker save 命令docker load 命令docker import 命令docker info 命令docker version 命令

docker 笔记

docker 清理命令你必须知道的dockerfiledocker介绍docker安装docker中image、container与volume的迁移docker镜像docker容器docker仓库docker创建nginx容器docker创建selenium容器docker创建dockerfile文件docker commit创建镜像docker registry镜像管理docker save and load镜像保存docker四种网络模式docker的数据管理(volume/bind mount/tmpfs)docker的daemon.json的作用修改docker容器启动配置参数docker配置dnsdocker监控容器资源的占用情况docker容器cpu、memory资源限制docker swarm集群部署docker swarm常用命令docker使用pipework配置本地网络docker使用portainer搭建可视化界面docker machinedocker compose编排容器docker 清理占用的磁盘空间docker 知识点docker无法正常启动的原因及解决办法docker 实例教程docker 中文文档(译)docker详细文档docker 详细文档docker容器高级操作dockerfile入门教程容器和虚拟机到底有啥区别?docker dockerfile使用详解

剑指offer

《剑指offer》刷题目笔记

剑指offer 数组

《剑指offer》二维数组中的查找《剑指offer》旋转数组的最小数字《剑指offer》调整数组顺序使奇数位于偶数前面《剑指offer》数组中出现次数超过一半的数字《剑指offer》连续子数组的最大和《剑指offer》把数组排成最小的数《剑指offer》数组中的逆序对《剑指offer》数字在排序数组中出现的次数《剑指offer》数组中只出现一次的数字《剑指offer》数组中重复的数字《剑指offer》构建乘积数组

剑指offer 字符串

《剑指offer》替换空格

剑指offer 链表

《剑指offer》从尾到头打印链表《剑指offer》链表中倒数第k个结点《剑指offer》反转链表

剑指offer 树

《剑指offer》重建二叉树《剑指offer》树的子结构《剑指offer》二叉树的镜像《剑指offer》从上往下打印二叉树《剑指offer》二叉树中和为某一值的路径《剑指offer》二叉树的深度《剑指offer》平衡二叉树《剑指offer》二叉树的下一个结点《剑指offer》对称的二叉树《剑指offer》按之字顺序打印二叉树《剑指offer》把二叉树打印成多行《剑指offer》序列化二叉树

面试题

实现一个lru cache 算法lru cache c 三种解法java实现lru算法及编码实现lru策略缓存lru算法常见缓存算法和lru的c 实现设计循环双端队列(deque)lru 缓存结构 (c 哈希双链表实现)lru缓存机制删除单链表中的指定节点linux 内核经典面试题拼多多社招面经:redis是重点,讲一讲redis的内存模型线程、进程、协程的区别c 经典面试题面试官:我们只想要这样的c 工程师linux c/c 学习路线链表操作汇总c 11的智能指针面试题浏览器中输入url后发生的事情常用的限流算法http协议和https协议面试题网络编程面试题目总结c 后台面试题目如何实现lru算法?如何寻找无序数组中的第k大元素?布隆过滤器 - 如何在100个亿url中快速判断某url是否存在?如何实现大整数相加?c 面试题及基本知识点总结c 给定出栈序列判定是否合法消息队列面试题要点redis缓存击穿,失效以及热点keyag真人游戏的解决方案网页在浏览器上的渲染过程几种限流算法lru算法例题c/c 常见面试知识点总结附面试真题----20210529更新引入mq消息队列的作用及其优缺点mysql面试篇社招三年后端面试题60道测开面试题,背完直接涨工资二叉树的层序遍历(两种方法实现)bitmap 海量数据处理

网络编程笔记

《unix网络编程》五种i/o模型《unix网络编程》select、shutdown函数《unix网络编程》套接字选项《unix网络编程》守护进程和inetd超级服务器《unix网络编程》epoll 的accept , read, writelinux 套接字编程中的 5 个隐患《unix网络编程》tcp服务器的几种常见状况分析《unix网络编程》epoll函数《unix网络编程》wait/waitpid处理僵死进程(sigchld信号)《unix网络编程》socket是什么《unix网络编程》epoll的et/lt模式注意点io复用与并发编程reactor和proactor模型基于tcp的客户端、服务器端socket编程网络编程调试水平触发和边缘触发五种io模型brpc长连接问题i/o多路复用之 selecti/o多路复用之 polli/o多路复用之 epollselect,poll,epoll之间的优点和缺点总结大端模式和小端模式的区别大端模式和小端模式详解大端模式和小端模式netperf大小端的介绍判断机器的大小端linux epoll模型正向代理与反向代理dns的工作原理常用计算机网络端口号brpc编译运行connection reset by peer的解决办法tcp粘包问题分析和解决thrift之服务模型和序列化机制epoll原理解析tcp、udp数据包大小的限制socket,tcp,http三者之间的区别和原理epoll模型讲解epoll原理详解及epoll反应堆模型非阻塞socket调用connect, epoll和select检查连接情况示例tcp为什么要三次握手socket 编程详解udp如何实现可靠性传输?网络基础面试整理你真的了解ip地址吗?什么是rpc最详细的 i/o 多路复用解析osi参考模型sockaddr与sockaddr_insockaddr和sockaddr_in详解网络编程之bind函数什么是套接字(socket)什么是套接字?socket基本介绍系统间通信1:阻塞与非阻塞式通信a系统间通信1:阻塞与非阻塞式通信b系统间通信2:通信管理与远程方法调用rmi系统间通信3:rpc的基本概念系统间通信4:基本io通信模型多张图带你彻底搞懂dns域名解析过程深入理解 epoll 的内核实现为什么服务端程序都需要先 listen 一下深入理解linux io复用之epoll

算法笔记

八大排序算法及其优化哈希的应用(位图,布隆过滤器)对一致性hash原理的理解布隆过滤器bitmap算法详解数组中只出现一次的数蚂蚱跳跃问题寻找丑数二叉搜索树异质链表二分查找有序数组最短路径算法-----dijkstra迪杰斯特拉算法一个漂亮的打印二叉树的程序c 求n个数的中位数详解二分查找算法双指针技巧浅谈动态规划浅谈递归算法几种常见的位运算算法的时间复杂度和空间复杂度链表的题型和解题思路递归之二分查找递归之快速排序递归之求数组最大值结构体对齐(字节对齐)规则及大小计算c 插入排序递归【c 】数组中的第k个最小元素【c 】“反转链表”相关的题目c 将十进制数转换为十六进制数动态规划题解递归算法时间复杂度分析排序算法汇总c 矩阵转置找出字符串中的最长回文子串 - 马拉车算法sunday 字符串匹配算法(c 实现)布隆过滤器(bloom filter)的原理和实现一致性哈希算法原理无序数组中找第k大的数寻找多数元素蓄水池抽样算法 (reservoir sampling algorithm)第k大数字-快排,大根堆实现前缀树c 二叉树遍历-递归迭代整理面试题37. 序列化二叉树八大排序算法四大查找算法图文详解二叉树双指针算法将数组分成两组,使两组的和的差的绝对值最小彻底理解线索二叉树三种简单排序算法三种经典高效排序算法重建二叉树(前 中、后 中)二叉树的层次遍历及其衍生问题算法思想之动态规划有趣的位运算程序员必知之浮点数运算原理详解动态规划套路详解二叉搜索树(c )贪心算法实例环形链表问题树的各种概念汇总全排列问题二连击二叉树的遍历堆排序详解 top-k问题堆的实现 堆排序栈的简单实现顺序表的实现单链表的实现实现带头双向循环链表算法时间复杂度和空间复杂度二叉树的前序、中序、后序merkle tree(默克尔树)算法解析剑指offer编程练习029——最小的k个数剑指offer编程练习008——跳台阶有效的括号优化算法——模拟退火算法什么是基数排序?六种常见聚类算法红黑树详解硬核图解面试最怕的红黑树史上最好理解的红黑树讲解,让你彻底搞懂红黑树动态规划详解归并排序图文详解二分查找的实现迪杰斯特拉(dijkstra)算法一致性hash链表算法实例判断一个数是不是质数(素数)循环队列的实现动态规划算法---钢条切割动态规划:01背包问题一致性哈希算法---负载均衡平衡二叉树二叉查找树与平衡二叉树链表面试笔试题目总结二叉树的前序遍历,中序遍历,后序遍历二叉树难题破解二叉树重点突破

wordpress 主题制作

wordpress主题制作教程:基础准备wordpress主题制作教程:主题文件解析wordpress主题制作教程:html静态模板制作wordpress主题制作教程:主题安装

操作系统笔记

进程,线程,协程与并行,并发进程线程协程的区别死锁进程,线程,多线程i 的线程安全性同步和异步孤儿进程和僵尸进程/proc进程信息linux中的分段和分页互斥量 mutex线程进程间通信进程创建进程优先级进程的基础知识进程与线程的区别(面试题)线程的控制(创建,终止,等待,分离)可重入 vs 线程安全死锁的概念一级缓存和二级缓存的理解一句话解说内存屏障 memory barrierbrk(), sbrk() 用法详解malloc/free函数的简单实现一文讲透 “进程、线程、协程”linux进程状态线程池的陷阱linux内核学习之进程和线程进程与线程的区别和联系内存寻址linux io子系统和文件系统读写流程page cache和buffer cache的区别与联系漫谈linux文件io多线程和多进程的区别内存泄漏字节、字、位、比特的概念和关系如何避免死锁ansi是什么编码?cpu寻址范围(寻址空间)cpu 使用率低高负载的原因创建多少个线程合适操作系统下spinlock锁解析、模拟及损耗分析线程堆栈堆和栈的内存分配堆和栈的概念和区别堆和栈的区别,申请方式,程序的内存分配什么是 pod 数据类型linux内存分配小结--malloc、brk、mmap系统调用与内存管理(sbrk、brk、mmap、munmap)进程描述和控制cpu执行程序的原理编译的基本概念linux虚拟地址空间布局一个程序从源代码到可执行程序的过程程序的运行机制——cpu、内存、指令的那些事分页内存管理——虚拟地址到物理地址的转换深刻理解linux进程间通信fork之后父子进程的内存关系fork之后,子进程继承了父进程哪些内容关于协程及其锁的一些认识对协程的一点理解std::thread join和detach区别cas和aba问题cas算法锁和无锁无锁队列的实现lock-free 编程锁开销优化以及cas进程、线程和协程之间的区别和联系多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)linux 原来是这么管理内存的线程上下文切换怎么玩儿进程和线程通信原理cpu密集型 和 io密集型cas原理以及atomic原子类分析改变线程状态的八个方法六种进程间通信方式

linux 工具参考篇

gdb 调试利器ldd 查看程序依赖库lsof 一切皆文件ps 进程查看器pstack 跟踪进程栈strace 跟踪进程中的系统调用ipcs 查询进程间通信状态top linux下的任务管理器free 查询可用内存vmstat 监视内存使用情况iostat 监视i/o子系统sar 找出系统瓶颈的利器readelf elf文件格式分析objdump 二进制文件分析nm 目标文件格式分析size 查看程序内存映像大小wget 文件下载scp 跨机远程拷贝crontab 定时任务gprof linux性能评测工具nmon linux性能评测工具valgrind工具内存泄露检测asan内存检测工具

c 笔记

c语言 unlink函数strncpy,strncat,strncmp函数的介绍c语言知识整理(1):简介c语言知识整理(2):volatile与registerc语言知识整理(3):内存管理(详细版)理解递归程序设计sizeof与strlen的区别与联系5分钟搞定内存字节对齐c语言getline()函数实现数组初始化方式c语言的数组初始化c语言strncasecmp()函数:比较字符串的前n个字符c语言 memset函数及其用法strcasecmp函数和strncasecmp函数源码struct stat结构体的详解和用法typedef和define的详解简单linux c线程池c语言中关键字volatile的含义c语言处理字符串函数总结c语言fgets读取整个文本文件的内容c语言-逐行读取txt文件的内容c语言运算符优先级gcc编译过程c语言字节对齐问题详解c语言预处理命令详解系统调用——open、write、read和closeftok()函数解析sprintf()函数的用法总结rand()函数怎么用c语言求水仙花数c语言冒泡排序将一个数组按照从小到大进行排序如何测试一个机器是大端还是小端循环语句中break 与 continue的区别写一个函数判断闰年c语言计算n的阶乘 c语言extern的作用getchar与putchar用法c语言图书管理系统数组越界c 中枚举enum详解逗号运算符和逗号表达式c字符串操作strcat/strcat_s详解switch/case语句中,每个case都要加花括号define与typedef、const、inline的区别c 把txt文件读到二维数组详解 printf() 函数用法c 遍历目录及其子目录数组指针和指针数组的区别c语言函数指针的理解与使用c/c 函数指针使用总结c/c assert()函数用法总结c语言库函数qsort形参和实参的区别程序的编译过程关键词static的用法snprintf 函数用法详解编译头文件 ““与<> 的区别c语言基础|你真的了解snprintf吗?bcd与ascii码互转-c语言实现冗长switch-case语句优化方案深析c语言的灵魂 -- 指针c语言_宏定义memcpy函数详解【c语言】正确比较两个字符串i 和 i的真正区别c语言实现哈夫曼树的编码c语言链表详解c语言链表操作详解c语言-字符串与字符数组区别c语言链表详解(超详细)欧拉函数打印一个n行的菱形ceil函数int类型的数值表示数的范围c 中stoi函数c语言中switch用法举例原码、补码、反码(超详细!)memset的用法详解使用memset踩过的坑【c语言】strcpy()函数typedef struct定义结构体与struct定义结构体之间的差异【c程序】timer_create系列定时器函数sscanf函数用法c语言向上取整计算方法c语言中的多行输入问题mktime时间函数linux mktime 源代码简析关于c语言memset的头文件及模板c 时间结构体(time_t和tm)execl()函数与execlp()函数calloc、malloc、realloc函数的区别及用法strtok()函数详解!没有了 main 函数,程序还能跑吗?

gdb 教程

gdb 是什么gdb 安装gdb windows安装

gdb 笔记

用gdb调试程序(一)用gdb调试程序(二)用gdb调试程序(三)用gdb调试程序(四)用gdb调试程序(五)用gdb调试程序(六)用gdb调试程序(七)gdb调试技巧-打印vector的元素值gdb调试时执行代码中的特定函数gdb使用详细介绍gdb打印vector 实例linux编译安装gcc5.3.0gdb跳出循环和跳出函数linux gdb 跳出函数,gdb常用命令总结gdb attach 方法

技术架构

阿里巴巴sentinel关于自适应限流魅族 c 微服务框架技术技术架构如何做?服务器技术和架构架构师必备的20个英文缩写自适应限流神器 netflix-concurrency-limits系统架构的演变系统架构演化历程深入浅出一致性hash原理,及问题解决一个亿级消息量的im系统,堪称精彩架构策略时间轮详解怎么画出好的架构图秒杀系统分析与实现浅谈服务治理与微服务

linux性能优化实战

linux性能分析概要cpu性能-平均负载loadcpu性能-cpu上下文切换(一)cpu性能-cpu上下文切换(二)cpu的使用率性能优化实战案例分析进程状态查看iowait分析中断概念查看系统资源性能指标和工具性能优化方法论

面试经验

腾讯社招面试经历用友面试经历杯具的应届生面试经历字节跳动面试,第三面挂了大厂面经我的支付宝3面 美团4面 腾讯4面,巧获offer腾讯pcg部门 后端开发腾讯teg一面记录面试一家小公司,被问了 1 个小时并发编程python获取每颗cpu使用率腾讯测试岗位的面试经历滴滴面试笔记面试鹅厂,我三面被虐的体无完肤……

程序员

如何不靠运气致富程序员修炼必读清单(一)程序员修炼必读清单 ( 二)程序员修炼必读清单(三)程序员修炼必读清单(四 )程序员应该熟悉的几门编程语言工程师成长知识图谱搜索引擎和知识图谱那些事

分布式笔记

cap理论cap 定理的含义

vscode 教程

vscode 教程vscode 安装vscode 安装插件

vscode 笔记

vscode好用的插件visual studio code(vs code)介绍vscode详细安装教程vscode怎么快速查看函数定义vscode 查看git 提交历史记录和代码作者 插件vscode远程开发环境搭建vscode 设置代码缩进vscode 设置代码自动保存vscode 取消代码预览缩略图vscode 调用浏览器运行 htmlvscode连接远程服务器

多线程笔记

自旋锁spin lockc thread用法总结终于明白:有了线程,为什么还要有协程?

菜鸟教程

rapidjson 构造数组将函数实现放在头文件中rapidjson解析和生成json绝对路径和相对路径gcc 优化选项 -o1 -o2 -o3 -os 优先级python求一个整数位数的方法python中判断数字位数的几种方法python计算分位数查看hive的版本如何查看hadoop的版本elasticsearch查看所有indexsublime 列模式 列编辑shell遍历目录下所有文件http-parser解析http报文详解supervisor守护工具配置lnmp为已有站点手动更新ssl证书记录java 最长回文、最长回文子串ssh免密码登录为linux内核开启bbr加速frp服务开机自启x86架构下,页面大小为什么是4k?如何限制对象只能建立在堆上或者栈上进程间通信的方式syntaxerror: non-ascii character '\xe5'tcp 连接半关闭问题ucontext 协程库代码分析python中yield的用法详解为php7.0安装redis扩展ucontext 简单协程库importerror: no module named cv2的完美解决方法hashmap扩容全过程关于hashmap常见面试考点(底层原理 扩容机制)dos批处理中的字符串处理详解(字符串截取)linux下如何查找.sh后缀的文件core文件出现“is not a core dump: file format not recognized”的原因和解决方法(看/proc/pid/limits)记一次docker问题定位(perf,iostat等性能分析)protocol buffers 2.5.0 安装python 使用thrift序列化与反序列化对象php的base64_decode乱码linux中后台运行 java -jarlinux常用命令--文件搜索linux常用命令--文件基础操作与文件权限变更linux常用命令--软件包管理之(rpm包管理)linux常用命令--文件编辑与查看linux常用命令--文件压缩与挂载linux常用命令--系统管理linux常用命令--系统管理之(用户管理、用户组管理)linux常用命令--系统管理之(进程管理、定时任务、系统监控)linux常用命令--软件包管理之(服务管理)linux常用命令--软件包管理之(yum与源码包安装)linux初窥:linux下ssh免密码登录配置如何查看centos7的版本信息linux环境变量文件介绍linux下tomcat的安装与配置centos解决-bash: vim: command not found10 个提高效率的 linux 命令别名shell比较浮点数和整数crontab 30秒执行一次python中字典合并的四种方法shell查看cpu 硬盘 内存使用率python 四大主流 web 编程框架python:web后台框架简单实现如何使用 brpc dummy serverlist、vector使用erase()时需要注意的地方——迭代器失效容器删除元素后迭代器失效_stl源码剖析——vector容器stl的erase()陷阱-迭代器失效总结.bashrc中定义实用的别名和函数centos7修改系统语言为简体中文阿里云ecs,配置ssh远程登录常见dos命令总结为什么1个字节(byte)等8位(bit)?序列化和反序列化qt生成随机数的方法xampp的安装及使用centos io调度算法linux 路由表设置 之 route 指令详解ssh协议详解epoll_event结构体restfull 接口规范理解cookie,session区别常见的http状态码已删除文件被锁无法释放磁盘空间dmesg里大量的sshd segfault at rip rsp error 4ipc通信方式之localsocket使用 codemirror 打造属于自己的在线代码编辑器selenium之find_element_by_xpath定位元素volatile底层实现原理linux chmod命令修改文件与文件夹权限命令代码三分钟弄懂线程池执行过程最优化算法之粒子群算法(pso)单链表的创建(有头结点和无头结点)打印二叉树的方法查看linux下网卡状态或 是否连接取物必胜策略linux root用户与一般用户的区别扩展php的mbstring功能- fatal error:call to undefined function mb_strimwidthjavascript与jscript的区别cpu密集型 io密集型cpu密集型与io密集型如何彻底的卸载anaconda

http 权威指南笔记

http 简介http url与资源http 报文http 连接管理http 持久连接http 关闭连接http web服务器的简单实现http 代理http 代理tipshttp 代理路径与安全验证http 缓存是怎么工作的?http 缓存的新鲜度判断http 缓存tips

分布式系统

高可用负载均衡负载均衡ag真人游戏的解决方案熔断方案限流补偿无状态详解高内聚低耦合详解全方位解读缓存先写db还是缓存分布式一致性算法raft分布式系统的经典基础理论分布式系统之cap理论10 张图搞懂服务注册发现机制服务注册与服务发现简介cas基本原理

java设计模式

如何学习设计模式java设计模式总结java设计模式--简单工厂模式java设计模式--工厂方法模式java设计模式--抽象工厂模式java设计模式--单例模式java设计模式--原型模式java设计模式--建造者模式java设计模式--装饰模式java设计模式--策略模式java设计模式--观察者模式java设计模式--代理模式(静态)java设计模式--代理模式(动态)(一)java设计模式--代理模式(动态)(二)java设计模式--适配器模式java设计模式--享元模式java设计模式--访问者模式java设计模式--桥接模式java设计模式--职责链模式java设计模式--备忘录模式java设计模式--组合模式java设计模式--状态模式java设计模式--模板方法模式java设计模式--迭代器模式java设计模式--命令模式java设计模式--中介者模式java设计模式--外观模式java设计模式--解释器模式

数据结构与算法

数据结构与算法数据结构与算法 算法基础数据结构与算法 算法的复杂度

c 设计模式

如何学习设计模式c 设计模式——简单工厂模式c 设计模式——装饰模式c 设计模式——享元模式c 设计模式——外观模式c 设计模式——代理模式c 设计模式——中介者模式c 设计模式——备忘录模式c 设计模式——观察者模式c 设计模式——状态模式c 设计模式——策略模式c 设计模式——访问者模式c 设计模式——组合模式c 设计模式——迭代器模式c 设计模式——抽象工厂模式c 设计模式——工厂方法模式c 设计模式——单例模式c 设计模式——建造者模式c 设计模式——原型模式c 设计模式——适配器模式c 设计模式——桥接模式c 设计模式——职责链模式c 设计模式——解释器模式c 设计模式——命令模式c 设计模式——模板方法模式

boost.asio

boost.asioboost.asio 同步和异步boost.asio 计时器boost.asio io_service类boost.asio tcp回显客户端/服务端boost.asio udp回显客户端/服务boost.asio 基于tcp的同步客户端boost.asio 基于tcp的同步服务端boost.asio 基于tcp的异步客户端boost.asio 基于tcp的异步服务端boost.asio deadline_timer使用说明

nas 教程

nas 是什么什么是raid什么是jbod?什么是热插拔什么是etx4/btrfs

linux内存管理

linux内存管理 详解

html 教程

html 教程html 简介html 编辑器html 基础html 元素html 属性html 标题html 段落

php 笔记

php 判断数组是否为空的5大方法php中如何判断数组是否为空php 函数的带问好的参数lnmp之安装php模块/扩展函数需要 php.ini 中 增加 mb_string 扩展的解决方法php-fpm的配置和优化php加密方式

http 笔记

理解http协议看完这篇http,跟面试官扯皮就没问题了一文让你搞懂所有http状态码含义https协议 的工作过程content-type 详解80和443端口的区别http1.0、http2.0、http 3.0及https简要介绍http状态码406(not acceptable) 错误问题解决方法http状态码401

shell awk 命令

awk 命令简介awk 执行过程awk 基本用法awk 内置变量awk 流程控制awk 函数awk 中调用脚本awk 运算符awk 外部变量值传递awk 高级输入输出

shell 技巧

shell 技巧 reshell 技巧 grepshell 技巧 sedshell 技巧 awkshell 技巧 awk编程shell 技巧 sort uniq tar splitshell 技巧 find xargsshell 技巧 系统运行状况shell 技巧 系统运行进程shell 技巧 管道组合shell 技巧 交互式使用shellshell 技巧 shell编程

微信公众平台开发

微信公众平台开发 配置接口微信公众平台开发 微信公众平台示例代码分析微信公众平台开发 订阅事件(subscribe)处理微信公众平台开发 简单回复功能开发微信公众平台开发 天气预报功能开发微信公众平台开发 翻译功能开发微信公众平台开发 聊天机器人功能开发微信公众平台开发 自定义菜单功能开发微信公众平台开发 数据库操作微信公众平台开发 消息回复总结微信公众平台开发 功能整合微信公众平台开发 发送客服消息

正则表达式

正则表达式

jupyter 笔记

jupyter notebook出现kernel error或者kernel starting please wait解决/处理方法jupyter lab中如何更改工作目录关于在终端能到import模块 而在jupyter notebook无法导入的问题jupyter安装与使用教程jupyter notebook闪退 报错ag真人游戏的解决方案解决:jupyter notebook无法导入第三方模块的问题jupyter notebook/lab显示行号jupyter并配置多个python版本切换jupyter-lab介绍jupyter-lab环境配置调试服务器代码jupyter notebook怎么运行上面的全部celljupyter lab安装和基本设置jupyter notebook 可以做哪些事情?vscode创建ipynbjupyter与vscodelinux 安装jupyter教程 自定义配置 jupyter忘记密码重置密码,jupyter忘记密码重置密码jupyter lab 密码登录、远程访问mac下jupyter的安装使用ipython notebook(jupyter notebook)指定ip和端口运行ipython notebook的安装及安装后网页不能打开问题ipython notebook(jupyter notebook)python2和python3内核(kernel)共存ipython notebook(jupyter notebook)如何显示已安装的内核jupyter notebook指定启动目录jupyter notebook基础(1)简介、安装、运行服务器jupyter notebook基础(2)用户界面——仪表盘(dashboard)jupyterlab改变字体方法( 内容、markdown、代码、输出、ui字体,jupyterlab版本3.0.12)pandas:利用styler对象设置series、dataframe在jupyter notebook中的输出样式(1)——基础接口pandas:利用styler对象设置series、dataframe在jupyter notebook中的输出样式(2)——内置样式pandas:利用styler对象设置series、dataframe在jupyter notebook中的输出样式(3)——格式化显示值、内置显示值格式化方法、表格外观、样式复用jupyter notebook基础(3)用户界面——notebook编辑器界面(editor):菜单和工具栏jupyter notebook基础(4)笔记本(notebook)概述、单元格类别、单元格模式jupyter notebook基础(5)快捷键说明、快捷键设置jupyter notebook基础(6)jupyter notebook命令行命令帮助jupyter notebook设置密码验证csdn、jupyter notebook、有道云笔记和typora四者通用的markdown语法使用anaconda虚拟环境作为jupyter notebook内核调整jupyter lab中markdown表格字体大小生成jupyter lab快捷方式jupyter lab通过安装插件利用autopep8等实现快速格式化代码jupyter lab(jupyter notebook)中单元格图片的存储方式及导出(还原)方法(关键点:ipynb文件,图片base64编码)centos7.6 设置jupyter lab(anaconda)远程访问,以系统服务运行

leetcode 笔记

数字在排序数组中出现的次数

serverless 架构

从零入门 serverless | 架构的演进serverless 的价值常见 serverless 架构模式serverless 技术选型函数计算简介函数计算是如何工作的?函数粘合云服务提供端到端ag真人游戏的解决方案函数计算的开发与配置函数的调试与部署自动化 ci&cd 与灰度发布函数计算的可观测性典型案例 1:函数计算在音视频场景实践典型案例 3:十分钟搭建弹性可扩展的 web apiserverless kubernetes 容器服务介绍serverless kubernetes 应用部署及扩缩容使用 spot 低成本运行 job 任务低成本运行 spark 数据计算gpu 机器学习开箱即用基于 knative 低成本部署在线应用,灵活自动伸缩快速构建 jenkins/gitlab 持续集成环境在线应用的 serverless 实践通过 ide/maven 部署 serverless 应用实践企业级 cicd 工具部署 serverless 应用的落地实践serverless 应用如何管理日志&持久化数据serverless 应用引擎产品的流量负载均衡和路由策略配置实践spring cloud/dubbo 应用无缝迁移到 serverless 架构sae 应用分批发布与无损下线的最佳实践如何通过压测工具 sae 弹性能力轻松应对大促sae 极致应用部署效率

pycharm 教程

pycharm 教程pycharm 安装pycharm 基础知识pycharm 快捷键pycharm 快捷方式pycharm omnipycharm macrospycharm microspycharm 改进和编写代码pycharm consolepycharm shellpycharm 调试pycharm 版本控制集成pycharm html和css集成pycharm javascript支持pycharm 提示pycharm 数据库工具pycharm 导出数据pycharm web框架pycharm djangopycharm pyramidpycharm flask

seo 教程

seo 教程seo 专业术语seo 策略和方法seo 网站域名seo 文件名seo 设计和布局seo 优化关键字seo 优化 meta 标签seo 标题优化seo 优化锚点seo 内容为王seo 验证网站文档seo 聘请专家seo 链接建设seo 移动搜索引擎优化seo 技巧seo 技术总结

seo 笔记

教你部署长尾关键词热搜关键词是什么?什么是url标准化301重定向怎么进行url标准化外部链接什么是死链接?什么是错误链接?相对路径的优点和缺点怎样优化url有利于seo目标关键词和长尾关键词的区别?长尾关键词的站内布局什么是长尾理论?如何判断关键词竞争程度锚文本链接是什么?锚文本外链的作用有哪些?什么是长尾关键词? 长尾关键词的优势什么是网站树状结构?如何选择好的域名定向锚文本是什么?定向锚文本的意义目标关键词是什么

java 笔记

java内存模型和volatile关键字java volatile 关键字详解java jvm内存结构之堆篇java jvm内存结构之pc寄存器java 垃圾回收之垃圾回收器篇jvm 内存结构之虚拟机栈java的垃圾回收算法java jvm内存模型之方法区java之jvm的 类加载子系统jvm 是什么jvm介绍jvm内存模型java的cas机制是什么jvm原理和调优jvm经典书籍java类初始化顺序总结关于thread.sleep的几个问题java notify和notifyall的区别jvm基础和调优cbrtcas的特性,乐观锁java多线程编程java中runnable和thread的区别java开发面试常见问题总结jdk环境变量配置为什么java中类名要与文件名一致错误:编码gbk的不可映射字符史上最全threadlocal 详解(一)史上最全threadlocal 详解(二)一文让你彻底搞懂aqs(通俗易懂的aqs)java堆内存溢出ag真人游戏的解决方案java中的gc机制javagc机制详解lock锁的方法使用java如何关闭gc,gc垃圾回收机制java的gc原理java开发中token 的使用java 文件上传同时携带参数拼多多面试官没想到threadlocal我用得这么溜,人直接傻掉threadlocal详解面试题 - threadlocal详解java内存模型jmmjconsole连接远程服务器方法jvm内存结构和java内存模型别再傻傻分不清了java内存模型(java memory model,jmm)一文看懂java内存模型(jmm)一篇文章让你彻底明白jdbc~全面理解java内存模型kafka 设计与原理详解threadlocal原理及使用场景java finalize方法使用java的对象存储在哪里?java 堆栈问题排查流程java多线程超详解fastjson详解feignclient配置java的map集合 详解map集合公钥和私钥的作用和区别使用线程池的10个坑多线程50问!聊聊工作中使用了哪些设计模式如何计算一个对象的大小final关键字的多种用法java中的main方法java内部类133道java面试题及答案(面试必看)java 实现md5加密java实现md5加密的三种方式java生成md5值md5算法的java实现线程池详解面试必问的cas,你懂了吗?okhttp详解okhttp get 和 post 的使用java反射java反射(超详细!)java多线程(超详细!)java构造方法(超详细!)java string类(超详细!)java中map详解java面试题——各种锁状态机 java简单实现23 种设计模式详解(全23种)java中将base64编码字符串转换为图片数组和二维数组java与c 的区别详解replace和replaceall的区别什么是反射?守护线程是什么关于守护线程多线程-守护线程垃圾回收算法常见的几种垃圾回收算法java垃圾回收算法java 垃圾回收机制垃圾回收的三种算法理解上下文切换带来的性能影响进程上下文切换与和线程上下文切换有什么不同?断点续传实现java11的8个新特性

redis key

redis 命令redis 键(key)redis 字符串(string)redis 哈希(hash)redis 列表(list)redis 集合(set)redis 有序集合(sorted set)redis hyperloglogredis 发布订阅redis 事务redis 脚本redis 连接redis 服务器redis georedis stream

redis 命令大全

redis del 命令redis dump 命令redis exists 命令redis expire 命令redis expireat 命令redis pexpire 命令redis pexpireat 命令redis keys 命令redis move 命令redis persist 命令redis pttl 命令redis ttl 命令redis randomkey 命令redis rename 命令redis renamenx 命令redis scan 命令redis type 命令redis set 命令redis get 命令redis getrange 命令redis getset 命令redis getbit 命令redis mget 命令redis setbit 命令redis setex 命令redis setnx 命令redis setrange 命令redis strlen 命令redis mset 命令redis msetnx 命令redis psetex 命令redis incr 命令redis incrby 命令redis incrbyfloat 命令redis decr 命令redis decrby 命令redis append 命令

nas 笔记

群晖 备份到另一个硬盘群晖双硬盘互备的最优方法群晖nas 天翼云盘 使用方法能在路由器里挂载阿里云盘的aliyundrive-webdav群晖修改默认5000、5001端口为80、443(更新系统有风险,紧急修复)群晖端口转发 路由器配置能将阿里云盘挂载为webdav的webdav-aliyundriver

html 笔记

html中空格的方式rgb颜色/色卡对照表html调用js的方法display:nonehtml 照片墙css的几种定位详解div居中方法(共9种)两个div并列一行显示的多种方法scrolltop()方法css颜色代码对照表html table 合并单元格html 表格html 文字行间距与文字间距属性html代码中的标签换行造成间距问题

go 笔记

深入理解golang contextgo mock 学习总结go语言超全详解(入门级)go中的协程原理详解go中高并发下的通信方式:channel管道的底层原理go中高并发下的锁是如何工作的go内存管理超详解go语言中的内存对齐是如何优化程序效率的?golang并发安全和锁原来go语言slice切片底层原理这么简单go 多线程go之多线程深入理解golang中的context包go中的三种排序方法常用的go代理go strings.split函数

cmake 教程

cmake 入门cmake 简单的例子cmake 静态库和动态库cmake install方法cmake 配置编译类型cmake 含参编译cmake 使用find_package()搭建工程cmake 多级目录cmake 头文件接口库编译cmake include的使用

cmake 笔记

cmake cmake_minimum_requiredcmake projectcmakelists.txt 语法介绍与实例演练

javascript 笔记

js返回网页顶部 scrolltop用法scrolltop是什么及用法说明前端中的scrollheight 、scrolltop、clientheight等意思js中bind()使用详情adminlte框架的基本使用闭包及应用什么是防抖节流js实现div的缩放功能div js 缩放方法js实现div的放大与缩小节流和防抖的原理以及实现什么是防抖和节流?如何实现防抖和节流?什么是防抖和节流?区别是什么?防抖和节流(详解) 使用场景和区别js和jsp中遍历list对象js几种加密/解密方法什么是跨域?跨域解决方法javascript事件代理(事件委托)

深度学习 笔记

激活函数的作用深度学习预备知识什么是深度学习?深度学习十大算法浅谈深度学习人工智能——深度学习深度学习之gpu注意力机制最新综述解读区域生长算法原理及matlab实现xgboost的公式推导,以及xgboost与gbdt的区别

nginx 笔记

nginx 出现504 gateway time-out的解决方法nginx 出现413 request entity too large问题的解决方法nginx access.log 忽略favicon.ico访问记录的方法nginx快速查看配置文件的方法nginx日志文件如何查看nginx日志?nginx配置nginx的location路径匹配规则nginx 跳转nginx跳转实现方法nginx实现域名跳转nginx配置从域名a跳转到域名b启动nginx、重启nginx、停止nginx与nginx开机自启nginx缓存详解nginx 中 location 块配置详解nginx配置ssl证书nginx 配置 https 完整过程linux下 nginx配置ssl证书实现https访问nginx应用场景nginx启动、重启、关闭nginx隐藏版本号inode使用率过高

css 笔记

css 样式优先级css实现单行、多行文本溢出显示省略号(…)css中的&代表的什么css 中“~”和“>”以及“ ””是什么意思css中box-sizing: border-box;的作用理解box-sizing属性border-box,content-boxbox-sizing: border-box;的作用css如何使字上下居中,css如何让字上下居中?css样式大全display:none和visibility:hidden两者的区别div元素定位的五种方法及其区别

redis 高级教程

redis 数据备份与恢复redis 安全redis 性能测试redis 客户端连接redis 管道技术redis 分区java 使用 redisphp 使用 redis

七天玩转 redis

day1、redis认识与安装day2、redis基本数据类型day3、redis位图和geoday4、redis持久化机制day5、java操作redisday6、springboot集成redisday7、redis常见面试题

拓展阅读

linux 网络包发送过程linux 网络包接收过程linux 同步阻塞网络 iotcp 三次握手四次挥手pcap(cap)包文件解析

beautiful soup教程

beautiful soup安装beautiful soup用法beautiful soup选择器beautiful soup选择元素的方法beautiful soup提取信息的方法beautiful soup嵌套选择的方法beautiful soup关联选择的方法beautiful soup方法选择器beautiful soup css选择器

xpath 笔记

python爬虫xpath语法及案例使用xpath 用法总结整理网络爬虫基础-xpath语法(一)xpath用法详细总结史上最全的xpath定位方法 全在这了!xpath基本案例(python)html之etree和xpath笔记lxml中etree的简单用法

mysql8 和mysql 5.7 的区别-ag真人游戏

阅读 : 347

1. nosql存储

mysql从5.7 版本提供了nosql的存储功能,在8.0中这部分得到一些修改,不过这个在实际中用的极少

2.隐藏索引

隐藏索引的特性对于性能调试非常有用,在8.0 中,索引可以被隐藏和显示,当一个索引隐藏时,他不会被查询优化器所使用

也就是说可以隐藏一个索引,然后观察对数据库的影响.如果性能下降,就说明这个索引是有效的,于是将其”恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多于的,可以删掉了

隐藏一个索引的语法

alter table t alter index i invisible;

恢复显示该索引的语法是:

	alter table t alter index i visible;

当一个索引被隐藏时,我们可以从show index命令的输出汇总看出,该索引visible属性值为no

**注意:**当索引被隐藏时,他的内容仍然是和正常索引一样实时更新的,这个特性本身是专门为了优化调试而使用的,如果你长期隐藏一个索引,那还不如干掉,因为索引的存在会影响数据的插入\更新和删除功能

3.设置持久化

mysql 的设置可以在运行时通过 set global 命令来更改,但是这种更改只会临时生效,到下次启动时数据库又会从配置文件中读取。
mysql 8 新增了 set persist 命令,例如:
set persist max_connections = 500;
mysql 会将该命令的配置保存到数据目录下的 mysqld-auto.cnf 文件中,下次启动时会读取该文件,用其中的配置来覆盖缺省的配置文件。

4.utf-8 编码

从 mysql 8 开始,数据库的缺省编码将改为 utf8mb4,这个编码包含了所有 emoji 字符。多少年来我们使用 mysql 都要在编码方面小心翼翼,生怕忘了将缺省的 latin 改掉而出现乱码问题。从此以后就不用担心了。

5.通用表表达式(common table expressions)

复杂的查询会使用嵌入式表,例如:

select t1.*, t2.* from
	 (select col1 from table1) t1,
	 (select col2 from table2) t2;

而有了 cte,我们可以这样写:

	with
	 t1 as (select col1 from table1),
	 t2 as (select col2 from table2)
	select t1.*, t2.* 
	from t1, t2;

这样看上去层次和区域都更加分明,改起来也更清晰的知道要改哪一部分。
这个特性在很多报表场景是很有用的,也是mysql优化的一个很重要特性。
1.235窗口函数(window functions)
mysql 被吐槽最多的特性之一就是缺少 rank() 函数,当需要在查询当中实现排名时,必须手写 @ 变量。但是从 8.0 开始,mysql 新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。
窗口函数有点像是 sum()、count() 那样的集合函数,但它并不会将多行查询结果合并为一行,而是将结果放回多行当中。也就是说,窗口函数是不需要 group by 的。
假设我们有一张 “班级学生人数” 表:

如果要对班级人数从小到大进行排名,可以这样利用窗口函数:

说明:在这里创建了名为 w 的 window,规定它对 stu_count 字段进行排序,然后在 select 子句中对 w 执行 rank() 方法,将结果输出为 rank 字段。
这个特性也是oracle11g有的一个新特性,在优化也是起着很重要的作用。

网站地图