TypechoJoeTheme

MetMan's Blog

网站页面

最新文章

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日
15,566 阅读
1 评论
2024-05-27

ODB2格式观测数据处理库: odc(一)

ODB2格式观测数据处理库: odc(一)
ODB-2数据格式是ECMWF开发用于气象观测数据存储的一种紧凑的表格形式数据格式。odc库是用于对ODB-2数据格式编码和解码处理的专用库,提供C/C++/Fortran接口,并提供命令行工具。项目地址:https://github.com/ecmwf/odc依赖C/C++编译器CMakeecbuildeckitFortran编译器(可选)安装ecbuild安装下载最新版本3.8.2, https://github.com/ecmwf/ecbuild/archive/refs/tags/3.8.2.tar.gz具体安装过程见[[ecBuild构建工具]]。eckit安装下载最新版本1.25.0,https://github.com/ecmwf/eckit/archive/refs/tags/1.25.0.tar.gz。$ tar xzvf eckit-1.25.0.tar.gz $ cd eckit-1.25.0 $ mkdir build $ cd build $ export CC=icc CXX=icpc $ ecbuild --prefix=/path/to/ins...
2024年05月27日
116 阅读
0 评论
2024-05-27

ecBuild构建工具介绍

ecBuild构建工具介绍
ecBuild是ECMWF基于CMake构建软件定制的一组CMake宏和函数,通过封装和增加参数检查等方式让CMake使用更加简单方便。项目地址:https://github.com/ecmwf/ecbuild安装使用由于ecBuild是CMake宏,不需要编译安装,只需要下载源代码,设置好ecbuild的PATH路径。$ git clone https://github.com/ecmwf/ecBuild $ vi ~/.bashrc export PATH=/path/to/ecbuild/bin:$PATH命令ecbuild是cmake命令的封装脚本,调用$ ecbuild $SRC_DIR等价于$ cmake -DCMAKE_MODULE_PATH=$ECBUILD_DIR/cmake $SRC_DIR宏定义在CMakeLists.txt文件中直接使用ecBuild预定义好的CMake宏。添加编译器编译选项ecbuild_add_c_flags添加C编译选项CMAKE_C_FLAGS,支持编译选项支持检测。对应的宏文件ecbuild/cmake/ecbuild_add_...
2024年05月27日
101 阅读
0 评论
2024-05-21

搭建个人chatgpt网站

搭建个人chatgpt网站
由于某些原因,我们不能直接使用ChatGPT服务,如果希望不用魔法直接使用ChatGPT服务,可以考虑部署一个个人chatgpt网站。准备工作OpenAI apikey (最简单方法:淘宝)github账号vercel账号(直接使用github账号)Cloudflare账号域名(随便注册一个,挺便宜的)Vercel部署进入github项目ChatGPT-Next-Web主页,点击Deploy黑色图标点击图标后会进入vercel网站开始部署。点击Create按钮,设置环境变量后点击Deploy部署服务。OPENAI_API_KEY 使用OpenAI服务的凭证CODE 相当于网站密码,设置防止被其他人滥用部署需要几分钟,部署完成后,可以设置域名。比如设置域名chat.wetwan.xxx在Cloudflare网站上对该域名进行DNS设置,设置CNAME信息,并打开Cloudflare代理。过几分钟后在浏览器键入你设置的域名,看是否成功跳转到以下页面。如果前面设置了CODE环境变量,这里需要登录才能正常使用。试试效果吧。写在最后当我开始愉快使用时,网站很快被标记为不安全站点,不知道是...
2024年05月21日
96 阅读
0 评论
2024-05-21

Shell脚本检查工具ShellCheck

Shell脚本检查工具ShellCheck
ShellCheck是一个用于bash/sh shell脚本的静态分析工具,可以辅助检查脚本语法错误,给出建议增强脚本健壮性。项目地址:https://github.com/koalaman/shellcheck 作者创建了一个在线网站 https://www.shellcheck.net/ ,你可以直接将代码贴到编辑框中进行在线检查。当然你也可以将工具部署到本地计算机使用。本地部署联网安装最简单的方式是使用包管理器安装。基本上各种平台都能直接安装,比如笔者的archlinux机器:$ sudo pacman -S shellcheck安装成功后,测试脚本$ shellcheck test.sh离线安装在Github上直接下载对应平台预编译好的可执行文件,解压缩到本地即可使用。代码编辑器集成可以根据官方说明安装VIM、VSCODE等编辑器插件直接在编译器中使用。使用示例示例一$ cat test.sh #!/bin/bash cat $0 for i in {1..10} do echo $i done $ shellcheck test.sh shellc...
2024年05月21日
105 阅读
0 评论
2024-05-21

GNU Parallel并行加速脚本运行

GNU Parallel并行加速脚本运行
GNU Parallel是xargs和shell循环的替代品,可以利用多核CPU并行执行任务(jobs),加快命令行脚本的运行速度。这里的任务(job)可以是单个命令或者一个shell小脚本。并行执行有一个任务池,将任务池中任务分发给每个进程单独执行,这里的任务池指输入源列表。一般输入源包括文件列表、主机列表、用户列表等等,每一个列表项就是一个任务的参数。本质上,parallel工具是一个perl脚本。安装如果机器上没有parallel命令,可以自行安装。$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ fetch -o - http://pi.dk/3 ) > install.sh $ bash install.sh并行执行paralle可以替代xargs -P功能# sleep 1+2+3+4+5 = 15秒 $ time echo {1..5} | xargs -n 1 sleep #使用5个进程,最长的需要5秒 $ time echo {1..5} | xargs -n 1 -P ...
2024年05月21日
184 阅读
0 评论
2024-05-21

美国能源部E级超算

美国能源部E级超算
最新一期TOP500超算榜单(202311)发布,相比于6月份榜单,排名第一的仍是美国能源部(DOE)的橡树岭国家实验室(ORNL)的Frontier,但第2名变成DOE的Argonne国家实验室的Aurora,第3名是微软的Eagle。原先第2名的Fugaku排名降至第4。Frontier目前仍是唯一的E级超算。Aurora超算设计的计算性能为2 EFlop/s,但目前没有完成整体建设,只测试了一半系统,计算能力为585.34 PFlop/s。根据“NERSC GPU for Science Day"报告整理了美国能源部旗下三个机构的E级超算建设情况。三家E级超算都是CPU+GPU异构超算,但GPU来自不同的厂商,包括NVIDIA/AMD/Intel。下面是DOE的E级超算路线图。不同厂商的GPU支持不同的编程模型,这给应用可移植性带来了巨大挑战。下面介绍三家E级超算情况。Frontier (ORNL)Frontier计算节点组成:1颗CPU + 4颗GPU。Aurora (ANL)Argonne Leadership Computing Facility(ALCF)Auror...
2024年05月21日
107 阅读
0 评论
2024-05-21

BASH脚本获得自身路径方法

BASH脚本获得自身路径方法
Shell中有一个命令叫pwd(记忆:Print Working Directory的单词首字母)可以获得当前工作目录。如果该脚本在其所在目录下执行,使用pwd命令可以得到脚本的当前目录。    # /home/user/scripts/getmydir.sh     MYDIR=`pwd`     echo $MYDIR 在/home/user/scripts目录下执行./getmydir.sh得到脚本所在的绝对路径。问题:但如果该脚本在其他目录下执行,比如在/home/user下执行scripts/getmydir.sh得到的路径却是/home/user/。 原因在于pwd命令返回路径与脚本执行时的路径有关。解决方法可以看出pwd命令获取脚本自身路径有一定限制,那么如何更加通用的获取执行脚本所在路径?思路:我们需要先将工作目录切换到脚本所在目录,通过pwd获取脚本目录,同时保证切换目录操作不影响shell当前目录。BASH有两个内置变量可以帮忙:FUNCNAME  bash内置变量,包含目前执行调用堆栈中所有shell函数名称的数组变量。FUNCNAME[0]是当前...
2024年05月21日
123 阅读
0 评论
2024-04-19

Linux canonical pathname概念

Linux canonical pathname概念
POSIX定义了绝对/相对路径名,还有一种canonical pathname,它不是POSIX定义的,但在Linux命令介绍中常用到这个概念。下面介绍三种文件名概念。absolute pathname (绝对路径名)以单个或两个以上/字符开头的路径名。 比如/root /../usr/bin //opt/intelrelative pathname不以/字符开头的路径名。比如:foo ../data/a.txtCanonical pathname路径名中每个部分都是实际存在的目录或文件(不是符号链接),不包括.和..,并且其斜杠不重复。这意味着对于同一个文件系统对象,其canonical路径名是唯一的,从而是可比较的。假如以下路径名是canonical pathname,/home/user/data/a.txt # 路径中每一部分都是真实存在的如果cd ~; ln -sf /home/user/data mydata,那么下面几个路径名都不是canonical pathname。/home/user/mydata/b.txt /home/other/../user/d...
2024年04月19日
116 阅读
0 评论

互动读者

标签云

最新回复

暂无回复

登录
X
用户名
密码