Usage Common log methods in Go: Print/Printf/Println : Print log information Panic/Panicf/Panicln : Print log information and call Panic with the formatted string as an argument Fatal/Fatalf/Fatalln : Print log information and exit the program with os.Exit(1) …

2022年11月20日 0条评论 2623点热度 0人点赞 痴者工良 阅读全文

使用 Go 中常用的 log 方法: Print/Printf/Println : 打印日志信息 Panic/Panicf/Panicln : 打印日志信息后,以拼装好的字符串为参数调用 Panic Fatal/Fatalf/Fatalln : 打印日志信息后,os.Exit(1) 退出程序 New 一个 Logger 的定义如下: func New(out io.Writer, prefix string, flag int) *Logger { return &Logger{out: out, pref…

2022年11月20日 0条评论 2595点热度 0人点赞 痴者工良 阅读全文

首先在要被执行的类型加上参数: [Option(Description = "CloudEvents 'source' (default: urn:example-com:mysource:abc)", LongName = "source", ShortName = "s")] private string Source { get; } = "urn:example-com:mysource:abc"; [Option(Descri…

2022年11月19日 0条评论 76点热度 0人点赞 痴者工良 阅读全文

首先在要被执行的 类型 加上参数: [Option(Description = "CloudEvents 'source' (default: urn:example-com:mysource:abc)", LongName = "source", ShortName = "s")] private string Source { get; } = "urn:example-com:mysource:abc"; [Option(Description = "CloudEvents 'type' (default: …

2022年11月19日 0条评论 2513点热度 0人点赞 痴者工良 阅读全文

Introduce this library: YamlDotNet Configuration example: services.AddYamlDotNetSerializer( serializer => serializer .IncludeNonPublicProperties() .WithTypeConverter(new OneOfConverter()) .WithEmissionPhaseOb[......]继续阅读

2022年11月19日 0条评论 3482点热度 0人点赞 痴者工良 阅读全文

引入这个库: YamlDotNet 配置示例: services.AddYamlDotNetSerializer( serializer => serializer .IncludeNonPublicProperties() .WithTypeConverter(new OneOfConverter()) .WithEmissionPhaseObjectGraphVisitor(args => new Cha[......]继续阅读

2022年11月19日 0条评论 2682点热度 0人点赞 痴者工良 阅读全文

From ServerlessWorkflow, I learned an interesting configuration for NewtonsoftJson. var newtonsoftJsonDefaultConfig = (JsonSerializerSettings settings) => { settings.ContractResolver = new NonPublicSetterContractResolver(); settings.NullValu[......]继续阅读

2022年11月19日 0条评论 2195点热度 1人点赞 痴者工良 阅读全文

从 ServerlessWorkflow 中学习到一个有趣的 NewtonsoftJson 配置。 var newtonsoftJsonDefaultConfig = (JsonSerializerSettings settings) => { settings.ContractResolver = new NonPublicSetterContractResolver(); settings.NullValueHandling = NullValueHandling.Igno[......]继续阅读

2022年11月19日 0条评论 2189点热度 1人点赞 痴者工良 阅读全文

ISO 8601 specifies the time format. In Go language, Duration implements this time format. package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t) } Output: 2022-11-19 02:59:28.201938781 +0000 UTC m=+0.000051897 In …

2022年11月19日 0条评论 3430点热度 0人点赞 痴者工良 阅读全文

ISO8601 规定了时间格式。 在 Go 语言中,Duration 就实现了这种时间格式。 package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t) } 输出: 2022-11-19 02:59:28.201938781 +0000 UTC m=+0.000051897 在 C# 中,可以通过引用 Iso8601DurationHelper 来实现 Duration。 var duration = Durat…

2022年11月19日 0条评论 3408点热度 0人点赞 痴者工良 阅读全文

Background I suddenly learned about a project called ServerlessWorkflow. https://github.com/serverlessworkflow The specific utility of this project is not important; what matters is that it provides insight into the current state of cloud-native middleware dev…

2022年11月19日 0条评论 82点热度 1人点赞 痴者工良 阅读全文

背景 突然了解到有个项目叫 ServerlessWorkflow 。 https://github.com/serverlessworkflow 这个项目有什么用,并不重要,重要的是可以从这里了解到云原生中间件开发的一些现状和需要学习的知识。 因为这个项目是 CNCF 项目,里面使用到的规范、思想、协议,也可以很好地体现当前 CNCF 的趋势。 ServerlessWorkflow 是一个 CNCF 发起的工作流协议,然后现在使用了 C# 实现了这个协议。 https://github.com/serverless…

2022年11月19日 0条评论 2548点热度 1人点赞 痴者工良 阅读全文

首先打开 /etc/kubernetes/pki 目录,里面会有很多证书。 执行命令查看当前证书允许通过哪些地址访问 APIServer: openssl x509 -in apiserver.crt -noout -text | grep -A 2 'Alternative' 可以看到证书允许的都是些内网 IP、本地 DNS 等。 备份好当前的密钥和客户端证书: mv apiserver.crt apiserver.crt.bak mv apiserver.key apiserver.key.bak 修改 kub…

2022年11月18日 0条评论 74点热度 0人点赞 痴者工良 阅读全文

首先打开 /etc/kubernetes/pki 目录,里面会有很多证书。 执行命令查看当前证书允许通过哪些地址访问 APIServer: openssl x509 -in apiserver.crt -noout -text|grep -A 2 'Alternative' 可以看到证书允许的都是些内网 IP、本地 DNS 等。 备份好当前的密钥和客户端证书: mv apiserver.crt apiserver.crt.bak mv apiserver.key apiserver.key.bak 修改 kubea…

2022年11月18日 0条评论 2572点热度 0人点赞 痴者工良 阅读全文

示例代码如下: void Main() { string pName = "程序的名称"; Process[] temp = Process.GetProcessesByName(pName); if (temp.Length > 0) { IntPtr handle = temp[0].MainWindowHandle; SwitchToThisWindow(handle, true); } } [DllImport("user32.dll")] public sta…

2022年11月16日 0条评论 76点热度 0人点赞 痴者工良 阅读全文

示例代码如下: void Main() { string pName = "程序的名称"; Process[] temp = Process.GetProcessesByName(pName); if (temp.Length > 0) { IntPtr handle = temp[0].MainWindowHandle; SwitchToThisWindow(handle, true); } } [DllImport("user32.dll")] public static extern void Swit…

2022年11月16日 0条评论 2404点热度 0人点赞 痴者工良 阅读全文

创建一个元素: <Label x:Name="Label1" Text="111" VerticalOptions="Center" HorizontalOptions="Center" /> <Button Text="点击" Clicked="OnButtonClicked"></Button> 定义一[......] 继续阅读

2022年11月14日 0条评论 2326点热度 0人点赞 痴者工良 阅读全文

创建一个元素: <Label x:Name="Label1" Text="111" VerticalOptions="Center" HorizontalOptions="Center" /> <Button Text="点击" Clicked="OnButtonClicked"></Button> 定义一个模型,继承 INotifyPropertyChanged。 public class A : INotifyPrope[......]继续阅读

2022年11月14日 0条评论 2310点热度 0人点赞 痴者工良 阅读全文

package main import ( "context" "fmt" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "os" ) func main() { kubeconfig := "config" c…

2022年11月13日 0条评论 1720点热度 0人点赞 痴者工良 阅读全文

package main import ( "context" "fmt" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "os" ) func main() { kubeconfig := "config" config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err !=…

2022年11月13日 0条评论 1674点热度 0人点赞 痴者工良 阅读全文
1101112131454