Golang 第三方库学习 · xlsx

介绍

xlsx 是对新版本的Excel进行简单读写操作的golang第三方库,支持的文件格式是.xlsx

源码

第三方库源码:
https://github.com/tealeg/xlsx

本文源码:
https://github.com/Chain-Zhang/third-lib

安装

go get github.com/tealeg/xlsx



阅读全文»

Golang 源码解析 DetectContentType 检测文件类型

我们可以使用 golang 中的 net/http 包的来查找文件的内容类型或 mime 类型。

DetectContentType 函数实现了 http://mimesniff.spec.whatwg.org/ 描述的算法,用于确定数据的 Content-Type .

该函数会检查数据的前 512 字节,然后返回一个合法的 MIME 类型,例如 application/json 或类似 image/jpg .

如果不能确定数据的类型,将返回 "application/octet-stream" .

阅读全文»

Git 更安全的强制推送,--force-with-lease

由于 git rebase 命令的存在,强制将提交推送到远端仓库似乎也有些必要。不过都知道 git push --force 是不安全的,这让 git rebase 命令显得有些鸡肋。

本文将推荐 --force-with-lease 参数,让我们可以更安全地进行强制推送。

阅读全文»

上游库更新后,如何同步一个 fork

fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?

同步一个 fork

Configuring a remote for a fork

  • 给 fork 配置一个 remote
  • 使用 git remote -v 查看远程状态。
git remote -v
# origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  • 添加一个将被同步给 fork 远程的上游仓库
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

阅读全文»

Docker概念与常用命令

image

什么是Docker?

  • Docker是PaaS提供商dotCloud开源的基于LXC的,源代码托管在Github上的,基于Go语⾔言并遵从Apache2.0协议开源。
  • Docker可以让开发者打包他们的应⽤用以及依赖包到⼀一个轻量量级、可移植的容器器中,然后发布到任何流行的Linux机器器上,也可以实现虚拟化。
  • 容器器是完全使⽤用沙箱机制,相互之间不不会有任何接口(类似iPhone 的 app),更更重要的是容器器性能开销极低。

Docker的应用场景

  • Web 应⽤用的⾃自动化打包和发布.
  • 创建轻量、私有的PaaS环境.
  • 自动化测试和持续集成(CI)/持续部署(CD).
  • 部署并扩展Web应⽤用、数据库和后端服务器.

阅读全文»