初始化我的第二个笔记仓库
parent
cb8824c668
commit
33459ce5ba
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"promptDelete": false,
|
||||||
|
"attachmentFolderPath": "Aseets",
|
||||||
|
"alwaysUpdateLinks": true
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"accentColor": "",
|
||||||
|
"baseFontSize": 15
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"file-explorer": true,
|
||||||
|
"global-search": true,
|
||||||
|
"switcher": true,
|
||||||
|
"graph": true,
|
||||||
|
"backlink": true,
|
||||||
|
"canvas": true,
|
||||||
|
"outgoing-link": true,
|
||||||
|
"tag-pane": true,
|
||||||
|
"properties": false,
|
||||||
|
"page-preview": true,
|
||||||
|
"daily-notes": true,
|
||||||
|
"templates": true,
|
||||||
|
"note-composer": true,
|
||||||
|
"command-palette": true,
|
||||||
|
"slash-command": false,
|
||||||
|
"editor-status": true,
|
||||||
|
"bookmarks": true,
|
||||||
|
"markdown-importer": false,
|
||||||
|
"zk-prefixer": false,
|
||||||
|
"random-note": true,
|
||||||
|
"outline": true,
|
||||||
|
"word-count": true,
|
||||||
|
"slides": true,
|
||||||
|
"audio-recorder": false,
|
||||||
|
"workspaces": true,
|
||||||
|
"file-recovery": true,
|
||||||
|
"publish": false,
|
||||||
|
"sync": false
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
[
|
||||||
|
"file-explorer",
|
||||||
|
"global-search",
|
||||||
|
"switcher",
|
||||||
|
"graph",
|
||||||
|
"backlink",
|
||||||
|
"canvas",
|
||||||
|
"outgoing-link",
|
||||||
|
"tag-pane",
|
||||||
|
"page-preview",
|
||||||
|
"daily-notes",
|
||||||
|
"templates",
|
||||||
|
"note-composer",
|
||||||
|
"command-palette",
|
||||||
|
"editor-status",
|
||||||
|
"bookmarks",
|
||||||
|
"random-note",
|
||||||
|
"outline",
|
||||||
|
"word-count",
|
||||||
|
"slides",
|
||||||
|
"workspaces",
|
||||||
|
"file-recovery"
|
||||||
|
]
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"collapse-filter": true,
|
||||||
|
"search": "",
|
||||||
|
"showTags": false,
|
||||||
|
"showAttachments": false,
|
||||||
|
"hideUnresolved": false,
|
||||||
|
"showOrphans": true,
|
||||||
|
"collapse-color-groups": true,
|
||||||
|
"colorGroups": [],
|
||||||
|
"collapse-display": true,
|
||||||
|
"showArrow": false,
|
||||||
|
"textFadeMultiplier": 0,
|
||||||
|
"nodeSizeMultiplier": 1,
|
||||||
|
"lineSizeMultiplier": 1,
|
||||||
|
"collapse-forces": true,
|
||||||
|
"centerStrength": 0.518713248970312,
|
||||||
|
"repelStrength": 10,
|
||||||
|
"linkStrength": 1,
|
||||||
|
"linkDistance": 250,
|
||||||
|
"scale": 1,
|
||||||
|
"close": false
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
|
@ -0,0 +1,168 @@
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"id": "d457fda6cf1b5c22",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "19312355a28b9d05",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "daf761d0297d992f",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "empty",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "vertical"
|
||||||
|
},
|
||||||
|
"left": {
|
||||||
|
"id": "adb9ff5fd6a39af6",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "3795c01518dea149",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "396326139fe57e3d",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "file-explorer",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "98c70ab9a31a6e9d",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "search",
|
||||||
|
"state": {
|
||||||
|
"query": "",
|
||||||
|
"matchingCase": false,
|
||||||
|
"explainSearch": false,
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "41e09e8f2b3abccc",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "bookmarks",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 300
|
||||||
|
},
|
||||||
|
"right": {
|
||||||
|
"id": "008332ab0f5949de",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "35484acf1a42a40b",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "8c626ec87463284e",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "backlink",
|
||||||
|
"state": {
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": "",
|
||||||
|
"backlinkCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "549247d476a44622",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outgoing-link",
|
||||||
|
"state": {
|
||||||
|
"linksCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "9cbb93406c68f747",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "tag",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "frequency",
|
||||||
|
"useHierarchy": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "30292489daefa915",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outline",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 300,
|
||||||
|
"collapsed": true
|
||||||
|
},
|
||||||
|
"left-ribbon": {
|
||||||
|
"hiddenItems": {
|
||||||
|
"switcher:Open quick switcher": false,
|
||||||
|
"graph:Open graph view": false,
|
||||||
|
"canvas:Create new canvas": false,
|
||||||
|
"daily-notes:Open today's daily note": false,
|
||||||
|
"templates:Insert template": false,
|
||||||
|
"command-palette:Open command palette": false,
|
||||||
|
"workspaces:Manage workspace layouts": false,
|
||||||
|
"random-note:Open random note": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": "396326139fe57e3d",
|
||||||
|
"lastOpenFiles": [
|
||||||
|
"README.md",
|
||||||
|
"ObsidianNotes/README.md",
|
||||||
|
"ObsidianNotes",
|
||||||
|
"Git.md",
|
||||||
|
"TODO模板.md",
|
||||||
|
"Think in UML.canvas",
|
||||||
|
"Godot GDScript Trick.md",
|
||||||
|
"Aseets/dev2.png",
|
||||||
|
"Awesome window manager.md",
|
||||||
|
"Aseets/Dev.png",
|
||||||
|
"破解享乐的欲望牢笼.md",
|
||||||
|
"Linux Setup.md",
|
||||||
|
"Vim Superpower.md",
|
||||||
|
"局域网共享文件方法.md",
|
||||||
|
"软件工程.md",
|
||||||
|
"Aseets/Procedure.jpeg",
|
||||||
|
"Ability.md",
|
||||||
|
"平铺式窗口管理软件.md",
|
||||||
|
"Aseets/85dbdd074d403555e95e832745425c43.jpeg",
|
||||||
|
"Aseets",
|
||||||
|
"202309201542.md"
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
Binary file not shown.
After Width: | Height: | Size: 121 KiB |
Binary file not shown.
After Width: | Height: | Size: 747 KiB |
|
@ -0,0 +1,130 @@
|
||||||
|
超级爽的tilling window manager, 而且配置好了, 用起来无敌爽
|
||||||
|
https://www.youtube.com/watch?v=1QQps1qTgG4
|
||||||
|
Github Info:
|
||||||
|
https://github.com/ChrisTitusTech/titus-awesome
|
||||||
|
|
||||||
|
### Step by step
|
||||||
|
|
||||||
|
> 配置基础环境
|
||||||
|
```
|
||||||
|
sudo apt install awesome fonts-roboto rofi compton i3lock xclip qt5-style-plugins materia-gtk-theme lxappearance xbacklight flameshot nautilus xfce4-power-manager pnmixer network-manager-gnome policykit-1-gnome -y
|
||||||
|
wget -qO- https://git.io/papirus-icon-theme-install | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install terminator
|
||||||
|
```
|
||||||
|
|
||||||
|
视频内又输入了一次上面的指令, 这里我猜测是填错了,但是先填上
|
||||||
|
```
|
||||||
|
wget -qO- https://git.io/papirus-icon-theme-install | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
> 克隆他的配置文件到指定目录 (这里我使用自己的库)
|
||||||
|
|
||||||
|
> 他的库:
|
||||||
|
```
|
||||||
|
git clone --branch debian https://github.com/ChrisTitusTech/titus-awesome ~/.config/awesome
|
||||||
|
```
|
||||||
|
> 我的库:
|
||||||
|
```
|
||||||
|
git clone --branch debian http://47.100.81.115/Yogi/awesome.git ~/.config/awesome
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
> 切换虚拟桌面
|
||||||
|
>
|
||||||
|
> 登出当前桌面(最好重启)
|
||||||
|
> 在输入密码的界面中, 选择页面上的图标(Ubuntu的右下角有个齿轮)
|
||||||
|
> 选择 Awesome 后 登陆即可
|
||||||
|
|
||||||
|
> Tips
|
||||||
|
> win键(Super键)+F1 可以弹出快捷键的提示窗口
|
||||||
|
|
||||||
|
> 打开终端(Super+x), 然后 设置 themes
|
||||||
|
```
|
||||||
|
mkdir -p ~/.config/rofi
|
||||||
|
cp $HOME/.config/awesome/theme/config.rasi ~/.config/rofi/config.rasi
|
||||||
|
sed -i '/@import/c\@import "'$HOME'/.config/awesome/theme/sidebar.rasi"' ~/.config/rofi/config.rasi
|
||||||
|
```
|
||||||
|
|
||||||
|
> Tips: 这里会修改 Super+r 的themes
|
||||||
|
|
||||||
|
|
||||||
|
> 下载鼠标 Icon 图集
|
||||||
|
|
||||||
|
进下面的网站, 然后点击Files 下载你喜欢的 (我这里选第一个)
|
||||||
|
https://www.pling.com/p/1148692
|
||||||
|
或者去这里去搞 https://github.com/keeferrourke/capitaine-cursors
|
||||||
|
|
||||||
|
> 解压到 地址栏输入下面的东西 (Ctrl+ L)
|
||||||
|
```
|
||||||
|
.icons/
|
||||||
|
```
|
||||||
|
|
||||||
|
> 切换 窗口,文件图标,鼠标 Theme
|
||||||
|
|
||||||
|
运行程序(Alt+Space) lxa (也就是 Customize Look and Feel)
|
||||||
|
|
||||||
|
切换为 `Widget/Material-dark` 和 `Icon Theme/Papirus-Dark` 和 `Mouse Cursor/Capitaine Cursors Light`
|
||||||
|
|
||||||
|
|
||||||
|
> 设置虚拟桌面启动默认项 (不用每次都在登陆界面点了)
|
||||||
|
|
||||||
|
> 打开配置文件
|
||||||
|
```
|
||||||
|
sudo gedit /etc/environment
|
||||||
|
```
|
||||||
|
> 增加到末尾新行
|
||||||
|
```
|
||||||
|
XDG_CURRENT_DESKTOP=Unity
|
||||||
|
QT_QPA_PLATFORMTHEME=gtk2
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
> vscode编辑器安装
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt-get install code
|
||||||
|
```
|
||||||
|
|
||||||
|
> ide 打开配置目录 **重要** : 所有配置基本上都在这里修改了
|
||||||
|
|
||||||
|
```
|
||||||
|
code .config/awesome
|
||||||
|
```
|
||||||
|
|
||||||
|
> 比如 apps.lua 是控制开机启动(开机启动项需要输入目录,具体参考代码)和默认browser
|
||||||
|
> 比如 keys内有一些热键的配置
|
||||||
|
> 如果是在bin内部, 那么直接输入bin文件夹内部的文件名即可
|
||||||
|
|
||||||
|
> reload(Super+Ctrl+r)
|
||||||
|
|
||||||
|
> 墙纸
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install variety feh
|
||||||
|
```
|
||||||
|
|
||||||
|
> 允许Variety 软件(动态下载墙纸)
|
||||||
|
|
||||||
|
> 进去后 把所有的下载渠道都关了 用 bing 和 unsplash
|
||||||
|
> 下面的目录改了 改成 `/home/.wallpapers` 注意,这里需要新建文件夹,而且命名基于开机启动的脚本的后缀的 改完后 下面应该显示的是 `~/wallpapers`
|
||||||
|
> Menual downloading 中的目录也改一下 同上的目录
|
||||||
|
|
||||||
|
|
||||||
|
> 修改 Variety 配置背景拉伸的脚本
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo gedit .config/variety/scripts/set_wallpaper
|
||||||
|
```
|
||||||
|
|
||||||
|
> 移到最下面 有个 `echo "local gears = require(\"gears\") gear`......... 的一行
|
||||||
|
> 用`feh --bg-fill`... 这一行复制然后替换他
|
||||||
|
|
||||||
|
> 这时候在任务栏用 Variety 切换图片就不会导致拉伸图片了
|
||||||
|
|
||||||
|
> 如果在 Variety 中添加到 最喜欢的 时,就会自动下载到 .wallpapers
|
||||||
|
|
||||||
|
|
||||||
|
### Over! Enjoy!
|
|
@ -0,0 +1,15 @@
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
每次都需要输入帐号密码的解决方案, 这个类似记住密码的功能吧
|
||||||
|
全局配置:
|
||||||
|
`git config --global credential.helper store`
|
||||||
|
|
||||||
|
当前仓库:
|
||||||
|
`git config credential.helper store
|
||||||
|
|
||||||
|
优先找当前, 然后找全局.
|
||||||
|
|
||||||
|
`git config --global user.name yogi
|
||||||
|
`git config --global user.email 1273750265@qq.com
|
||||||
|
|
||||||
|
也有生成ssh 公 私钥的, 然后把公钥发到服务器的 .ssh 目录的对应文件内的... 但是我测试下来发现是失败的, 原因是因为我是一个类似 github 的仓库, 填入后没生效, 不确定是什么原因
|
|
@ -0,0 +1,38 @@
|
||||||
|
### 类似 C# 的 `Linq` 语句
|
||||||
|
``` python
|
||||||
|
static func square(x):
|
||||||
|
return x * x
|
||||||
|
|
||||||
|
static func is_even(x):
|
||||||
|
return x%2 == 0
|
||||||
|
|
||||||
|
static func sum(accum, y):
|
||||||
|
return accum + y
|
||||||
|
|
||||||
|
|
||||||
|
static func test():
|
||||||
|
var arr : Array
|
||||||
|
var boolean : bool
|
||||||
|
var item : int
|
||||||
|
var obj;
|
||||||
|
var number = [1,2,3,4,5,6]
|
||||||
|
|
||||||
|
arr = number.map(square) # 映射
|
||||||
|
arr = number.filter(is_even) # 过滤
|
||||||
|
obj = number.reduce(sum,0) # 合并/合并/组合 元素 初始值为0
|
||||||
|
number.sort()#排序
|
||||||
|
number.sort_custom(func(a,b):return a>b) #自定义排序
|
||||||
|
item = number.find(func(item): return item == 5, 0)#获得 其中一个==5 的值, 从 0 开始查询
|
||||||
|
boolean = number.all(func(item):return item == 5)#所有==5
|
||||||
|
boolean = number.any(func(item):return item == 5)#任何一个==5
|
||||||
|
number.shuffle()#乱序
|
||||||
|
```
|
||||||
|
|
||||||
|
### 单线程异步
|
||||||
|
这里的异步本质是等待信号, 完全可以等待一帧的信号来实现逐帧的异步方法, 或者等待Timer实现逐秒的异步操作
|
||||||
|
``` python
|
||||||
|
func asyns_tween_property(scene_tree : SceneTree, object:Object, tween_property:String, value:Variant, move_time:float):
|
||||||
|
var tween = scene_tree.create_tween()
|
||||||
|
tween.tween_property(object,tween_property, value, move_time)
|
||||||
|
await tween.finished
|
||||||
|
```
|
|
@ -0,0 +1,73 @@
|
||||||
|
#Linux
|
||||||
|
## 装机过程中遇到的问题合集
|
||||||
|
1. 装机盘不知道为啥总是出问题
|
||||||
|
1. 装机的时候直接无法进入,安装界面, 后来我在把iso写入盘的时候同时使用了校验, 比较久
|
||||||
|
2. 买的u盘有问题, 是一个惠普的u盘 比较坑, 传输速度及其的慢. 有人向我推荐西部数据
|
||||||
|
3. 反复装了非常多次
|
||||||
|
2. 系统选择有问题
|
||||||
|
1. 我最早选了22版本的ubuntu, 然后有人说不是很稳定. 不过我还是硬装上去了
|
||||||
|
3. 启动的时候使用不同的启动盘是通过F12 然后单独选择的, 我之前一直都去bios修改顺序 非常低效
|
||||||
|
4. 装机的时候需要选 NTFS 的启动项 而不是正常启动项, 这里我不知道是为啥, 正常启动项无法打开
|
||||||
|
5. 安装的时候, 需要分盘.
|
||||||
|
1. efi盘500m 也就是启动盘.
|
||||||
|
2. swap盘需要1600m 也就是虚拟内存
|
||||||
|
3. 其他空间都可以给 / 目录, 这个也需要注意输入一个 '/' 目录 不知道为啥...
|
||||||
|
6. 装好后, 我发现我的显卡有点问题, 卡在进入的时候了
|
||||||
|
1. 必须按住shift 启动
|
||||||
|
2. 然后进入 Advanced option for ubuntu => recovery mode => 一路回车
|
||||||
|
3. 然后安装显卡驱动
|
||||||
|
1. sudo apt update 更新
|
||||||
|
2. sudo apt install nvidia-driver-525
|
||||||
|
3. 完了就可以重启了
|
||||||
|
7. 装好了
|
||||||
|
8. 然后我后续装了个搜狗输入法 (我想用双拼), 然后无法启动系统了....
|
||||||
|
9. 又重装一次.... 所以在22版本的ubuntu不要用搜狗......
|
||||||
|
|
||||||
|
|
||||||
|
### 下载加速
|
||||||
|
https://www.bilibili.com/video/BV1DB4y147DL/?spm_id_from=333.788.recommend_more_video.3&vd_source=ba468568caebc92479698e83c28be8b0
|
||||||
|
|
||||||
|
### 任务栏表现修改
|
||||||
|
Setting=>Appearance
|
||||||
|
|
||||||
|
### 隐藏顶部bar
|
||||||
|
1.安装插件
|
||||||
|
sudo apt-get install gnome-shell-extension-manager
|
||||||
|
2.打开 extension manager 应用
|
||||||
|
3.搜索hide top bar 并且按照下载量排序
|
||||||
|
4.安装即可
|
||||||
|
|
||||||
|
### 双拼输入法
|
||||||
|
1.安装fcitx
|
||||||
|
sudo apt-get install fcitx
|
||||||
|
2.安装fcitx-pinyin
|
||||||
|
sudo apt-get install fcitx-pinyin
|
||||||
|
3.配置输入法
|
||||||
|
im-configr
|
||||||
|
4.重启
|
||||||
|
sudo reboot
|
||||||
|
4.点击top task bar 中输入法的 configure菜单
|
||||||
|
添加 Shuangpin 即可(自动自然码双拼) 如果想要其他的,下面有个齿轮可以设置
|
||||||
|
|
||||||
|
-硬盘识别
|
||||||
|
1. 打开Disks 程序
|
||||||
|
2. 选择没有识别的硬盘
|
||||||
|
3. 齿轮设置
|
||||||
|
4. Edit Mount Options..
|
||||||
|
5. 基于自己的需求配置即可
|
||||||
|
|
||||||
|
- 点击任务栏图标最小化功能
|
||||||
|
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
|
||||||
|
|
||||||
|
|
||||||
|
### 梯子
|
||||||
|
https://www.youtube.com/watch?v=VOlWdNZAq_o
|
||||||
|
主要是把Clash for windows 安装完毕之后 需要在 Setting=>Network=>Network Proxy中设置127.0.0.1和7890(这里是Clash内的端口)
|
||||||
|
|
||||||
|
如果是fire fox 需要在浏览器内部也修改一下即可
|
||||||
|
|
||||||
|
### 必备软件
|
||||||
|
https://zhuanlan.zhihu.com/p/537783323?utm_id=0
|
||||||
|
|
||||||
|
|
||||||
|
[[Awesome window manager]]
|
|
@ -0,0 +1,19 @@
|
||||||
|
## 需求表现效果
|
||||||
|
> 这个需求大体来说是什么样的(通常描述)
|
||||||
|
|
||||||
|
|
||||||
|
## 溯源求本(本质需求)
|
||||||
|
> 这个需求本质上是为了解决什么问题的
|
||||||
|
|
||||||
|
|
||||||
|
## 分析解决方案
|
||||||
|
> 寻找为了解决这个问题的解决方案ABCD..
|
||||||
|
|
||||||
|
|
||||||
|
## 实现细节
|
||||||
|
> 我选定的解决方案需要如何实现, 每一个步骤应该怎么做
|
||||||
|
|
||||||
|
|
||||||
|
## 思考与反思
|
||||||
|
> 做完后, 反思下次遇到这个问题, 如何能更快的提升工作效率, 减少工作时间
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"295515b74130b4c1","type":"group","x":60,"y":-360,"width":940,"height":1440,"label":"基于需求开发(面向对象开发)"},
|
||||||
|
{"id":"f7a5a05e3b3adbee","type":"group","x":-880,"y":-360,"width":907,"height":1440,"label":"基于顺序流程开发 (面向流程开发)"},
|
||||||
|
{"id":"01381dfb0d849945","type":"group","x":177,"y":120,"width":707,"height":180,"label":"节点(对象)"},
|
||||||
|
{"id":"5598149665daee13","type":"group","x":-96,"y":-840,"width":246,"height":380,"label":"现实因果"},
|
||||||
|
{"id":"3dd7047c8798b5be","type":"text","text":"因","x":98,"y":-320,"width":67,"height":60},
|
||||||
|
{"id":"02979079622fc748","type":"text","text":"节点D","x":731,"y":-100,"width":111,"height":60},
|
||||||
|
{"id":"baeb4b1fe957ac3e","type":"text","text":"节点C","x":550,"y":-175,"width":111,"height":60},
|
||||||
|
{"id":"7aab729a19843255","type":"text","text":"节点B","x":358,"y":-175,"width":111,"height":60},
|
||||||
|
{"id":"e55941a9e3bc5761","type":"text","text":"节点A","x":218,"y":-100,"width":111,"height":60},
|
||||||
|
{"id":"c33ab99b87004926","type":"text","text":"果","x":898,"y":-320,"width":67,"height":60},
|
||||||
|
{"id":"b78f0a5a2d476e66","type":"text","text":"``` python\nfunc main(i)\n\ta = nodeA.do(i)\n\tb = nodeB.do(a)\n\te = nodeE.do(a)\n\tf = nodeF.do(b,a,e)\n\tc = nodeC.do(b)\n\to = nodeD.do(c,f)\n\treturn o\n```","x":233,"y":360,"width":583,"height":280},
|
||||||
|
{"id":"67cc784857841adc","type":"text","text":"特性","x":320,"y":220,"width":160,"height":50},
|
||||||
|
{"id":"1e71eae3e8ab4dd7","type":"text","text":"果","x":44,"y":-540,"width":67,"height":60},
|
||||||
|
{"id":"20e8d9b9baff4d3d","type":"text","text":"因","x":-76,"y":-540,"width":67,"height":60},
|
||||||
|
{"id":"a1a7be26d20eaca1","type":"text","text":"抽象","x":-19,"y":-660,"width":96,"height":29},
|
||||||
|
{"id":"3749392e088d5fa1","type":"text","text":"现实","x":-19,"y":-820,"width":96,"height":29},
|
||||||
|
{"id":"4ae0834068c8c432","type":"text","text":"封装/特性/继承/聚合/多态","x":584,"y":220,"width":280,"height":50},
|
||||||
|
{"id":"6cd0aa5fd7e08b73","type":"text","text":"数据","x":197,"y":140,"width":131,"height":50},
|
||||||
|
{"id":"be3e0105f3877ef9","type":"text","text":"- 对象眼界狭窄, 只关心和自己相关的几个对象, 不关心和自己无关的\n- 没有特性的可以称之为类, 被赋予特性后, 可以被称之为实例\n- 需求发生改变时, 一般是直接新增类. 不会大幅度的影响其他对象.\n- 举例\n\t- 面向对象就像是把建造一辆车这个目标, 分解成建造每一个零部件后组装\n\t- 当车辆更新换代的时候, 用于组装的类会发生变更(可以重载或是继承), 也会新增一些新的对象类型(同样可以是继承和承载)","x":233,"y":660,"width":583,"height":260},
|
||||||
|
{"id":"ccc50c45875e8121","type":"text","text":"节点F","x":550,"y":-45,"width":111,"height":60},
|
||||||
|
{"id":"2f08f916dda4c384","type":"file","file":"Aseets/Procedure.jpeg","x":-731,"y":470,"width":586,"height":550},
|
||||||
|
{"id":"a58cc0223dab5c53","type":"text","text":"- 依赖关系\n- 固定流程\n- 需求变更时, 不容易修改\n- 随着需求发生变化, 节点的复杂度和因果关系也会大幅度变化\n- 举例\n\t- 面向流程就像一次性把建造一辆车设定成目标, 然后分析整个流产的线路, 使得这个产线能一次性就把车生产出来\n\t- 而车辆会随时更新换代, 所以车的管线也会经常大改, 每次大改都会伤筋动骨","x":-731,"y":95,"width":583,"height":285},
|
||||||
|
{"id":"6ecc964c9042cafe","type":"text","text":"结果","x":744,"y":140,"width":120,"height":50},
|
||||||
|
{"id":"6e4257fdd05e9ae8","type":"text","text":"功能计算","x":444,"y":140,"width":160,"height":50},
|
||||||
|
{"id":"301c14f628e0d44e","type":"text","text":"节点E","x":390,"y":15,"width":111,"height":60},
|
||||||
|
{"id":"56c4798c604b529d","type":"text","text":"## Route Map\n- 游戏框架分析\n- 代码架构分析\n- 游戏模块分析\n- 游戏模块 UML 图制作\n- 代码实现\n\t- 大地图解决方案\n\t- 战斗模块\n\t\t- 战斗模块配置功能(能力与效果)\n\t- 存档初始化模块\n\t- 大地图模块\n","x":1203,"y":-352,"width":517,"height":732},
|
||||||
|
{"id":"7dc171478dd606af","type":"text","text":"战斗角色是使用的回合计数\n大地图角色使用时间计数\n\n是否可以\n战斗时 时间暂停\n一个回合结束时, 增加对应游戏时间\n(这样会有一些意想不到的效果, 比如当前回合结束后, 刚好经过了一天, 一天一时间一过, 角色某个效果会触发, 比如回复满血)","x":1308,"y":420,"width":412,"height":300},
|
||||||
|
{"id":"43c25dad51fed755","type":"text","text":"## 流程划分\n- 进入游戏\n- 新建存档\n- 配置角色存档\n- 读取存档\n- 进入主场景\n- 打开战斗场景\n- 关闭战斗场景\n- 退出主场景\n- 写入存档\n- 游戏结束","x":1760,"y":-352,"width":192,"height":363},
|
||||||
|
{"id":"c202cf6940c88b13","type":"text","text":"## 模块划分\n- 流程模块(状态机)\n\t- 游戏初始化\n\t- 存档配置流程\n\t- 游戏时间流程\n- 资源模块(读写模块)\n\t- 读取指定路径下的场景文件\n\t- 保存到执行路径下的对应文件位置\n- 存档模块(对存档进行 增删改查)\n\t- 游戏设置存档结构 (分辨率,画质,特效等级 etc...)\n\t- 游戏存档结构\n\t\t- 角色信息\n\t\t- 任务信息\n\t\t- 时间信息\n\t\t- 大地图信息\n\t- 读取存档后, 对存档进行处理\n\t- 写入存档时, 对存档进行处理\n- 场景模块(对场景进行切换)\n\t- 加载场景\n\t- 删除场景\n\t- 切换场景(删除与加载同时进行)\n\t- 场景分级 (对场景树进行管理)\n- 标签模块\n\t- 角色标签,技能标签,效果标签等标签 (主要是字符串)\n\t- 标签需要可以进行检测判断(包含,不包含,必须包含,必须不包含)\n\t- 标签需要方便配置(标签的配置工具)\n\t- 标签需要方便在脚本中使用 (标签配置导出标签常量类 方便调用)\n- 游戏时间模块\n\t- 现实 总时间 统计\n\t- 现实 战斗时间 统计\n\t- 游戏 时间 累加\n\t- 游戏 战斗回合 累加\n- 任务模块\n\t- 接任务\n\t- 交任务\n\t- 任务链(任务依赖)\n\t- 任务监听\n- 大地图模块\n\t- 配置模块(这里我打算使用 Godot 中的 Tilemap 进行配置), 后期可以把配置表导出成文本方便调试与修改\n\t- 角色与摄像机大地图移动功能(碰撞与层级与检测)\n\t- 大地图动态(增删改查)\n\t- 基于游戏时间进行动态变更\n- 战斗模块\n\t- 角色\n\t\t- 属性\n\t\t- 常用方法\n\t- 能力\n\t\t- 能力的脚本继承, 能力功能实现 (触发特效 或 特殊判断条件)\n\t\t- 配置能力属性(CD, 消耗等)\n\t\t- 对指定角色添加与删除效果 (添加灼伤buff等)\n\t- 效果\n\t\t- 效果的脚本继承,状态功能实现 (修改属性或触发特效)\n\t\t- 配置效果属性(持续时间, 间隔时间等)\n\t\t- 对角色产生效果的常用方法(添加血量上限等)\n\t- 战斗数据\n\t\t- 战斗网格\n\t\t- 战斗角色\n\t- 战斗回合切换\n\t\t- 回合匹配\n- AI模块(敌人AI)\n\t- blackboard数据\n\t- AI行为树\n\t- 行为树配置功能\n- 角色配置模块 (配置基础属性, 能力, 掉落ID)\n\t- NPC\n\t- 敌人\n\t- 自身\n- 掉落模块(ID 关联, 有嵌套)\n- 常量配置表\n\t- 资源路径配置(UI路径, 场景路径, 角色路径, 技能路径, 效果路径)\n- 全局事件模块\n\t- 全局的各种事件触发 (玩家选择角色, 玩家选择地面, 进入战斗事件等)\n- UI模块\n\t- 监听游戏中不同数据的变化\n\t- 打开与关闭UI\n\t- 触发不同特效\n- 本地化模块\n\t- 翻译功能(表)\n","x":2080,"y":-352,"width":1120,"height":2132},
|
||||||
|
{"id":"c38d1a12d50745c6","type":"text","text":"## 大地图解决方案\n\n## 必做方案\n- 从美术那里获得`大地图`(比如一个种族的地图)\n- 程序切图变成`小地图`且批量命名\n\n### 普通 2D 方案\n- 详情参考`2DPathFindExample'\n- 配置流产\n\t- 一张`小地图` 可以作为一个 `场景` 使用\n\t- 每个场景中, 配置 `物理碰撞` `AI寻路` `城池` `副本` 等等\n- 此做法类似我们早期使用Unity实现的方法思路, 但是他有更方便的 2D 功能\n#### 优劣分析\n- 优: 自定义能力极强\n- 劣: 相比较其他方案, 批量修改处理不易\n- 劣: 相比较其他方案, 需要实现大地图编辑器, 从而实现游戏内配置, 方便进行直观的配置 (运行增删查改, 动态加载等等)\n\n### Tile Map方案\n- 详情参考 `TileMapExample`\n- 配置流程\n\t- (笔刷) 先配置 每个网格资源 本身的属性 (比如 可以AI导航区域, 碰撞区域, 颜色, 材质, 高度 等等)\n\t- (底色) 用`小地图`做背景\n\t- (画图) 再在把网格刷在地图上\n- 网格中的物体: 1. 可交互 2.可挡路 3.可以动态消失和增加\n\n### 优劣分析\n- 优: 性能不错, 我测试下来性能可以接受\n- 劣: Godot在编辑时, 有可能会闪退 具体原因不明\n- 劣: 因为是基于网格的, 所以具体的网格都是以格子为基准的, 比如 \"材质\" \"高度\" \"导航区域\" \"碰撞区域\". 没有其他方式的那种自定义的方式自由 (必须是格子图)\n","x":3280,"y":-352,"width":960,"height":1090},
|
||||||
|
{"id":"4d32b080f139a489","type":"text","text":"因","x":-728,"y":-338,"width":67,"height":60},
|
||||||
|
{"id":"150aa8c33533e9d6","type":"text","text":"果","x":-215,"y":-335,"width":67,"height":60},
|
||||||
|
{"id":"a86a7ac36ae3f4f0","type":"text","text":"``` python\nfunc main(i)\n\ta = get(i)\n\tb = ClacA(a)\n\te = ClacE(a)\n\tf = CalcF(b,a,e)\n\tc = CalcC(b)\n\to = CalcO(c,f)\n\treturn o\n\n# 需求变更时, 新写方法, 插入/删除流程\n```","x":-728,"y":-245,"width":583,"height":285},
|
||||||
|
{"id":"a5b1c2cce5f1efbb","type":"text","text":"功能计算","x":-519,"y":-333,"width":160,"height":50}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"c0b4be46a6f0aeb1","fromNode":"3749392e088d5fa1","fromSide":"bottom","toNode":"a1a7be26d20eaca1","toSide":"top"},
|
||||||
|
{"id":"a0fb7166022afbf4","fromNode":"20e8d9b9baff4d3d","fromSide":"right","toNode":"1e71eae3e8ab4dd7","toSide":"left"},
|
||||||
|
{"id":"8bcca951694d2031","fromNode":"a1a7be26d20eaca1","fromSide":"bottom","toNode":"20e8d9b9baff4d3d","toSide":"top"},
|
||||||
|
{"id":"518a0eb4016f2b99","fromNode":"a1a7be26d20eaca1","fromSide":"bottom","toNode":"1e71eae3e8ab4dd7","toSide":"top"},
|
||||||
|
{"id":"7f7568e86335e241","fromNode":"6cd0aa5fd7e08b73","fromSide":"right","toNode":"6e4257fdd05e9ae8","toSide":"left","label":"输入"},
|
||||||
|
{"id":"93d6bb1d290a4ca1","fromNode":"6e4257fdd05e9ae8","fromSide":"right","toNode":"6ecc964c9042cafe","toSide":"left","label":"输出"},
|
||||||
|
{"id":"926309bc253b349a","fromNode":"3dd7047c8798b5be","fromSide":"right","toNode":"c33ab99b87004926","toSide":"left"},
|
||||||
|
{"id":"f26bfc9ceae7483f","fromNode":"3dd7047c8798b5be","fromSide":"bottom","toNode":"e55941a9e3bc5761","toSide":"left","label":"1...n"},
|
||||||
|
{"id":"2646a987f686e659","fromNode":"02979079622fc748","fromSide":"right","toNode":"c33ab99b87004926","toSide":"bottom","label":"1...1"},
|
||||||
|
{"id":"9374435f243a0eeb","fromNode":"baeb4b1fe957ac3e","fromSide":"right","toNode":"02979079622fc748","toSide":"left"},
|
||||||
|
{"id":"34478a4ca072f870","fromNode":"7aab729a19843255","fromSide":"right","toNode":"baeb4b1fe957ac3e","toSide":"left"},
|
||||||
|
{"id":"43e31e2bcb261203","fromNode":"e55941a9e3bc5761","fromSide":"right","toNode":"7aab729a19843255","toSide":"left"},
|
||||||
|
{"id":"5cc96990e8207977","fromNode":"ccc50c45875e8121","fromSide":"right","toNode":"02979079622fc748","toSide":"left"},
|
||||||
|
{"id":"667a975a009bc4d5","fromNode":"301c14f628e0d44e","fromSide":"right","toNode":"ccc50c45875e8121","toSide":"left"},
|
||||||
|
{"id":"f058d8c47b545381","fromNode":"e55941a9e3bc5761","fromSide":"right","toNode":"301c14f628e0d44e","toSide":"left"},
|
||||||
|
{"id":"820ff7f42357890f","fromNode":"7aab729a19843255","fromSide":"bottom","toNode":"ccc50c45875e8121","toSide":"top"},
|
||||||
|
{"id":"72d1a65096efda72","fromNode":"e55941a9e3bc5761","fromSide":"right","toNode":"ccc50c45875e8121","toSide":"left"},
|
||||||
|
{"id":"09bf87c6eacc8557","fromNode":"a5b1c2cce5f1efbb","fromSide":"right","toNode":"150aa8c33533e9d6","toSide":"left"},
|
||||||
|
{"id":"bfd72f2560152d23","fromNode":"4d32b080f139a489","fromSide":"right","toNode":"a5b1c2cce5f1efbb","toSide":"left"}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
Vim 从入门到精通
|
||||||
|
https://www.cnblogs.com/lijia0511/p/5644566.html
|
|
@ -0,0 +1,16 @@
|
||||||
|
1. 用 python 运行本地的文件服务器
|
||||||
|
语法: ```python -m http.server <port>```
|
||||||
|
|
||||||
|
```python -m http.server 8000```
|
||||||
|
|
||||||
|
2. 可以访问了
|
||||||
|
语法: ```http://localhost:8000```
|
||||||
|
```http://localhost:8000```
|
||||||
|
|
||||||
|
3. 查找自己的ip地址
|
||||||
|
```ip addr show```
|
||||||
|
|
||||||
|
4. 其他平台可以直接输入
|
||||||
|
语法: ```http://<ipaddress>:<port>```
|
||||||
|
## Reference
|
||||||
|
https://zhuanlan.zhihu.com/p/477026441
|
|
@ -0,0 +1,32 @@
|
||||||
|
破解享乐的欲望牢笼并采取积极行动需要一些自我控制、心理学和哲学原则的应用。以下是一些方法,可以帮助你摆脱享乐的欲望,以便更有目的地追求更有意义的生活目标:
|
||||||
|
|
||||||
|
1. 自我意识和反思:
|
||||||
|
- 意识到你的享乐欲望以及它们如何影响你的生活是第一步。反思你的价值观和目标,思考你是否在寻求瞬间的满足,还是更长期的满足感和成就感。
|
||||||
|
- 要反复思考这里, 不断提醒自己为什么要这么做, 从而使得这件事情可以长久的做下去, 增加自己额外的动力.
|
||||||
|
|
||||||
|
2. 制定明确的目标:
|
||||||
|
- 确定你的长期目标和价值观,以便更容易拒绝那些短暂的享乐。设立明确的目标可以帮助你专注于更有意义的事情。
|
||||||
|
|
||||||
|
3. 制定计划和时间管理(制定明确的时间限制, 确定什么时间能做什么不能做什么事情):
|
||||||
|
- 制定日程安排和计划,确保你的时间被用在更有价值的活动上。避免浪费时间在短期享乐上,而忽视了更重要的事情。
|
||||||
|
|
||||||
|
4. 建立自我控制 与 奖励措施:
|
||||||
|
- 学会延迟满足感,这是抵抗享乐欲望的关键。你可以通过锻炼自己的自我控制力,逐渐减少对瞬间享乐的依赖。
|
||||||
|
- 为自己设置一些有价值的奖励, 并且追踪奖励, 从让自己愉悦满足, 让自己觉得自己做的长期事情是有短期价值的.
|
||||||
|
|
||||||
|
5. 寻求支持和社交连接:
|
||||||
|
- 与支持你的朋友、家人或专业心理医生建立联系,分享你的目标和挑战。他们可以提供鼓励和支持,帮助你走出享乐欲望的牢笼。
|
||||||
|
|
||||||
|
6. 学习冥想和正念:
|
||||||
|
- 冥想和正念练习可以帮助你更好地了解自己的欲望和情感,从而更好地应对它们。通过冥想和正念,你可以培养更强大的自我觉察和情绪调控能力。
|
||||||
|
|
||||||
|
7. 培养健康的生活方式:
|
||||||
|
- 良好的饮食、运动和足够的睡眠可以提高你的身体和心理健康,减少对享乐的依赖。身体健康可以增强自我控制和决策能力。
|
||||||
|
|
||||||
|
8. 接受挑战和舒适区之外的体验:
|
||||||
|
- 尝试新的事物,接受挑战,走出舒适区,这可以帮助你寻找更多有意义和满足的体验,而不仅仅是追求享乐。
|
||||||
|
|
||||||
|
9. 减少触发的钩子(在物理层面减少容易接触到的浪费时间的入口, 比如手机上的App 等):
|
||||||
|
- 尝试把手机上的, 电脑上的, 容易获得的浪费时间的入口给移除, 从而让自己不那么容易立即满足
|
||||||
|
|
||||||
|
最重要的是,要明白破解享乐的欲望牢笼是一个长期的过程,需要耐心和坚定的决心。不要期望立刻就能彻底改变,但通过逐步采取这些方法,你可以渐渐减少享乐欲望的影响,更有目的地追求更有意义的生活。如果觉得无法自行控制享乐欲望,不妨寻求专业心理咨询的帮助。
|
|
@ -0,0 +1,64 @@
|
||||||
|
## 图灵
|
||||||
|
- 图灵机= 卡片条 + 读写头
|
||||||
|
- 卡片内的东西: 数据or指令
|
||||||
|
- 数据与指令可以分开储存, 也可以合在一起储存, 但是他们是不同类型的东西
|
||||||
|
- 分开能让人更容易理解
|
||||||
|
## Lambda 演算法
|
||||||
|
- Lambda 演算法是把 函数 作为了元数据, 通过函数直接的关系代表数据和指令
|
||||||
|
## 元细胞自动机
|
||||||
|
- 元细胞自动机是把 元细胞 作为了元数据, 设定了默认的四种基于周围网格的变化规则, 实现的一种计算机范式, 可以主要是实现了非图灵非Lambda演算的新做法, 主要可以应用在深度学习和流体模拟这种上面, 卷积的算法原理, 但是无法编程主打的是一种炼丹的方式实现
|
||||||
|
|
||||||
|
## 软件工程解耦合
|
||||||
|
- 模块化 (功能之间解耦合)(菜鸟负责简单模块, 高手负责复杂模块)
|
||||||
|
- 高内聚
|
||||||
|
- 低耦合
|
||||||
|
- 单一职责
|
||||||
|
- 分层化(需求与实现解耦合) (无论高手和菜鸟, 都是负责一整层, 或者把一整层拆小再划分, 对能力要求不高. 比如前后端开发)
|
||||||
|
- 底层功能接口需要保证完备, 方便上层调用实现
|
||||||
|
- 举例
|
||||||
|
- 底层: 操作系统
|
||||||
|
- 中高层: 计算机软件
|
||||||
|
- 用户输入=>操作系统回调=>软件=>操作系统API=>硬件
|
||||||
|
- 模式化(历史与未来解耦合)(按照这些范式去做, 能为未来可能的需求变更做准备)
|
||||||
|
- 设计模式
|
||||||
|
- 指令式编程+面向对象式编程+函数式编程
|
||||||
|
- 编程原则
|
||||||
|
- 面向对象S.O.L.I.D 原则
|
||||||
|
- S 单一功能原则
|
||||||
|
- O 开放封闭原则
|
||||||
|
- L 里式替换原则
|
||||||
|
- I 接口隔离原则
|
||||||
|
- D 依赖反转原则
|
||||||
|
- 数据库设计 CRUD 原则
|
||||||
|
- 增删改查
|
||||||
|
|
||||||
|
## 软件开发瀑布流程(开发过程过长)
|
||||||
|
![[Dev.png]]
|
||||||
|
|
||||||
|
### 软件开发三层模型
|
||||||
|
- V 表现层 (前端, 用户直观看到的)
|
||||||
|
- A 控制层/应用层 (后端, 业务操作,逻辑判断)
|
||||||
|
- D 数据层 (数据库, 增删改查)
|
||||||
|
### 领域驱动设计
|
||||||
|
以不变的业务领域作为核心(中台), 进行上下的领域设计
|
||||||
|
|
||||||
|
### 敏捷开发
|
||||||
|
![[dev2.png]]
|
||||||
|
小步快跑, 及时反馈, 快速进步
|
||||||
|
|
||||||
|
敏捷开发, 早点投入市场, 测试
|
||||||
|
|
||||||
|
市场反响不错时, 重构
|
||||||
|
|
||||||
|
><敏捷革命> <精益创业> <凤凰项目>
|
||||||
|
>scrum , 精益, DevOps
|
||||||
|
### 开源
|
||||||
|
开源举例: Linux
|
||||||
|
|
||||||
|
追求性能高效, 放弃解耦合
|
||||||
|
|
||||||
|
开放多人合作, 多人调试优化
|
||||||
|
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
https://www.bilibili.com/video/BV1h3411G741/?spm_id_from=333.788
|
Loading…
Reference in New Issue