<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>AdminFan</title>
    <link>http://fancygo.cn:80/feed.xml</link>
    <description>Recent content on AdminFan</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <copyright>Copyright (c) 2020. All rights reserved. 苏ICP备15022894号</copyright>
    <lastBuildDate>Thu, 15 Dec 2022 08:01:07 +0800</lastBuildDate><atom:link href="http://fancygo.cn:80/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux ulimit命令</title>
      <link>http://fancygo.cn:80/linux/linux_ulimit/</link>
      <pubDate>Thu, 15 Dec 2022 08:01:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_ulimit/</guid>
      <description>ulimit 用于设置用户被限制使用的资源 ulimit -a 查看所有限制 ulimit -c 程序发生错误生成 core 文件的大小 ulimit -d 每个进程数据段的最大值 ulimit -e 默认进程调度优先级 ulimit -f 当前 shell 可创</description>
    </item>
    
    <item>
      <title>Linux lsof命令</title>
      <link>http://fancygo.cn:80/linux/linux_lsof/</link>
      <pubDate>Mon, 12 Dec 2022 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_lsof/</guid>
      <description>查看网络连接 lsof -i 显示所有网络连接 lsof -i 6 lsof -iTCP lsof -i :22 lsof -i@192.168.1.1 lsof -i@192.168.1.1:22 lsof -i -sTCP:LISTEN 查看用户信息 lsof -u fancy lsof -u ^fancy lsof -t -u fancy 查看命令进程 lsof -p pid lsof -c stock lsof -t -c stock 返回pid 查看</description>
    </item>
    
    <item>
      <title>linux 100k tcp连接</title>
      <link>http://fancygo.cn:80/linux/linux_100k_tcp/</link>
      <pubDate>Fri, 02 Dec 2022 09:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_100k_tcp/</guid>
      <description>最近看了深入理解Linux网络，里面写的测试单机百万个TCP连接还是很好玩的 于是想自己测试一下，我就用熟悉的 Go 来写，然后也记录一下我遇到的一</description>
    </item>
    
    <item>
      <title>Linux内核编译依赖</title>
      <link>http://fancygo.cn:80/linux/linux_kernel_compile/</link>
      <pubDate>Thu, 03 Nov 2022 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_kernel_compile/</guid>
      <description>内核编译需要安装如下工具 apt install make apt install gcc apt install g++ apt install flex apt install bison apt install libelf-dev apt install libssl-dev apt install libncurses-dev apt install dwarves apt install zstd 环境变量不要设置中文</description>
    </item>
    
    <item>
      <title>ensp模拟器的命令</title>
      <link>http://fancygo.cn:80/net/ensp_cmd/</link>
      <pubDate>Mon, 18 Apr 2022 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/ensp_cmd/</guid>
      <description>主命令 dis ip int brief dis arp all arp-proxy enable vlan 10 vlan batch 1 2 3 4 dis vlan 设置端口的vlan interface ethernet 0/0/1 port link-type access port default vlan 10 dis vlan dis port vlan 设置trunk port link-type trunk port trunk allow-pass vlan 10 20</description>
    </item>
    
    <item>
      <title>2021 总结</title>
      <link>http://fancygo.cn:80/plan/plan-2021/</link>
      <pubDate>Mon, 27 Dec 2021 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/plan/plan-2021/</guid>
      <description>总结 写计划总结呢，一方面给记录一下这一个月到底做了哪些，给自己一个交代。 另一方面呢，也确实需要给自己的学习过程做一个约束。我这个人喜欢玩的东</description>
    </item>
    
    <item>
      <title>Hex编码详解</title>
      <link>http://fancygo.cn:80/crypt/hex/</link>
      <pubDate>Thu, 16 Dec 2021 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/crypt/hex/</guid>
      <description>最近准备把常用的密码学相关的一些算法都过一遍，先从最简单的 Hex 编码开始吧 在我自己学习的过程中，看过别人的文章，自己也看过源码，发现有些文章的介</description>
    </item>
    
    <item>
      <title>Url编码详解</title>
      <link>http://fancygo.cn:80/crypt/Url/</link>
      <pubDate>Thu, 16 Dec 2021 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/crypt/Url/</guid>
      <description>Url 是统一资源定位器，web 浏览器需要通过 Url 来向 web 服务器请求页面 Hex 编码 Url 只能使用 ascii 码字符集，所以大部分的非英文字符需要转化成有效的 ascii 字符格式 Url</description>
    </item>
    
    <item>
      <title>记一次真实的zip密码破解</title>
      <link>http://fancygo.cn:80/net/zip_crack/</link>
      <pubDate>Wed, 01 Dec 2021 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/zip_crack/</guid>
      <description>事情的背景是这样的，最近在学习网络的时候遇到一个工具cain&amp;amp;abel，于是到网上去找。原作者的网站已经不运营了，所以只能找到一些网</description>
    </item>
    
    <item>
      <title>树莓派被攻击了</title>
      <link>http://fancygo.cn:80/net/rsp_attacked/</link>
      <pubDate>Fri, 05 Nov 2021 09:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/rsp_attacked/</guid>
      <description>事情的背景是这样的，最近给家里的树莓派配了外网访问的地址，以便在公司可以访问，写写自己的东西。 今天早上，ssh登录的时候突然登不上了，第一反</description>
    </item>
    
    <item>
      <title>Linux入侵检测</title>
      <link>http://fancygo.cn:80/net/ids/</link>
      <pubDate>Wed, 03 Nov 2021 09:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/ids/</guid>
      <description>1. w 查看服务器当前被谁登录。 2. last 查看服务器曾经被谁登录过。 3. 查看 ~/.bash_history 文件 该文件记录了曾经执行过的命令。 4. iftop 查看网络状况。 5. lsof 该命令可以查看各种</description>
    </item>
    
    <item>
      <title>IPv4协议数据报格式</title>
      <link>http://fancygo.cn:80/net/ip/</link>
      <pubDate>Mon, 23 Aug 2021 09:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/ip/</guid>
      <description>IPv4协议 IP协议是TCP/IP协议中最核心的部分，所有TCP、UDP、ICMP等协议的数据都要通过IP协议封装过后才能传输。 这里我们先来</description>
    </item>
    
    <item>
      <title>gitbook的使用</title>
      <link>http://fancygo.cn:80/linux/linux_gitbook/</link>
      <pubDate>Tue, 17 Aug 2021 09:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_gitbook/</guid>
      <description>gitbook的使用 ​ 一直以来都是把文章写到博客里，但是博客有个缺点，就是分类没有那么清晰，找个相关的文章比较纠结。于是乎，想把以前的文章整</description>
    </item>
    
    <item>
      <title>metasploit渗透测试魔鬼训练营</title>
      <link>http://fancygo.cn:80/net/metasploit/</link>
      <pubDate>Mon, 26 Jul 2021 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/metasploit/</guid>
      <description>这篇文章作为 metasploit 渗透测试魔鬼训练营这本书的记录 有些方法一看就会，一学就懂，然后合上书就忘了，所以得记下来，方便查询 1.搜集信息 通过 dns 和 IP 地址挖</description>
    </item>
    
    <item>
      <title>树莓派的一些问题</title>
      <link>http://fancygo.cn:80/linux/linux_rspi/</link>
      <pubDate>Wed, 21 Jul 2021 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_rspi/</guid>
      <description>前提：自己的树莓派装的是ubuntu20.04server 有些问题树莓派官方的系统并没有问题，但是ubuntu就有问题 1.读取18b20温度</description>
    </item>
    
    <item>
      <title>Linux时钟校准</title>
      <link>http://fancygo.cn:80/linux/linux_clock/</link>
      <pubDate>Tue, 20 Jul 2021 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_clock/</guid>
      <description>树莓派每次拔下来做开发后，时区总是紊乱 1.tzselect 2.cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime</description>
    </item>
    
    <item>
      <title>windows下路由表</title>
      <link>http://fancygo.cn:80/net/route_table/</link>
      <pubDate>Tue, 20 Apr 2021 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/net/route_table/</guid>
      <description>因为工作中用到双网卡上网的缘故，把相关知识理了一遍 主要是使用双网卡，一个上外网一个上内网 1.查看路由表 route print 永久路由: 网络地址 网络掩码 网关地址</description>
    </item>
    
    <item>
      <title>山石网科密码研究员要求</title>
      <link>http://fancygo.cn:80/plan/plan-hillstone/</link>
      <pubDate>Thu, 10 Dec 2020 08:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/plan/plan-hillstone/</guid>
      <description>工作职责： 全球密码学题目收集分类整理 CTF密码方向解题\出题 高校密码学方向技术培训 国密\商密算法安全研究 对公司软硬件产品加密算法安全分析 区块</description>
    </item>
    
    <item>
      <title>用Go做极简网址导航</title>
      <link>http://fancygo.cn:80/go/go_navi/</link>
      <pubDate>Wed, 04 Nov 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_navi/</guid>
      <description>之前一直使用百度自带的网址导航，但是最近发现不能添加类别目录了。所以想找个差不多的导航网址，一直没有找到。 要么是各种弹广告，要么是不能自己添</description>
    </item>
    
    <item>
      <title>Kali Linux 初始用</title>
      <link>http://fancygo.cn:80/linux/linux_kali/</link>
      <pubDate>Fri, 23 Oct 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_kali/</guid>
      <description>作为一个 Linux 爱好者，总归对网络安全又那么些兴趣吧，Kali 就是最好的工具吧。 说是初始用，其实之前已经多多少少玩过几次了，现在把遇到的问题记录下</description>
    </item>
    
    <item>
      <title>Linux 系统新手设置</title>
      <link>http://fancygo.cn:80/linux/linux_init/</link>
      <pubDate>Mon, 12 Oct 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_init/</guid>
      <description>Linux新手配置 还记得我上大学那会儿，装一个Linux系统还是一件比较复杂的事请。 先要下载镜像，然后刻到光盘里面，然后再用光盘安装。 最头疼</description>
    </item>
    
    <item>
      <title>Go channel 的一些知识</title>
      <link>http://fancygo.cn:80/go/go_channel/</link>
      <pubDate>Sat, 18 Jul 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_channel/</guid>
      <description>panic 向已经关闭的 chan 写数据 重复关闭 chan 阻塞 为初始化的 channel 值为 nil, 向未初始化的 chan 读写数据会导致 goroutine 永久阻塞 向已满的 chan 写，从空 chan 读 0值 读取已关闭的 chan，</description>
    </item>
    
    <item>
      <title>Go slice 的一些知识</title>
      <link>http://fancygo.cn:80/go/go_slice/</link>
      <pubDate>Sat, 18 Jul 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_slice/</guid>
      <description>源码 go slice 的源码位于 go/src/runtime/slice.go 下 定义 slice 的定义如下 type slice struct { array unsafe.Pointer len int cap int } 其中包括一个指向内存实际存储空间的指针 array slice 的长度 len slice 的容量 cap 扩容 主要的扩容逻辑是</description>
    </item>
    
    <item>
      <title>内存管理和 Go 内存模型</title>
      <link>http://fancygo.cn:80/go/go_mem/</link>
      <pubDate>Wed, 15 Jul 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_mem/</guid>
      <description>进程与内存 进程占用的用户空间，划分成 5个不同的内存区域 代码段 数据段 BSS 段 堆 栈 size 命令可以查看一个可执行文件各个段的大小</description>
    </item>
    
    <item>
      <title>Linux prometheus 的使用</title>
      <link>http://fancygo.cn:80/linux/linux_prometheus/</link>
      <pubDate>Thu, 02 Jul 2020 09:27:54 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_prometheus/</guid>
      <description>1.prometheus 的安装官方教程已经讲得很详细了 https://grafana.com/ 2.先记录 ./prometheus &amp;ndash;config.file=./prometheus.yml node_exporter 安装在需要监控的机子上 安装 grafane, data source 中选择 prometheus, 然后在官网的 dashboard 找到模板然后导入到自己的 dashboard 中 prometheus 服务端</description>
    </item>
    
    <item>
      <title>Linux docker 的使用</title>
      <link>http://fancygo.cn:80/linux/linux_docker/</link>
      <pubDate>Tue, 30 Jun 2020 09:27:54 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_docker/</guid>
      <description>1.docker 的官方教程已经讲得很详细了, 我这里就只做学习记录 https://docs.docker.com/ 2.安装就按照教程好了 3.一些命令 docker &amp;ndash;version 查看当前 docker 版本 docker create 创建一个容器但是不运行它 docker rm 删除</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门13-碰撞检测</title>
      <link>http://fancygo.cn:80/go/go_sdl_13/</link>
      <pubDate>Mon, 29 Jun 2020 18:10:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_13/</guid>
      <description>前言 我决定这一节作为这个系列的最后一节了, 基本上把这些学会了应该能入门了 一些更深入的游戏开发, 就要靠你自己了 这一节就把碰撞检测讲一下 代码 这一</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门12-旋转 翻转</title>
      <link>http://fancygo.cn:80/go/go_sdl_12/</link>
      <pubDate>Mon, 29 Jun 2020 10:10:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_12/</guid>
      <description>前言 sdl2 提供了快速旋转和翻转的功能, 这一节我们就来看看如何使用 代码 代码这边我把 texture 结构体单独拎出来放到一个文件里, 代码量多了之后就要注意工程管理</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门11-动画初步</title>
      <link>http://fancygo.cn:80/go/go_sdl_11/</link>
      <pubDate>Fri, 19 Jun 2020 10:10:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_11/</guid>
      <description>前言 动画就是显示一组图片来创造一个移动的错觉 在 SDL 中就是把 texture 中的不同部分, 一帧一帧的循环显示就可以了 代码 package main import ( &amp;quot;github.com/veandco/go-sdl2/img&amp;quot; &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) type Texture struct { t *sdl.Texture } func (this *Texture) LoadFromFile(path string)</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门10-像素融合与透明度</title>
      <link>http://fancygo.cn:80/go/go_sdl_10/</link>
      <pubDate>Fri, 19 Jun 2020 10:05:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_10/</guid>
      <description>前言 上一节讲了颜色调制, 这一节我们讲透明度的转换 由于透明度的变化会使得两张图片的融合, 我们还需要设置容和标志 代码 package main import ( &amp;quot;github.com/veandco/go-sdl2/img&amp;quot; &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) type Texture struct { t *sdl.Texture }</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门9-颜色调制</title>
      <link>http://fancygo.cn:80/go/go_sdl_9/</link>
      <pubDate>Fri, 19 Jun 2020 10:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_9/</guid>
      <description>前言 我们可以使用颜色调制, 来动态地改变 texture 上渲染的图片的颜色 代码 package main import ( &amp;quot;github.com/veandco/go-sdl2/img&amp;quot; &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) type Texture struct { *sdl.Texture } func (t *Texture) LoadFromFile(path string) bool { img, err := img.Load(path) if err != nil { panic(err) } t.Texture, err = Grender.CreateTextureFromSurface(img) if err != nil</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门8-color keying 抠图</title>
      <link>http://fancygo.cn:80/go/go_sdl_8/</link>
      <pubDate>Wed, 17 Jun 2020 19:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_8/</guid>
      <description>前言 SDL2 的教程上说这一节叫 color keying, 实在不懂这是什么意思 百度了一下说是抠图, 我实在是对应不上这两个词 通俗的解释一下吧, 就是比如你有一张图, 你想把背景</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门7-viewport</title>
      <link>http://fancygo.cn:80/go/go_sdl_7/</link>
      <pubDate>Mon, 15 Jun 2020 14:50:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_7/</guid>
      <description>前言 SDL2 说你有时候只想渲染窗口的一部分, 那么你可以使用 viewport 好了, 没啥好说的上代码 代码 package main import ( &amp;quot;github.com/veandco/go-sdl2/img&amp;quot; &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) const ( W = 670 H = 620 ) func main() { sdl.Init(sdl.INIT_EVERYTHING) defer sdl.Quit() window, _ := sdl.CreateWindow(&amp;quot;test&amp;quot;, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, W, H,</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门6-画几何图形</title>
      <link>http://fancygo.cn:80/go/go_sdl_6/</link>
      <pubDate>Mon, 15 Jun 2020 14:20:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_6/</guid>
      <description>前言 SDL2 可以在渲染器 renderer 上直接画几何图, 下面我们就来试试吧, 很简单 代码 package main import ( &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) const ( W = 670 H = 620 ) func main() { sdl.Init(sdl.INIT_EVERYTHING) defer sdl.Quit() window, _ := sdl.CreateWindow(&amp;quot;test&amp;quot;, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, W, H, sdl.WINDOW_SHOWN) defer window.Destroy() renderer, _ := sdl.CreateRenderer(window, -1,</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门5-texture 渲染技术</title>
      <link>http://fancygo.cn:80/go/go_sdl_5/</link>
      <pubDate>Mon, 15 Jun 2020 14:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_5/</guid>
      <description>前言 SDL2 宣称加入了新的渲染技术, 就是基于硬件加速的 texture 渲染, 我也不知道这个 texture 指的是什么, 不妨猜一猜, 应该是纹理图片吧 我们这里不纠结 SDL 的具体技术啦</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门4-优化 surface</title>
      <link>http://fancygo.cn:80/go/go_sdl_4/</link>
      <pubDate>Sat, 13 Jun 2020 15:00:07 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_4/</guid>
      <description>前言 现在我们已经可以在窗口里展示我们的图片了 由于图片的数量不多, 所以我们感觉不到渲染的速度, 但当你真正开发一款游戏的时候, 你会发现渲染未经处</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门3-事件驱动</title>
      <link>http://fancygo.cn:80/go/go_sdl_3/</link>
      <pubDate>Sat, 13 Jun 2020 12:11:54 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_3/</guid>
      <description>前言 我们现在已经会显示图片了, 这一节我们来讲一下事件驱动 原理 SDL 事件包括了键盘输入, 鼠标输入, 手柄, 等等 SDL 会将所有发生的事件放到一个队列中去,</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门2-显示图片</title>
      <link>http://fancygo.cn:80/go/go_sdl_2/</link>
      <pubDate>Sat, 13 Jun 2020 09:35:54 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_2/</guid>
      <description>前言 上一节我们创建了一个窗口, 这一节我们将在窗口上显示一张图片 显示图片 package main import ( &amp;quot;github.com/veandco/go-sdl2/img&amp;quot; &amp;quot;github.com/veandco/go-sdl2/sdl&amp;quot; ) func main() { sdl.Init(sdl.INIT_EVERYTHING) defer sdl.Quit() window, _ := sdl.CreateWindow(&amp;quot;test&amp;quot;, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, 670, 620, sdl.WINDOW_SHOWN) defer window.Destroy() surface, _ := window.GetSurface() defer surface.Free() surface.FillRect(nil, sdl.MapRGB(surface.Format, 0x0, 0x0, 0x0))</description>
    </item>
    
    <item>
      <title>Go SDL2 游戏开发入门1-简介 第一个窗口</title>
      <link>http://fancygo.cn:80/go/go_sdl_1/</link>
      <pubDate>Fri, 12 Jun 2020 16:35:54 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_sdl_1/</guid>
      <description>前言 一直以来 Go 语言都是作为服务器开发的优势语言, 但我一直想用 Go 来做游戏客户端, 市面上也没有特别好的引擎, 然后就像自己玩玩 我还是选择最纯粹的 SDL</description>
    </item>
    
    <item>
      <title>Go 服务器框架遇到的问题</title>
      <link>http://fancygo.cn:80/go/go_err_1/</link>
      <pubDate>Sat, 30 May 2020 13:05:51 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_err_1/</guid>
      <description>读写分离 Go 在往 chan 里写数据的时候, 是没有办法判断该 chan 是否是关闭的, 此时必须要加上一个标志位, 在发送之前判断一下 正常情况下是可行的, 但是在压测的</description>
    </item>
    
    <item>
      <title>Go 单链表</title>
      <link>http://fancygo.cn:80/go/go_list/</link>
      <pubDate>Tue, 26 May 2020 14:56:46 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_list/</guid>
      <description>go 单链表的实现 package fcbase import ( &amp;quot;fmt&amp;quot; ) type LNode struct { Data interface{} next *LNode } func NewLNode() *LNode { return &amp;amp;LNode{} } func CreateList(head *LNode, num int) { cur := head for i := 0; i &amp;lt; num; i++ { cur.next = NewLNode() cur.next.Data = i cur = cur.next } } func PrintList(head *LNode) { for cur := head.next; cur != nil; cur</description>
    </item>
    
    <item>
      <title>bitset 实现的一点思考</title>
      <link>http://fancygo.cn:80/go/go_bitset/</link>
      <pubDate>Mon, 25 May 2020 13:53:16 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_bitset/</guid>
      <description>最近重读 go语言圣经, 看到6.5节用 bit 数组来实现 set 这样的好处是一个 64 位的 word 值就能存 64 个值, 有效利用内存 但是也想到一些问题 文中的插入的实现是这</description>
    </item>
    
    <item>
      <title>Linux 一些软件的安装</title>
      <link>http://fancygo.cn:80/soft/soft_general/</link>
      <pubDate>Fri, 15 May 2020 12:23:06 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/soft/soft_general/</guid>
      <description>1. apt-get install libncurses5-dev Linux 的图形界面库, 编译内核的时候会用到 2. 在进行内核模块学习的时候, 在树莓派 /usr/src 下面没有源码树, 需要你自己安装 sudo apt install raspberrypi-kernel-headers</description>
    </item>
    
    <item>
      <title>Linux 性能</title>
      <link>http://fancygo.cn:80/linux/linux_performance/</link>
      <pubDate>Thu, 14 May 2020 08:33:04 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_performance/</guid>
      <description>1. CPU 平均负载 1. 单位时间内, 活跃的进程数 活跃的进程是指处于可运行状态和不可中断状态的进程 可运行状态进程是指正在使用 cpu 和正在等待 cpu 的进程 不可中断</description>
    </item>
    
    <item>
      <title>Linux 调度系统</title>
      <link>http://fancygo.cn:80/linux/linux_sched/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_sched/</guid>
      <description>1. 简介 进程是资源管理的单位 线程是 cpu 调度的单位 内核中调度的是一个 task 的结构, 我们可以称之为任务 任务调度的目的主要是以下三点 尽量公平的调度所有任务</description>
    </item>
    
    <item>
      <title>MySQL 服务器搭建及使用</title>
      <link>http://fancygo.cn:80/soft/soft_mysql/</link>
      <pubDate>Tue, 12 May 2020 16:23:06 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/soft/soft_mysql/</guid>
      <description>1. 树莓派安装 MySQL 安装 apt install mariadb-server-10.0 配置 mysql_secure_installation 登录 mysql -uroot -pxxxxxx 添加用户 create user &#39;fancy&#39;@&#39;localhost&#39; identified by &#39;xxxxxx&#39;; grant all on *.* to &#39;fancy&#39;@&#39;localhost&#39; identified by &#39;xxxxxx&#39;; 然后 fancy 用户就可以登录使用了 mysql -ufancy -pxxxxxx</description>
    </item>
    
    <item>
      <title>svn 服务器搭建及使用</title>
      <link>http://fancygo.cn:80/soft/soft_svn/</link>
      <pubDate>Mon, 11 May 2020 16:33:06 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/soft/soft_svn/</guid>
      <description>1. svn 服务器安装( 我以下的命令皆在 root 权限下运行) Centos yum install subversion 树莓派 apt install subversion 成功安装后，即可查看版本 svnserve --version 2. 创建仓库 在用户 home 目录下创建一个文件夹作为 svn 仓</description>
    </item>
    
    <item>
      <title>读刘超趣谈 Linux 操作系统</title>
      <link>http://fancygo.cn:80/read/read_2/</link>
      <pubDate>Wed, 06 May 2020 14:01:28 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/read/read_2/</guid>
      <description>1. cpu 运算单元 负责计算，但不知道运算哪些数据，运算完不知道该存放再何处 数据单元 包括 cpu 内部缓存，寄存器组，空间小，速度快 控制单元 获取指令，根据指</description>
    </item>
    
    <item>
      <title>Test</title>
      <link>http://fancygo.cn:80/read/test/</link>
      <pubDate>Tue, 05 May 2020 22:13:19 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/read/test/</guid>
      <description>标题1 标题2 标题3 标题4 标题5 标题6 排列1 排列2 排列3 引用1 引用排列1 引用排列2 引用排列3 引用2 引用3</description>
    </item>
    
    <item>
      <title>Linux 常用系统调用</title>
      <link>http://fancygo.cn:80/linux/linux_syscall/</link>
      <pubDate>Tue, 05 May 2020 14:26:01 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_syscall/</guid>
      <description>1. 内存管理 调整内存数据段 brk 内存映射 mmap 2. 文件管理 打开 open 创建 creat 关闭 close 定位 lseek 读取 read 写入 write 3. 进程管理 创建进程 fork 运行新二进制文件 execve 等待子进程结束 waitpid 4. 网</description>
    </item>
    
    <item>
      <title>做自己的 hugo 博客主题</title>
      <link>http://fancygo.cn:80/go/go_hugo/</link>
      <pubDate>Tue, 05 May 2020 11:26:29 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/go/go_hugo/</guid>
      <description>之前用的 blog 主题是直接拿的别人的，风格虽然简洁，但不是我喜欢的配色 想自己改一下，发现主题框架太复杂，所以一直没有动手 最近发现了一个风格不错的，</description>
    </item>
    
    <item>
      <title>Linux 计划任务</title>
      <link>http://fancygo.cn:80/linux/linux_crontab/</link>
      <pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_crontab/</guid>
      <description>计划任务就是定时去做某些事情 Linux提供两种计划任务 at 和 cron at 仅执行一次就结束 cron 循环执行 at Centos 默认开启了 atd 这个服务，其他系统可自行检查 (服务相</description>
    </item>
    
    <item>
      <title>Linux 信号相关</title>
      <link>http://fancygo.cn:80/linux/linux_sig/</link>
      <pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_sig/</guid>
      <description>Linux利用信号与进程进行通信 常用信号 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL 无条件终止进程 15 SIGTERM 尽可能终止进程 17 SIGSTOP 无条件停止进程 18 SIGTSTP 停止进</description>
    </item>
    
    <item>
      <title>Linux 后台模式运行脚本</title>
      <link>http://fancygo.cn:80/linux/linux_back/</link>
      <pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_back/</guid>
      <description>1.最简单的方法就是在命令后面加个 &amp;amp;，但这种方式有个弊端，就是该命令进程会与当前会话关联，如果当前会话退出，该进程也会退出 2.nohup [cmd] &amp;am</description>
    </item>
    
    <item>
      <title>Linux 日志服务系统</title>
      <link>http://fancygo.cn:80/linux/linux_log/</link>
      <pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_log/</guid>
      <description>日志记录了系统运行过程中的重要信息，当系统出现错误的时候，可以通过其来分析问题 Linux有自己的一套日志管理服务系统，即 rsyslog.se</description>
    </item>
    
    <item>
      <title>读许式伟架构课记录1</title>
      <link>http://fancygo.cn:80/read/read_1/</link>
      <pubDate>Sun, 19 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/read/read_1/</guid>
      <description>1. 线程的主要成本 时间成本 线程切换的开销，主要是寄存器的保存与恢复 线程的调度 线程之间的同步与互斥 空间成本 线程执行状态 线程局部存储 线程的堆栈 这里</description>
    </item>
    
    <item>
      <title>Linux 系统服务的使用</title>
      <link>http://fancygo.cn:80/linux/linux_systemctl/</link>
      <pubDate>Sat, 18 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_systemctl/</guid>
      <description>服务：常驻系统内存中的进程且可以提供一些系统和网络功能 现在最新的Linux系统都统一使用systemctl进行服务的管理 1.运行级别的分类 runlevel</description>
    </item>
    
    <item>
      <title>Linux 用户管理</title>
      <link>http://fancygo.cn:80/linux/linux_user/</link>
      <pubDate>Fri, 17 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_user/</guid>
      <description>1.添加用户 useradd 1.useradd -D 查看添加用户的默认值 GROUP=100 //新用户组ID HOME=/home //新用户home目录位于该目录下 INACTIVE=-1 //密码过期后不会被禁用 EXPIRE= //密码未设置过期日</description>
    </item>
    
    <item>
      <title>Linux ansible的使用</title>
      <link>http://fancygo.cn:80/linux/linux_ansible/</link>
      <pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_ansible/</guid>
      <description>1.安装直接可以按照此教程 http://www.ansible.com.cn/ 我的机器一台树莓派，使用 将这行代码 deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main 加到 /etc/apt/sources.list 里，然后执行如下命令 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 sudo apt update sudo apt install ansible 还有两个云服务器</description>
    </item>
    
    <item>
      <title>Linux ssh的使用</title>
      <link>http://fancygo.cn:80/linux/linux_ssh/</link>
      <pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_ssh/</guid>
      <description>ssh是我们最常用的登录到远程服务器的方式，它使用非对称加密方式进行数据传输 1. 生成秘钥对 ssh-keygen -t rsa -C &amp;quot;717632318@qq.com&amp;quot; 生成的秘钥对存放在~/.ssh/下，id_</description>
    </item>
    
    <item>
      <title>Linux系统知识</title>
      <link>http://fancygo.cn:80/linux/linux_proc/</link>
      <pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_proc/</guid>
      <description>1. cpu 上下文切换 cpu 通过通用寄存器和 pc 程序计数器来控制 task 从哪里运行 cpu 的上下文切换需要先把前一个 task 的寄存器的值保存下来, 再把下一个 task 的寄存器值加载</description>
    </item>
    
    <item>
      <title>Linux shell编程</title>
      <link>http://fancygo.cn:80/linux/linux_shell/</link>
      <pubDate>Wed, 15 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_shell/</guid>
      <description>1. 进程列表 命令外加上括号会变成进程列表，当前shell会生成一个子shell来执行括号内的一组命令 echo $BASH_SUBSHELL是否是1可用</description>
    </item>
    
    <item>
      <title>Git常用命令</title>
      <link>http://fancygo.cn:80/linux/linux_git/</link>
      <pubDate>Tue, 14 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_git/</guid>
      <description>非详细教程，仅供查阅 修改本地 hosts，你会发现 github 快了很多 linux: /etc/hosts windows: C:\Windows\System32\drivers\etc\hosts linux: /etc/init.d/networking restart windows:ipconfig /flushdns 199.232.69.194 github.global-ssl.fastly.net 140.82.112.4 github.com git初始认证 ssh-keygen -t rsa -C &amp;quot;717632318@qq.com&amp;quot; 生成秘钥对 将.ssh/id_rs</description>
    </item>
    
    <item>
      <title>Vim使用过程中相关问题</title>
      <link>http://fancygo.cn:80/linux/linux_vim/</link>
      <pubDate>Tue, 14 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_vim/</guid>
      <description>因为从大学的时候就开始使用Vim，所以到现在用的最顺手Idea的也就是Vim了，这篇文章就用来记录一下使用过程中的一些问题。 我们经常遇到把其</description>
    </item>
    
    <item>
      <title>Linux下利用sudo实现提权</title>
      <link>http://fancygo.cn:80/linux/linux_sudo/</link>
      <pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_sudo/</guid>
      <description>sudo 是常用的 Linux 系统命令，允许普通用户执行 root 命令 此时普通用户就可以利用 sudo 来实现提权，使自己拥有 root 权限 利用awk命令 sudo awk &amp;lsquo;BEGIN {system(&amp;quot;/bin/bash&amp;quot;)}&amp;rsquo; fancy@raspberrypi:~ $ sudo awk &#39;BEGIN {system(&amp;quot;/bin/bash&amp;quot;)}&#39; [sudo] fancy 的密码</description>
    </item>
    
    <item>
      <title>删除Go切片中的某些值</title>
      <link>http://fancygo.cn:80/go/slicedel/</link>
      <pubDate>Sat, 22 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/go/slicedel/</guid>
      <description>方法1 func del(data []int, d int) []int { i := 0 for _, v := range data { if v != d { data[i] = v i++ } } return data[:i] } 方法2 func del2(data []int, d int) []int { for i := 0; i &amp;lt; len(data); i++ { if data[i] == d { data = append(data[0:i], data[i+1:len(data)]...) i-- } } return data }</description>
    </item>
    
    <item>
      <title>食物营养成分</title>
      <link>http://fancygo.cn:80/photo/photo_food/</link>
      <pubDate>Wed, 22 Jan 2020 16:00:04 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/photo/photo_food/</guid>
      <description>1. 食物营养</description>
    </item>
    
    <item>
      <title>简易密码实现，类似凯撒密码（c语言和go语言）</title>
      <link>http://fancygo.cn:80/net/caesar/</link>
      <pubDate>Sat, 23 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/net/caesar/</guid>
      <description>凯撒密码基本的理念就是位移取模 我们来加密一段字符串a，密钥key取500，这里的key可以取任意的整数, m作为取值的范围，不能小于可取值的范</description>
    </item>
    
    <item>
      <title>Go module 常用方法</title>
      <link>http://fancygo.cn:80/go/module/</link>
      <pubDate>Wed, 06 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/go/module/</guid>
      <description>升级Go到1.13 设置各类环境变量 export PATH=$PATH:~/go/bin export GOROOT=~/go export GOPATH=~/gopkg export GO111MODULE=on export GOBIN=~/gobin export GOCACHE=~/gocache export GOPROXY=https://goproxy.cn,direct 新建目录fancygo（根据项目需要自行修改目录名字） mkdir fancygo cd fancygo 创建 main.go 并写入代码</description>
    </item>
    
    <item>
      <title>Linux常用的命令</title>
      <link>http://fancygo.cn:80/linux/linux_cmd/</link>
      <pubDate>Tue, 05 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/linux/linux_cmd/</guid>
      <description>用户管理 1.添加用户 useradd fancy 2.添加组 groupadd fancy 3.设置密码 passwd fancy echo &amp;quot;xxxxx&amp;quot; | passwd fancy --stdin 5.加入sudo用户 sudo echo &amp;quot;%fancy ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers 后台运行 nohup ./a.out&amp;amp; 遍历删除所有文件 find . -name .svn -exec</description>
    </item>
    
    <item>
      <title>关于我</title>
      <link>http://fancygo.cn:80/about/</link>
      <pubDate>Mon, 04 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/about/</guid>
      <description>简介 大家好，我叫 FancyGo，是一名程序员。Linux脑残粉，Go脑残粉。 一直以来想把自己以前保存的东西整理一下，所以就想弄个博客出来，分</description>
    </item>
    
    <item>
      <title>关于我</title>
      <link>http://fancygo.cn:80/cv/</link>
      <pubDate>Mon, 04 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/cv/</guid>
      <description>简介 大家好，我叫 FancyGo，是一名程序员。Linux脑残粉，Go脑残粉。 基本信息 主页: https://fancygo.net Github: github.com/fancygo Gitee: https://gitee.com/fcsvr 知乎: zhuanlan.zhihu.com/fancygo Email：717632318@</description>
    </item>
    
    <item>
      <title>照片1</title>
      <link>http://fancygo.cn:80/photo/photo1/</link>
      <pubDate>Tue, 29 May 2018 16:00:04 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/photo/photo1/</guid>
      <description>1. 头像</description>
    </item>
    
    <item>
      <title>照片2</title>
      <link>http://fancygo.cn:80/photo/photo2/</link>
      <pubDate>Tue, 29 May 2018 16:00:04 +0800</pubDate>
      
      <guid>http://fancygo.cn:80/photo/photo2/</guid>
      <description>1. 头像</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/alpha/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/alpha/</guid>
      <description>Arithmetic abs(x)
add(x, y, filter=false) x+y
subtrace(x,y,filter=false) x-y
multiply(x, y, &amp;hellip;, filter=false) x* y，filter用于过滤NaN divide(x,y) x/y
inverse(x) 1/x
reverse(x) -x
log(x)
max(x, y, ..)
min(x, y, ..)
power(x, y) 指数
sign(x) 1 if x&amp;gt;0; -1 if x&amp;lt;0; 0 if x=0
signed_power(x,y) sign(x)* pow(abs(x), y)
densify(x) 将多个桶的分组字段转换为较少数量的仅可用桶,以便在计算上高效地使用分组字段
Logical if_else(input1, input2, input3) If input1 is true then return input2 else return input3
Transformational trade_when(x,y,z) if z &amp;gt; 0 alpha = NaN; if x &amp;gt; 0 alpha = y; else alpha = alpha; z成立平仓,x成立开仓,否则不动,用来降低correlation和turnover</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/config/</guid>
      <description>控制面板快捷方式 appwiz.cpl 程序 msinfo32 系统信息 ncpa.cpl 网络适配器
inetcpl.cpl 网络连接
control 控制面板
regedit 注册表
mstsc 远程
eventvwr 事件查看器
services.msc服务
gpmc.msc gpedit.msc 组策略
taskschd.msc任务计划
diskmgmt.msc磁盘管理
compmgmt.msc计算机管理
perfmon 性能监视器 perfmon /res资源监视器
快捷键 win+d 快速显示桌面 ctrl+shift+esc 任务管理器
win+e
win+l
shell:AppsFolder 打开所有程序
vpn ip:port 222.92.231.2:10443
proxy ip:port 192.168.10.254:3128
skip account login when install win11 new no@thankyou.com shift+F10 oobe\bypassnro
check which ad server cli logged set logonserver
check which ad server is masterad netdom query fsmo</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/diary/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/diary/</guid>
      <description>四海 作为社会底层的我们，就算我们愿意努力，拼了命的努力、进步，可这速度也还是赶不上社会变迁的速度，最终被甩得越来越远。 其实四海根本算不上一个喜剧，它就是在描述当代社会上的一类人的无奈。 他们不配恋爱，不配有梦想，不配拥有幸福的生活，他们仅仅是为了活着，都已经用尽了自己全部的力气 可他们却依然保留着自己的那一份自尊，说说我们底层人士就不配有自尊 四海，从来就不是个喜剧，它不过是添加了一些喜剧手法，让我们不至于太过悲伤，他只是想让我们相信，就算我们的生活中有太多太多的悲伤，我们也要笑着去面对，不然呢</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/english/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/english/</guid>
      <description>数学英语词汇 parallel line 平行线
vertical line 垂直线
plane 平面
dimentional 维度
vector 向量
matrix 矩阵 geometric 几何
diagonal 对角线
hypotenuse 三角形斜边
arithmetic mean 算数平均数</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/plan/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/plan/</guid>
      <description>2023 tcpdump，wireshark 过滤语法 百万连接的实现</description>
    </item>
    
    <item>
      <title></title>
      <link>http://fancygo.cn:80/post/linux/linux_nmap/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>http://fancygo.cn:80/post/linux/linux_nmap/</guid>
      <description>nmap是一款开源网络探测和安全审计工具 它被设计出来用于快速扫描大量的网络，也可用来扫描单独的主机</description>
    </item>
    
  </channel>
</rss>
