RSS信息汇聚
阅读软件 我用过 Feedly,它很适合免费的用户,但是我个人不喜欢它的 UI 界面,我更喜欢 inoreader 的界面,因为我需要更大的预览空间。 follow 也不错,布局是类似的,而且是开源的,支持加密货币大赏,我喜欢它的UI还有激励模式。它会激励一些收费的feed出现,刺激RSS生态的发展。但是它目前还在公测中,很多的功能用不了。 https://github.com/RSSNext/follow 我在试用期的时候,被 Inoreader 吸引力,核心在于 它居然和youtube联合,可以用 youtube 的 API 自动就导入了我关注的频道。 AI识别网站生成 feed的能力很强大。我可以关注 bilibili 感兴趣的 UP 主的视频。虽然由于反爬虫机制,可能会爬取失败,但是多尝试几次,一般都能成功。 Inoreader和其他的 RSS 一样,也有移动和网页客户端,网页有插件能很方便的收藏阅读和加入feed。我购买一年,一年大概432人民币,我还能接受。 订阅渠道 RSSHub: https://docs.rsshub.app/zh/...
安全加密实践-GPG
GPG 是一款强大的开源加密工具,基于公钥密码学原理,为电子通信提供隐私保护和数据验证。它广泛应用于确保信息安全和身份认证。 安装指南 Linux 系统 Debian/Ubuntu: 12sudo apt updatesudo apt install gnupg CentOS/RHEL: 1sudo yum install gnupg Fedora: 1sudo dnf install gnupg Arch Linux: 1sudo pacman -S gnupg macOS 使用 Homebrew 安装: 1brew install gnupg Windows 从 Gpg4win 官方网站 下载安装包 2. 运行安装程序,按提示完成安装 3. 安装后,在命令提示符或 PowerShell 中验证 FreeBSD 通过 pkg 包管理器安装: 1pkg install gnupg 验证安装 在任何平台上,运行以下命令确认安装成功: 1gpg...
传输和备份实践
rsync rsync 是一个强大的文件同步和传输工具,适用于类 Unix 系统。Windows 用户可以通过 WSL(Windows Subsystem for Linux)来使用 rsync。以下是详细的安装和使用方法: Ubuntu/Debian: 12sudo apt updatesudo apt install rsync CentOS/Fedora: 1sudo yum install rsync macOS(使用 Homebrew): 1brew install rsync 注意,两台机器都要安装好。 使用方法 1rsync [选项] 源目录/ 目标目录 -a:归档模式,保留所有文件属性 -v:详细输出 -z:压缩传输 -P:显示进度并允许断点续传 –delete:删除目标目录中源目录没有的文件 -h:以人类可读的格式显示文件大小 -e:指定要使用的远程 shell,通常用于指定 SSH 连接参数 本地同步: 1rsync -avzP /path/to/source/...
macbook体验
为什么我喜欢 MacBook 最近买了一台 MacBook,使用下来感觉很不错。MacBook 铝制一体化机身,既美观又坚固,硬件质量很可以。最主要是非常省心,合上盖子即可快速休眠,打开盖子能立即恢复工作状态,不会出现无法休眠或休眠后无法唤醒的问题,提供流畅、稳定的使用体验。 MacBook 的电池续航能力一直是业界领先,屏幕素质好,高分辨率和准确的色彩,还有应用的UI更加美观。其次是 macOS 基于 Unix,基本能通过命令行管理开发环境和软件安装,对于熟悉的人来说,会比UI更加便捷。MacBook 在众多开源项目使用很普遍,尤其是视频剪辑和写代码,生态还是相当完善的。 我最近购买了一台 MacBook Pro 14 英寸,配备 M4 Pro 处理器、48GB 内存和 512GB 存储,还买了三年的 AC+。选择这么大的内存是为了确保长期使用(3 年以上)时系统仍能流畅运行。考虑到未来软件可能会更加耗费内存,24GB 可能在几年后显得不够用。我之前 32GB 的MBP一般占用在27GB左右。我主要用于编程和文字处理,不会存储大量视频素材或游戏,因此 512GB...
Git合作指南
Fork 项目仓库 进入项目的 GitHub 页面,点击右上角的 Fork 按钮,将该项目仓库复制到自己的 GitHub 账户下。 这个 Fork 的副本是你对项目的个人副本,你可以在上面进行改动而不会影响原项目。 Clone 项目到本地 在你的 GitHub 账户中找到刚刚 Fork 的仓库,复制仓库的链接。 在本地执行以下命令将仓库克隆到你的电脑: 1git clone <your-forked-repo-url> 添加上游仓库 (Upstream) 为了保持你的 Fork 和原项目的同步,需要添加原项目的仓库地址作为 “上游仓库”。 进入克隆的项目文件夹,运行以下命令: 1git remote add upstream <original-repo-url> 同步上游仓库的更新 在进行更改之前,确保你的分支是最新的。可以通过以下命令拉取上游仓库的更新并合并到本地: 12git checkout maingit merge...
(三)Python面向对象设计模式
类和对象 一切都是对象 在 Python 中,“一切皆对象”是一个核心理念。简单来说,Python 中的所有东西都是对象,无论是数值、字符串、函数、类,甚至是模块和代码本身。Python 对象有三个特征:身份、类型和值。 身份:对象在内存中的地址,可以通过 id() 函数查看,例如 id(obj)。 类型:对象的类别,可以通过 type() 函数查看。例如,type(5) 返回 <class 'int'>。 值:对象的实际内容或数据,直接调用变量名即可查看。 1234i = 2print(id(i)) # 输出 i 的存储地址print(type(i)) # 输出 <class 'int'>print(i) # 输出变量 i...
(二)包的开发
Python 包的开发是一项重要的技能,可以帮助你组织代码、实现代码复用,并且将功能模块分发给其他开发者使用。 包和模块是什么 在 Python 中,一个包(Package)就是一个包含多个模块的目录,其中通过 __init__.py 文件来表明它是一个包。包允许你将代码逻辑分解为多个文件,并且通过模块的方式进行导入和复用。 模块:一个 Python 文件(*.py 文件)就是一个模块。模块可以包含函数、类和变量。 包:包是包含多个模块的文件夹。包使得模块之间可以被组织起来,以便更好的管理。 目录结构示例: 1234my_package/ ├── __init__.py # 包初始化文件 ├── module_a.py # 模块 A ├── module_b.py # 模块 B 在代码中使用包(如果要供外部使用,推荐使用相对路径): 12345# 导入包中的模块from my_package import module_a# 使用模块中的函数module_a.some_function() 一个典型的 python...
docker自动化
了解背景 Docker 是一种轻量级的容器化技术,主要用于应用程序的环境迁移和一致性。你需要知道下面的基本概念: 了解镜像、容器的基本概念:https://yeasy.gitbook.io/docker_practice/basic_concept 数据卷的基本概念:https://yeasy.gitbook.io/docker_practice/data_management/volume 网络方面,端口映射、docker compose 容器互联:https://yeasy.gitbook.io/docker_practice/network/port_mapping OK,上面三个基本概念,你就足够使用 docker 了,然后我们来了解 docker 最实用的地方: 环境迁移,在不同的机器上保持一致性,一次创建或配置,可以在任意地方正常运行。。 直接在 docker 内利用 linux 环境和路径挂载来开发。 隔离依赖、统一开发环境、快速启动。 利用 Linux 容器作为开发环境:在不同平台(Windows、Mac、Linux)上保持一致的开发环境。 通过...
(一)Python环境配置指南
管理 Python 版本 推荐使用 https://github.com/pyenv/pyenv 来管理不同版本的 python,但是它不支持 windows,如果你使用 windows,请使用 https://github.com/pyenv-win/pyenv-win 。 如果你需要使用特定版本的 python,先安装它,类似于 1pyenv install 3.9.6 随后在项目的根目录,使用 1pyenv local 3.9.6 它会生成一个配置文件 .python-version ,就会让进入项目根目录,就会自动切换到 3.9.6 的版本。 管理虚拟环境 Poetry 适合现代 Python 项目开发、个人或小型团队开发、需要发布到 PyPI 的项目。 特点: 自动化依赖管理:Poetry 能够自动处理依赖冲突,生成 pyproject.toml 和 poetry.lock 文件,确保依赖一致性。 内置虚拟环境管理:Poetry 会自动为每个项目创建虚拟环境,隔离项目依赖,保证项目间的互不干扰。 简化的发布流程:通过 poetry build 和 poetry...
如何成为优秀的软件工程师
要成为一名优秀的软件工程师,需要掌握广泛的技能和知识,包括基础的数据结构、高级架构设计和良好的编程实践。本文将为你详细介绍如何全面提升自己的编程能力,成为卓越的软件工程师。 深入掌握数据结构与算法 TODO: 我的数据结构和算法的笔记,每一类数据结构怎么用。 数据结构和算法是软件工程的核心基础。深入理解数组、链表、堆栈、队列、树、图等基础数据结构,可以帮助你高效地解决复杂问题。你不仅需要理解它们的工作原理,还要清楚它们的优缺点、本质特性以及适用的应用场景。 数组是一种连续存储的结构,适合需要快速随机访问的场景,访问的时间复杂度为 O(1)。但它在插入和删除操作时需要移动大量数据,时间复杂度为 O(n),因此不适合频繁插入和删除的场景。数组通常用于需要快速访问的应用,例如排行榜和固定大小的数据集合。 链表是一种由节点组成的结构,每个节点包含数据和指向下一个节点的指针。链表在已知位置时,插入和删除操作非常高效,时间复杂度为 O(1),但随机访问的效率较低,为...