Golang入门指南


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

git忽略文件权限和所有者

时间: 2021-12-13   |   分类: 运维   git     |   阅读: 382 字 ~1分钟

在发布项目到线上时,很多时候需要修改文件的权限,如果是使用git版本管理软件来发布的话,那么下次更新线上文件的时候就会提示文件冲突。明明文件没有修改,为什么会冲突呢?原来git把文件权限也算作文件差异的一部分。下面笔者自己做了个简单的例子来演示这种情况。

阅读全文 »

合并多次提交

时间: 2021-12-13   |   分类: 运维     |   阅读: 1044 字 ~3分钟
  1. 找到需要合并的最后一条commitid的上一条commitid a3953b9 55ecd9c a142bb1 33018e91766fb 比如,这里需要合并前三个commit 则他们的上一个是 33018e91766fb
  2. 执行 git rebase -i 33018e91766fb (git rebase -i [startpoint] (endpoint)) 将区分范围内的commit 合并 第一条pick保留,其它的pick改为f pick a3953b9 feature: incoming code block name function. f 55ecd9c feature: add compile string length information and debugging symbol information f a142bb1 optimize: remove unnecessary strlen calls
  3. 修改commit的注释 执行 git commit –amend 把日志修改一下
  4. 使用fork工具看看修改是否符合自己的预期
  5. 强制提交

git rebase -i合并多次提交

简介

在日常开发中,代码变更比较频繁,有时候想让前几次提交的合并为一次提交,这里可以使用git rebase -i 命令来完成,当然,git rebase命令不仅仅用于合并提交,它还有许多用处,比如可以使用git rebase onto将某一段commit粘贴到另一个分支上等等,这里主要介绍合并提交。

阅读全文 »

git squash用法

时间: 2021-12-13   |   分类: 运维   git     |   阅读: 650 字 ~2分钟

在开发一个功能的时候会反复的提交代码,会造成一个功能有很多次提交,在我们要向master做分支合并的时候,就会出现很多commits,在合并以后同一个功能的commits就会很多,导致我们无法清晰的知道这个功能关联的commit有哪些,这个squash就是优化我们的commits信息,让我们的版本仓库看起来简洁明了,功能点一目了然: 使用比较简单,比如我想将本地开发分支的内容合并到master主线分支上,并且期望将一个功能的所有提交压缩成一个commit;

阅读全文 »

Centos8更改软件源为阿里源

时间: 2021-12-05   |   分类: 运维     |   阅读: 60 字 ~1分钟

以上内容转载自

1、备份现有源

cd /etc/yum.repos.d/

mkdir backup

mv *.repo ./backup

2、下载阿里云源文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

或

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

3、检查以下是否成功

cat /etc/yum.repos.d/CentOS-Base.repo

4、生成缓存

yum makecache

linux动态库so调用外部so,运行时出现undefined symbol

时间: 2021-11-09   |   分类: 运维     |   阅读: 648 字 ~2分钟

出现这种问题,一般为某工程的动态链接库出现问题,一般为以下解决办法: 一、当前工程的.so文件和生成该.so文件的工程代码不一致,当前.so文件中不包含工程代码中的某些函数。例如我的工程代码中有NdarrytoImage()这个函数,但是我使用的.so生成时却没有该函数,则在编译的时候不包含NdarrytoImage函数,则会抛出no ndarrytoimage undefined symbol, 解决办法为将包含那个函数的工程代码重新编译,然后复制到目录中即可。

阅读全文 »

WebAssembly 不完全指北

时间: 2021-10-29   |   分类: wasm     |   阅读: 3931 字 ~8分钟

原文链接

背景:从 JavaScript 说起

JavaScript 占据着统治地位,不管是公开还是私有的项目、任何组织、世界任何地区,JavaScript 都是第一。 -GitHub 2018 年度报告

img

随着JavaScript的快速发展,目前它已然成为最流行的编程语言之一,这背后正是 Web 的发展所推动的。但是随着JavaScript被广泛的应用,它也暴露了很多问题:

阅读全文 »

Wasm介绍之7:文本格式

时间: 2021-10-29   |   分类: wasm     |   阅读: 4050 字 ~9分钟

原文链接

img

# Wasm介绍之7:文本格式

前面的文章详细介绍了WebAssembly(简称Wasm)二进制格式和指令集,这篇文章将介绍Wasm文本格式(WebAssembly Text Format,后面简称WAT)。

整体结构

WAT采用了S-表达式写法,整体结构如下所示:

(module
  (type   ... )
  (import ... )
  (func   ... )
  (table  ... )
  (mem    ... )
  (global ... )
  (export ... )
  (start  ... )
  (elem   ... )
  (data   ... )
)
复制代码

文本格式是二进制格式的另外一种表现形式,但是对人类更加友好。二进制格式更适合机器(比如编译器)生成和(比如Wasm解释器)理解,文本格式则更适合人类编写和阅读。除了表现形式有明显不同,在结构上,两种格式主要有下面这些不同点:

阅读全文 »

Wasm介绍之6: 间接函数调用

时间: 2021-10-29   |   分类: wasm     |   阅读: 2405 字 ~5分钟

img

# Wasm介绍之6:间接函数调用

在前面的5篇文章里,我们详细讨论了WebAssembly(简称Wasm)二进制格式和除call_indirect之外的所有指令。这篇文章将详细介绍Wasm间接函数调用机制和call_indirect指令。

call_indirect指令

为了更好的理解call_indirect指令,我们首先来回顾一下call指令的工作方式。根据之前文章的介绍 可知,call指令带有一个立即数参数,指定被调用函数的索引。在Wasm实现执行call指令之前,必须保证要传递给被调用函数的参数已经在栈顶,且参数的顺序和类型必须完全匹配被调函数的签名。call指令执行完毕之后,参数已经从栈顶弹出,函数的返回值(如果有的话)会出现在栈顶。我们假设被调用函数接收两个参数,类型分别是f32和f64,返回值类型是i64,下面是call指令的示意图:

阅读全文 »
39 40 41 42 43 44 45 46 47

日志
分类
标签
RSS 订阅
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%