打开配置目录
定位到文件:weasel.custom.yaml(mac文件名不同)
编辑文件
在patch下,添加皮肤的配置,这里以皮肤win10为例,并且指定配置为"style/color_scheme": win10,重新部署即可
......
patch:
"preset_color_schemes/win10":
horizontal: true # true横排,false竖排
candidate_format: "%c %@ " # 如果是竖排建议改为 "%c\u2005%@"
font_point: 17 # 候选文字大小
label_font_point: 16 # 候选编号大小
corner_radius: 0 # 候选条圆角
border_width: 6 # 窗口左右宽度
border_height: 6 # 窗口左右高度
margin_x: 12 # 字起始距左边距离
margin_y: 12 # 字上下边距
spacing: 10 # 间距
candida [查看更多...]

来自 大脸猪 发送于 2022-05-16 13:42 - 0 条评论

grpc使用起来很HAPPY。以最近做的一个评论微服务举个栗子。
创建proto文件。
主要就是request, response两大类
base_req.proto
```
syntax = "proto3";
package customer;
option go_package = "git.xxx.com/comment_svc/base_req";
// The service definition.
service CommentReq {
rpc CreateComment (CommentRequest) returns (CommonResponse) {}
rpc ReadComment(stream CommentRequest) returns (stream CommonResponse) {} //双向流
}
// Request message for creating a new customer
message CommentRequest {
int64 app = 1;
Comment comment = 2;
}
message CommonResponse {
int64 err = 1;
string err_msg = 2;
string extra = 3;
}
mess [查看更多...]

来自 大脸猫 发送于 2018-11-01 11:40 - 0 条评论

最近在接入交换机上报数据的时候,收到一个比较少见的proto文件telemetry_top.proto。字段定义成了extension。
message TelemetryStream {
//....
optional EnterpriseSensors enterprise = 101;
}
extend EnterpriseSensors {
// re-use IANA assigned numbers
optional JuniperNetworksSensors juniperNetworks = 2636;
}
message JuniperNetworksSensors { extensions 1 to max; }
enterprise的格式是EnterpriseSensors,是一个extend格式。EnterpriseSensors中又有一个JuniperNetworksSensors,它也是一个extension。
找到具体实现的proto,同时编译
首先这样的格式,一定会有一个实体的承载,这里的telemetry_top.proto类似是基类/抽象类,找到那个实体类,将它编译到同一个package中。
需求方提供的实体类,在这个项目中是port.proto
```
syntax = "proto2";
import "telemetry_top.proto"; // 注意这里
#b [查看更多...]

来自 大脸猪 发送于 2022-04-21 14:57 - 0 条评论

转自:https://medium.com/@Aenon/firefox-hide-native-tabs-and-titlebar-f0b00bdbb88b
因为我使用树状插件管理tab,所以上面的标签栏就有点多余了。
打开配置
地址栏:about:config
搜索toolkit.legacyUserProfileCustomizations.stylesheets ,把它改为true
进入配置-more troubleshooting information
找到profile forder
在这个目录中创建文件夹chrome
在chrome文件夹中创建文件userChrome.css,内容:
/* hides the native tabs */
#TabsToolbar {
visibility: collapse;
}
重启firefox,tab栏已经没了
[查看更多...]

来自 大脸猪 发送于 2022-04-13 13:16 - 0 条评论

之前有一个测试程序,会异常退出。so谷歌了一下,写了一个脚本每30s判定一下进程是否存在,如不存在就自动拉起来。
```bash
!/bin/sh
while true
do
process=ps aux | grep talos_agent | grep -v grep;
if [ "$process" == "" ]; then
sleep 30;
echo "process 不存在,开始执行";
./talos_agent 2>> ./logs/stderr.log 1>> /dev/null;
else
sleep 30;
echo "process exsits";
fi
done
```
好简单
[查看更多...]

来自 大脸猪 发送于 2022-03-23 19:54 - 0 条评论

有时,需要动态的根据proto文件来构建一个proto对象。此时,就该反射库上场了。
```
package jsonpb
import (
"github.com/golang/protobuf/proto"
"github.com/golang/protobuf/ptypes"
"github.com/jhump/protoreflect/desc"
"github.com/jhump/protoreflect/desc/protoparse"
"github.com/jhump/protoreflect/dynamic"
"github.com/rfyiamcool/grpcall"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"sync"
)
var globalProtoMap map[string]*desc.FileDescriptor
var IsCached = true
var lk sync.RWMutex
func init() {
globalProtoMap = make(map[string]*desc.FileDescriptor)
}
func getProto(path strin [查看更多...]

来自 大脸猫 发送于 2019-06-04 19:12 - 1 条评论


下载rime输入法包,最新版可去网站:http://fds8866.ys168.com/
linux_rime_043_14.zip
把tongyong的文件复制到 ~/.config/ibus/rime
创建文件如下:
cat default.custom.yaml
patch:
schema_list: # 對於列表類型,現在無有辦法指定如何添加、消除或單一修改某項,於是要在定製檔中將整個列表替換!
- schema: cqlb_weightcode
- schema: cqyx_weightcode
点击rime输入法的部署和同步。
附带自用配置(windows是weasel.custom.yaml)
customization:
distribution_code_name: Weasel
distribution_version: 0.14.3
generator: "Weasel::UIStyleSettings"
modified_time: "Sun Mar 20 17:18:58 2022"
rime_version: 1.5.3
patch:
"app_options/code.exe":
ascii_mode: true
"preset_color_sc [查看更多...]

来自 大脸猪 发送于 2016-05-18 05:08 - 3 条评论

安装zssh
因为ubuntu自带的terminal不支持zmodel,最简单的方式是安装zssh,与ssh完全兼容:
sudo apt install zssh
安装sz/rz
apt-get install lrzsz
使用zssh + rz/sz
从远程将文件复制到本地
```
zssh root@ip -p port # 和ssh用法一样
进入远程
sz remote.file
此时进入等待,按ctrl + @键,注意,windows terminal/tmux不支持。建议使用cygwin64做为windows命令行终端
进入zssh命令行,输入rz即可接收文件,远端sz,则本地rz。
将本地文件发送到远程
远程
rz
进入等待,按ctrl+@,进入zssh终端
sz local.file
```
[查看更多...]

来自 大脸猪 发送于 2022-03-16 11:16 - 0 条评论

在go 1.18之后引入了泛型,终于可以让系统库更加好用
sync.Map
```
package pkg
import "sync"
func NewSyncMapK, V any *SyncMap[K, V] {
s := new(SyncMap[K, V])
s.m = new(sync.Map)
return s
}
type SyncMap[K, V any] struct {
m *sync.Map
}
func (s *SyncMap[K, V]) Load(key K) (V, bool) {
v, ok := s.m.Load(key)
if ok {
return v.(V), ok
}
var empty V
return empty, false
}
func (s *SyncMap[K, V]) Store(key K, val V) {
s.m.Store(key, val)
}
func (s *SyncMap[K, V]) Range(f func(key K, val V) bool) {
s.m.Range(func(key, value any) bool {
[查看更多...]

来自 大脸猪 发送于 2022-03-15 22:22 - 0 条评论

xorm是一个go的orm框架。用起来还挺难用的。
资料:https://www.kancloud.cn/kancloud/xorm-manual-zh-cn/56013
自动根据数据库database_name创建模型:
使用xorm需要先有一个模型struct,比如这个:
type User struct {
Id int64 `json:"f_id" xorm:"not null pk autoincr INT(11)"`
Name string `json:"f_name" xorm:"not null comment('name') VARCHAR(64)"`
}
这样复杂的struct,自然有工具可以自动生成。
最简单,网址工具
http://stming.cn/tool/sql2go.html
这个失效了,我自己做了一个:https://www.superpig.win/sql2go/xorm
手工使用工具生成,不推荐
首先,确保/home/yzh/goxorm文件夹下有这两个文件:
config
lang=go
genJson=1
prefix=cos_
struct.go.tpl
```
package {{.Models}}
{{$ilen := len .Imports}}#b [查看更多...]

来自 大脸猫 发送于 2019-06-21 14:41 - 0 条评论