我是豆豆

吃饭,睡觉,打豆豆

服务器docker化管理

这台vps已经伴随我很久了,之前用的事宝塔,但是随着宝塔要手机验证码之后,折腾过国际版宝塔,现在应该是最后一次折腾,直接用docker将各个模块管理。先来分析下:

优势:

  1. 备份还原容易,升级容易

  2. 各个容器相互独立,一旦建立成功,就不会有什么大问题

  3. 不需要宝塔面板做中间人,直接可以保存发布

  4. 对系统占用小且整个系统干净,主要是各个数据相互独立除开有需要得文件,其他得文件都可以放在容器内部,无需担心一些文件上得冲突

缺点:

  1. 技术要求高,docker得安装部署会遇见一些没遇见过的坑

网络扑拓图:

20221202094146

1 安装debain最新系统:


好消息这块搬瓦工内部直接有最新的debain11系统,我个人是建议使用最新系统,这个在之前的文章说过,内置BBR等功能对我们网站速度很有帮助

20221105160743

20221105161135

修改下默认的时区,直接复制粘贴即可

1
2
3

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

增加虚拟交换内存步骤:

这一步非必须,我的服务器是512M的内存,所以一般会增加1G或者1.5G的,在存储足够的情况下,我倾向于多增加一些交换缓存。

  1. 创建内存交换文件

    bs代表内存块大小,这边设置得是1M,数量1000,合计1G,if后面则是对应得/swap内存交换文件名,可以自行修改.

    1
    dd if=/dev/zero of=/swap bs=1024000 count=1024

    20221105163046

  2. 注册内存交换文件

    1
    mkswap /swap
  3. 激活服务器内存文件

    1
    2
    swapon /swap
    #停用 swapoff -v /swap
  4. 设置权限(安全第一,改为只能让root修改)

    1
    # chmod 0600 /swap
  5. 开启启动注册:在/etc/fstab最后一行增加

    1
    /swap swap swap defaults 0 

20221105163624

增加用户docker

这一步也是非必须,增加一个可以使用sudo的用户是可以将权限隔离开来。

1
2
3
useradd docker  -d -m -s -c "docker manger"
或者
adduser docker

两者都是增加用户得方法,其中adduser是一个系统自带脚本,会自动提示输入对应得密码,而useradd需要输入对应的开始文件夹等信息,且需要使用passwd输入密码.

20221105164216

增加完用户,需要给用户提权,默认完全干净的debain是没有sudo命令的,需要使用

1
apt-get install sudo

安装,安装完之后需要进入\etc\sudoers增加一列docker ALL=(ALL:ALL) ALL

20221105175349如果提示无法编辑,看下是不是文件没有给修改权限.

一切就绪之后,退出重新登陆,就可以使用sudo命令.如果直接使用root,不安装sudo,以下命令的sudo可以删除掉.

2 安装docker


推荐使用apt,不推荐脚本,官方脚本安装是适用于测试和开发环境.

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书:

1
2
3
4
5
6
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

1
2
3
官方源
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

然后,我们需要向 sources.list 中添加 Docker 软件源:

1
2
3
4
官方源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

如果行太长可以通过增加"\"来告诉系统我要换行,不需要执行,稍后一起执行

准备好之后更新一发:

1
sudo apt-get update

如果执行以上命令出现error错误,一般是没有对应得文件权限.

可以增加读写权限

1
2
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update

以上是准备工作:然后安装对应得docker:如果不需要docker-compose可以取消掉

1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

建立 docker用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立 docker 组

1
$ sudo groupadd docker

将当前用户增加进docker用户组.

1
$ sudo usermod -aG docker $USER

测试是否成功可以使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
$ docker run --rm hello-world



Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

b8dfde127a29: Pull complete

Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24

Status: Downloaded newer image for hello-world:latest



Hello from Docker!

This message shows that your installation appears to be working correctly.



To generate this message, Docker took the following steps:

1. The Docker client contacted the Docker daemon.

2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

(amd64)

3. The Docker daemon created a new container from that image which runs the

executable that produces the output you are currently reading.

4. The Docker daemon streamed that output to the Docker client, which sent it

to your terminal.



To try something more ambitious, you can run an Ubuntu container with:

$ docker run -it ubuntu bash



Share images, automate workflows, and more with a free Docker ID:

https://hub.docker.com/



For more examples and ideas, visit:

https://docs.docker.com/get-started/

部署容器


容器装载有两种方式,一种是一个个建立,然后统一使用一个网络来连接内部,一种是直接建立compose文件,直接安装docker集群,两者的方法是一样的,没有区别.只有一次安装和多次安装的区别.

准备工作:

创建一个内部网络,确定对应网段docker network create -d bridge --subnet=172.18.0.0/16 root_caddy 后续所有的docker后面都需要加上--network root_caddy代表将容器加入创建的网络,使用--ip 172.16.0.1指定IP,方便后续调用

拉取镜像:apline是一个以轻量小巧的liunx服务器系统,对应版本的镜像都是十分小巧,和debain的相差8倍.

整体的docker-compose文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139

version: "3.9" # optional since v1.27.0

services:

caddyv2: #caddy反向代理

container_name: caddy

image: caddy:2.6-alpine

restart: unless-stopped

volumes:

- /root/docker_data/caddy/data:/data #caddy留存的证书信息,最好保存,方便后续迁移

- /root/docker_data/caddy/caddyconfig:/etc/caddy #caddyfile的配置文件

- /root/docker_data/caddy/file:/usr/share/caddy #caddy的运行网页

ports:

- "80:80"

- "443:443"

- "443:443/udp"

depends_on:

- v2ray

networks:

root_caddy:

ipv4_address: 172.18.0.3



v2ray: #v2翻墙

container_name: v2ray

image: teddysun/v2ray

restart: unless-stopped

environment:

- TZ=Asia/Shanghai

volumes:

- /root/docker_data/v2ray/config:/etc/v2ray

expose:

- 8888

command: /usr/bin/env v2ray.vmess.aead.forced=false /usr/bin/v2ray run -config /etc/v2ray/config.json #由于MD5验证问题,覆盖容器原有得命令

networks:

root_caddy:

ipv4_address: 172.18.0.2



# calibre-web: #clibre电子阅读器-暂定,还未完全

# image: lscr.io/linuxserver/calibre-web:latest

# container_name: calibre-web

# environment:

# - TZ=Asia/Shanghai

# volumes:

# - /root/docker_data/calibre/config:/config

# - /root/docker_data/calibre/library:/books

# expose:

# - "8083"

# restart: unless-stopped

# networks:

# root_caddy:

# ipv4_address: 172.18.0.4



# PHP:

# image: php:fpm-alpine

# container_name: PHP

# environment:

# - TZ=Asia/Shanghai

# volumes:

# - /root/docker_data/caddy/file:/usr/share/caddy #路径最好和caddy得文件路径一致,否则会出现路径不匹配问题

# expose:

# - "9000"

# restart: unless-stopped

# networks:

# root_caddy:

# ipv4_address: 172.18.0.5





networks:

root_caddy:

external: true



以上将路径和对应的文件夹全部都映射完成,后续可以直接执行运转。这边采用的是Caddy来进行反代,因为它够简单,也够好用,足够满足我的需求。对应的Caddyfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

*.com {

root * /usr/share/caddy

file_server

reverse_proxy 172.18.0.2:8888 {

header_up Host {http.request.host}

header_up X-Real-IP {http.request.remote}

header_up X-Forwarded-For {http.request.remote}

header_up X-Forwarded-Port {http.request.port}

header_up X-Forwarded-Proto {http.request.scheme}

header_up Connection {http.request.header.Connection}

header_up Upgrade {http.request.header.Upgrade}

}

}



一些常用的容器命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

修订容器内部时间

docker cp -L /usr/share/zoneinfo/Asia/Shanghai 容器名称:/etc/localtime



复制容器内部文件

docker cp nginx:/etc/nginx/ /home/docker/ #将nginx整个文件夹复制到docker下

docker cp nginx:/usr/share/nginx/html/ /home/docker/nginx



进入容器内部操作

docker exec -it 容器名称 /bin/bash

docker exec -it 容器名称 /bin/sh #apline 进入容器命令



清理无用的docker,解放硬盘空间(清理没用的image,包括build建立的缓存)

docker system df 查看docker占用硬盘

docker system prune -a

参考文档

docker 网络-容器间通信\

Debian普通用户获取root权限|sudo的安装与配置\

Linux设置和修改时间与时区\

新版的Typecho开发计划\

ALPINE\

容器互联\

docker官方安装\

Linux 使用 adduser 与 useradd 添加普通用户的正确姿势

Vscode配置明细

不知道是vscode使用的人数比较少还是别的原因,最近用vscode编写程序的时候,老是会遇见一些奇奇怪怪的问题,但是网上一查都是“内容农场”,要么就是复制来复制去的,每次搜索都要花费大量时间,现在就记录一个文档,方便后续查询。

  1. 双击高亮大小写匹配开关。

20220822153915

打开之后,如果有些变量是大小写混写的话,可以快速双击查找出来。

  1. jupyter的matplotlib的魔法函数,默认是%matplotlib inline,这个作用是画图时候直接在输出显示,无需每次增加plt.show()。剩下的魔法函数已经合并成%matplotlib widget,官方文档说明,需要注意的事:需求安装ipympl模块。

matplotlib

用来3D画图时候方便。但是输出结果还是最后一张图片,等后续看能实现动图演示。

  1. VScode断点失效问题,直接回退到python版本到2021年12月为止:

    20220907104305

  2. 宝塔面板的Python项目管理器:

    直接登录到对应虚拟环境目录下使用./pip安装所需要包,用./Python 执行。和python官方的虚拟环境有所区别。

  3. 插件arepl,实时运行python,就可以不用使用jupyter去查看了,在非数据科学下,用来直接编辑python特别方便。

  4. kite插件,可以小网页打开对应函数的文档

  5. python文件开头#!/usr/bin/python和/usr/bin/env python,后者可以使用虚拟环境下得pyhton执行程序.

瞎眼吱吱

瞎眼吱吱就是老鼠,村里得人总是在晚上听到田里面响出吱吱得声音,这就是瞎眼吱吱的叫声,区别以普通的家老鼠,它的特征就是吱吱叫。我们家就住进了一只瞎眼吱吱。

那些年我爸破了产,我哥自立门户。我妈每天担心受怕,有空就问生意如何,一是问的多了,二是不想让老人担心就回说还行,还行。我妈听后大喜过望,直说这是菩萨显灵,是她在庙里给菩萨求得财运,让我哥赚到钱。我哥听完也无奈了,但总归只是花点答谢金罢了,老人买个心安就算了。

那天吃着早饭,我妈拿着一个粘鼠板,骂骂咧咧得夹着出去了,口里不断说着:咋就这么不长眼呢?村里家家户户都有养鸡鸭,有时候剩菜盆里面还没来得及喂,所以难免有几只老鼠,家家户户也都常备着粘鼠板。我们也注意,毕竟扔出去等老鼠自己饿死就行了。晚上,正在厅里闲坐着,看到一只黑影晃过,有老鼠。我妈眼疾手快,几个跺脚把老鼠赶进了卫生间。关上了门,我们正准备家伙事呢,忽然我妈就把门打开了。“这是瞎眼吱吱,打不得!打不得!”一边说着,一边还把通往厨房得门也打开了。我们不解,她就压低了声音,神秘的说道:“瞎眼吱吱管的财运,打不得!打不得!”

哭笑不得啊。

“它就是一只老鼠啊”

“不是,是瞎眼吱吱,你们小孩不懂,这是我早上放生的那只,你看它背上还有块毛被粘鼠板夹着呢。”

“合着这家伙还是您认识得啊,那给取个名字吧,以后见面了好打招呼”

“叫小妹吧,您不是一直想生个女儿,正好”——我哥打趣道。

我妈也不恼,心里或许还有些得意,就这样,我家住进了一只瞎眼吱吱,我妈每天开着通往厨房得门,大抵,小妹已经快子孙满堂了吧。不知道到时候我妈还愿不愿意收留他们。

元宵是一个大节。
我们村很多人都出去做生意,但是他们一般都会等到元宵结束之后再出去。对他们来说,元宵是个大节。
我们村的元宵节是在正月十五,有的村在十四,也有初六就开始了。元宵只是一个节日名,具体日期由各个村自己决定。元宵的习俗一般是游村,福寿,祈福这些组成的。游村就是村里男女老少将庙里的菩萨,妈祖一个个请出来,游行。分两次,一次在十五的早上,游内围,就是村里面,有住处的地方。第二次到十六的早上,游外围,这次是把村里在外面的田地都围一圈游行。而福寿就是按照族谱排序,一年一个,按族谱登记顺序。轮到你,你今年就是福寿,十五游行完后,妈祖像不回庙里,在你家呆一晚,那天晚上要让村里众人到你家给妈祖上香,还要请天师过来举办祈福仪式。这还没完,以后的一年内,妈祖的香炉要放在你家,一年大小节日,村里都得备着你家的这一份贡品。
由此可见,这算是件大事。不仅要接神,还要招待一村的善男信女,是个劳力伤财的事情。一开始村里穷,大家都简单置办,有点茶,有点水果就是招待的极好了。那些年大家伙赚了钱,就开始摆阔。一开始只是来的烧香有茶水,后面变成了,得摆几桌。慢慢得就变成了,要请全村吃饭。再后面,有个福寿起了头,改了规矩:一年一个轮着到你家,估计你就七八十了,那时候村里出生的人多,一家都是两三个以上。于是大家一合计就同意了。于是仪式过程不变,福寿变成两个,一个接神,一个举办祈福仪式。这样,福寿就有了正副之分。
那时候得元宵是一个家庭财力得象征,毕竟富贵不归故乡,如衣锦夜行,谁知之者。所以每年得元宵,大家都满怀期待。尤其到了大家都知道得富贵人家。今年他家立了一个气球拱门,明年那家就请迎宾小姐夹道欢迎。当然不是所有村里得都是那么有钱得,但是总归在招待上不会落得下风,否则到了晚上祈福环节,村里的人会不来,气氛比往年冷淡,那就真是丢了面子。而且村中迷信:这菩萨得香炉在我家,我办得浩大,办的隆重,心里想的事就越容易成。其实村里想的不外乎就是钱财和子孙,恰好那年福寿家发了大财,于是大家就越传越神乎,仪式也越发得繁琐,越复杂说明我越虔诚。
祈福和接神是抽签决定得,大家一般希望抽到祈福:祈福在晚上,8点左右开始,那时候正值大家晚饭消食。所以村里人一般都会前去观察。然而结束要到十一二点, 这就不是所有人都能撑得住。所以主人家就各凭本事留人;茶水,果点。怕客人渴或饿。但并不是所有人都是善男信女,这时候就得有别的玩意给人解闷。这个一般就是赌博。赌博有三公,有牌九,有麻将。看主人家得本事了。这东西一般主人家起头,带动气氛,主人家坐庄。
前几年风头正劲的时候,一晚上几百万的输赢,一晚上倾家荡产的也有,一晚上翻身做地主的也有,但是赌这东西,可轻可重,遇见见好就收的,打个折,让人家留点翻身的底就过去了,但是也有那种斤斤两两都要算清楚的,人家可就是奔着赚钱来赌钱的。所以每年过完年,倾家荡产的也有,夫妻吵架离婚得也不少,一年打白工的也不少,但是那几年钱好赚,一年就翻几番,所以大家也就不当回事。你说这几百万输赢下来总得有几个笑得吧,但是赌桌这东西,十赌九输,哭的人多,笑得人少,更何况有些人是专门来赌博得。一般在福寿家都是本村里的人,毕竟村村习俗不同,村里得人虽说不是熟悉,但也是一问就清楚。然而那时候往往会有一些没见过的,一问就说是谁谁家得亲戚,至于是不是亲戚?谁知道呢,本村人玩牌,输赢差不多就行,输多了还会有人劝,毕竟大家知根知底,但是外来得这些就不一样,不仅赌资大,而且有时候看对方上头,还一个劲得叫嚣,一来二去的,大家也就猜到了。心明得,一眼就知道这是专门赌钱得,但是总有眼瞎得。后面慢慢得,每年得元宵不仅本村来,也有外面得来凑热闹,大家就见怪不怪了。不仅这个村得参加,别的村元宵也参加。由于大家得元宵日子都不在一起,于是一到年后,就有几个人在那一村村得跑,一村村得赌。
村里得赌,体现得野蛮和简陋,牌桌上没有什么避讳,就一个八仙桌,四面站人,围得水泄不通,看的人,有一起合资,有光看不赌得,也有专门得会计在一边帮忙记账,而且其中还有专门叫好得,也有混合作的,一看牌好,嘴上一喊,赢了分钱,输了均摊,更有等着收盘,分点彩头钱,几百万得大局,一般不会带太多现金,而且很多时候也没想着往大几百万上输赢,大家最多带个50万得现金。现金拆散,有几个专门帮忙点钱捆扎,这是个肥差,抽个几张也无人知晓。
所以,元宵节得赌博是个赚钱的好机会,主人家也乐于这些人过来,毕竟这些人一赌起来不到凌晨是不会走的,显得主人家人脉广泛。这几年经济不好,大家也就赌的小了,不赌是不可能的。以前是大几百万,现在一晚上有个十来万就算是大的,大家也就几千几千的赌。但也比那些上班的一年赚得多。
村里也并不是都是有钱人,有普通的,也有穷的揭不开锅的。普通人家办一场,虽不能说伤筋动骨,但是十几万进去也就跟打水漂似的。穷的呢,也能办,只不过到处尽显凄凉。在我们村,有一户人家,现在还是一层小砖房,房子的主人,小时候伤了脑袋,到现在大脑门上还能看到一块凹进去的。户主伤病,也就没有趁着那股淘金的热潮出去,没赚到什么钱,在家务农种地,日子虽不能说清贫,但是毕竟光靠地,是赚不到什么钱,那人还爱喝酒,那就更坏菜了。但是再咋样,族谱上还是有他的名字,还是有轮到他做福寿的时候。
我特别记得那年,那年的祈福,分外的安静,连牌桌都没有。但是到了天师过来祈福仪式得时候,砖瓦房内也是坐满了人,虽然不如往年多,对他们家来说,算是很多了,主人家摆了四桌,用来给人闲坐,还有几箱啤酒。我做了一会,觉得无聊就走了。那家得女主人满怀希望得觉得他们家要翻身了。多年以后,他们家还是一层得瓦楼,这时候就有人怪他那年得仪式不够隆重,不够虔诚。
村里得迷信没有尽头,有拼香火得,有拼贡银得,有拼捐钱得,也有拼跪拜得时间,更有甚至,我另请一座神像到我家中,另开炉灶。求神拜佛本没有什么过错,但是这攀比之间就产生种种矛盾,贡品要用斋得,要精致,只能给一个神供过,不能二次使用,贡品菜色要多,但是有几样是必须得。每每春节,我看到他们不厌其烦得准备这一道又一道得贡品。而这些贡品大多数素菜,然后又赶上过年大鱼大肉,反正少有供完之后入了肚子,更多的是和其他得剩菜一起喂了鸭子。
轮到我爸做元宵得时候,正好赶上得是我奶奶生病,然后又遇上疫情。所以是不能大张旗鼓得,这给了我松了一大口气。那时候得财务状况不算好,但是辛苦一年,将一年收入扔到这上面,心中还是有点不舒服,更何况元宵福寿有点被架在上面得仪式,我要是办得小了,丢了面子,全村看笑话,办大了,自己又承受不住,毕竟那些年疫情导致大家都过得不好。所以那时候借着疫情得由头,我们减少了规模,然后还比普通得仪式少了很多程序,可以说又省钱又省力。没有客人参观,所以瓜果不用准备,也不必专门搞个地方给那些赌鬼。请村里吃饭,也被我们两个福寿合资在村里戏台办了几十桌,村里人自己过去吃,酒水各出各的,家里再办一顿,请自己得至亲好友。就这样,如果涵盖酒水得话,那年也是快20万得开销。对我家来说,也是一笔巨大得开销。


PS:本来元宵篇是奶奶那边独择出来得一篇,里面本来是应该有元宵的热闹和已经被剥离这个世界的奶奶的一些情景,但是由于拖得太久忘记了,加上爷爷这边发生了微信大战,就先这么着吧。

YT300型吊秤打印

  1. 清除历史数据,点击3:累显,查看历史数据,如果有,选择0累清,然后再进入后台设置

    20221023150959

  2. 先按向上,再按向下键,进入数据编写

    20221023150938

    20221023151020

  3. 填写完成之后,取消退出

  4. 点击8,打印题头,然后再进入3,打印清单,其中合计数可以自动打出.

    20221023151039

相较于认知理论盘根错节的基础,这是一个更加具有操作性和实践性的理论,主要是用来解决我在日常生活工作中遇见的一些行为前后矛盾,因为根据认知相同,在同一件事情或者大差不离的环境下应该产生一样的结果,所以我认为在认知的上层是图式——一种对事务的具体操作流程,是一种记录在脑中的场景推演。随着人类社会的复杂程度增加,我认为人们在处理一些复杂的场景下,使用的是记忆中对应或者类似场景的记忆来处理当前复杂场景的,更多的体现在行为和话语,而对基本的认知和心理不做太多评判。图式是一个学习的过程然后通过记忆进行保存,而当前场景处理即图式实践的一个过程。我认为,一个人除了最基础的认知,他们在社会之中,更多的是图式的一种学习方式来学习社会关系和人际交往。不同于基础学科知识,没有一个恰当的理论帮助人从幼年开始学习人际,交往等其他学校内没有教的东西,所以我认为,人的成长过程就是图式不断积累的过程。和学习过程大差不离,通过不断的对试错和对损失的厌恶,我们会在脑中形成某些场景下的认知理论,来代替复杂繁多的图式帮助人交往交流。

图式和认知

当我们小的时候,叔叔阿姨过来了,我们并不知道要问好。父母会叫我们问好,这就是一个简单的图式。我们就学会了最基础的交际。明白了相似甚至新出现的场景下,我们的正确行为和言语。图式和认知最大的区别就是,认知是一种理论基础,它可以发展出图式,知道图式的边界和范围,使其不做出超过认知的事情。这就像我们小学的义务教育的内容一样,理论知识和习题同时给予你,是一个从理论发展到习题,在从习题这种图式反过来验证加强理论的一个过程,后续你使用的时候更多的是一个从认知到发展图式的方式。从理论发展出图式,我称之为认知过程。

如果你小时候看过一些电视剧,你可以发现,电视剧里面总是会宣言主角通过诚实守信,通过真材实料打败使用虚假材料的对手,从此不断的赚钱,成为人生赢家。虽然不敢百分百确定,但是可以肯定的是,如果你做生意的话,你有可能也会选择诚实守信,真材实料。这里并不是宣言偷奸耍滑,我们可以看到这就是图式的作用。在我们涉及到的一个新的领域,如果我们没有对应领域的基础知识,无法从认知理论出发,那么就只能从我们记忆中的影像,来推演我们即将踏入的行业。但是实际上,如果你做生意,更加看重的应该是利润,只有利润能够帮你实现人生赢家,真材实料和诚实并不能。所以我们可以看到,这就是图式和认知的区别,在没有认知的情况下,我们用图式来做出行为,而有认知理论就能更加明白如何去做,已经为何这么做。

我们默认会用图式来解决我们生活中遇见的问题,因为图式更加的便捷且易操作,如果未经过特殊训练或者理论知识,那么一个人表现出来的行为会和他内心最接近的图式相同。这也解释了为何一些人会表现出手足无措的想象,很多时候他的心里没有图式或者认知来帮他了解现在的情况,一时之间不明白如何操作也是正常的。而图式的另一个作用就是帮助我们提前预演未来可能发生的情况,让我们的内心更好的为未来的挑战做准备。

图式和认知是可以简单的概括成一个学习的过程,我们通过学习例子来加深给出的理论,通过不断的试错和反复,来达到最终的答案,这个过程就好像神经网络学习的过程。所以如果图式够丰富,是会形成自己一套认知,从而在在某个领域内融会贯通。但是并不是所有人都能通过图式来达到建立认知的过程。现在很多人看到海底捞火,就觉得我也行。于是模仿海底捞的服务,但是作为一个餐饮业来说,味道和干净才是重中之重,我曾经说过,海底捞可以达到肯德基,麦当劳的地位。为啥?并不是因为服务,是标准化的味道和强大的供应链。你在任何地方吃到的海底捞的味道肯定是一样的,这满足了人们对它的期望,我过去吃饭是为了吃到我之前想吃的味道,而不是过去碰运气去看看今天厨师或者供应链好不好,海底捞取巧的解决了厨师的问题,就像肯德基和麦当劳没有厨师一样,海底捞也没有,然后就是供应链,和肯德基麦当劳一样,海底捞有强大的供应链公司,可以保证他食材的同步,这至关重要。很多时候有人说我在四川吃到了xxx火锅比海底捞好吃多了,四川人根本不吃海底捞。没错,天底下比海底捞好的火锅店多了,但是他只能盘踞四川,出了四川有些食材没地搞,四川运出去由太贵。所以现在很多模仿海底捞的服务,有一说一都是只是模仿人家的图式,却没有学习认知理论。总归是照猫画虎。

图式的显像

但是社会交际中,我们更多的是从图式来学习认知过程的,因为没有一个可以让我们明白的理论给予我们,而且由于不是书本上固定的内容,所以认知过程是千变万化的,是千人千面的。我觉得见面得点头问好,他觉得见面不是什么要紧的事情,所以在没有事得情况下无需交流。这就是图式的显像,虽然我们知道了应该怎么做,但是有时候根据情绪根据认知程度的问题,每个人对待同一个情景不会有相似的行为。

我会对某个叔叔问好,但是我哥不会,因为他知道整个叔叔外面赌博欠钱还欠我家一大笔钱,所以他遇见时更多有那种高高在上的感觉,这就是简单的信息加工后,导致我哥对这个人的认知和我产生差异。所以认知的构建是一个包含图式和其他信息加工的复杂过程,我们无法通过同一场景下的一个简单行为来判断他的情绪和认知,但是在某些特殊场景下,我们可以通过情绪来判断他的认知,比如相亲的时候,你可以观察相亲对象的情绪,因为在信息都不明朗的情况下,我们都会默认按照自己内心的图式进行流程,但是如果有情绪反抗的话,就会出现我明知道该这么做,但是我不想这么做的一些矛盾。

大多数相亲是有一个大致流程:媒婆带着男孩到女孩子家中,然后女孩需要倒水沏茶给众人喝,算是给众人看下相貌和礼仪。这就是一个简单的图式或者说场景处理,不涉及到更深的认知过程,就好像时一个习俗一样的行为,如果这时女孩不愿意,或者装不知,那么大概率就是情绪在阻挠。

图式的显像是个复杂的过程,但是在没有特定认知差异的情况下,我们可以判断一个人的主管意愿,这仅仅是该理论的一个简单应用。认知——图式——情绪,三者是顺序控制的,最后体现在行为之上。一个人的行为可以通过逆向推演这三者关系来判断是哪一步出现问题。

图式的应用

图式的一个简单应用就好像是营销一样,通过不断的宣传某一美好品德,在内心接受然后影响你的行为。这就是现在大多数广告的意义,也是目前德育宣传的手段。图式本质是一个学习的过程,所以我们可以看到,抖音,快手等短视频,通过一个个场景给予了我们一个个我们尚未遇见或者有可能遇见场景的图式,这就是一个简单的学习图式的过程,我们会在下一次对应场景或者下一个饭桌上将说听到的事或物再说出来。但是这只是一个图式的显现。我们会参照或者尽量使用我们内心熟悉的图式。同时图式是一个记忆的显像,所以不是所有人都会在抖音的影响下使用同样的一个图式,也许在某一次别的宴席上,觉得别人的图式更好于是就将其记入脑中学习。所以大多数人是可以在同一个场景下达到同步共识的。

总结

1,图式是我们踏入新领域的第一步,我们会按照心里的图式对其进行推演然后实践,这往往会给我们带来一些错误的方向,所以踏入新领域请学习其基础知识理论,目前的所有图式都有可能将我们带歪,只有建立了自己的认知理论才能防止这种行为。

  1. 网络或者电视,任何传播手段都可以成为我们建立图式的手段

  2. 三层理论是互相影响的,图式确定的情况下,无认知过程,那么就是主观情绪在影响,情绪有问题说明是认知不同。

  3. 并不是所有人都可以从图式中总结出认知的,这与学习能力,图式的数量有所关联,所以我们需要判断一些未建立认知的过程的可能。

  4. 这个理论更加贴近生活,我们可以根据每个人在图式中扮演的角色来判断他的心境。

好多时候,我好喜欢佛教的那一套:缘起缘灭,因果循环。虽然我知道这些只是表面上的一些说法,实际深入研究会是另一番解释。然而这样正好,太远太近都不合适,这份距离恰恰合适。

而这就是一个距离恰好的故事,女孩美丽大方,品学兼优,为了自己的梦想努力,在毕业之后也进入了大公司,在里面步步晋升,就好像别人家的孩子一样。那你说这个故事有没有男孩,有,在不同的班级,在不同的小区,在不同的大学甚至在不同的城市,他们之间的交集用点来表示,数量繁多但不重要,甚至不被人察觉,但这并不妨碍女孩在男孩心中的地位,男孩在年段红榜上见到过女孩,男孩固定周末去女孩的小区打球,为了能在球场上看到女孩,男孩也在每天去食堂的路上走后面的楼梯,因为他会经过女孩的窗前。两人并不认识,也没有交流,但是这恰好的距离让男孩在心中补全了剩下的拼图。哪怕多年以后,男孩还是抱着那份拼图怀念,思绪。

这一切的缘也许是那一瞥,也许是那一次照面。反正就像佛教的因果循环一样。没有理由,没有逻辑,甚至没有可以解释的地方。他们会说这样好浪漫,好美。这里面没有任何现实的东西,都是美好的,没有共处,没有争吵,没有冲突。有的只是一个爱和被爱的人,爱的人满足了他的幻想,被爱的人也没有被这份爱情所困扰,完美的爱情,往往是脱离一切的现实,是悬浮的,是瞬间的。在逻辑和现实下,爱情会变成一些荷尔蒙,会变成一些生物性征。但这并不妨碍我们追求美。我们追求的爱情之美。PS 只要别被这份美蒙蔽了现实就是。

对于爱情的美,我们希望是伟大的,是宏大的,是众人皆知的,是甜蜜的。他不同于英雄之美,英雄之美在于救赎,在于一人之力。而爱情之美,在于挈合,在于凹凸。不,不,不是性,或者说不止是性,爱情之美在于以我之剑,刺子之鞘,反过来也是一样。追求的两者心之所向。他不一定山崩地裂,也没必要海枯石烂,也许就是昨夜星辰,画楼西畔。由大至小,由远及近的。

就如我上面所说的,最好的爱情就是发生在两个没有关联的人之间,他们各自从对方获得自己所需要的东西,在他们需要的时候。我本来想拿一部电影来举例的,但是发现似乎没有一部电影能将这件事完美的表达出来,所有的爱情电影都是在打碎或者撕破完美的爱情来制造悬念或者深思的,他们从中探讨和探究什么是完美的爱情:似乎就是爱情之美在于不爱。

20220915202924

python+数学有没有搞头啊?

肯定有啊

————星周驰

这本书我看下来,很好,很强大。

他不是那种上来就是直接各种算法,也不是那种完全小白的告诉你数组,列表,数据类型等等。

他更多的是一个数学加python的一个实践,就是你初中,高中学的,加减乘除。我们有时候看着那些高深的算法,不清楚她的构成,也不知道,我如果是一个兴趣自学的python程序员,我需要怎么样提升,或者加深自己对程序的理解。那么这本书就很合适,讲了类,讲了原细胞,讲了遗传算法。都是从零自己构建,不是用现成的库。现成的库有现成的好处,但是我们作为一个需要理解其过程的初学者,是很适合一本难度不大,但是一点点累计我们对程序,对面向对象这个概念的理解。

书本很短,就几章。用的例子都是传统的数学游戏,无论是猜大小,还是路线问题,我们都多多少少在初高中学习的时候见过,那时候用的方法繁琐且计算庞大。现在你可以直观的看到计算机的强大,而不是只会使用加减乘除,枚举,迭代,线性变换都是高阶数学的入门。

我个人是十分推崇有在学完python的基础操作之后,如果想往机器学习或者数据方向发展,拿这本书作为一个过渡很是不错。对数学功底要求不高,讲的都是自己知道的,只是将他换成python执行而已。

20220822200117

周末无聊,就带了几个孩子去电影院看了下《新神榜:杨戬》20220821221115,看完之后,我只想说:“日你妈,退钱”

20220821220746

这片完全就是营销的产物,属实除了营销一点不剩了,就是个垃圾。我是当初看了姜子牙片尾的宣传片才对这片充满期待,然后发现就是个大便。追光全家都是大便。

首先从剧情来说:这部片的剧情很简单:沉香救母。没了,就这么简单,刨去了靠嘴巴说的设定,片的内容就是沉香救母。这剧情,完全就是一片段一片段接在一起的。开头来段抓人表现杨戬的牛逼,然后是故作玄虚的来个机会引杨戬来主线,主线就是沉香一块块集齐宝莲灯,然后就是最后boss自爆,杨戬开眼,绝地反杀,再劈山救母,没了。你故事简单也可以,你至少讲好一个故事吧,对不起,讲不好,我是站着赚钱的,故事那是跪着的,做不来。故事的逻辑bug比比皆是:

  1. 沉香师傅为啥要死?沉香师傅本身就对沉香不好,大可来一个劝反,告诉沉香事实,让沉香偷走宝物,然后逃走。不行,要死,而且死的不明不白,好歹是二师兄,没个过场就这么死了。

  2. 申公豹为啥要死?你说师傅死,有可能失手,有可能有你不想浪费笔墨,但是申公豹你给弄死了,巫山神女来一句:“我看救不活了,给补刀了。”我他么的,你是神女,不是变态,人家救不活慢慢死不行啊,用你补刀,而且他师兄都没下狠手,你倒好。直接给补了,他师兄要想杀他用的着你。你这不会做人啊。申公豹完全就是和二师兄出来打酱油的,看起来好像要重点着墨申公豹为何如此的原因,但是又点到为止,告诉你我背后有好大的秘密,但是我不告诉是什么秘密。对此,我只想说:“去你妈的”

  3. 魔家四将又是谁的,这四个工具人到底是那一派的:公家?还是师傅?你杨戬不好奇么?你查一下不就知道,除了你还有谁在弄沉香,也就可以证明背后到底是不是师傅,证明巫山神女的话到底是不是对的,妈的,就是不查,我等师傅自己自爆。这他么的编剧脑袋里面是装大便了。喜欢突突的自己出来么?

  4. 除了剧情逻辑不同,人物的逻辑也是变态。我,杨戬,无父无母,就一个妹妹,妹妹因为救苍生牺牲自己,我把他儿子带到师傅那里。那老头说:“成年之前不要来看他。”????

20220821220842

我给你侄子取名叫沉香,我也不告诉你一声。????

20220821220905

你侄子杀了他师傅。我也没想通知你。????

20220821220937

妈的,这怕是个假舅舅,假哥哥吧。你师傅把他分配给了脾气最不好的二师兄,你也不给你侄子走走后门?玛德,这杨戬不会也是个变态吧

  1. 然后就是巫山神女,她谁啊,自我介绍是杨禅的闺蜜,但是没有个前情提要,后面山劈开了,也没打声招呼,委托照顾下孩子。然后你沉香怎么就叫上她姥姥了,你啥时候和她勾搭上的,是申公豹引荐的么,沉香你这样子很容易被骗哦。还有姐姐,你之前不是在乐坊里面跳舞么?怎么说走就走啊?你这样下份工作职调的时候HR可不会给你说好话的哦。

  2. 这片里面除了杨戬都是工具人,开头快30分钟抓的那个卖假药的,也是一个工具人,抓了,然后没了。宝莲灯回忆的时候碎成那么多片。收集的时候就一个灯罩,一个灯油,一个灯芯,行了,齐活。宝莲灯用来干啥的不知道,有什么神奇能力不知道。劈山用的是他舅的斧头,要灯干啥。照明么?

  3. 故事的主线也是不清不楚,正邪两方为啥要打,沉香为啥要劈山?救母?他妈已经和那个啥化为一气了,他不知道?而且你这举目无亲的,不想着先投靠下舅舅,一出来就这么大的志向?那师傅为啥不让他劈山呢?人类浩劫?自己的金霞洞?两个是绑在一起的,山开洞没了,人类还有一场打劫。那么这个电车难题还用选?肯定不劈开啊。杨戬直到最后一刻都没说他是为啥劈开,你就算不管金霞洞,你不管人类浩劫?那巫山神女的动机是啥?我闺蜜被压在下面,要救?我他么的,我都不知道师傅最后是不是黑化了?他说的很对啊,开山人类浩劫,金霞洞只是个添头,一举两得,你杨戬有什么理由劈开,劈开救你妹?你妹早就没了。那你劈开干啥。来场大劫害苍生,那你14年前为啥救呢?还有那些师叔师伯,东西都借了,人为啥不来,现在倒好,这些东西回不来了,以后杨戬拿着每个东西,去登门拜访,你怎么搞,你是和平的一方,现在杨戬开山乱世,你不是该出兵讨伐?

这片的剧情完全就是一坨屎,你讲一个故事好歹要逻辑自洽,前后呼应。你倒好,写到哪算哪,通篇就是卖弄我后面有个宏大的设定,吊足你的胃口,吊了整整2小时,是个人都受不了。然后就是立意。你说,你作为一个故事片,好歹有点东西吧。《魔童降世》为啥大火,就是人家有一个符合大众价值取向的立意:我命由我不由天。讲的是一个人定胜天的故事,看完让人心血澎湃。一个好的故事片除了讲好一个故事,还有让观众共情,连《唐人街探案》都会想着用母亲为了孩子食物出卖身体这种下三滥的手段去引起观众的共情,你倒好,一点共情的方法方式都没有,反而处处透露着人情的冷漠。师兄杀师弟,哥哥不管妹妹的孩子,甚至连沉香我都没有共情到他妈有多好,值得我这么去救么。哥哥啊,你要让观众共情啊,沉香想救他妈不是没有理由的,有可能是小时候被欺负没有妈妈保护,想着想救,有可能听到妈妈还活着,在华山下受苦受难想救。而不是我他么的就想救我妈,怎么了,这就是理由。

现在的这些编剧真的是太高高在上了,他们似乎没有了普通人的情感了,要真是一个如此受尽磨难的孩子,逃出来之后,估计躲躲藏藏的,然后过上平凡的生活。母亲是伟大的,但是生活是现实的,你需要让我们这些生活在现实的人去感受到为何沉香要如此坚定的救母,可以来点情节,来点回忆,甚至来点被人欺负,让观众知道母亲的宝贵。妈的,这傻逼片从头到尾就没有这种操作,你妈的你就是学唐探得下三滥操作也可以,至少让我知道你是一个专业人士,只是技术太差而已。

这片就这样微博上还都是:帅,好看得评价。妈的,再看微博推荐我就是狗,微博就是垃圾场。这片凡是吹画面好的,都是拿钱得。吹剧情得,都是拿钱得傻逼。这片完全就是一片专门拿来营销得玩意儿:有cp,有帅哥,有逗趣,还有那让人想起须佐能乎得画面。反正你们吹吧,我话放这了,这片就是垃圾。

二哥是我为数不多大学还在联系的人,也是我仅剩的毕业之后还在一座城市的同学。

于是乎,时不时的隔三岔五的就想小聚一番,主要是二哥想。我和二哥交流不深,主要是二哥太幼稚了,心眼不坏,所以可以安心交往,但是幼稚的人思想比较极端。而且还藏不住,所以有时候也不胜其烦。小聚主要是二哥提出的。二哥在厂里干活,厂里的食堂没煮什么好料,虽然二哥自己隔三岔五的改善伙食,但还是想要出来吃一顿。二哥很胖,比大学时候还胖,如果说大学时候的二哥是懒胖,那现在的二哥就是吃胖。两种成因不同。大学时候二哥一天吃一顿,一顿顶三顿,而且除此之外不再下床,专心魔兽。那现在他懒不了了,没有可以让他一天不下床的工作了,于是他就在吃上面花了心思。

二哥赚得不多,所以很抠,二哥不隐瞒自己的抠,或者不想隐瞒。二哥每次约饭都是自助,他喜欢自助,他吃的不多,或者比常人多一点,但也绝对不是那种吃回本的饭量,但是二哥还是喜欢,二哥喜欢那么多东西,可以任他挑选的感觉,这让他很满足。二哥约饭是完全为了饭,不是为了我。如果我今天没空,他明天还会约,约到我答应为止。原因有二,一是一个去吃自助,虽然不是不行,二哥试过,但是感觉不好。哪怕是二哥强大的内心,也抵挡不住。二是还可以跟同学见面,同学见面也要吃饭,自己嘴馋也要吃饭,一件事当两件事做,多划算。二哥心里有自己的小算盘,虽然这算盘响的我都知道了。但我不介意。

我们每次吃饭,吃饭的时间多于聊天的时间,在没有了大学宿舍的限制,二哥似乎更加失去言语沟通的能力。他不说自己的事,也不说公司的事,他说不明白,或者他不明白我不明白的点,没办法针对那个点再加以说明,所以一旦我表示不理解,他只会语气加重的重复之前说过的话。一来二去,我也就慢慢熟悉了,他说的都是对的。二哥吃自助也是有原则的,贵的不吃,便宜的,找不到。所以每次都是在那不上不下的段位吃的自助,吃的不算太好,都是冷冻的,但也能满足二哥对种类的需求。二哥对他这个需求曾经给过我一个解释:两个人出去吃饭,点菜的话,万一菜好吃,一个人多吃了一点,那另一个人不是吃亏了,还是自助好,想吃多少拿多少。二哥说的都是对的。二哥对自己的食量很有信心,我看过,比别人多30%~50%,代价是现在90kg的体重和扶墙出。我曾想劝二哥:后来想想,还是算了,这也许是他为数不多的快乐了。

二哥家里穷,大学时候都是几百几百的给的,实际上不算太穷,就是普通的务农家里,养几个孩子吃喝是没问题的,但是禁不住二哥喜欢玩。二哥最高峰的时候手里有9台手机,都不贵,几百,几十。二哥喜欢这种不贵,但是买很多的感觉。9台手机供着他五六个电话号码,因为他每有一个喜欢的套餐就办一个,比如一台手机专门用来12点以后看小说的,一台手机是塞班系统的,可以改壁纸等等。二哥手机多,但是经常联系不上,因为太多号码,谁也不知道他带哪个出门。一来二去,大家也就不存他的号码,反正他喝醉了会打过来。二哥除了手机还喜欢电脑,但是他买不起,我还记得他大一买了一台绝版的IBM的笔记本,连视频都播放不了,但是二哥还是满心欢喜。那台电脑花了他180。但是没给他带来任何用处,他做作业还得借别人电脑。后面二哥才买了一台神州笔记本,不过大多数时候是来玩魔兽世界的。二哥买电脑的钱是省下来的,开源节流对二哥来说,只有节流这么一个选项。二哥懒,懒到不想出去赚钱,在他身上我可以看到我村里的那些叔叔伯伯,他们不会想着如何增加收入,而是躺在床上喝酒,他们对生活看得绝望,不想为生活付出任何一点努力。二哥也是。二哥总是自己先否定自己的想法,念头,以及一切。在多年以后,二哥已然接受这个想法,甚至以此为自己的优点,洋洋得意。

二哥大学没有毕业,是肆业。原因很多,但是归根结底在二哥自己。二哥是少数民族,高考优惠政策+预科班,然后来我们学校,基础差不是问题,学校考试也不是特别难,哪怕就是混也能混到毕业。但是二哥不想混,他不屑。挂科之后学校会给一次机会补考,那次一般比较简单,只要念应该就可以过。但是二哥不念,那时候的二哥展现了人类在诱惑面前的劣根性。那时候二哥沉迷魔兽世界,所以在临近补考的那段时间,经常能看到二哥白天玩游戏,晚上8,9点去自习室读书,然后11点回来,懊悔自己又浪费了一天。就这样二哥错过了自己最有可能毕业的一次机会。那时候二哥前景很好,已经在中国移动公司实习,拿到毕业证就可以入职。至少比现在好很多。小雨说都是魔兽世界害了他,我觉得并不尽然,魔兽世界只是二哥逃避现实的工具,不是魔兽世界也有可能是其他东西,比如他的哪个手机挂机小游戏。二哥为了这个游戏专门买了一台手机用来挂机。后面的两次补考,进入社会的二哥更加没有心思去学习,挂了也是正常的。所以二哥从待毕业变为了肆业。

肆业后的二哥就开始破罐破摔了,什么工作都做,但什么都做不长,当过药店销售,当过其他零零散散的,也曾经在我的出租屋内睡了一个月的地板,我不让他跟我一起同床,因为他不洗澡,几个月不洗的那种,从大学就那样。后面慢慢的我就去了厦门,和二哥联系也少了。我只知道后来二哥在厂里当网管,这个工作一直做到了现在,工资不高,但是管吃管住还是一人间,二哥很满意,我也很满意。

二哥_2_2

二哥_2_1

0%