清朝官员的任职方式

清朝存在大量捐官,除了科举外还有大挑,战时军工还有晋升,大挑是清朝乾隆年间制定下的一种科考制度,为的是让已经有举人身份但又没有官职的人有一个晋身的机会。在明清时期,封赠制度根据官员的政绩和官品进行,分为考满封赠和特例封赠两种方式。考满封赠是根据官员的政绩考核结果进行封赠,而特例封赠则包括旌忠、旌劳等特殊情况。封赠的范围广泛,从一品到九品的官员只要考绩合格,其父祖都能得到封赠。

杜凤治在大挑获得官职之前到过一些官员家中当教书先生或书启幕客,期间的生活很困难,在赴粤任官前一两年他才得以把儿子、儿媳接到北京,但因收入无多,捐官又花费了大部分积蓄,以至于连蚊帐、席子都买不起,子、媳要用一个被囊带着孙子阿来睡觉。

阅读更多

目前不知道什么原因当标签页没有在前端显示时drissionpage驱动的midjourney生产器可能会陷入打不开且不刷新的困局从而停摆,我看了下可以用drissionpage操纵标签页定时前端显示,对于夜间自动可以打开这个程序。

切换标签页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  

from DrissionPage import ChromiumPage, ChromiumOptions
import time

# 配置 ChromiumPage 选项
do1 = ChromiumOptions().set_paths(local_port=9111, user_data_path=r'C:/Users/A/AppData/Local/Google/Chrome/User Data')
tab = ChromiumPage(addr_or_opts=do1)

# 打开两个标签页并获取它们的ID
chuya_tab = tab.get_tab(url='Welcome to nginx!')
kwf_tab = tab.get_tab(url='discord-d-com-s-mj3.aiwentu.net')

# 定时切换标签页
switch_interval = 120 # 切换间隔(秒)

try:
while True:
# 切换到第一个标签页
chuya_tab.set.activate()
print("Switched to Tab chuya_tab")
time.sleep(switch_interval)

# 切换到第二个标签页
kwf_tab.set.activate()
print("Switched to Tab kwf_tab")
time.sleep(switch_interval)

except KeyboardInterrupt:
print("切换结束")

阅读更多

测试了stable diffusion liblib在线生图,可以用浮雕相关的lora转换图片为浮雕,liblib每天免费300次图片生产,对于浮雕制作是够用了,于是我想把d盘空间释放出来,sd就用不着了,本地版不知道为何可能是大模型不对?总之就是一样的设置做出来的图效果很不好。浮雕用aiuni生产glb模型效果很不好,因此这一块就用liblib生产png,然后zbrush drag替换alpha。

阅读更多

telegram有插件月费40可以实时翻译任何语言,我粗看了下大概是发送到火山翻译然后把译文用js附加html元素显示在原文下,目前一天下来总会花不少时间刷知乎、rt今日俄罗斯看看有没有什么刺激的新闻,消息有限是一方面另外长期如此也容易信息茧房,于是想在telegram看看有什么关注度大的频道利用chatgpt来逆向这个telegram的翻译插件。这个程序用到了beautiful soup格式化html提取文本,分段发送给火山翻译。需要注意的有几点:

1.translate_tab = tab.get_tab(url=’volcengine.com‘) 用get_tab可以获取当前已有的标签页,我一开始是打开telegram再跳转到火山翻译,反复横跳。这样会造成每次跳转需要设置页面加载等待时间,另外火山翻译每次打开默认是翻译为英文,如果页面始终保持打开不刷新的话,可以设置好中文,这样不用反复切换翻译语言,那样也会耗时。

2.有时会莫名其妙翻译语言切换为英文,这里检测翻译语言,若因为不明原因发生变动则使其切换为中文。

3.过滤掉一些出现文本的html元素以及某些文本,比如点赞数的数字,日期,http www链接等等,@用户名,这些都会浪费时间没有翻译的意义。

4.一开始翻译遇到了译文顺序问题,多段译文会倒叙排列,因为后翻译的会去紧贴原文的div,我想了下不如把同一个div中的原文合并提交,这样还可以节约提交次数省事且解决了顺序问题,因为同一个div下的原文会合并一次性翻译出来。这样做还能避免重复出现过的内容检测第1个div从而使译文错位的问题。

5.译文因为重复出现过的内容检测第1个div从而使译文错位的问题,可以通过添加属性给属性值translated作为标记从而跳过,这个手法或许在4的使用下变得没有用武之地,不过其他项目可以参考。

阅读更多

导入ue前务必检查各种modifier比如array、solidify、mirror都已经应用了。

不知道为啥bakemaster没autounwrap,所有的wall都没uv,全部重来一遍,吸取教训下次bakemaster之前必然保存一份dataname分类collection的blender版本。

当物体超过1000个时,若data name为大于1000的数值会导致导出到ue的packedA Texture出问题,物体超标的很大原因是房型多,那么房型命名变一下前缀即可解决。

这套搞了大概一个多星期,很大的问题在于缺少参考,自己思考折腾了很久,说明还是需要midjourney这边提供更多的参考池。笔记本的auto midjourney这回一次性开了近3天搞了490轮,挑了大概100个图,精简下可能也就20个吧。

阅读更多

检测场景中的重叠对象并随机删除每对重叠对象中的一个
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  

import bpy
import mathutils
import random

# 获取所有对象
objects = list(bpy.context.scene.objects)

# 清除当前选择
bpy.ops.object.select_all(action='DESELECT')

# 存储已经删除的对象,以避免重复删除
deleted_objects = set()

# 检测重叠对象并记录重叠对
overlap_pairs = []

for i, obj in enumerate(objects):
if obj.name in deleted_objects:
continue

bbox_corners = [obj.matrix_world @ mathutils.Vector(corner) for corner in obj.bound_box]

for j, other_obj in enumerate(objects):
if i >= j or other_obj.name in deleted_objects:
continue

other_bbox_corners = [other_obj.matrix_world @ mathutils.Vector(corner) for corner in other_obj.bound_box]

if (min(c[0] for c in bbox_corners) <= max(c[0] for c in other_bbox_corners) and
max(c[0] for c in bbox_corners) >= min(c[0] for c in other_bbox_corners) and
min(c[1] for c in bbox_corners) <= max(c[1] for c in other_bbox_corners) and
max(c[1] for c in bbox_corners) >= min(c[1] for c in other_bbox_corners) and
min(c[2] for c in bbox_corners) <= max(c[2] for c in other_bbox_corners) and
max(c[2] for c in bbox_corners) >= min(c[2] for c in other_bbox_corners)):

overlap_pairs.append((obj.name, other_obj.name))

# 随机删除每对重叠对象中的一个
for obj_name, other_obj_name in overlap_pairs:
to_delete_name = random.choice([obj_name, other_obj_name])
deleted_objects.add(to_delete_name)
to_delete = bpy.data.objects.get(to_delete_name)
if to_delete:
bpy.data.objects.remove(to_delete, do_unlink=True)

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×