惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
A
Arctic Wolf
Scott Helme
Scott Helme
S
Securelist
Schneier on Security
Schneier on Security
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
Security Latest
Security Latest
Project Zero
Project Zero
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
C
Check Point Blog
F
Full Disclosure
Stack Overflow Blog
Stack Overflow Blog
H
Hacker News: Front Page
T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
Vercel News
Vercel News
A
About on SuperTechFans
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security Affairs
Y
Y Combinator Blog
T
The Exploit Database - CXSecurity.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Forbes - Security
Forbes - Security
IT之家
IT之家
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
The Register - Security
The Register - Security
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
K
Kaspersky official blog
Hacker News: Ask HN
Hacker News: Ask HN
C
Cisco Blogs
MyScale Blog
MyScale Blog
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
D
Docker
G
GRAHAM CLULEY

AsyncX

V3 博客重构 第三期-用Notion进行网页收藏/订阅管理/阅读数据查看 第二期-Vitepress配制指南 使用MCSManager搭建泰拉瑞亚服务器 额外技能-如何穿手串 [更新]首考PTE的一些问题/快速入门 重构博客,底层换成Astro时候遇到的问题 熵,生命 如何使用Mac玩双人成行 解决手柄无法在Macbook玩星露谷的问题 什么在阻止我们走向主观来说更好的生活? 雅思首考的一些感受 如何听更好音质的歌 苏州三天行 毕业,以及短期的安排 近日&首阳 在MacOS配制Rime(鼠须管)输入法 更换主力浏览器为Arc浏览器 为hexo博客添加黑暗模式(使用darkmode.js) 语言规范可以帮你更好得到答案 删掉抖音,重拾RSS 简单注册ChatGPT的方法 2023年,一些回顾 让你的MacBook更顺手一点 第一次养猫发现的一些事 绑架代替购买了一只小猫 数字藏品? 近些天和对于科幻的一些看法 如何配置一个静态博客的工作流
第一期-Beancount使用体验
AsyncX · 2023-05-01 · via AsyncX

前言

为了督促自己自律一点,持续更新博客,我打算将应用软件类的使用心得教程类作为一个栏目写。一是这样方便大家对工具类的博客进行索引,二也可以对大家的软件的选择起到引导性作用。 言归正传,官网是这么描述Beancount的。Double-Entry Accounting from Text Files.即为从文本调用的复式簿记

什么是复式簿记?

复式簿记是一种把每笔交易都记录到复数个账户中的簿记方法,简单来说就是“有得必有失”。

当你从你的B账户为A支付了$x$元,那么你的账户就损失了$x$元,损失的这份价钱转变为了A的价值,而单独对于你的B账户,作为支付方损失了A的价值。但此时对你来说你所具有的财富仍然保持不变,这个例子使用Beancount的记录如下:

2023-05-01 * "买了A"
  Assets:Cash                            -X CNY
  Expenses:Shopping                      +X CNY

这样记账的好处是什么?

由于复式簿记的前提是收支守恒,那么遇到以下例子也会很方便记账: 你和甲,乙三个人去吃饭,总共花了$3X$元,甲帮你垫付了$\frac{1}{2}$的钱,乙也帮你垫付了$\frac{1}{2}$的钱,你需要分别还给他们,这时使用Beancount的记录如下:

2023-05-01 * "和甲乙吃饭"
  Assets:Cash                            -X CNY
  Liabilities:Jia                      +X/2 CNY
  Liabilities:Yi                       +X/2 CNY

这个例子中的收支依旧为0,区别和上面的则在于支出项为两个人(复数个),在遇到此类情况,复式簿记的优势就体现出来了。

如何使用Beancount来进行记账

安装

Beancount可以用以下方法安装,并同时安装fava-Beancount的实用性UI。

python -m venv BEANCOUNT
source BEANCOUNT/bin/active
pip install beancount
pip install fava

结构

记账作为一个持久性的项目,需要具备如下特点:

  • 准确性
  • 持久性 而Beancount作为记账软件可以额外提供的:
  • 永久性
  • 安全性 我从这里开始将用最快可投入使用的语言进行描述。 首先的首先,你需要创建一个main.bean来令fava进行读取操作,这个bean文件更类似于索引功能。
;账本信息
option "title" "main" ;账本名
option "operating_currency" "CNY" ;账本货币
2001-08-06 custom "fava-option" "language" "zh"
include "accounts/assets.bean" ;资产账户设置及初始化
include "accounts/liabilities.bean" ;负债账户设置及初始化
include "accounts/expenses.bean" ;支出账户设置
include "accounts/income.bean" ;收入账户设置


;交易记录
include "2023/2023.bean" ;2023账本

其次,你需要创建用于支付的项目和用于支付的账户。

account/assets.bean
2001-08-06 open Equity:OpenBalance ;用于账户初始化,支持任意货币
2001-08-06 open Assets:Card:9806 CNY ;尾号9806的银行卡
2001-08-06 open Assets:Card:2437 CNY ;大学银行卡
2001-08-06 open Assets:Alipay:Name CNY ;支付宝
2001-08-06 open Assets:Wechat:Name CNY ;微信

需要强调的地方:账户的名字必须大写,你需要为所有的账户制定货币单位(CNY)。 此外,还需要创建付款项,这里我参考了其他记账软件的项目:

account/expenses.bean
2001-08-06 open Expenses:Other CNY
2001-08-06 open Expenses:Dining CNY
2001-08-06 open Expenses:Shopping CNY
2001-08-06 open Expenses:Transportation CNY
2001-08-06 open Expenses:Entertainment CNY
2001-08-06 open Expenses:Electronics CNY
2001-08-06 open Expenses:Clothing CNY
2001-08-06 open Expenses:Pets CNY
2001-08-06 open Expenses:Daily CNY
2001-08-06 open Expenses:SnacksandBeverages CNY
2001-08-06 open Expenses:FruitsandVegetables CNY

你还需要按照以上格式创建负债账户和收入账户,前缀分别为Liabilities:XXIncome:XX,这些均放置于main.bean同目录的account文件夹内。

最后,创建账本。我是按照年/月来进行账本的分类,每月进行汇总。你无需自己创建,我将模板放在本文最后。

使用

安装完成且正常创建后,在main.bean同目录下输出fava main.bean --port 8888打开服务,main.bean为账本项目,--port 8888为在端口8888打开网页,指定端口防止了Mac电脑默认端口的冲突。打开localhost:8888,你可以看到直观的数据。

到这一步,就已经完成安装了。

工作流

Notion 月账单模板

通过两个select记录资金的出和入,每月导出一次到 beancount 进行统计。

如果有可以解决通过 Notion 多对一 /多对多记账的更好方案和脚本欢迎 pr 。

脚本和年度账本模板:A5yncX/notion-to-beancount