【杂项】部分基础知识

  Linux,自由、开源的类Unix操作系统。其内核由 Linus Torvalds 发布于1991年。

  Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  gitHub是一个面向开源及私有软件项目的托管平台,因为只支持 git 作为唯一的版本库格式进行托管,故名gitHub。hub,集线器、中心。


代码行(line of code)指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:job control language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。
一代码行(1LOC)的价值和人月均代码行数可以体现一个软件组织的生产能力。
组织可以根据对历史项目的审计来核算组织的单行代码价值。
代码行LOC常用于源代码的规模估算,常使用的单位有:

  • SLOC(single line of code)
  • KLOC(thousand lines of code)
  • LLOC(logical line of code)
  • PLOC(physical line of code)
  • NCLOC (non-commented line of code)
  • DSI(delivered source instruction)

Flex(FlexibleBox的缩写),意思是“灵活布局”。2009年,W3C 提出了一种新的方案——Flex 布局,可以简便、完整、响应式地实现各种页面布局。

阮一峰:Flex 布局教程


npm(Node Package Manager),一个软件包管理系统,用于管理 JavaScript 编写的软件包。 2009年作为一个开源项目来帮助JavaScript 开发人员轻松共享打包的代码模块。

yarn,也是一个包管理器,和npm没有本质区别。解决了早期npm的一些问题(npm新版本基本上已经解决了自身的老毛病)。

dpkg (package manager for Debian)是 Debian 及其衍生系统如 Ubuntu 中的一个重要的包管理工具。

apt(Advanced Packaging Tool), Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

aptapt-get的简化版。

pip是一个通用的Python包管理工具,全称是package installer for python

brew:是macOS上的一个流行的包管理器,用于安装软件。

 

snapd是一个守护进程,用于支持snap格式的软件包。Snap是一种通用的软件包格式,它允许开发者将应用程序及其依赖项打包在一起。

可以通过sudo snap install命令来安装其他snap应用


CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA 推出的运算平台。

CUDA Toolkit (nvidia): CUDA完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。

cudnn(CUDA Deep Neural Network library):为深度学习计算设计的软件库。

nvcc(NVIDIA CUDA Compiler):CUDA的编译器

一文讲清楚CUDA、CUDA toolkit、CUDNN、NVCC关系-CSDN博客


Python相关

Python 文档字符串,在函数体的第一行使用一对三个单引号 ''' 或者一对三个双引号 """ 来定义文档字符串。

Python 文档字符串(DocStrings) | 菜鸟教程

python中2种不同的包导入方式:

# 方式一:import my_package.module1
import my_package.module1
my_package.module1.hello()          # 必须带完整前缀
# my_package 本身也是一个可访问的对象(包)

# 方式二:from my_package import module1
from my_package import module1
module1.hello()                     # 直接用 module1
# my_package 不在当前命名空间中(除非另外导入)

python的猴子补丁(Monkey Patching) - 知乎

Monkey Patching只是在 运行时(run time) 动态替换属性(attributes)。 而在Python中,术语monkey patch指的是对函数(function)、类(class)或模块(module)的动态(或运行时)修改。

 


计算的本质是基于规则对符号串进行变换。

FLAGS” 是计算机领域的常用术语,尤其是在命令行工具和科学计算实验中。它指的是:可配置的变量


CPython 既是 Python 语言最主流、最官方的“实现”(implementation),其核心部分也是一个 “解释器”(interpreter)。其他实现还有 Jython(用 Java 编写)、IronPython(用 C# 编写)、PyPy(用 RPython 编写)等。(via AI)

CPython是什么?PyPy是什么?Python和这两个东西有什么关系呢?Python的底层使用什么语言实现?学习Python需要学习底层实现吗? - 知乎

CPython, Pypy, MicroPython...还在傻傻分不清楚? - 知乎

python=3.11.5=h955ad1f_0,中的h955ad1f_0,是 Conda 包的构建字符串(Build String),它的核心作用是唯一标识一个软件包在特定条件下的编译构建结果,从而确保环境的二进制兼容性和绝对可复现性。(via AI)

  • h955ad1f:构建哈希(Build Hash),是基于所有构建输入生成的唯一指纹。
  • 0:构建编号(Build Number),表示这是该版本的第几次构建(从0开始)。

核心元数据规范


make工具的核心是“增量编译”。它通过比较源文件(如 .c.cpp)和目标文件(如 .o)的最后修改时间来决定是否需要重新编译。

make clean是一个在特定情况下使用的维护命令,其目的是主动、彻底地清理之前构建过程中生成的所有中间文件和最终产物。

遇到以下情况时,应先执行 make clean

  • 修改了重要的头文件后,头文件(.h)不会被比较。

  • 更改了编译选项、编译器或 Makefile

  • 项目结构发生重大变化。

  • 遇到了莫名其妙的链接错误或运行时崩溃。

  • 需要为一个干净的发布或测试进行构建。


  • C:\ProgramData\ssh\sshd_config: OpenSSH for Windows服务器全局配置,影响所有连接到此电脑的客户端。

  • C:\Users\<用户名>\.ssh\configSSH 客户端配置,仅影响当前用户使用 ssh命令连接其他远程服务器时的行为。


大模型相关

Claude Code 启用 LSP 完全指南:2 分钟让 AI 编程速度提升 900 倍 - 小灰灰的笔记

LSP(Language Server Protocol,语言服务器协议)是微软在 2016 年提出的一个协议。作用是将语言智能和编辑器解耦,同一个LSP服务器可以同时向多个LSP客户端提供服务。避免重复造轮子的同时,提高响应速度,可以将查询从 30 秒降至 50 毫秒。

 

GUI图形用户界面(Graphical User Interface)

CLI 命令行界面(Command Line Interface)

TUI 终端用户界面(Terminal User Interface)(也称为 基于文本的用户界面(Text-based User Interface)

 

八卦

Anaconda3-5.3.1是最后一个数字号版本,Anaconda3-2018.12是第一个发布日期版本号

Index of /archive_Anaconda

程序员界 DRY(don't repeat yourself)
TBD 是 to be done 的简称。想了解更多关于代码注释的有趣知识,可以去知乎搜索“你见过哪些奇趣的代码注释”。

Slurm​ 是一个开源的、高度可扩展的集群管理和作业调度系统,主要用于大型计算集群,特别是高性能计算(HPC)领域。

  • 全称:Simple Linux Utility for Resource Management(简易Linux资源管理工具)。

  • 核心功能:它负责管理一个计算集群中的所有计算节点(服务器),并高效、公平地分配计算资源(如CPU、内存、GPU)给用户提交的“作业”(计算任务)。

  • 主要命令:用户通过 sbatch(提交作业)、squeue(查看作业队列)、scancel(取消作业)等命令与Slurm交互。

 

posted @ 2017-09-19 18:51  infocodez  阅读(293)  评论(0)    收藏  举报