项目需要,需接入操纵杆、油门外部控制设备,以支持太空漫游相关控制操作。
0 概览
设备为罗技的X56 H.O.T.A.S.
。分为油门和操纵杆两个设备。
1 尝试
之前并未接触过这类设备,首先查到的方向是JoyStick
。因为仿真服务是C++,但我对C++并不是太熟。故找了一下Python相关的读取代码。
项目需要,需接入操纵杆、油门外部控制设备,以支持太空漫游相关控制操作。
设备为罗技的X56 H.O.T.A.S.
。分为油门和操纵杆两个设备。
之前并未接触过这类设备,首先查到的方向是JoyStick
。因为仿真服务是C++,但我对C++并不是太熟。故找了一下Python相关的读取代码。
项目需要,某些场景下需要修改文件的创建(Date created)及修改时间(Date modified),另外还有个访问时间(Date accessed),不过这个时间打开文件夹访问时就会更新。
需要安装pywin32
模块。
import pywintypes
import win32file
def change_file_time(filename: str, create_time: float, modified_time: float):
"""
修改文件的创建时间和修改时间
:param filename: 文件名
:param create_time: 创建时间
:param modified_time: 修改时间
:return:
"""
# 若为文件夹
if os.path.isdir(filename):
os.utime(filename, (create_time, modified_time))
return
handle = win32file.CreateFile(filename, win32file.GENERIC_WRITE, 0, None, win32file.OPEN_EXISTING, win32file.FILE_ATTRIBUTE_NORMAL, None)
win32file.SetFileTime(handle, pywintypes.Time(create_time), pywintypes.Time(modified_time), pywintypes.Time(modified_time))
def get_all_files(path_dir: str):
"""
获取指定目录下的所有文件
:param path_dir:
:return:
"""
files = []
for dirpath, dirnames, filenames in os.walk(path_dir):
for filename in filenames:
abs_file = os.path.join(dirpath, filename)
files.append(abs_file)
for dirname in dirnames:
abs_dir = os.path.join(dirpath, dirname)
# 添加文件夹
files.append(abs_dir)
# 递归获取文件
files += get_all_files(abs_dir)
return files
将日期修改为四、五
月份,时间修改为[10-19]
点之间,尽量随机一些。
整体逻辑比较简单,适合对Python有一定了解,并对OR-Tools求解器感兴趣的同学,作为简单入门案例。
最近在浏览V2EX站时发现一个求助帖,求助:用 Python 安排监考–让科技来拯救一下手搓党,感兴趣的可以看下原贴。
主要是想通过编程代码方式,完成对监考老师的分配工作。
目前手动解决方法:(有时需要 2 次才能排出监考表)
1. 先根据场次限制,制作出所有老师的监考次数。
2. 根据特殊要求先安排必监考科目和考场和不监考科目和考场的老师,逐个复制粘贴到监考表。
3. 单科目一个人不能重复出现。还需要考虑到能一天安排安排的就别分散安排。
4. 统计老师名单中所有老师在各科中出现的次数以及总的监考场次。然后手动逐一调整。
因为最近也在做类似排产排程相关内容,也有了解过OR-Tools的基本使用。这跟官方的一个示例很接近: 员工日程安排。
紧接上一篇,完成分析之后,就要具体的实现了。
service-a
: 实现dubbo服务。
service-b
: 实现web服务,并调用service-a
实现的服务。
本例直接使用【阿里云·日志服务】进行数据存储和检索,使用Aliyun Log Logback Appender
进行日志收集及上传。
其实就是阿里自己实现了一个Logback Appender。当然我们也可以自己实现,比如上传至自建的ELK中。
当前公司后端整体架构为:Spring Boot + Dubbo。由于早期项目进度等原因,对日志这块没有统一的规范,基本上是每个项目自己管自己的日志。这也对后面的问题排查带来了很大的困难,特别是那些需要同时或者多级调用Dubbo的服务场景,排查起来更加的困难。
现在需要实现从请求开始,到请求结束的全程日志跟踪。需求很简单,实现思路也不难,只需要全局添加一个traceId
即可。
你好,世界!