Go Mutex 实现var m sync.Mutexfunc (*InventoryServer) LockSell(ctx context.Context, req *proto.SellInfo) (*emptypb.Empty, error) { tx := global.DB.Beg...
做C项目的都碰到过移植库的痛苦,不同的编译器、不同的平台下总会一堆报错要调整。库的引用也是无比麻烦,先下载、编译,然后再添加到工程中,编译时还可能会报一堆编译器兼容问题。比如有些代码是linux gcc编译的,想在windows下用于msvc工程里面编译,基本上就不可能直接成功,要改好多地方。这...
vnpy框架CTA回测时报成交记录为空,无法计算点击VN Trader菜单栏上的【配置】按钮弹出【全局配置】窗口,如下图所示:填写上datafeed数据服务这里用的tushare,因为他免费https://www.tushare.pro/
在我们使用 Linux 系统时,如果网络或者磁盘等 I/O 出问题,会发现进程卡住了,即使用 kill -9 也无法杀掉进程,很多常用的调试工具,比如 strace, pstack 等也都失灵了,是怎么回事?此时,我们使用 ps 查看进程列表,可以看到卡住的进程状态显示为 D。man ps 中描述 ...
为什么EasyWeChat官网老是打不开? 可能是域名备案去了,用这个easywechat.vercel.app
在跑完了历史数据回测和优化,得到了一个不错的回测资金曲线,最后就可以准备开始实盘交易了。在教程2-5中我们已经接触了真实账户和仿真账户的概念,这里强调一个原则:所有量化策略在开始真金白银交易之前,都应该经过仿真账户的充分测试,毕竟每个人交易的本金都来之不易,一定要有十分负责的态度。本篇教程我们继续以...
uni-app对vue3 & Vite的升级,是一个渐进式过程:2020年9月:小程序平台支持 vue3 开发,小程序平台编译器依然使用webpack;2021年5月:H5平台支持 vue3 开发,H5平台编译器升级为 Vite;2021年8月:App平台支持 vue3 开发,App平台编译...
1.场景当我们想实现以下面效果时,咱们第一时间肯定会想到浮动floatflex:不应该是第一时间想起我吗?我:不,我不想flex:呵,男人不多BB,直接上代码<div class="box"> <div class="left"></div> ...
AOP 的全称为 Aspect Oriented Programming,意思是:面向切面编程。为什么会有这篇文章?是因为看了 Laravel 中 Pipeline 的设计,发现 Pipeline 就是基于 AOP 思想的一种实现。说起 AOP,就不得不说起 OOP,它们又是什么关系,有什么区别?A...
配置连接$conn = new MongoClient('mongodb://localhost:27017');$conn = new MongoClient();// 关闭连接$conn->close();连接表$connection = $conn->myDb->test;c...
MongoDB索引索引通常能够极大的提高查询的效率,如果没有索引,MongoDB 在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存储在...
使用name选项文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname’参数,波浪号~...
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望。下面,我给大家总结下有哪些 Spring Boot 的面试题,这是我经常拿来问面试者的,希望对你有帮助。1、什么是 Sp...
rosedb 是一个简单、内嵌的 k-v 数据库,使用 Golang 实现,支持多种数据结构,包含 String、List、Hash、Set、Sorted Set,接口名称风格和 Redis 类似。如果你已经比较熟悉 Go 语言的基础知识了,但是又苦于没有项目实战,无法得到进一步的提升,那么这个项目...
加入缓存一般情况下,我们会把热点数据放到缓存中,比如常用的字典、用户信息、订单详情等等;也就是说,当项目启动后,先将热点数据加载到redis中,以后需要数据时就不用每次都去数据库查询了,这样一来,既减少了数据库的压力,也提升了访问速度,可谓是一举多得呀!缓存穿透缓存穿透是指缓存和数据库中都没有的...
定义一个工具类wordUtilpackage com.keji.service.utils;import org.apache.poi.xwpf.usermodel.*;import java.io.FileInputStream;import java.io.InputStream;import ...
设计模式是可以帮助开发人员解决问题的模板。在本中涉及的模式太多了,而且它们往往针对不同的需求。但是,它们可以被分为三个不同的组:结构模式处理不同组件(或类)之间的关系,并形成新的结构,以提供新的功能。结构模式的例子有Composite、Adapter和Decorator。行为模式将组件之间的公共行为...
面试官:说一说v8垃圾回收机制垃圾回收机制有两种方式,一种是引用法,一种是标记法引用法就是判断一个对象的引用数,引用数为0就回收,引用数大于0就不回收。请看以下代码let obj1 = { name: '林三心', age: 22 }let obj2 = obj1let obj3 = obj1obj...
假设我们使用setInterval,我们可能这样写let interval = 1000let countdown = () => { // do someting...}countdown()setInterval(countdown, interval)我们可能以为它的执行顺序是这样...
通常情况下,K8S关于服务的暴露方式主要是通过NodePort方式,通过绑定宿主机的某些端口,然然后再由kube-proxy将其转发给相关的Pod。但存在很多缺陷,service可能有多个,如果每个都绑定一个node端口的话,主机需要开放很多的端口服务进行调用,尤其是防火墙的规则。而Ingress就...