golang定时器time afterfunc

golang中一种不常见的switch语句写法

最近翻开源代码的时候看到了一种很有意思的switch用法,分享一下。 注意这里讨论的不是typed switch,也就是case语句后面是类型的那种。 直接看代码: func (s *systemd) Status() (Status, error) { exitCode, out, err := ......
写法 语句 常见 golang switch

七、使用调度框架quartz,为12306系统增加定时调度功能

为什么要有定时调度 定时调度在企业级系统中非常重要(统计报表、功能补偿、不紧急的大批量任务) 12306每天都需要生成15天后的车次数据 本章内容 集成quartz,比较SpringBoot自带定时任务喝quartz的区别 使用控台来操作定时任务:新增、暂停、重启、删除 项目中增加batch定时调度 ......
框架 功能 quartz 系统 12306

06 Real-Time Ray-Tracing

1. Tempora 1 SPP 包含如下四条光线。但是一个像素只用1spp会噪声很严重。 因此RTRT的主要目的是降噪,即滤波。 1.1 时间复用Tempora G-Buffer几何缓冲区:记录屏幕空间的信息;在光栅化的时候顺便得到。 Back Projection 首先,拿到当前帧像素的世界坐标 ......
Ray-Tracing Real-Time Tracing Real Time

tornado服务端+tornado.ioloop.PeriodicCallback定时任务踩坑记录及解决方案

背景:用tornado部署一个AI模型的服务端,由于AI模型较慢,收到请求肯定没办法同步返回结果,所以最后定的方案是批处理并异步回调。异步回调下,我这边的处理方式是:实时接收所有请求并多线程落库(使用数据库连接池),再启动一个定时任务取出库中(未处理过的)数据进行批处理。因为web框架用的是torn ......

05 Real-Time Physically-Based Materials

1. Microfacet BRDF 1.1 菲涅尔项 菲涅尔项:反射光线强度与入射角的关系。对于绝缘体而言,观察方向越是平行于平面,反射越强,图像越清晰;因为镜面反射可逆,所以反之亦然。对于金属而言,规律相似,但是变化没有绝缘体那么明显。菲涅尔项的值与角度以及两个介质的折射率有关,可以采用简化公式 ......

Golang程序无法在Termux访问网络(DNS解析问题)

原文: https://github.com/termux/termux-app/issues/869#issuecomment-433985523 pkg install proot resolv-conf proot -b $PREFIX/etc/resolv.conf:/etc/resolv. ......
程序 Golang Termux 问题 网络

Linux用ntpdate自动同步时间后使用crontab定时任务更新

两种同步linux系统的时间方法:(1) 开启ntpd服务,即配置ntp服务器实现时间同步。(2) 利用ntp客户端程序,即ntpdate同步时间。注意:因为ntp服务器本来就会与上层时间服务器进行同步,所以在默认的情况下,ntp服务器不可以使用ntpdate,也就是说ntpdate和ntpd不能同 ......
任务 ntpdate crontab 时间 Linux

golang —— 类型断言的妙用

最近写代码的时候发现编译器老是会给 switch v.(type) 一个简化提醒 could eliminate type assertions in switch cases,于是尝试根据提醒优化了一下: switch v := v.(type) { case int: m[k] = v * 2 ......
妙用 类型 golang

golang原生实现JWT

golang原生实现JWT JWT(JSON Web Token)是一种基于JSON的安全令牌,可以用于在不同系统之间传输认证信息。在Go中实现JWT验证,可以通过标准库crypto/hmac、crypto/sha256和encoding/base64来编写自己的JWT。 获取Token 我们在此封 ......
golang JWT

Java中定时任务的6种实现方式,你知道几种?

几乎在所有的项目中,定时任务的使用都是不可或缺的,如果使用不当甚至会造成资损。还记得多年前在做金融系统时,出款业务是通过定时任务对外打款,当时由于银行接口处理能力有限,外加定时任务使用不当,导致发出大量重复出款请求。还好在后面环节将交易卡在了系统内部,未发生资损。 所以,系统的学习一下定时任务,是非 ......
任务 方式 Java

04 Real-time Global Illumination(GI)

1. Reflective Shadow Map(RSM) 在RTR中,全局光照是想要得到比直接光照多一次bounce的间接光照。一切被直接光照照亮的物体都可以作为one bounce间接光照的光源(indirection light)。所以,全局光照就是direction+indirection。 ......
Illumination Real-time Global Real time

03 Real-time Environment Mapping

1. Shading from Envionment Lighting -- Split Sum 使用IBL(image based lighting)做光照积分,不考虑visibility。 可以使用蒙特卡洛积分,但是需要做sampling,所以很慢。一般使用sampling的手段尽量避免在RTR ......
Environment Real-time Mapping Real time

jenkins定时构建时间设置

1、如果表示每天上午 9 点构建,如果使用0 9 * * *: 2、定时构建时间描述 在上述设置定时构建时,输入了一行命令H2/ * * * *来表示每隔 2 分钟构建一次,这是一种crontab的写法,具体描述分五个部分: 分钟 小时 日期 月份 星期几 * * * * * - - - - - | ......
jenkins 时间

时间可逆的马氏链(Time Reversible Markov Chain)

逆向过程 考虑一个具有转移概率$P_{ij}$和平稳概率$\pi_i$的已经达到平稳状态的遍历的(不可约+非周期+正常返)马尔科夫链。假设这个马氏链在平稳态的状态序列是${X_m,X_{m+1},\cdots}$, 现在我们沿时间的反方向来看这条链,具体地,我们希望考察 $P(X_m = j|X_{ ......
Reversible 时间 Markov Chain Time

02 Real-Time Shadows

1. Shadow Mapping 在shadowmap中,场景被离散化了。在camera中的像素对应的点跟shadow中对应深度可能会有较小偏差,则为阴影。当入射越是平行表面,shadowmap中的像素范围越大,越严重。 为此,设置一个shadowmap深度的冗余的阈值偏置。此外,这个bias可以 ......
Real-Time Shadows Real Time 02

NodeJS定时任务 注:2023-4-28更新

使用的node-schedule 设置定时任务 引入 const schedule = require('node-schedule'); 参数解析 schedule.scheduleJob(* * * * * *) 接收六个参数,位置分别如下,如果不需要,填 * 号即可,* 代表通配符 6个占位符 ......
任务 NodeJS 2023 28

shell执行oracle命令,设置为linux crond定时任务

shell脚本编写举例 注意:此脚本执行用户为root用户,但是oracle安装在oracle用户下,脚本文件存放在/home/oracle/sqlScript目录下;脚本每次运行都会将运行日志打印到同层级的test.log文件夹。 #!/bin/bash # 输出详细日志,并保存到文件 set - ......
命令 任务 oracle shell linux

CSS animation (animation-timing-function) 测试脚本

代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content ......

golang —— 实现接口的结构体调用方式

在接口上调用方法时,必须有和方法定义时相同的接收者类型或者是可以根据具体类型 P 直接辨识的: 指针方法可以通过指针调用 值方法可以通过值调用 接收者是值的方法可以通过指针调用,因为指针会首先被解引用 接收者是指针的方法不可以通过值调用,因为存储在接口中的值没有地址 将一个值赋值给一个接口时,编译器 ......
接口 结构 方式 golang

crontab定时任务详解

定时任务 /etc/crontab 文件中的每一行都代表一项任务,它的格式是: minute hour day month dayofweek command minute — 分钟,从 0 到 59 之间的任何整数 hour — 小时,从 0 到 23 之间的任何整数 day — 日期,从 1 到 ......
任务 crontab

Golang GMP原理(1)

Golang GMP原理(1) 概念梳理 线程 线程一般指内核级线程,核心如下: 操作系统的最小调度单元 创建 销毁 调度由内核完成,cpu要完成内核态与用户态的转换 可充分利用多核,实现并行 协程 协程线程对应 协程,又称为用户级线程,核心点如下: 与线程存在映射关系,为M:1 创建、销毁、调度在 ......
原理 Golang GMP

golang常用的http请求操作

之前用python写各种网络请求的时候写的非常顺手,但是当打算用golang写的时候才发现相对来说还是python的那种方式用的更加顺手,习惯golang的用法之后也就差别不大了,下面主要整理了常用的通过golang发起的GET请求以及POST请求的代码例子 golang发起GET请求 基本的GET ......
常用 golang http

.netcore 使用Quartz定时任务

这是一个使用 .NET Core 和 Quartz.NET 实现定时任务的完整示例。首先确保已经安装了 .NET Core SDK。接下来按照以下步骤创建一个新的控制台应用程序并设置定时任务: 创建一个新的 .NET Core 控制台应用程序: dotnet new console -n Quart ......
任务 netcore Quartz

Golang每日一库之bcrypt

本文 官方文档: https://pkg.go.dev/golang.org/x/crypto/bcrypt 前言 之前讲过JWT Token https://www.cnblogs.com/zichliang/p/17303759.html JWT呢是信息是经过数字签名的,因此可以被验证和信任。 ......
Golang bcrypt

Linux-Centos 用crontab定时运行python脚本详细步骤

服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难, 特此记录下来。 1.编辑crontab配置 crontab -e 服务器一般会安装好crontab,若没有安装请按命令安装 yum install crontabs 2.编写配置文件 当打开配置文件的时候,我们可以看到类似的配置代 ......
Linux-Centos 脚本 步骤 crontab Centos

在Golang中使用Testify mock框架

1. 前言 2. 实现代码 3. Mock和测试 4. Mock无参方法 5. Mock带参数的方法 6. Mock带参数的方法, 但是参数具体内容非测试重点 7. Mock带参数的方法, 并校验实际参数 8. Mockery 9. 参考 1. 前言 我使用golang已经有一段时间了,但直到最近我 ......
框架 Testify Golang mock

【xx-job】 定时任务调度

XXL-JOB XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 现已开放源代码并接入多家公司线上产品线,开箱即用。 一、任务调度中心 1.1 下载XXL-JOB源码 Github git clone https://github.com/xuxueli/ ......
任务 xx-job job xx

golang1.6版本json包解析嵌套指针的问题小记

指针的指针问题 本地跑的好好的,测试环境跑的好好,预发布环境(准线上环境),跪了。 起因就是: 1 a := &struct{s:""} 2 json.Unmarshal([]byte{}, &a) 3 fmt.Println(a.s) //报错行 第一行代码进行 &取地址,获得指针变量。 第二行代 ......
小记 指针 golang1 版本 golang

Golang单元测试

1. 前言 2. 先决条件 3. 创建单元测试的示例程序 4. 创建单元测试 5. 使用go test运行测试 6. Table-driven的单元测试 7. 测试覆盖率 8. Go基准测试 9. 为代码写示例 10. 总结 11. 参考文档 1. 前言 原文: How To Write Unit ......
单元 Golang

定时执行命令

import schedule import time def job(): print('hello') schdule.every().day.at(‘10:00’).do(job) 或者: schedule.every().monday.do(job) schedule.every().wed ......
命令