-
编程语言源
编程语言源 概述 本文探索不同编程语言都是如何管理其依赖包的,如何做到快速安装使用?如何为其构建的源做贡献?以及,如果想自定义一个第三方包管理,怎么做? python 自定义包上传官方源 自定义包上传到pypi的教程:Packaging Python Projects — Python Packaging User Guide 通过twine命令。 有两点需要注意: 1、需要设置2FA验证后才能生成token。 什么是2FA验证:类似一种动态口令,需要手机扫二维码,获得口令码,再输入验证。 腾讯小程序有一个比较好用的: Authentic 2、如果遇到上传失败,提示403的情况,检查包名是否跟其他人重复: ERROR HTTPError: 403 Forb... Read More
-
rpm.spec
rpm.spec spec依赖检查机制 spec文件的依赖是怎么检查的? 编译阶段:通过BuildRequires;运行阶段:通过Requires BuildRequires: python Requires: python 具体检查方式: 查看rpmbuild源码:Ftp - /releases/rpm-4.15.x/ :: Oregon State University Open Source Lab BuildRequires被解释为使用宏__spec_buildrequires_template: 该宏具体内容可以通过rpm –eval展开: rpm --eval %{__spec_buildrequires_template} 这... Read More
-
编程语言兼容性
前言 本文将讨论各类编程语言兼容性都是怎么引入的,这里的兼容性是指对硬件的兼容性、对不同架构平台芯片的兼容性。 什么是好的兼容性? 如果一款软件能够提供不同平台的二进制,或者一个二进制能够在不同平台上跑,那么说明这款软件的兼容性完备。 什么时候会出现兼容性问题? 当代码中硬编码了汇编语言 当代码中调用了so库,而该so库还被打包到最终的可运行包里 当代码中调用了so库,且该so库是由软件源码包中的c/c++等待编译文件编译出来的 以上这些情况均会导致软件与平台相关,进而导致软件必须提供不同平台编译版本才能满足软件在指定平台的可运行。 只要软件和平台相关,那么当指定平台缺少该软件的预编译包时,整个上层应用在该平台上的安装就会失败,从而带来不好的兼容性体验。 ... Read More
-
我的github.io是怎么搭的
如果你嫌弃国内博客站点的各种广告,并且不想花钱租服务器挂自己的博客站点,那么github.io是一个不错的选择。 本文将介绍github.io如何快速上手。 快速上手 本地环境搭建 本地环境建议采用wsl,原因为:github.io依赖于jekyll(一个能够将markdown转化为html的软件),官方教程多以linux环境介绍,故使用wsl2将会很直接,免得折腾windows环境。 github的个人网页默认采用jekyll搭建,jekyll是一个能够将markdown文件转义为html的web工具,由ruby编写,故首先需要准备ruby环境: apt install ruby-full ruby有两个包管理器: gem bundle 前者在安装ru... Read More