avatar
文章
140
标签
139
分类
17
首页
归档
标签
分类
友链
咕咕
搜索
首页
归档
标签
分类
友链

咕咕

博客转移至GitHub Pages
发表于2018-11-25|博客•GitHub Pages•Hexo
一、前言已经很久没有写博客了,加上毕业之后腾讯云以及阿里云的一些针对学生的服务器优惠政策已经没法使用了,并且刚开始工作的资金比较紧张,在前段时候腾讯云的服务器过期之后,自己也没再续费,只是把域名续费了,把之前写的一些文章导出保存了下来,想着有精力的时候再拾起来,转眼之间,2018年已经快过去了,也是时候该整了一下了。 使用了很久的Ghost,对它的各种使用都很欣赏,也很感谢它培养了我的Markdown的写作习惯,但是需要花费一些金钱上的精力去维护一个自留地,多少成为了我逐渐放弃Ghost的原因;转移到GitHub Pages上很大的原因还是不需要去维护自己的服务器,只是去简单的记录,没有多余的担心,这一点比Ghost好了很多;自己博客上的文章倒是没有多少,但是的确是跟了自己很多年的心血,带着自己的当初的努力与骄傲。 二、博客迁移 GitHub Pages + Hexo + Melody Theme Disqus 微博图床 + 七牛云 + URL替换脚本 百度统计 + Google Analytics 三、GitHub Pages + Hexo + Melody ThemeGit...
Tmux使用记录
发表于2018-11-25|Tmux•Tools
一、简介Tmux是Linux中一款终端窗口复用的工具。对比与iTerm来说,iTerm只是作为一款GUI软件,在一个窗口中只能显示一个Shell的内容,但是Tmux却可以在一个窗口中显示多个Shell内容;对比与Screen来说,Screen是GNU 软件,而 Tmux 使用的是 BSD 协议,最为重要的是 Tmux 支持 Vi/Emacs 风格的键盘映射,更好的接口和文档,以及更好的脚本控制。 二、基本概念Tmux的主要元素分为三层: Session :一组窗口的集合,通常用来概括同一个任务,可以设置不同的名字以便于任务之间的切换; Window: 单个可见窗口,Window有自己的编号,也可以认为和 iTerm2 中的 Tab 类似; Pane: 窗格,被划分成小块的窗口,类似于 Vim 中 C-w +v 后的效果; 三、安装与使用3.1、安装brew install tmux # OSXpacman -S tmux # archlinuxapt-get install tmux # Ubuntuyum install tm...
三种洗牌算法shuffle
发表于2018-08-10|算法
一、简介洗牌算法可以被理解为三种洗牌算法,分别是抽牌(Fisher-Yates Shuffle算法),换牌(Knuth-Durstenfeld Shhuffle算法)和插牌算法。 二、具体算法2.1、Fisher-Yates 洗牌算法(抽牌算法)这个洗牌方法最早由Ronald A. Fisher和Frank Yates提出,即 Fisher–Yates Shuffle,其基本思想就是从原始数组中随机取一个之前没取过的数字到新的数组中,具体如下: 初始化原始数组和新数组,原始数组长度为n(已知); 从还没处理的数组(假如还剩k个)中,随机产生一个[0, k)之间的数组下标数字p; 从剩下的k个数中把下标为p的数取出,放在新数组的末尾(末尾有数字则放在末尾前一位,依次往前); 重复步骤2和3直到数字全部取完,新数组的数字序列就是一个随机的序列; 下面证明其随机性,即每个元素被放置在新数组中的第i个位置是1/n(假设数组大小是n): **证明:**一个元素m被放入第i个位置的概率P = 前i-1个位置选择元素时没有选中m的概率 * 第i个位置选中m的概率,即:...
TCP状态转换详解
发表于2018-05-20|网络•TCP/IP
一、TCP的状态转换图示 1.1、TCP标志位 CWR(Congestion Window Reduce):拥塞窗口减少标志,由发送端设置,用来表明发送端接收到了设置ECE标志的TCP包,发送端通过降低发送窗口的大小来降低发送速率; ECE(ECN Echo):ECN响应标志,在TCP的3次握手时表明一个TCP端是具备ECN(Explicit Congestion Notification)功能的,并且表明接收到的TCP包的IP头部的ECN被设置为11,更多信息请参考RFC793; URG(Urgent):表示紧急标志(The Urgent Pointer)有效,目前已经很少使用; ACK(Acknowledgment):取值为1时表示确认号有效,这是一个确认的TCP包,取值为0则不是确认包; PSH(Push):该标志置位时,一般表示发送端缓存中已经没有待发送的数据,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理,在处理Telnet或Rlogin等交互模式的连接时,该标志总是被置位的; RST(Reset):用于复位相应的TCP连接,通常在发生异常或者错误的时候会...
Linux下的常用指令
发表于2018-01-01|常用命令
记录了一些 Linux 下的常用的指令组合方式,比如查看 CPU 数量,查看指定进程的线程情况,释放页面缓存,关闭透明大页,Docker 相关命令等。 CPU相关# 查看CPU物理核心cat /proc/cpuinfo | grep 'physical id' | sort -u | wc -l# 查看CPU核心总数cat /proc/cpuinfo | grep 'cpu cores' | wc -l# 查看逻辑CPUcat /proc/cpuinfo | grep 'processor' | wc -l# 查看指定进程的线程情况ps -mp 8463 -o THREAD,tid,time# 查看进程的线程CPU占用top -H -p 32286 内存相关# 释放页面缓存echo 1 > /proc/sys/vm/drop_caches# 释放目录缓存、文件缓存echo 2 > /proc/sys/vm/drop_caches# 释放页面缓存、目录缓存、文件缓存echo 3 > /proc/sys/...
MacOS下的常用指令
发表于2018-01-01|常用命令•Mac
记录了一些 MacOS 下的常用的指令组合方式,比如重置 Launchpad 等。 系统操作相关# 重置 Launchpadcd ~/Library/Application\ Support/Dock/rm ~/Library/Application\ Support/Dock/*.db && killall Dockdefaults write com.apple.dock ResetLaunchPad -bool true && killall Dock
Docker学习笔记 - Docker底层设计
发表于2017-10-15|Docker•虚拟化
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便,本文列出了 Docker 和传统虚拟化方式的不同的设计。 一、基本架构 Docker 采用了 C/S 架构,包括客户端和服务端。Docker 守护进程 (Daemon)作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。 Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker 守护进程交互。 二、命名空间命名空间是 Linux 内核一个强大的特性。每个容器都有自己单独的命名空间,运行在其中的应用都像是在独立的操作系统中运行一样。命名空间保证了容器之间彼此互不影响。 2.1、pid 命名空间不同用户的进程就是通过 pid 命名空间隔离开的,且不同...
Docker学习笔记 - Docker镜像制作
发表于2017-10-10|Docker•虚拟化
Dockerfile 是一种被 Docker 程序解释的脚本,由一条一条指令组成,本质是一组指令的集合。Dockerfile 有自己的命令格式,Docker 程序会读取 Dockerfile,并将这些指令翻译成 Linux 命令,根据命令制成相应的镜像文件,使用户清晰的了解镜像的制作过程;镜像的定制实际上就是定制每一层所添加的配置、文件,如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。 一、Dockerfile指令1.1、FROM 指定基础镜像所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。而 FROM 就是指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。 除了选择现有镜像为基础镜像外,Docker 还存在一个特殊的镜像,名为 scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。如果你以 scratch 为基础镜像的话,意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一层开始存在。 不以任...
Linux进程的状态解析
发表于2017-10-10|Linux•进程
一、状态解析1.1、状态 R(TASK_RUNNING):可执行状态 S(TASK_INTERRUPTIBLE):可中断的睡眠状态 D(TASK_UNINTERRUPTIBLE):不可中断的睡眠状态 T(TASK_STOPPED/TASK_TRACED):停止状态或者跟踪状态 Z(TASK_DEAD - EXIT_ZOMBIE):退出状态(进程成为僵尸状态) X(TASK_DEAD - EXIT_DEAD):退出状态(进程即将被销毁,基本很少见) W(TASK_SWAP):进入内存交换(从内核2.6开始无效) 其他状态(可通过ps等指令查看到) <:较高优先级的进程 N:较低优先级的进程 L:数据页被锁进内存 s:包含子进程 l:多线程,克隆线程 +:位于后台的进程组 1.2、状态解析1.2.1、R(TASK_RUNNING) - 可执行状态只有在该状态的进程才可能在CPU上运行,同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中)。进程调度器的任务就是...
Docker学习笔记 - Docker入门篇
发表于2017-10-01|Docker•虚拟化
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。 一、Docker架构Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。 Docker 镜像(Images):Docker 镜像是用于创建 Docker 容器的模板; Docker 容器(Container):容器是独立运行的一个或一组应用; Docker 客户端(Client):Docker 客户端通过命令行或者其他工具使用 Docker API (h...
1…101112…14
avatar
bugwz
持续学习,持续进步
文章
140
标签
139
分类
17
最新文章
CephFS RADOS 对象数据解析
CephFS RADOS 对象数据解析2026-02-10
ProxyAssistant - 强大的浏览器代理管理扩展
ProxyAssistant - 强大的浏览器代理管理扩展2026-01-25
Ceph 命令注册及执行流程
Ceph 命令注册及执行流程2025-12-06
Ceph 日志实现分析
Ceph 日志实现分析2025-11-22
Ceph 和 LinuxKernel 版本时间对照表
Ceph 和 LinuxKernel 版本时间对照表2025-11-08
分类
  • Redis17
    • RedisCluster1
    • RedisModule10
    • 异地多活1
    • 演进史3
    • 特性1
    • 相关库1
  • 论文10
标签
存储介质 TSDB 浏览器扩展 区块链 进程 RedisTimer GitHub Pages nc 刷机 LVS CuckooFilter Ceph 论文 许可证 Mac sar MIUI 虚拟化 Tmux 爬虫 内网穿透 Interrupt VPN Ubuntu Linux 代理服务器 RedisProtobuf PicGo Markdown 哈希表 Windows 收藏 正则匹配 T-Digest Latex Hexo 代码调试 pptpd LibMR Hook
归档
  • 二月 2026 1
  • 一月 2026 1
  • 十二月 2025 1
  • 十一月 2025 2
  • 十月 2025 1
  • 八月 2025 1
  • 六月 2025 1
  • 五月 2025 1
网站信息
文章数目 :
140
本站总字数 :
557.1k
© 2019 - 2026 By bugwz框架 Hexo 8.1.1|主题 Butterfly 5.5.3