Hugo博客常见问题以及解决方案

如何在markdown中插入图片 在static 目录中创建 images 目录,然后把图片放到images目录中。 在文章中引用的时候 ![](/images/qianxun.jpeg#center) Warning 我之前创建的文件夹的名字叫做 img, 本地可以正常显示,但是部署之后,就无法显示图片了。 最后我把img改成images才能正常在网页上显示。

2022-05-28 · 1 min · 王端端

Shell 教程技巧

复制文本到剪贴板 sudo apt install xclip vim ~/.zshrc alias copy='xclip -selection clipboard' 这样我们就可以用copy命令来考本文件内容到系统剪贴板了。 copy aaa.txt 判断工作区是否clean if [ -z "$(git status --porcelain)" ]; then # Working directory clean else # Uncommitted changes fi

2022-05-28 · 1 min · 王端端

C和gdb调试

开启coredump #如果该命令的返回值是0,则表示不开启coredump ulimit -c # 开启coredump ulimit -c unlimited 准备c文件 #include<stdio.h> void crash() { char * p = NULL; *p = 0; } int main(){ printf("hello world 1"); int phone [4]; phone[232] = 12; crash(); return 0; } 编译执行 gcc -g hello.c -o hello ./hello 之后程序崩溃,产生core文件。 gdb分析 gdb 启动的二进制文件 core文件 gdb ./hello ./core 之后输入: bt full 可以查看到更详细的信息 ➜ c-sandbox gdb ./hello ./core GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundation, Inc....

2022-05-28 · 1 min · 王端端

Tmux 常见问题以及解决方案

oh my tmux 关闭第二键ctrl-a ctrl-a可以用来移动光标到行首的,不要作为tmux的第二键 set -gu prefix2 unbind C-a Tmux reload config :source-file ~/.tmux.conf tmux 显示时间 ctrl b + t tmux从当前目录打开新的窗口 bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}"

2022-05-28 · 1 min · 王端端

hugo博客增加mermaid 绘图插件

增加mermaid shortcodes 在themes/YourTheme/layouts/shortcodes/mermaid.html 增加如下内容 <script async type="application/javascript" src="https://cdn.jsdelivr.net/npm/mermaid@9.1.1/dist/mermaid.min.js"> var config = { startOnLoad:true, theme:'{{ if .Get "theme" }}{{ .Get "theme" }}{{ else }}dark{{ end }}', align:'{{ if .Get "align" }}{{ .Get "align" }}{{ else }}center{{ end }}' }; mermaid.initialize(config); </script> <div class="mermaid"> {{.Inner}} </div> 在blog中增加如下代码 Warning 注意下面的代码,你在实际写的时候,要把 /* 和 */ 删除 {{/*< mermaid align="left" theme="neutral" */>}} pie title French Words I Know "Merde" : 50 "Oui" : 35 "Alors" : 10 "Non" : 5 {{/*< /mermaid >*/}} pie title French Words I Know "...

2022-05-27 · 1 min · 王端端

一月份阅读计划

序号 书名 3 4 5 6 7 8 9 1 经济学通识课 13 17 2 如何结交比你更优秀的人 29 35 3 人体简史 21 24 4 高效程序员的45个习惯 38 5 一本书看透股权架构 7 9 6 学习之道 16 22 7 梦幻花 0 8 月亮与六便士 21 9 Wireshark 网络分析就这么简单 38 49 10 信息简史 16 18

2022-01-04 · 1 min · 王端端

Gitlab 持续集成记录  [draft]

安装gitlab runner 本机安装 之所以要本机安装,是因为要测试方便, 当然也能安装docker版本的。 参考: - https://docs.gitlab.com/runner/install/ # 本机安装 参考: - https://docs.gitlab.com/runner/install/linux-repository.html wget https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh chmod +x script.deb.sh # 我是deeepin操作系统,脚本无法识别,需要手工指定 sudo os=debian dist=buster ./script.deb.sh sudo apt-get install gitlab-runner gitlab-runner --h NAME: gitlab-runner - a GitLab Runner USAGE: gitlab-runner [global options] command [command options] [arguments...] VERSION: 14.6.0 (5316d4ac) AUTHOR: GitLab Inc. <support@gitlab.com> 注册runner 参考: https://docs.gitlab.com/runner/register/ 参考 https://docs.gitlab.com/runner/install/linux-repository.html 快速开始

2021-12-31 · 1 min · 王端端

开源免费的ssh gui clients

要求 [必须] 能够保存密码, 或者用私钥登录 [必须] 能够支持ftp/sftp [必须] 开源免费 [必须] 界面漂亮,支持中文字符 [可选] 支持同步ssh配置 [必须] 支持跨平台 ​ Tabby A terminal for a more modern age (formerly Terminus) https://github.com/Eugeny/tabby https://tabby.sh/ 25.7k Star 基于electron, 主要开发语言typescript Electerm Terminal/ssh/sftp client(linux, mac, win) https://github.com/electerm/electerm https://electerm.github.io/electerm/ 4.8k star 基于electron, 主要开发语言javascript WindTerm A Quicker and better SSH/Telnet/Serial/Shell/Sftp client for DevOps. https://github.com/kingToolbox/WindTerm 2.6K star 主要开发语言: C

2021-12-29 · 1 min · 王端端

exec user process caused no such file or diectory

exec user process caused "no such file or diectory" 解决方案: 将镜像构建的 Dockerfile ENTRYPOINT ["/run.sh"] 改为下面的 ENTRYPOINT ["sh","/run.sh"] 其实就是加了个sh

2020-07-08 · 1 min · 王端端

如何学习网络协议?

如何学习网络协议? 大学时,学到网络协议的7层模型时,老师教了大家一个顺口溜:物数网传会表应。并说这是重点,年年必考,5分的题目摆在这里,你们爱背不背。 考试的时候,果然遇到这个问题,搜索枯肠,只能想到这7个字的第一个字,因为这5分,差点挂科。 后来工作面试,面试官也是很喜欢七层模型,三次握手之类的问题,但是遇到这些问题时,总是觉得很心虚。 1. 协议分层 四层网络协议模型中,应用层以下一般都是交给操作系统来处理。应用层对于四层模型来说,仅仅是冰山一角。海面下巨复杂的三层协议,都被操作系统给隐藏起来了,一般我们在页面上发起一个ajax请求,看见了network面板多了一个http请求,至于底层是如何实现的,我们并不关心。 应⽤层负责处理特定的应⽤程序细节。 运输层运输层主要为两台主机上的应⽤程序提供端到端的通信。 网络层处理理分组在⽹网络中的活动,例例如分组的选路 链路层处理理与电缆(或其他任何传输媒介)的物理理接⼝口细节 下面重点讲一下运输层和网络层 1.1. 运输层的两兄弟 运输层有两个比较重要的协议。tcp和udp。 大哥tcp是比较严谨认真、温柔体贴、慢热内向的协议,发出去的消息,总是一个一个认真检查,等待对方回复和确认,如果一段时间内,对方没有回复确认消息,还会再次发送消息,如果对方回复说你发的太快了,tcp还会体贴的把发送消息的速度降低。 弟弟udp则比较可爱呆萌、调皮好动、不负责任的协议。哥哥tcp所具有的特点,弟弟udp一个也没有。但是有的人说不清哪里好 但就是谁都替代不了,udp没有tcp那些复杂的校验和重传等复杂的步骤,所以它发送消息非常快,而且并不保证对方一定收到。如果对方收不到消息,那么udp就会呆萌的看着你,笑着对你说:我已经尽力了。一般语音而视频数据都是用udp协议传输的,因为音频或者视频卡了一下并不影响整体的质量,而对实时性的要求会更高。 1.2. 运输层和网络层的区别 运输层关注的是端到端层面,及End1到End2,忽略中间的任何点。 网络层关注两点之间的层面,即hop1如何到hop2,hop2如何到hop3 网络层并不保证消息可靠性,可靠性上层的传输层负责。TCP采用超时重传,分组确认的机制,保证消息不会丢失。 从下图tcp, udp, ip协议中,可以发现 传输层的tcp和udp都是有源端口和目的端口,但是没有ip字段 源ip和目的ip只在ip数据报中 理解各个协议,关键在于理解报文的各个字段的含义 1.3. ip和端口号的真正含义 上个章节讲到运输层和网络层的区别,其中端口号被封装在运输层,ip被封装到网络成, 那么端口号和ip地址到底有什么区别呢? ip用来用来标记主机的位置 端口号用来标记该数据应该被目标主机上的哪个应用程序去处理 1.4. 数据在协议栈的流动 封装与分用 当发送消息时,数据在向下传递时,经过不同层次的协议处理,打上各种头部信息 当接受消息时,数据在向上传递,通过不同的头部信息字段,才知道要交给上层的那个模块来处理。比如一个ip包,如果没有头部信息,那么这个消息究竟是交给tcp协议来处理,还是udp来处理,就不得而知了 2. 深入阅读,好书推荐 《http权威指南》 有人说这本书太厚,偷偷告诉你,其实这本书并厚,因为这本书的后面的30%部分都是附录,这本书的精华是前50%的部分 《图解http》、《图解tcp/ip》这两本图解的书,知识点讲的都是比较通俗易懂的,适合入门 《tcp/ip 详解 卷1》这本书,让你知其然,更知其所以然 《tcp/ip 基础》、《tcp/ip 路由技术》这两本书,会让你从不同角度思考协议 《精通wireshark》、《wireshark网络分析实战》如果你看了很多书,却从来没有试过网络抓包,那你只是懂纸上谈兵罢了。你永远无法理解tcp三次握手的怦然心动,与四次分手的刻骨铭心。

2019-01-18 · 1 min · 王端端