草庐IT

读编程与类型系统笔记05_函数类型

1. 策略模式1.1. 在运行时从一组算法中选择某个算法1.1.1. 封装一组算法1.1.2. 在运行时使用其中一个算法1.2. 把算法与使用算法的组件解耦1.3. 面向对象实现1.3.1. 惯例实现1.3.2. IStrategy接口1.3.3. ConcreteStrategy1类1.3.4. ConcreteStrategy2类1.3.5. 通过IStrategy接口使用算法的Context类1.3.6. 常见原因1.3.6.1. 依赖接口的方法1.3.6.2. 设计模式在20世纪90年代流行起来1.3.6.3. 当时并不是所有主流编程语言都支持一等函数1.4. 函数式实现1.4.1. 

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读

【量化读书笔记】【打开量化投资的黑箱】CH.05. 交易成本模型

交易是有成本的,除非有足够的理由,否则便不应该进行交易。交易的原因增加盈利的期望值降低亏损的期望值对交易成本的估计过低,会导致交易过于频繁,损失扩大。过高,导致交易次数少,持仓时间过长。一、定义交易成本交易成本主要由:佣金和费用、滑点以及市场冲击成本构成。1.1.佣金和费用指支付给经济商、交易所和监管者的费用。同时,经纪商在提供清算和结算服务是,也会收取费用(一般是佣金的一部分)。1.2.滑点滑点是指在交易者决定开始交易,到订单交易所系统实际被执行时,这个时间段所发生的价格变动。滑点会给趋势跟随策略带来更多的损失,给均值回复类的策略带来的损失较少。预测、尤其是短期预测越准确,滑点带来的潜在损失

【量化读书笔记】【打开量化投资的黑箱】CH.05. 交易成本模型

交易是有成本的,除非有足够的理由,否则便不应该进行交易。交易的原因增加盈利的期望值降低亏损的期望值对交易成本的估计过低,会导致交易过于频繁,损失扩大。过高,导致交易次数少,持仓时间过长。一、定义交易成本交易成本主要由:佣金和费用、滑点以及市场冲击成本构成。1.1.佣金和费用指支付给经济商、交易所和监管者的费用。同时,经纪商在提供清算和结算服务是,也会收取费用(一般是佣金的一部分)。1.2.滑点滑点是指在交易者决定开始交易,到订单交易所系统实际被执行时,这个时间段所发生的价格变动。滑点会给趋势跟随策略带来更多的损失,给均值回复类的策略带来的损失较少。预测、尤其是短期预测越准确,滑点带来的潜在损失

【LeetCode栈与队列#05】滑动窗口最大值

滑动窗口最大值力扣题目链接(opensnewwindow)给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?提示:1-10^41思路虽然本题在LeetCode上为困难级别,但是似乎很容易想到对应的暴力解法,首先我们得明白这题难在哪里使用暴力解法本题的难点在于使用一般的方法解,时间复杂度会很高一种很自然的想法是:滑动窗口遍历过程中,我们又去遍历窗口内的数,比较大小后返回最大值那么这种方法的时间复杂度为O(n*k),k为窗口大小,n为数组遍历

【LeetCode栈与队列#05】滑动窗口最大值

滑动窗口最大值力扣题目链接(opensnewwindow)给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?提示:1-10^41思路虽然本题在LeetCode上为困难级别,但是似乎很容易想到对应的暴力解法,首先我们得明白这题难在哪里使用暴力解法本题的难点在于使用一般的方法解,时间复杂度会很高一种很自然的想法是:滑动窗口遍历过程中,我们又去遍历窗口内的数,比较大小后返回最大值那么这种方法的时间复杂度为O(n*k),k为窗口大小,n为数组遍历

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2尽自己的绵薄之力,为开源技术分享添砖加瓦本篇幅较多,请按步骤实验安装,截图中涉及的版本若有与命令的版本不一致,请以命令中的版本为主参考实验由于java或者vue使用到不同的环境变量:jdk、maven、nodejs、python2等,需要提前在jenkins的宿主机安装相应环境,并加上不同的映射路径指向宿主的jdk、maven、nodejs、python2等,再重启容器============================jdk、maven安装Begin==============

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2尽自己的绵薄之力,为开源技术分享添砖加瓦本篇幅较多,请按步骤实验安装,截图中涉及的版本若有与命令的版本不一致,请以命令中的版本为主参考实验由于java或者vue使用到不同的环境变量:jdk、maven、nodejs、python2等,需要提前在jenkins的宿主机安装相应环境,并加上不同的映射路径指向宿主的jdk、maven、nodejs、python2等,再重启容器============================jdk、maven安装Begin==============

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2

轻量级CI/CD发布部署环境搭建及使用_05_jenkins配置jdk、nodejs、maven、python2尽自己的绵薄之力,为开源技术分享添砖加瓦本篇幅较多,请按步骤实验安装,截图中涉及的版本若有与命令的版本不一致,请以命令中的版本为主参考实验由于java或者vue使用到不同的环境变量:jdk、maven、nodejs、python2等,需要提前在jenkins的宿主机安装相应环境,并加上不同的映射路径指向宿主的jdk、maven、nodejs、python2等,再重启容器============================jdk、maven安装Begin==============