Misc
文章平均质量分 85
Adenialzz
Keep Learning.
展开
-
FFmpeg 视频处理入门教程
ffmpeg视频处理入门教程转载 2022-07-13 22:00:43 · 527 阅读 · 0 评论 -
控制台输出颜色控制
控制台输出颜色控制转载 2022-07-08 21:18:13 · 1310 阅读 · 0 评论 -
从零Makefile落地算法大项目,完整案例教程
从零Makefile落地算法大项目,完整案例教程转载 2022-07-01 22:30:39 · 1127 阅读 · 0 评论 -
VimScript 五分钟入门(翻译)
VimScript 五分钟入门(翻译)转载 2022-06-15 16:07:02 · 1484 阅读 · 1 评论 -
Linux命令行及各常用工具代理设置
Linux命令行及各常用工具代理设置原创 2022-06-11 22:01:59 · 4473 阅读 · 0 评论 -
mac X11 XQuartz的安装与使用
X11 forwarding macos xquartz原创 2022-06-06 15:49:51 · 8318 阅读 · 0 评论 -
neovim及coc.nvim自动补全初探
neovim及coc.nvim自动补全初探安装# mac# 安装brew install neovim# 查看neovim安装路径brew list nvim# ubuntuapt install neovim习惯了打开 vi/vim 的方式,可以用个 alias 在 ~/.zshrc 中设置一下:alias vi="nvim"插件vim-plugvim-plug 是一个非常好用的插件管理器,我们先安装它,然后再通过他来安装其他好用的插件。Unix/Linux 根据 git原创 2022-05-20 19:18:40 · 3839 阅读 · 0 评论 -
frp实现内网穿透极简教程
frp实现内网穿透极简教程本文是内网穿透极简教程,为求简洁,我们不介绍为什么内网穿透也不介绍其原理,这里假设各位读者都已经明确的知道自己的目的,本文仅介绍如何安装配置 frp 实现内网穿透。简单来说,内网穿透就是实现将内网的端口转发到公网,从而实现公网对内网资源的访问。为此,我们需要一台具有公网 IP 的 VPS 服务器(各 VPS 服务提供商如阿里云、腾讯云等均可),和一台需要被穿透的内网设备(以下称客户端)。frp安装直接去 github 发布页面 下载压缩包,客户端和服务器都需要,按照各自的机原创 2022-05-04 21:32:46 · 5116 阅读 · 1 评论 -
Dockerfile详解
Dockerfile详解转自:https://yeasy.gitbook.io/docker_practice/使用Dockerfile定制镜像从刚才的 docker commit 的学习中,我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。Dockerfile 是一个文本文件,其转载 2022-04-15 23:27:04 · 1544 阅读 · 0 评论 -
Docker概念理解
Docker概念理解本文非Docker命令大全,而是对Docker的概念、原理等作说明,适合有一定实操经验后来加深理解。转自:docker从入门到实践Docker简介本章将带领你进入 Docker 的世界。什么是 Docker?用它会带来什么样的好处?好吧,让我们带着问题开始这神奇之旅。什么是DockerDocker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 201转载 2022-04-15 19:53:39 · 274 阅读 · 0 评论 -
ssh免密登录配置方法及配置
ssh免密登录配置方法及配置直接上步骤,记我们本机为机器A,而机器B、机器C等是我们的服务器,我们要配置的是A到B、C等的 ssh 免密登录。1 在机器A上生成秘钥对ssh-keygen会得到输出:Generating public/private rsa key pair.Enter file in which to save the key (/Users/adenialzz/.ssh/id_rsa):这里是问我们要对本次生成的秘钥的命名,这里注意:如果仅需要配置连接一台机器(包括原创 2022-04-04 16:39:03 · 19294 阅读 · 0 评论 -
对Docker镜像layer的理解
对Docker镜像layer的理解转自:https://blog.csdn.net/u011069294/article/details/105583522FROM python:3.6.1-alpineRUN pip install flaskCMD [“python”,“app.py”]COPY app.py /app.py上面是一个Dockerfile的例子,每一行都会生成一个新的layer。 每一个层是上一层的增量或者是一些改变。除了最上面的layer,镜像的每一层都是只读的。最上面转载 2022-04-02 23:08:38 · 1595 阅读 · 0 评论 -
共享内存简介及docker容器的shm设置与修改
共享内存简介及docker容器的shm设置与修改共享内存简介共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存是 Unix下的多进程之间的通信方法 ,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。实际上原创 2022-04-02 22:51:30 · 33660 阅读 · 7 评论 -
docker数据管理
docker数据管理转自:https://yeasy.gitbook.io/docker_practice/data_managementhttps://yeasy.gitbook.io/docker_practice/ docker从入门到实践 质量不错的开源书,推荐想深入了解 docker 的朋友去看看这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:数据卷(Volumes)挂载主机目录 (Bind mounts)数据卷数据卷 是一个可供一个转载 2022-03-26 18:40:29 · 372 阅读 · 0 评论 -
git登录相关操作梳理
git登录相关操作梳理本文主要基于 Linux/Mac ,Windows下未经测试,不过估计差不多,在 git bash 内操作即可。创建ssh key并关联github等账号因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是你推送,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送,所以需要配置ssh key。ssh-keygen -t rsa -C {"YOUR_EMAIL"}输入命令会提示输入文件名,没有特别需求的话不需要特别输入,用原创 2022-03-23 23:17:34 · 7287 阅读 · 0 评论 -
docker初探
docker初探本文旨在介绍 docker 基本的安装、常用命令和常见概念的辨析,方便新手入门和笔者日后查阅,大部分内容整理自互联网,原出处在文中注明。文章目录docker初探docker安装(mac)版本、信息相关命令version/info镜像仓库相关命令login/logoutpull/pushsearch本地镜像管理相关命令imagesrmitagbuildhistorysaveloadimport容器生命周期管理相关命令runstart/stop/restartkillrmpause/unpa转载 2022-02-15 22:33:26 · 729 阅读 · 0 评论 -
git merge和rebase的区别与选择
git merge和rebase的区别与选择转自:https://github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase-%E7%9A%84%E9%80%89%E6%8B%A9#mergeBY 童仲毅(geeeeeeeeek@github)这是一篇在原文(BY atlassian)基础上演绎的译文。除非另行注明,页面上所有内容采用知识共享转载 2022-01-18 16:00:29 · 6077 阅读 · 4 评论 -
CMake常用命令整理
CMake常用命令整理转自:https://zhuanlan.zhihu.com/p/315768216CMake 是什么我就不用再多说什么了,相信大家都有接触才会看一篇文章。对于不太熟悉的开发人员可以把这篇文章当个查找手册。1.CMake语法1.1 指定cmake的最小版本cmake_minimum_required(version 版本号)例如:cmake_minimum_required(version 2.8)1.2 定义工程名称#定义工程名称 project(项目名称)转载 2022-01-06 23:27:05 · 2486 阅读 · 0 评论 -
编写可靠bash脚本的一些技巧
编写可靠bash脚本的一些技巧原作者:腾讯技术工程原文链接:https://zhuanlan.zhihu.com/p/123989641写过很多 bash 脚本的人都知道,bash 的坑不是一般的多。 其实 bash 本身并不是一个很严谨的语言,但是很多时候也不得不用。以下总结了一些鹅厂程序员在编写可靠 bash 脚本的一些小 tips。0. set -x -e -u -o pipefail在写脚本时,在一开始(Shebang 之后)就加上这一句,或者它的缩略版:set -xeuo pipe转载 2022-01-06 17:28:22 · 178 阅读 · 0 评论 -
Linux命令行性能监控工具大全
Linux命令行性能监控工具大全作者:Arnold Lu原文:https://www.cnblogs.com/arnoldlu/p/9462221.html关键词:top、perf、sar、ksar、mpstat、uptime、vmstat、pidstat、time、cpustat、munin、htop、glances、atop、nmon、pcp-gui、collectl。01-toptop是最常用的查看系统资源使用情况的工具,包括CPU、内存等等资源。这里主要关注CPU资源。1.1 /pr转载 2022-01-06 12:02:59 · 1273 阅读 · 0 评论 -
CMake指令入门 ——以构建OpenCV项目为例
CMake指令入门转自:https://blog.csdn.net/sandalphon4869/article/details/100589747一、安装sudo apt-get install cmake安装好后,输入cmake -version如果出现了cmake的版本显示,那么说明安装成功二、cmake编译cmake的作用就是将在IDE编译器中的编译功能拿出来,可以在终端上完成。类似于vim和文本编辑器。cmake的编译方式:内部构建(in-source-build)转载 2022-01-05 22:27:28 · 1981 阅读 · 2 评论 -
ag 搜索工具参数详解
ag 搜索工具参数详解Ag 是类似ack, grep的工具,它来在文件中搜索相应关键字。官方列出了几点选择它的理由:它比ack还要快 (和grep不在一个数量级上)它会忽略.gitignore和.hgignore中的匹配文件如果有你想忽略的文件,你需要将它们加入到 .ignore文件中它的命令名称更短:-)安装ubuntu直接安装:sudo apt install silversearcher-ag基本使用ag的基本使用很直接:在命令后面跟要搜索的字符串即可,它会搜索当前目录下所原创 2022-01-03 19:43:19 · 3084 阅读 · 0 评论 -
cmake find_package路径详解
cmake find_package路径详解转自:https://zhuanlan.zhihu.com/p/50829542经常在Linux下面写C++程序,尤其是需要集成各种第三方库的工程,肯定对find_package指令不陌生。这是条很强大的指令。可以直接帮我们解决整个工程的依赖问题,自动把头文件和动态链接文件配置好。比如说,在Linux下面工程依赖了OpenCV,只需要下面几行就可以完全配置好:add_executable(my_bin src/my_bin.cpp)find_packag转载 2021-12-20 17:36:50 · 6210 阅读 · 0 评论 -
在vimrc中设置record
在vimrc中设置recordVim的record功能在大量重复操作的场景下非常实用,但是,一般我们都要每次进入Vim时重新录制record。而对于一些非常常用的record,我们想让它永久地保持,我们知道这种需求需要借助Vim的配置文件vimrc。但是具体怎么操作呢,笔者在走了一些弯路之后将设置方法记录下来,希望能对大家有帮助。我们以添加 Python 单行注释为例,这需要我们在每一行前面添加:#。录制record的方法我们已经比较熟悉了,不熟悉的同学可参考:Vim 重复操作的宏录制。我们知道Vi原创 2021-12-17 22:37:48 · 397 阅读 · 0 评论 -
Vim进阶2 map映射
Vim进阶2 map映射简介map是一个 vim 中的一些列映射命令,将常用的很长的命令映射到一个新的功能键上。map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。map系列命令格式格式以 map 命令为例,它的命令格式是这样的::map {lhs} {rhs}其含义是,在 :map 作用的模式中把键系列 {lhs} 映射为 {rhs},{rhs} 可进行映射扫描,也就是可递归映射。举例 :map td :tabnew .<cr>含义:在其作用模式原创 2021-12-15 20:48:35 · 3305 阅读 · 0 评论 -
vimrc配置文件
vimrc配置文件转自:https://www.ruanyifeng.com/blog/2018/09/vimrc.htmlVim 是最重要的编辑器之一,主要有下面几个优点。可以不使用鼠标,完全用键盘操作。系统资源占用小,打开大文件毫无压力。键盘命令变成肌肉记忆以后,操作速度极快。服务器默认都安装 Vi 或 Vim。Vim 的配置不太容易,它有自己的语法,许许多多的命令。我总是记不清楚,所以就整理了下面这篇文章,列出主要配置项的含义。一、基础知识Vim 的全局配置一般在/etc/vim转载 2021-12-15 19:33:03 · 770 阅读 · 0 评论 -
ctags 基本使用方法
ctags 基本使用方法简介ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有 Vim。并且 Vim 中已经默认安装了 ctags,它可以帮助程序员很容易地浏览源代码。ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags, 有些语言也有专有的tags生成工具(比如java的jtags, python的 ptags)。ctags 支持的语言可以通过这个网站原创 2021-12-14 23:17:42 · 17794 阅读 · 0 评论 -
crontab用法与实例
crontab用法与实例本文基于 ubuntu 18.04在Linux系统的实际使用中,可能会经常碰到让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息、负载状况;定时执行某些任务/脚本来对远端进行数据采集等。这里将介绍下crontab的配置参数以及一些使用实例。crontab配置文件Linux下的任务调度分为两类:系统任务调度和用户任务调度。Linux系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用cron原创 2021-12-14 16:17:58 · 3143 阅读 · 0 评论 -
Vim 进阶1
Vim 进阶1所有你觉得简单重复,可以自动化实现的操作,都是可以自动化实现的。Vim光标移动拾遗w:下一个单词的开头,e:下一个单词的结尾,b:上一个单词的开头,0:行首(最行首,不管行首字符是否为空),$:行尾,^:非空字符行首,%:匹配括号处,前跳后,后跳前都可,gd:跳到某变量定义处(其实是当前函数体内,该变量第一次出现的位置),gD:整个文件内该变量第一次出现的位置,*,#,n,N[{:移动到前一个没有匹配的左大括号处,(用于跳到函数、循环等作用域的开头)r:normal 模式下替换原创 2021-12-13 22:56:38 · 439 阅读 · 0 评论 -
Vim 重复操作的宏录制
Vim 重复操作的宏录制转自:https://www.cnblogs.com/ini_always/archive/2011/09/21/2184446.html在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多次的情况,以编辑下面的文件为例:;=====================================================================================;This is a sample configuration file wh转载 2021-12-13 20:25:27 · 463 阅读 · 0 评论 -
Linux命令行下感叹号的几个用法
Linux命令行下 " ! " 的几个用法! 在大多数编程语言中表示取反的意思,但是在命令行中,他还有一些其他的神奇用法。熟练掌握这些用法,可以大大提高我们日常命令行操作的效率。1 执行历史命令!!! 在命令行中可以用来执行历史命令,最常用的,大家应该比较熟悉的是执行上一条命令 !!,它可以用来执行最近的一条命令。该命令在我们忘记使用 root 权限执行某项命令时很有用:sudo !! 在上一条命令之前加 root 权限再执行。比如,我们要用 fdisk 命令查看磁盘信息,但是如果没有 root原创 2021-12-03 19:33:31 · 5097 阅读 · 0 评论 -
Linux、Mac 命令行快捷键
Linux、Mac 命令行快捷键Linux 命令行编辑快捷键,参考了好多个,应该算是比较全的了,Linux 和 Mac 的都有,笔者本人比较常用的也已经红色标出来了,如有错误或遗漏,欢迎留言指出。光标移动及编辑:Tab : 自动补齐Ctrl A : 移动光标到命令行首Ctrl E : 移动光标到命令行尾Ctrl B : 光标后退,相当于 ←Ctrl F : 光标前进,相当于 →Alt F : 光标前进一个单词,Mac 中 Option →Alt B : 光标后退一格单词,Mac 中原创 2021-11-30 21:36:42 · 2875 阅读 · 0 评论 -
Linux下rm误删恢复 extundelete
Linux下rm误删恢复 extundelete误删之后要第一时间卸载(umount)该分区,或者以只读的方式来挂载(mount)该分区,否则覆写了谁也没办法恢复。如果误删除的是根分区,最好直接断电,进入单用户模式,以只读的方式挂在分区,然后再进行恢复。安装整体安装步骤# 源码下载wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2# 解压tar原创 2021-11-14 15:23:12 · 2896 阅读 · 6 评论 -
Copy-On-Write COW机制
Copy-On-Write COW机制转自:https://zhuanlan.zhihu.com/p/48147304作者:Java3y前言只有光头才能变强在读《Redis设计与实现》关于哈希表扩容的时候,发现这么一段话:执行BGSAVE命令或者BGREWRITEAOF命令的过程中,Redis需要创建当前服务器进程的子进程,而大多数操作系统都采用写时复制(copy-on-write)来优化子进程的使用效率,所以在子进程存在期间,服务器会提高负载因子的阈值,从而避免在子进程存在期间进行哈转载 2021-11-03 22:47:12 · 362 阅读 · 0 评论 -
深入浅出LLVM
深入浅出LLVM转自:https://www.jianshu.com/p/1367dad95445什么是LLVM?LLVM项目是模块化、可重用的编译器以及工具链技术的集合。美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM,之前曾经获得此奖项的软件和技术包括:Java、Apache、 Mosaic、the World Wide Web、Smalltalk、UNIX、Eclipse等等。创始人:Chris Lattner亦是Swift之父。趣闻:Chris Latter本转载 2021-10-30 18:28:10 · 363 阅读 · 0 评论 -
编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析
编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析转自:https://blog.csdn.net/u010533843/article/details/76215487编译型和解释型我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文转载 2021-10-27 16:21:25 · 168 阅读 · 0 评论 -
gdb 入门
gdb 入门简介gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具。一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。gdb可以调试的对象gdb 可以调试的语言Ada, Assembly, C, C++, D, Fo原创 2021-10-16 11:25:09 · 704 阅读 · 0 评论 -
make命令及makefile
make命令及makefile转自:https://www.ruanyifeng.com/blog/2015/02/make.htmlMake 命令教程作者: 阮一峰日期: 2015年2月20日代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,就要重新构建的项目,都可以用Make构建。本文介绍Make命令的用法,从简单的讲起转载 2021-09-30 20:39:38 · 3699 阅读 · 0 评论 -
编程环境中Runtime(运行时)的三个含义
编程环境中Runtime(运行时)的三个含义转自:https://www.zhihu.com/question/20607178 知乎答主@doodlewind三个含义实际上编程语境中的 runtime 至少有三个含义,分别是:指「程序运行的时候」,即程序生命周期中的一个阶段。例句:「Rust 比 C 更容易将错误发现在编译时而非运行时。」指「运行时库」,即 glibc 这类原生语言的标准库。例句:「C 程序的 malloc 函数实现需要由运行时提供。」指「运行时系统」,即某门语言的宿主环境。转载 2021-09-28 18:56:17 · 4655 阅读 · 1 评论 -
跟我一起写makefile: 概述、介绍、规则
跟我一起写makefile 概述、介绍、规则转自:https://seisman.github.io/how-to-write-makefile/rules.html概述什么是makefile?或许很多Windows的程序员都不知道这个东西,因为那些Windows的集成开发环境(integrated development environment,IDE)都为你做了这个工作,但我觉得要作一个好的和专业的程序员,makefile还是要懂。这就好像现在有这么多的HTML编辑器,但如果你想成为一个专业人士,转载 2021-09-01 16:28:00 · 280 阅读 · 0 评论