分类 默认分类 下的文章

文件系统 web 数据库 的差异与选择

  • 文件系统多成树状,深度容易失控,不容易快速找到具体记录。有时候,文件名的错误选择容易让人犯迷糊。
  • web基本也是遵从目录的基本设计,和文件系统差不多。仅仅方便外部访问。
  • 数据库基于多个数据库和数据表的组织,差不多就两层。而且对权限的控制更加方便,更能很容易地形成集群,数据库管理软件本身就集成了多主机集群的方法。对外接口也比较统一,方便控制。

如何使用

  • 保证一对一的对应关系,一个数据库一个用户管理。多了混乱,少了不安全。
  • 保证内存足够大,主机功耗也要足够低
  • 最好用固态硬盘作为存储介质。虽然机械的可以恢复更安全,但对于个人而言,数据安全性没有使用体验重要。
  • 充分使用数据库的优化,丝滑的体验比什么都重要

知识体系的来源

  • 书的txt化
  • 各个wiki
  • 各种产品本身附带的(如,软件一般都自带帮助文档)

如何组织管理

  • txt化并且用git做备份管理
  • 大型文件使用文件目录存放,并用web引出链接。再将链接存到数据库。存档的时候注意不能用绝对地址,使用web前缀和相对目录的组合

收集哪些

  1. 古书
  2. 软件的帮助文档
  3. 个人记事
  4. 好的产品设计
  5. 各个学科的基本概念与应用
  6. ...

设备选择

  • 有钱就用x86,7940hs
  • 没钱用32G的rk3588板子
  • 目前用starfive-vision2

现状

  • 自然语言的处理突破造就了人工智能元年
  • 人工智能依托于超大规模算力存在

个人想法

  1. 人工智能可以是以一个个体存在,没必要那么通用
  2. 如果让它专注于当前会话的话,其实不需要处理多少数据
  3. 人工智能应该是依托于自然语法的存在,它的核心是不会随着外界的变化而改变的
  4. 输入输出只是它的外在表现手段,没必要可以像人一样对话
  5. 不能控制自己存在的都是假的智能

实现手段

  1. 用数据库存储各种概念(单语句)
  2. 创建核心数据语句,作为一个个体的内核
  3. 以管理电脑为前提,创建一系列监视电脑的工具(基于文本语句)
  4. 以后台任务的形式创建程序,让程序自己管理电脑(如何优化,自检,修改存在的程序,获取并收集外界信息用于更好地优化自己)
  5. 个人用自然语言提出需求并监督引导它去实现

具体

  1. 不知道

需求

  • 一个低功耗的网络中枢
  • 便于复刻的系统环境
  • 简洁的文件管理与查询

    硬件

    基于多网口的带有m.2接口的低功耗计算设备

    具体架构

  • 全nvme闪存
  • btrfs管理
  • 用脚本转换的html显示,用于控制文件

安装

pacman -S mariadb
- mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- systemctl enable mariadb --now

配置

mysql
- create database type;
- create user 'type'@'%' identified by 'type';
- grant all privileges on type.* to 'type'@'%';
- flush privileges;

测试

use mysql;
show tables;
select * from user;
查看maria系统信息
systemctl status mariadb
检查对应的连接记录,
drop user 'type'@'%'
create user 'type'@'%' identified by 'localhost';
grant all privileges on type.* to 'type'@'localhost';
flush privileges;

为何要写

  • 人生就是一个积累的过程,如果不主动留下点什么,就真的一无所有了。
  • 总是会忘记,也记不住什么东西。
  • 还是得记住一些东西,尽可能地。即使在不远的将来会将它遗忘。
  • 也许自己错了,单纯的依靠数据记录会使自己陷入荒芜,要尽可能地去学,去记忆。

    ddns的实现

    域名

    腾讯云注册域名

    工具

    tccli 和一些用系统公具写出的脚步

    具体实现

    ip address命令输出ipv6地址,将输出处理选择出能用的公网ipv6,再用tccli命令向腾讯云发出更新解析命令,并做成定时任务

    具体脚本

    #!/bin/bash
    /root/.local/bin/tccli dnspod DescribeRecordList --cli-unfold-argument --Domain 'puxiqi.com' > list.txt
    RecordId=($(cat list.txt | grep "RecordId" | cut -d "," -f 1))
    Value=($(cat list.txt | grep "Value"))
    Name=($(cat list.txt | grep "Name"))
    echo ${RecordId[*]}
    echo ${RecordId[7]}
    echo ${Value[*]}
    echo ${Name[*]}
    addr=($(ip address | grep "inet6 2" | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1))
    
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[0]} --TTL 600 --RecordId ${RecordId[7]}
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[7]}
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl0 --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[9]}
    rm list.txt

    ddns.service

    [Unit]
    Description=ddns update
    After=network.target
    
    [Service]
    User=root
    Type=simple
    ExecStart=/usr/local/bin/ddns.sh
    
    [Install]
    WantedBy=multi-user.target

    ddns.timer

    [Unit]
    Description=ipv6 ddns update
    
    [Timer]
    OnCalendar=*-*-* *:15:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target