2023-10-21 Typecho博客网格 置顶 Typecho博客网格 基于油管视频搭建个人Typecho博客网站。视频对应文字介绍:https://iweec.com/336.htmlVPS目前使用Racknerd VPS。主题主题不使用视频中提供的版本,而是使用joe魔改版1.1.9,主题下载地址:https://github.com/XG2020/Typecho-Joe-Theme。侧边栏广告位图片适配图片分辨率调整设置广告位高度为90px (原先190px)usr/themes/Typecho-Joe-Theme/assets/css/joe.min.css外链图片不能正常显示在控制台->外观->设置外观->公共设置中“自定义head标签末尾位置内容”中添加<meta name="referrer" content="no-referrer" /> 插件代码高亮试用了CodeStyle和ColorHighlight插件发现与现在的主题不适配,最终选择了SyntaxHighlighter这款插件。插件地址:https://github.com/tinpont/SyntaxHi... 2023年10月21日 26,093 阅读 1 评论
2024-11-03 如何查阅Fortran语言标准 如何查阅Fortran语言标准 如果你对Fortran的语法细节感兴趣,希望了解标准如何定义的,可以阅读官方Fortran标准说明文档。各大编译器厂商基本上按照Fortran标准实现自家的编译器,再加上一些各自的扩展功能。由于ISO组织拥有Fortran最终标准的版权,无法免费获取正式标准的电子文档,需要花钱购买它们的纸质或电子文档。但有一个网上公开合法获取Fortran标准说明文档途径是美国Fortran编程语言标准技术委员会(J3)提供的内部工作版本。Fortran标准由"Working Group 5 of Sub-Committee 22 of the Joint Technical Committee 1 of the International Organization for Standardization and the International Electrotechnical Commission (IEC)"(ISO/IEC JTC1/SC22/WG5)负责开发,这个小组简称为WG5。官方网站:https://wg5-fortran.org而前面提到的J3是ISO/IEC JTC1/SC... 2024年11月03日 122 阅读 0 评论
2024-11-03 MPI4PY实现探究 MPI4PY实现探究 前言MPI C/Fortran P2P通信一般需要指定<数据首地址,数据类型,数据数目>三元组信息,根据三元组信息可以通信一段连续内存数据(MPI派生类型允许内存不连续数据一次通信完成,但底层实现仍然要求发送内存连续数据)。mpi4py是MPI的Python绑定。如果你对Python标准实现Cpython有了解的话,Python对象都不是一个简单的“裸”数据,Python对象在Cpython实现中一般是一个C结构体,比如Python列表对象如下所示:typedef struct { PyObject_VAR_HEAD /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */ PyObject **ob_item; /* ob_item contains space for 'allocated' elements. The number * currently in use is ob_size. * Invariants: ... 2024年11月03日 81 阅读 0 评论
2024-11-03 数学公式识别软件SimpleTex 数学公式识别软件SimpleTex 当需要编辑大量数学公式时,如果有一款软件能够识别公式图片自动生成Latex/Word公式,这将极大的减少我们的工作量。最近在网上找到SimpleTex这款软件,支持自动识别图片公式、手写板公式识别功能,试用一段时间感觉还可以。项目地址:https://simpletex.cn/SimpleTex目前提供Win和Mac平台软件安装版,也提供网页版功能(https://simpletex.cn/ai/latex_ocr),可以先在网页上试用,满足需求的话可以考虑安装本地软件版本。注意软件要联网使用使用方法截图识别SimpleTex内置了截图软件,不过我是使用的Snipaste截图软件。对公式截图后在软件界面内,Ctrl+V粘贴公式截图,SimpleTex自动翻译成Latex公式。比如截图公式示例:Ctrl+V粘贴到SimpleTex中即时识别可以选择LaTex复制样式,比如我在笔记软件中希望公式是$$...$$格式的。如果是在Word中使用,可以选择对应的选项复制粘贴到Word中。手写板功能可以通过手写板功能写公式,然后通过SimpleTex生成对应的Latex或者Word公式。识别... 2024年11月03日 97 阅读 0 评论
2024-11-03 Fortran标准库系列:查询变量占用内存大小 Fortran标准库系列:查询变量占用内存大小 C语言提供sizeof()运算符计算数据类型对象占用内存字节数,常用于malloc分配对象空间时使用。那么Fortran语言中是否有类似函数计算对象大小?Fortran标准实际上提供了STORAGE_SIZE和C_SIZEOF内置函数可以实现该功能,此外GNU编译器提供了额外的扩展SIZEOF支持该功能。STORAGE_SIZEFortran 2008标准内置函数,函数返回参数A的存储大小,单位是bits。RESULT = STORAGE_SIZE(A [, KIND])参数A是任意类型的标量或者数组。可选参数KIND是标量整型常量表达式,用于指定返回值的整型KIND。需要注意的是,如果传入的参数A是数组,返回的是数组一个元素占有的位数,而不是整个数组存储空间大小。SIZEOFGNU扩展,不是Fortran标准内置函数。计算参数X占用的存储字节数,单位是字节(bytes)。函数假设数组连续。N = SIZEOF(X)返回值类型是INTEGER(C_SIZE_T),值是参数占用的字节数。如果参数是POINTER属性,返回指向的存储区域字节数。如果参数是包含POINTER或ALLOC... 2024年11月03日 97 阅读 0 评论
2024-09-22 Linux服务器数据备份迁移 Linux服务器数据备份迁移 需求笔者需要将一台服务器上的所有数据备份到另一台服务器上。由于数据量比较大,需要长时间传输。为了防止登录远程服务器可能中途断开连接,考虑使用tmux + rsync组合进行数据备份迁移。用法首先确保备份服务器空间足够,避免传输过程将服务器存储空间用满情况。启动tmux$ tmux new -s backup 创建一个backup的tmux会话,并进入会话中。执行rsync备份在backup会话环境中执行以下命令$ mkdir BACKUP_DIR # 创建备份目录 $ rsync -avz --exclude={'*.o','*.mod','p4/*'} remote_user@remote_ip:/path/to/need/backup/dir/ BACKUP_DIR # 输入remote服务器用户密码其中rsync命令选项意义:-a 存档模式-v 命令执行详细信息-z 在传输过程中压缩数据--exclude 排除匹配模式文件/目录传输,以上设置不传输*.o和*.mod编译临时生成文件以及p4目录,根据自己需要进行设置。使用SSH协议传输数据,remote_user@r... 2024年09月22日 181 阅读 0 评论
2024-09-22 Fortran Sequential二进制文件读入问题诊断 Fortran Sequential二进制文件读入问题诊断 问题现有一个二进制文件rain_clmn_202306.0000.dat及对应的GrADS CTL数据描述文件,使用GrADS绘图正常显示,但通过Fortran程序读入数据会报错。CTL数据描述文件如下所示:DSET ^rain_clmn_202306.0000.dat OPTIONS sequential big_endian UNDEF 9999.000 TITLE Result for CTRL,MWR, XDEF 45 linear 5.0000 9.0000 YDEF 8 levels 3.0000 6.0000 9.0000 12.0000 15.0000 18.0000 21.0000 24.0000 ZDEF 1 levels 0.000 TDEF 30 linear 00Z01JUN2023 1dy VARS 12 CTRL1 1 0 CTRL (TS) CTRL2 1 0 CTRL (MISSED) CTRL3... 2024年09月22日 161 阅读 0 评论
2024-09-22 交互式登录shell 交互式登录shell 本文是上一篇文章[[TMOUT引起服务器断开连接解决方法]]的附带研究产物。TMOUT环境变量在Bash Beginners Guide的解释如下:If set to a value greater than zero, TMOUT is treated as the default timeout for the read built-in. In an interative shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt when the shell is interactive. Bash terminates after that number of seconds if input does not arrive.TMOUT设置首先对read命令会产生影响,如果在指定时间内没有输入,Bash会退出read语句输入环境。其次,TMOUT会对交互式(interactive)shell产生影响,如果主提示符(P... 2024年09月22日 230 阅读 0 评论
2024-08-10 TMOUT引起服务器断开连接解决方法 TMOUT引起服务器断开连接解决方法 服务器管理员为了系统安全性和减少开销,一般会设置一定时间内shell没有活动自动断开连接。但如果设置时间过短,查查资料/休息下,再回终端工作发现已经退出登录是挺烦恼的。那么如何绕过这个限制保持SSH会话长时间在线?TMOUT变量首先我们要确认管理员如何实现该功能的。原先我以为自动断开连接是通过SSH配置实现的,后来发现是通过shell的TMOUT环境变量实现的。管理员会在系统配置文件/etc/profile中设置TMOUT值,并将其设为只读变量。export TMOUT=1200 # 保持在线1200秒,不活动退出 readonly TMOUT普通用户没有权限unset这个只读变量,这样用户就不能关闭这个自动退出功能了。$ unset TMOUT -bash: unset: TMOUT: cannot unset: readonly variable解决方法方法一一种解决思路是保持shell繁忙,可以在~/.bashrc加上一段代码:# ~/.bashrc alias bs="while sleep 1000; do printf '\33[0n'; done&... 2024年08月10日 269 阅读 0 评论