跳转至

2025

被阉割的名言

  • 欲从心头起,贫向胆边生
    富贵险中求,也在险中丢
    求时十之一,丢时十之九
    注:出自《增广贤文》,警示贪婪的后果——冒险所得终将因贪念失去。

  • 可怜之人必有可恨之处 , 可恨之人必有可悲之苦

  • 以德报怨,何以报德?以直抱怨,以德报德
    注:出自《论语》,主张公正回应恶意,善意回报善意。

  • 未经他人苦,莫劝他人善
    你若经我苦,未必有我善
    强调共情的重要性,反对盲目说教。

  • 活到老,学到老,最终还是以笨蛋死去
    自嘲版:承认认知的局限性,学习永无止境。

  • 岁月不饶人,我亦未曾绕过岁月

  • 百善孝为先,论心不论迹,论迹寒门无孝子
    注:孝道重真心而非物质条件。

  • 万恶淫为首,论迹不论心,论心世上无完人
    注:恶行看实际行为,非内心念头(因人性皆有杂念)。

2025-06-28 11:54:06

FiberArt 导入外部计算的铺层

FiberArt 包含路径规划、仿真、后处理三大块,一般来说 FiberArt 中的铺层路径都是由 FiberArt 软件的路径规划算法计算得到的,计算出来的铺层可以导出为 FiberArt 的专有二进制格式(后缀名为 .afscene 或者 .afnode)。如果用户使用第三方的算法算出了铺层的路径,想要导入到 FiberArt 中来,就需要一种新的中间格式,为了方便起见,在最新版 FiberArt(0.13.9)中,我们采用了 JSON 格式作为铺层导入导出的中间格式。

导出铺层

在 FiberArt 中,先在场景树中选中要导出的铺层(Ply)节点,然后点击 文件》导出》导出铺层,在弹出的文件对话框中选择要保存的文件路径及名称,文件名应该以 .json 的后缀结束。导出铺层之后,可以使用 NotePad、VSCode 之类的编辑器打开查看。

可以下载这个 FiberArtData/JsonPly/AirWingPly45.json 完整的示例文件,该铺层是基于 Surfaces/Wing.stp 这个零件规划的 45° 铺层。

导入铺层

要导入外部计算的铺层,需要先转化为符合 FiberArt 铺层规范的 json 格式,FiberArt 要求导入的 json 必须符合下面的格式:

{
    // 铺层的名称
    "name": "Ply45",
    // 铺层包含的预浸带组
    "courses": [
        {
            // 当前预浸带组的名称 
            "name": "Course1",
            // 铺丝头最大铺放的根数
            "max_tows": 8, 
            // 包含的预浸带
            "tows": [
                {
                    // 这根预浸带的名称
                    "name": "Tow1",
                    // 预浸带宽度,单位是米
                    "width": 0.0064,
                    // 厚度,单位是米
                    "thickness": 0.0001,
                    // 预浸带段
                    "segments": [
                        // 第一段
                        [0.0, 1.0],
                        // 第二段
                        [1.1, 2.0]
                    ],
                    // 预浸带的左边界
                    "left_boundary": [
                        [
                          -8.881784197e-17,
                          0.3122729612489414,
                          0.09152230722364099
                        ],
                        [
                          0.006152924098051296,
                          0.3122711817300565,
                          0.09150596525719899
                        ],
                        // ... 更多的点
                    ],
                    "center_path": [
                        [
                          -8.881784197e-17,
                          0.3090930284503795,
                          0.0918803973814629
                        ],
                        [
                          3.139053811173154e-08,
                          0.30909306438973166,
                          0.0918803932499613
                        ],          
                        // ... 更多的点         
                    ],
                    "right_boundary": [
                        [
                          -8.881784197e-17,
                          0.3059131203665747,
                          0.09223848475617213
                        ],
                        [
                          6.278107631228089e-08,
                          0.3059131628163211,
                          0.09223847980714471
                        ],
                         // ... 更多的点        
                    ]
                },
                // 更多预浸带
            ]
        },
        // 更多预浸带组
    ]
}

这里面的层级关系是一个铺层可以包含多个铺层组,一个铺层组由多跟预浸带组成(最大数量就是铺丝头一次可以铺放的预浸带根数)。每根预浸带的左边界曲线、中心曲线、右边界曲线决定了它的位置、形状。每条曲线由一些列三维空间的坐标点定义,用户需要提供这些离散的坐标点。

在准备好以上数据以后,打开 FiberArt 软件,先导入要铺放的曲面模型,如果模型不是网格模式,需要先双击模型节点,在它的属性界面中,转化为网格曲面;然后选中网格曲面节点,点击 文件》导入》导入铺层,在弹出的对话框中选择准备好的 json 格式的铺层文件,如果一切顺利,铺层就会导入到 FiberArt 中;接着可以进行仿真、后处理等操作。

总结

FiberArt 拥有很好的拓展性,能够很方便的用 python 语言创建新的插件功能。用户在准备 json 格式的铺层时,可能需要拥有一定的编程能力,对其他软件导出的路径做一些简单的格式处理。

2025-06-26 18:53:56

nohup command 2&1 & 的意思

nohup 2>&1 & 是一个在 Unix/Linux 系统中非常常见的命令组合,用于在后台运行一个进程,并且确保它在用户退出终端会话后依然能继续运行。

假设你要运行的命令是 your_command。那么完整的命令就是:

nohup your_command 2>&1 &

我们逐个分析:


1. your_command

这是你想要执行的实际命令。它可以是任何可执行的程序、脚本或一系列命令。

例如: * python your_script.py * java -jar your_app.jar * ./my_program * tail -f /var/log/messages


2. & (Ampersand)

这个符号的作用是将命令放到 后台 (background) 执行。

  • 当你执行 your_command & 时:
    • 命令会立即开始执行,但你不会看到它的输出直接显示在当前终端。
    • 终端会立即返回一个 PID (Process ID) 给你的 shell,然后你就可以继续在当前终端输入其他命令了。
    • 这个进程仍然是当前 shell 的子进程。这意味着,如果你的 shell 关闭(例如,你退出 SSH 会话),默认情况下,这个后台进程会收到一个 SIGHUP 信号,然后被终止。

3. nohup

nohup 是 "no hang up" 的缩写。它的作用是让命令 忽略 SIGHUP 信号

  • 当一个 shell 关闭时(例如,用户注销、SSH 连接断开),它会向其所有子进程发送一个 SIGHUP 信号。
  • 通常,收到 SIGHUP 信号的进程会终止。
  • nohup 命令会阻止它后面跟着的命令在收到 SIGHUP 信号时终止。这意味着,即使你的终端会话结束,该进程也会继续运行。

nohup 的副作用:

  • 标准输出重定向: 如果没有显式地重定向,nohup 会将命令的标准输出 (stdout) 和标准错误 (stderr) 重定向到一个名为 nohup.out 的文件中(在当前目录下)。如果当前目录不可写,它会尝试重定向到 $HOME/nohup.out
  • 标准输入: nohup 不会读取标准输入,所以如果你运行的命令需要用户交互,那它可能无法正常工作。

4. 2>&1

这是一个 重定向操作符。它的含义是:

  • 2: 代表标准错误 (stderr)。在 Unix/Linux 中,文件描述符 0 是标准输入 (stdin),1 是标准输出 (stdout),2 是标准错误 (stderr)。
  • >: 是重定向操作符,将输出发送到指定位置。
  • &1: 表示将 2 (标准错误) 重定向到 1 (标准输出) 所指向的同一个地方。

为什么需要 2>&1

正如上面提到的,nohup 默认会将标准输出重定向到 nohup.out。但是,它不会默认重定向标准错误。

  • 如果没有 2>&1,你的命令的正常输出会进入 nohup.out,但任何错误信息仍然会显示在你的终端上(如果你没有立即关闭终端的话),或者在终端关闭后丢失。
  • 通过 2>&1,你确保了所有(标准输出和标准错误)的输出都汇集到标准输出流,然后一起被 nohup 重定向到 nohup.out 文件中。这样,你就可以在一个地方查看命令的所有日志和错误信息,而不会丢失任何重要的输出。

更灵活的重定向:

你也可以将输出重定向到你指定的文件,而不是默认的 nohup.out

nohup your_command > /path/to/your/log.log 2>&1 &
这会将所有输出(标准输出和标准错误)都写入 /path/to/your/log.log 文件。


总结 nohup 2>&1 & 的作用:

结合起来,nohup your_command 2>&1 & 命令的作用是:

  1. 后台运行 (&)your_command 会立即开始执行,并且将控制权返回给你的终端,你可以继续进行其他操作。
  2. 防止会话终止 (nohup):即使你退出当前的 shell 会话(例如,关闭 SSH 窗口),your_command 也不会收到 SIGHUP 信号而终止,它会继续在服务器上运行。
  3. 统一日志输出 (2>&1)your_command 的所有输出(包括正常的程序输出和任何错误信息)都会被捕获并写入到 nohup.out 文件(或你指定的文件)中,以便后续检查。

这个组合在部署长时间运行的服务、脚本或测试时非常有用,因为它允许你启动任务后安全地断开连接,而不必担心任务中断或丢失日志。

2025-06-25 23:08:53

常用开发工具

数据库相关

  • DBeaver Community | Free Universal Database Tool:一款免费的跨平台数据库工具,适用于开发人员、数据库管理员、分析师以及所有数据处理人员,支持 MySQL、MariaDB、PostgreSQL、SQLite、Apache Family 等常用 SQL 数据库。

网络相关

  • Resend 发送免费的邮件,免费版限制每天100封
  • Watt Toolkit 加速github等海外网站访问,应该是直接修改hosts的方法

其他

  • PDFgear : 免费PDF软件,可阅读、编辑、转换、合并和签署PDF文件,无需注册,跨设备使用

2025-06-23 13:05:24

2025年6月22日

言论

  • 叶上初阳干宿雨,水面清圆,一一风荷举。
  • 曲港跳鱼,园荷泻露,寂寞无人知。
  • 天气乍凉人寂寞,光阴须得酒消磨。且来花里听笙歌。

夏夜

夏夜

窗户开着
风微弱得感觉不到
小猫近乎四脚朝天地躺在地板上

我只需轻轻地吹个口哨
它的头便像监控摄像头一样转过来
注视着我

2025年6月21日

言论

  • 中国企业习惯优先把好东西拿去出口,多余的以及稍微差一点的内销;这让我想起小时候长辈做生意,批发了一箱水果,总是优先把品质好的、大的挑出来卖给顾客,家人如果想吃就捡那些小的、快坏掉的。感觉在某些方面有一些相似,但又不尽相同。共同点是都包含了一些对更亲近的人的刻薄,对外人则是比较客气讨好。深层的原因则可能都是源于经济问题。日久成习以后,即便经济水平提高了,可能一时半会儿也改不过来了。

2025年6月20日

言论

  • 强者绝不自我毁灭,最差也要同归于尽。

  • 避免 AI 幻觉的做法是应该利用 AI 去整理而不是创造。

个人网盘配置

本文介绍如何利用filebrowser和caddy两个软件在windows平台上配置个人网盘系统,结合cloudflare的tunnel功能,成功配置后,可以通过任意平台的浏览器远程访问个人电脑上的文件夹,实现下载、上传、分享等文件管理功能。

2025年6月17日

今天拖地发现龙血树的叶子也干枯了好几片,不知道上次什么时候浇水。拖完地给它浇了掺和营养液的两壶半水,希望茁壮成长吧,叶子可别再干了。