Go项目标准布局
Go 项目标准布局(结构)https://github.com/golang-standards/project-layout 项目总结了 Go 项目的布局,这是Go应用程序项目的基本布局,并不是Go核心开发团队定义的官方标准;但是,这是Go生态系统中的一种常见的项目布局模式。 Go的目录/cmd该目录用于存放 Go 项目的入口,即 main.go。一般来说,我们应该在 cmd 目录下创建子目录,子目录名称代表可执行程序的名称(例如/cmd/myapp)。上面列出的优秀开源项目基本上遵循了这一规则。一般来说,该目录中的代码应该尽可能少。如果认为该代码可以导入并在其他项目中使用,那么它应该位于/pkg目录中。如果该代码不可重用,或者不希望其他人重用它,则将该代码放在/internal目录中。通常有一个小的main函数可以导入和调用/ internal和/ pkg目录中的代码而不是其他内容。 有关示例,请参阅/ cmd目录。 /internal这是 Go 包的一个特性,放在该包中的代码,表明只...
自定義代碼配色
在Butterfly-安裝文檔-三-主題配置中已經介紹瞭如何使用自定義代碼配色。 這篇文章是使用自定義代碼配色的實例教程。 Highlight以使用Kimbie dark主題配色為例子 配置hljs為true修改 Hexo 根目錄下的_config.yml 123456highlight: enable: true line_number: true auto_detect: false tab_replace: hljs: true 配置highlight_theme為false修改主題配置文件 1highlight_theme: false 下載和修改 CSS 文件在Github上找到這個 CSS 在 Hexo 的根目錄source文件夾下創立一個self文件夾,在self文件夾創建一個Kimbiedark.css文件 把 Github 上Kimbie dark的 CSS 代碼複製到Kimbiedark.css去。(你也可以直接從 Github 上下載這個 CSS) Kimbiedark.css代碼如下 1234567891011121314151617181...
Butterfly 文檔(六) 進階教程
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外掛 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 建議 不要把個人需要的文件/圖片放在主題source文件夾裏,因為在升級主題的過程中,可能會把文件覆蓋刪除了。在 Hexo 根目錄的source文件夾裏,創建一個文件夾來放置個人文件/圖片。引用文件直接為/文件夾名稱/文件名 音樂音樂界面使用了插件 hexo-tag-aplayer使用方法請參考插件文檔 音樂頁面只是普通的 page 頁,按普通頁面操作生成就行。 以下內容可供選擇配置 注意: 仍需要安裝插件hexo-tag-aplayer 插件會在每一個文件都插入 js 和 css,為了避免這一情況,3.0 版本內置了 aplayer 需要的 css 和 js。 首先在 Hexo 根目錄 _config 裏配置 asset_inject 為 false 12aplayer: asset_inject: false 然後在你需要使用 aplayer 的頁面 Front-...
Butterfly 文檔(五) 主題問答
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外掛 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 以下是一些網友在安裝的過程中出現的問題。在提問題之前,先看有沒有解決方法。 運行後網頁顯示代碼頁面只顯示 extends includes/layout.pug block content #recent-posts.recent-posts include includes/recent-posts.pug include includes/pagination.pug #aside_content.aside_content include includes/aside.pug 請下載安裝:npm install hexo-renderer-pug hexo-renderer-stylus --save or yarn add hexo-renderer-pug hexo-renderer-stylus 配置友情鏈接報錯配置友情鏈接頁面時出現報錯 123456789101112131415...
Butterfly 文檔(四) 標簽外挂
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外挂 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 標籤外掛是 Hexo 獨有的功能,並不是標準的 Markdown 格式。 以下的寫法,只適用於 Butterfly 主題,用在其它主題上不會有效果,甚至可能會報錯。使用前請留意 標籤外掛雖然能為主題帶來一些額外的功能和 UI 方面的強化,但是,標籤外掛也有明顯的限制,使用時請留意。 Note (Bootstrap Callout)通用設置用法 1用法 2(自定義 icon)移植於 next 主題,並進行修改。 123456789101112note: # Note tag style values: # - simple bs-callout old alert style. Default. # - modern bs-callout new (v2-v3) alert style. # - flat flat callout style with b...
Butterfly 文檔(三) 主題配置
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外掛 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 配置文件速讀你可以快速瞭解到所有配置的註解,讓你配置文件更加方便。如果遇到不太清楚的配置,可以在這篇文章找到更加詳細的資訊。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915...
Butterfly 文檔(二) 主題頁面
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外掛 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 Front-matterFront-matter 是 markdown 文件最上方以 --- 分隔的區域,用於指定個別檔案的變數。 Page Front-matter 用於 頁面 配置 Post Front-matter 用於 文章頁 配置 如果標注可選的參數,可根據自己需要添加,不用全部都寫在 markdown 裏 Page Front-matter12345678910111213141516171819---title:date:updated:type:comments:description:keywords:top_img:mathjax:katex:aside:aplayer:highlight_shrink:random:limit: type: value:--- 參數 解釋 title 【必需】頁面標題 date 【必需】頁面創建日期 type...
部署脚本
123456789101112131415161718192021222324252627282930313233343536#!/bin/bash# 当前系统用户name='walletdemo'project='walletdemo'user=`echo $USER`pid=`ps -f -u $user | grep $name | grep -v grep | awk '{print $2}'`echo $pidecho $user#判断是否是进程ID,进程ID是数字if [ -n "$(echo $pid | sed -n "/^[0-9]\+$/p")" ];then kill -9 $pidficase $1 inrun) rm -rf $project* rz unzip $project.zip cd $project go build ./$n...
一文详解微服务架构
一文详解微服务架构 原文:https://www.cnblogs.com/skabyy/p/11396571.html 本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。 最初的需求几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单,只需要一个网站挂在公网,用户能够在这个网站上浏览商品、购买商品;另外还需一个管理后台,可以管理商品、用户、以及订单数据。 我们整理一下功能清单: 网站 用户注册、登录功能 商品展示 下单 管理后台 用户管理 商品管理 订单管理 由于需求简单,小明左手右手一个慢动作,网站就做好了。管理后台出于安...
Go使用反射导出Excel
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package mainimport "github.com/360EntSecGroup-Skylar/excelize"func main(t *testing.T) { var users []*UserInfo users = append(users, &UserInfo{ Name: "小明", Age: 11, Mobile: "15392262003", }) users = append(users, &UserInfo{ Name: "小华", Age: 12, Mobile:"15369965887", }) // 反射写 Refactor...
2019Go开发者路线图
Go开发者路线图Go是Google开发的一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类C编程语言。 2009以开源项目的形式发布,2012年发布1.0稳定版本,距今已经十年了,其性能类似于Java和C++,但速度极快,适合搭载于web服务器,用于高性能分布式系统开发。 作为热门的编程语言之一,Go语言吸引了很多关注。根据TIOBE编程排行榜,2016年,Go语言成为年度最受欢迎的编程语言; 2019年,Go语言的热度不减,仍稳居排行榜前20名。在基于云的服务中,Go语言因其在编译速度和执行性能上的优越性,具有其他编程语言无法比拟的优势。随着云计算的迅速发展,更多基于Go语言的项目正在不断涌现。 今天,CSDN就为大家推荐了一份来自Github的2019年Go开发者指南,帮助大家快速入门Go语言。 该指南提供了详细的进阶路线图,列出了学习Go开发所需的各类知识和技能,而且每个知识点也附上啦相应的学习资源。相信无论是零基础的新手,还是对Go语言有一定了解的开发者,都能够有所收获。 Go开发者路线图 学习资源整理 1、先决条件 1)Go:https://golangbot...
linux下二进制文件分析
linux下二进制文件分析 https://www.cnblogs.com/seaspring/p/14056230.html 一 背景也许大家都遇到过这种场景,就是有二进制代码,比如深度分析下此文件到底是什么格式的图片等,这篇文章就记录我分析下二进制可执行文件的过程,已经自己读写二进制文件的一些坑。分析的二进制执行文件为linux下的可执行文件。 二 常用二进制文件静态分析命令2.1 file基本信息查看linux下有个最常用的通用命令,来分析任何文件的基本格式,那就是file ,来看下: 12root@ubuntu:~/GameProject3/Server/Src/Linux# file libmysqlclient.solibmysqlclient.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b036eb267f65e1dc60b921237becd3dc754b3755, with debug_info, not strip...
最常用的150个命令汇总
一、线上查询及帮助命令(2个) 二、文件和目录操作命令(18个) 三、查看文件及内容处理命令(21个) 四、文件压缩及解压缩命令(4个) 五、信息显示命令(11个) 六、搜索文件命令(4个) 七、用户管理命令(10个) 八、基础网络操作命令(11个) 九、深入网络操作命令(9个) 十、有关磁盘与文件系统的命令(16个) 十一、系统权限及用户授权相关命令(4个) 十二、查看系统用户登陆信息的命令(7个) 十三、内置命令及其它(19个) 十四、系统管理与性能监视命令(9个) 十五、关机/重启/注销和查看系统信息的命令(6个) 十六、进程管理相关命令(15个)
ubuntu安装mysql
ubuntu安装mysql ubuntu16.04 apt-get资源库中mysql的最新版本为:mysql-5.7.29 安装一、卸载/清理残余1.查看mysql有没有已安装的依赖包 1dpkg --list|grep mysql 先卸载mysql-common 1sudo apt-get remove mysql-common 再执行: 1sudo apt-get autoremove --purge mysql-server-5.0 然后继续用 dpkg --list|grep mysql 查看,还剩什么就卸载什么; 二、安装mysql12345678910111213141516171819#更新apt-get,更新后将会使用最新资源库sudo apt-get update#安装MySQL:sudo apt-get install mysql-server#查看MySQL版本: mysql -V#进入MySQL: mysql -u root -p#启动: sudo service mysql start#重启:sudo service mysql ...
goland远程调试
goland远程调试 jetbrains golang: 2019.3 golang: 1.13 安装dlvhttps://github.com/go-delve/delve 12345678910111213mkdir $GOPATH/srcmkdir $GOPATH/src/golang.orgmkdir $GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/xgit clone https://github.com/golang/net.gitgit clone https://github.com/golang/sys.gitgit clone https://github.com/golang/arch.gitgit clone https://github.com/golang/sync.gitgit clone https://github.com/golang/tools.gitcd $GOPATH/srcgo get -u github.com/go-delve/delve/cmd/dlvdlv version ...
golang实现无限级菜单
golang实现无限级菜单查数据库12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455type Menu struct { Id int `json:"id"` Pid int `json:"pid"` Name string `json:"name"` Sort int `json:"sort"` Route string `json:"route"`}type TreeList struct { Id int `json:"id"` Name string `json:"name"` Pid int `json:"pid"` Sort int `json:&q...
MySql时间计算
MySql时间计算1234567891011SELECT TIME_TO_SEC(TIMEDIFF('2018-09-30 19:38:45', '2018-08-23 10:13:01')) AS DIFF_SECOND1, -- 秒UNIX_TIMESTAMP('2018-09-30 19:38:45')-UNIX_TIMESTAMP('2018-08-23 10:13:01') AS DIFF_SECOND2, -- 秒TIMESTAMPDIFF(SECOND,'2018-08-23 10:13:01','2018-09-30 19:38:45') AS DIFF_SECOND3, -- 秒TIMESTAMPDIFF(MINUTE,'2018-08-23 10:13:01','2018-09-30 19:38:45') AS DIFF_MINUTE, -- 分TIMESTAMPDIFF(HOUR,'201...
开源镜像源
开源软件镜像地址如果要是下载软件的话,直接执行 1weget wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz http://mirror.bit.edu.cn/web/ #北京理工大学开源软件镜像服务 (比较全一些软件) https://mirrors.tuna.tsinghua.edu.cn/ #清华大学开源软件镜像站(比较全一些软件) http://mirrors.aliyun.com/ #阿里云 (阿里巴巴比较全的一些软件,包括服务呀,使用文档呀,也是软件开发者们首先下载目标) http://mirrors.zju.edu.cn/ #浙江大学(学校级别的开源网,相对于软件数量不是很多) http://mirrors.sohu.com/ #搜狐 http://mirrors.tuna.tsing...
Drone+Gitea自动化部署
Drone+Gitea自动化部署 本使用Vagrant搭建虚拟环境 新建一个虚拟机ip为192.168.56.100 1.安装私有仓库harbor 下载地址:https://github.com/goharbor/harbor/releases 1234$ vagrant ssh#密码vagrant$ sudo su$ tar xvf harbor-offline-installer-v1.10.1.tgz 编辑harbor.yml文件 12$ cd ./harbor$ vi harbor.yml 安装执行install.sh 1$ ./install.sh 编辑 /etc/docker/daemon.json 1234{ "insecure-registries":["192.168.56.100"], "registry-mirrors": ["https://c8x7u9xt.mirror.aliyuncs.com"]} 重启...
沒有封面
這篇文章沒有封面