2024-09-09, 20:30-今日內容

我的dockerhub的用户名: Docker hub Docker 的端口映射是说,主机的某个端口印社到dockerapp的某个端口进行通信。也就是说当我们访问主机5000的时候,实际上… Docker容器的根目录就是/ COPY . /app 我们docker能够build创建的是image。 我们可以根据image来生成container来创建可以run的instance… Docker最主要的不仅可以帮我们安装包和依赖,还可以帮我们激活虚拟环境,切换工作路径, 自动执行我们的main的代码。 构建docker的时候,如果制定使用miniconda作为基础景象,那么就是说,我们将从这个conda自带的包开始构建, 我们可以… 注意conda在export的时候一定要写no-buidld 否则会失败。我因为这个事情浪费了半个小时, github没告诉我要写… 创建某个conda 环境到docker的过程: Homebrew在 安装的时候,主要cask是用来啊安装图形化的操作的app的 只要激活了condo环境,那么即使是用pip install 还是会撞到现在激活的env,所以不用担心, SSE是说AWS的S3 帮你自动加密,他是server side的encryption, IMA是AWS用来管理用户登陆的。 也就是identity and access management S3 有transition和expiration。 transition就是在不同的存储类之间切换,expiration就是过期… 我们可以自己create lifecycle 来帮助S3的数据自动从很贵到很便宜的。 S3 intelligent tiering 是aws自动帮用户划分是不是经常访问, 然后来算钱。 Tiers 值得是不同的服务水平,也就是头等舱和经济舱的区别。 S3的Glacier 是最便宜的存储,主要是保存不长访问的数据,比如法律文档,医疗记录和备份数据。也就是几十年都不看一次的数据, S3 One Zone IA 比S3 IA的availability更低, 只有99.5% S3 standard 就是11个9 ,和99。99. S3可以在两个数据中心同时发生故障的守候,仍然能够保证数据是安全可以访问的,这是他们讲数据龙语春初到多个地理位置不同的facility… S3的数据是被存储在多个地理位置的, 而且Durability是11个9的durability 也就是意味着数据非常安全。 如果项目里面的数据不需要复杂的权限管理,那么一个buckets就够了。 但是如果想要吧不同的数据放到不同的buckets 来方便谁… AWS是amazon web service S3 里面地bucket进行分区,其实就是自己创建文件夹,组织数据的方式。这样可以帮我们在查询的时候快速找到并且省钱。 Athena主要是支持结构化和半结构化的查询,还能自动解析CSV, JSON, ORC这些文件给是,他会帮我们吧一些非关系型的数据… Athena 是AWS的服务的一部分,主要是支持SQL 语法查询, 直接通过股票athena yongSQl查询存储在S3的数据。 数据湖可以存储所有的raw data S3, EC2, Athena, Lambda Amazon S3 就是一个存储数据的地方。用的是buckets 。 Object Pooling就是专门弄一个空间来管理object的出生和死亡,反正就是类似我们的shortcuts, 我们一键处理… [SerializedField]是吧private的variable弄到inspector可以见,就像public一样。但是他有… ECS 实体组建系统 entity component system New Note New Note New Note New Note 为什么sqlmodle 有了engine 还要有session with 在python用法

Code above omitted 👆

Str在大多数的DB里面被解释成了VARCHAR ,一半是执行255个char的长度。 Mysql函数有一个Field函数专门用来设置database的PK 也就是primary key : sql的null就是python的None SQLite里面的PK就是primary key。NN: not null SQLite里面的字段 filed 是表的column,也就是数据的type或者属性。 Sqlite 是只有一个simple的db在一个simplefile Low poly 是一种看起来像lego的3d建模分风格,可以是渲染速度更快。 有什么要买的可以去unity store买assets… 在改变游戏难度的时候,我们这里从一个script传递了button里面的variable去了另外一个script。这个操作我非常不… Unity里面 可以检测鼠标是不是触碰到, 还有鼠标click。 两个的分别是OnMouseEnter() 和OnMouseDown… 让游戏难度变低, 可以让spawn rate 跟difficulty 成反比。 也就是spawnRate /= difficulty… unity 里面加上button的步骤,现在TMP 弄一个text ,然后把他的component加一个button。 想要让砍水果的游戏结束,就是要确定他不是坏的,并且与传感器碰撞了, 一般我们吧sensor放在ground的下面。 每个gameobject都有自己的tag,我们可以知道这个tag是敌人还是好人。 不要直接写gameobject == “Bad… Unity里面如果发现文本自己就自动换行了,我们可以去TMP (textmeshpro)去inspector 吧wrapping关…

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我的dockerhub的用户名: Zhouxingnan2016@gmail.com 这个账号的用户名是luckysouthchou

我还有一个github的账号的用户名叫做: Jynxzzz

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Docker hub 即使我们自己生成了image, 即使登陆的是同一个账号。他也不会主动帮我们推动image刀另一个设备 除非我们自己主动推送。 所以我们需要进行这个步骤: docker tag sqlmodel luckysouthchou/sqlmodel docker push luckysouthchou/sqlmodel

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Docker 的端口映射是说,主机的某个端口印社到dockerapp的某个端口进行通信。也就是说当我们访问主机5000的时候,实际上… Docker 的端口映射是说,主机的某个端口印社到dockerapp的某个端口进行通信。也就是说当我们访问主机5000的时候,实际上是在访问容器的4999。

写法是docker run -p 5000:4999 image 永远是主机的端口在前,docker的端口在后。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Docker容器的根目录就是/ 如果你指定WIRKDIR是 /app 那么就是在rootdir之后弄了一个app 专门放你的code和可以运行的文件。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

COPY . /app 这个app已经是一个dir了。后面加不加上/都不影响结果

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我们docker能够build创建的是image。 我们可以根据image来生成container来创建可以run的instance… 我们docker能够build创建的是image。 我们可以根据image来生成container来创建可以run的instance。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Docker最主要的不仅可以帮我们安装包和依赖,还可以帮我们激活虚拟环境,切换工作路径, 自动执行我们的main的代码。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

构建docker的时候,如果制定使用miniconda作为基础景象,那么就是说,我们将从这个conda自带的包开始构建, 我们可以… 构建docker的时候,如果制定使用miniconda作为基础景象,那么就是说,我们将从这个conda自带的包开始构建, 我们可以在他的基础上添加更多的包/依赖。 一般这些依赖都是用conda来生成的, 主要是conda export —no-build 来生成的一个yml文件。 我们就用这个文件来告诉docker 我要安装什么东西。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

注意conda在export的时候一定要写no-buidld 否则会失败。我因为这个事情浪费了半个小时, github没告诉我要写… 注意conda在export的时候一定要写no-buidld 否则会失败。我因为这个事情浪费了半个小时, github没告诉我要写这个nobuild

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

创建某个conda 环境到docker的过程: 要将你的 Conda 环境和 Python 代码打包成 Docker 镜像,可以按照以下步骤操作。我们将创建一个包含 Conda 环境的 Dockerfile,将你的代码和 Conda 环境一起打包进 Docker 镜像。

步骤 1:生成 environment.yml 文件

首先,确保你的 Conda 环境 sqlmdl 已经激活,然后使用以下命令生成一个 environment.yml 文件,这个文件描述了当前 Conda 环境中的所有依赖:

conda activate sqlmdl
conda env export --no-builds > environment.yml

这将生成一个 environment.yml 文件,它将列出所有在 sqlmdl 环境中安装的依赖包和版本。

步骤 2:编写 Dockerfile

接下来,创建一个 Dockerfile 文件,用于定义 Docker 镜像的构建过程。确保你的 Python 代码和 environment.yml 文件放在同一个目录下。

Dockerfile 中,你可以使用 continuumio/miniconda3 作为基础镜像,它已经包含了 Conda。然后我们将设置 Conda 环境,并复制你的代码到容器中。

# 使用 Miniconda 作为基础镜像
FROM continuumio/miniconda3

# 复制 environment.yml 到容器中
COPY environment.yml /tmp/environment.yml

# 创建 Conda 环境并激活
RUN conda env create -f /tmp/environment.yml

# 激活环境,并将 Conda 环境的路径添加到 shell
RUN echo "conda activate sqlmdl" >> ~/.bashrc
ENV PATH /opt/conda/envs/sqlmdl/bin:$PATH

# 复制你的代码到容器中
COPY . /app
WORKDIR /app

# 设置默认命令为启动你的应用
CMD ["python", "your_script.py"]

步骤 3:构建 Docker 镜像

在包含 Dockerfileenvironment.yml 的目录中,运行以下命令来构建 Docker 镜像:

docker build -t sqlmodel_img .

这将使用 Dockerfile 构建 Docker 镜像,安装 Conda 环境并将你的 Python 代码复制到镜像中。

步骤 4:运行 Docker 容器

构建完成后,你可以使用以下命令运行 Docker 容器:

docker run -it --rm sqlmodel_img

这将启动一个新的容器,激活 Conda 环境并运行你的 Python 脚本。

其他注意事项:

  1. 代码文件的路径:确保你的代码文件(如 your_script.py)与 Dockerfile 位于同一个目录中,或者调整 COPY 命令将代码复制到适当的路径。
  2. 依赖问题:如果你的项目依赖特定的系统包(例如数据库库或工具),你可以在 Dockerfile 中通过 RUN 指令安装这些工具。

如果你在这个过程中遇到任何问题,请告诉我具体的错误信息,我可以进一步帮助你解决。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Homebrew在 安装的时候,主要cask是用来啊安装图形化的操作的app的 没有cask就是说安装的是command line的tool或者app

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

只要激活了condo环境,那么即使是用pip install 还是会撞到现在激活的env,所以不用担心, Zhiya

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

SSE是说AWS的S3 帮你自动加密,他是server side的encryption, 他有三种方式一个是S3的key 一个是AWS的Key management 一个是C, 也就是用户自己的key

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

IMA是AWS用来管理用户登陆的。 也就是identity and access management

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3 有transition和expiration。 transition就是在不同的存储类之间切换,expiration就是过期… S3 有transition和expiration。 transition就是在不同的存储类之间切换,expiration就是过期了直接delete。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我们可以自己create lifecycle 来帮助S3的数据自动从很贵到很便宜的。 比如股票30天自动从standar变成IA等等。 这些规则都是可以自己设置的,

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3 intelligent tiering 是aws自动帮用户划分是不是经常访问, 然后来算钱。 默认的就是最高的: S3 standard。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Tiers 值得是不同的服务水平,也就是头等舱和经济舱的区别。 存储tiers: S3 standard, S3 IA, S3 Glacier 计算层级: 虚拟机的instance, CPU和GPU Ram的等级 。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3的Glacier 是最便宜的存储,主要是保存不长访问的数据,比如法律文档,医疗记录和备份数据。也就是几十年都不看一次的数据, 分成三种种 一种是instant retrival 一般就几秒就可以看到数据 另外一种教师Flexible retrivekl 要你哦那个3-5小时检索。。。 fuck 好傻逼的设计。 (免费的。。) 最后一个是Feep archive 12 小时以上的检索速度 。。(免费的)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3 One Zone IA 比S3 IA的availability更低, 只有99.5% 因为他只是把数据存储在一个zone 。 S3IA存储了三个区,他是99.9%

S3的standar是最高的。也就是99.99 availability。 主药是用One Zone IA 来多备份份备份。 也就是secondary backup

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3 standard 就是11个9 ,和99。99. 但是S3 standar IA 就是更便宜的选择, 也就是一些backup的打他。 适合长期存储, 但是不需要经常访问的。 一个归档的数据和文件。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3可以在两个数据中心同时发生故障的守候,仍然能够保证数据是安全可以访问的,这是他们讲数据龙语春初到多个地理位置不同的facility… S3可以在两个数据中心同时发生故障的守候,仍然能够保证数据是安全可以访问的,这是他们讲数据龙语春初到多个地理位置不同的facility实现的。 也就是你的数据阿门会帮你在读个地理位置存储多分。 Geo redundant stoareg/ 同时一个数据中心也需要存储多分你的数据。 只有一份是不够的。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3的数据是被存储在多个地理位置的, 而且Durability是11个9的durability 也就是意味着数据非常安全。 Availability是99.99 ,也就是说在大多数时间,都可以访问到你的数据。 但是对于不同的存储的类型,有不同的availability的保证。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

如果项目里面的数据不需要复杂的权限管理,那么一个buckets就够了。 但是如果想要吧不同的数据放到不同的buckets 来方便谁… 如果项目里面的数据不需要复杂的权限管理,那么一个buckets就够了。 但是如果想要吧不同的数据放到不同的buckets 来方便谁可以访问哪个bucktes 那么就单独弄新的buckets

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

AWS是amazon web service

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3 里面地bucket进行分区,其实就是自己创建文件夹,组织数据的方式。这样可以帮我们在查询的时候快速找到并且省钱。 s3://your-bucket/your-data/year=2024/month=09/day=09/datafile.csv s3://your-bucket/your-data/year=2024/month=09/day=08/datafile.csv

SELECT * FROM your_data WHERE year = ‘2024’ AND month = ‘09’ AND day = ‘09’;

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Athena主要是支持结构化和半结构化的查询,还能自动解析CSV, JSON, ORC这些文件给是,他会帮我们吧一些非关系型的数据… Athena主要是支持结构化和半结构化的查询,还能自动解析CSV, JSON, ORC这些文件给是,他会帮我们吧一些非关系型的数据转化为结构化的数据,让SQL来查询。 一个简单的例子,如果一个Jason的文件: Athena会帮我们转化成SQL的table的样子给我们查询: [ { “id”: 1, “name”: “Alice”, “age”: 30, “address”: { “city”: “Seattle”, “state”: “WA” } }, { “id”: 2, “name”: “Bob”, “age”: 25, “address”: { “city”: “Portland”, “state”: “OR” } } ]

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Athena 是AWS的服务的一部分,主要是支持SQL 语法查询, 直接通过股票athena yongSQl查询存储在S3的数据。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

数据湖可以存储所有的raw data 包括结构化的: table csv 半结构化的: log 非结构化的:图像+视频

S3 就是数据湖的存储基础。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

S3, EC2, Athena, Lambda S3就是存储 EC2 负责运行virtual server 进行计算 Athena就是用来查询和分析数据sql相关的 Lambda是用来做一些不需要server得计算(可能是简单的吧)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Amazon S3 就是一个存储数据的地方。用的是buckets 。 他们必须有全球唯一的名字,也就是我们吧大量的data都存在buckets里面。 然后这些buckets像是folder那么一样

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Object Pooling就是专门弄一个空间来管理object的出生和死亡,反正就是类似我们的shortcuts, 我们一键处理… Object Pooling就是专门弄一个空间来管理object的出生和死亡,反正就是类似我们的shortcuts, 我们一键处理的感觉

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

[SerializedField]是吧private的variable弄到inspector可以见,就像public一样。但是他有… [SerializedField]是吧private的variable弄到inspector可以见,就像public一样。但是他有同时有private的variable的数据保护。 所以是很好的一个type。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

ECS 实体组建系统 entity component system 他是面向数句的技术stack 的一个part。 DOTS(data oriented technology stack)这两个东西都是unity自己的框架和技术。 ECS是一种架构,DOTS事变成框架。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

New Note 练习 - 捕获特定的异常类型 - 训练 |Microsoft 学习 — Exercise - Catch specific exception types - Training | Microsoft Learn

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

New Note 练习 - 捕获特定的异常类型 - 训练 |Microsoft 学习 — Exercise - Catch specific exception types - Training | Microsoft Learn

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

New Note 检查异常和异常处理过程 - 培训 |Microsoft 学习 — Examine exceptions and the exception handling process - Training | Microsoft Learn

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

New Note Examine exceptions and the exception handling process - Training | Microsoft Learn

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

为什么sqlmodle 有了engine 还要有session 在 SQLModel(或 SQLAlchemy)中,enginesession 扮演不同的角色,它们的职责如下:

  • Engine
    • 负责与数据库建立底层连接。
    • 管理数据库连接池。
    • 提供执行原生 SQL 语句的能力。
  • Session
    • 负责管理数据库会话。
    • 处理对象的持久化(如插入、更新、删除操作)。
    • 提供事务管理,确保操作的原子性和一致性。

具体使用

  • Engine:通常在应用程序启动时创建一次。
    from sqlmodel import create_engine
    
    engine = create_engine('sqlite:///database.db')
    
  • Session:在需要与数据库交互时创建,使用完毕后关闭。
    from sqlmodel import Session
    
    with Session(engine) as session:
        # 进行数据库操作
        session.add(my_object)
        session.commit()
    

简而言之,engine 是数据库连接的管理者,而 session 是具体数据库操作的执行者。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

with 在python用法 with open(‘example.txt’, ‘r’) as file: for line in file: print(line.strip())

文件在这里会自动关闭,即使发生异常

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Code above omitted 👆

def select_heroes(): with Session(engine) as session:

More code here later 👇

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Str在大多数的DB里面被解释成了VARCHAR ,一半是执行255个char的长度。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Mysql函数有一个Field函数专门用来设置database的PK 也就是primary key : id: int | None = Field(default=None, primary_key=True)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

sql的null就是python的None

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

SQLite里面的PK就是primary key。NN: not null 也就是说他一直是有value的。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

SQLite里面的字段 filed 是表的column,也就是数据的type或者属性。 或者你可以把他和feature对应起来。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Sqlite 是只有一个simple的db在一个simplefile

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Low poly 是一种看起来像lego的3d建模分风格,可以是渲染速度更快。 有什么要买的可以去unity store买assets… Low poly 是一种看起来像lego的3d建模分风格,可以是渲染速度更快。 有什么要买的可以去unity store买assets。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

在改变游戏难度的时候,我们这里从一个script传递了button里面的variable去了另外一个script。这个操作我非常不… 在改变游戏难度的时候,我们这里从一个script传递了button里面的variable去了另外一个script。这个操作我非常不熟悉,也就是参数传递。

Play Mute

Remaining Time  -5:42 -5:42 Playback Rate 1x 1 倍 Captions Fullscreen 

1.	

2.	In DifficultyButton.cs, create a new public int difficulty variable, then in the Inspector, assign the Easy difficulty as 1, Medium as 2, and Hard as 3
3.	在 DifficultyButton.cs 中,创建一个新的公共 int 难度变量,然后在 Inspector 中,将 Easy 难度指定为 1,将 Medium 指定为 2,将 Hard 指定为 3
4.	

5.	Add an int difficulty parameter to the StartGame() function
6.	向 StartGame() 函数添加 int 难度参数 
7.	

8.	In StartGame(), set spawnRate /= difficulty;
9.	在 StartGame() 中,设置 spawnRate /= difficulty;
10.	

11.	Fix the error in DifficultyButton.cs by passing the difficulty parameter to StartGame(difficulty)
12.	通过将 difficulty 参数传递给 StartGame(difficulty) 来修复 DifficultyButton.cs 中的错误 

Select image to expand  选择图片以放大

Optional: Try playing your game in full screen by going to the dropdown in the upper right of the Game view and selecting Play Maximized. 可选:转到 Game (游戏) 视图右上角的下拉菜单,然后选择 Play Maximized(最大化播放),尝试全屏玩游戏。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Unity里面 可以检测鼠标是不是触碰到, 还有鼠标click。 两个的分别是OnMouseEnter() 和OnMouseDown… Unity里面 可以检测鼠标是不是触碰到, 还有鼠标click。 两个的分别是OnMouseEnter() 和OnMouseDown()

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

让游戏难度变低, 可以让spawn rate 跟difficulty 成反比。 也就是spawnRate /= difficulty… 让游戏难度变低, 可以让spawn rate 跟difficulty 成反比。 也就是spawnRate /= difficulty;

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

unity 里面加上button的步骤,现在TMP 弄一个text ,然后把他的component加一个button。 然后在script里面加入button的package。 然后在应该放button的地方放进去这个button, 然后吧tmp的button拉进去这个button, 记得吧tmp的active 关了。 然后在script里面设置这个button activate。 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

想要让砍水果的游戏结束,就是要确定他不是坏的,并且与传感器碰撞了, 一般我们吧sensor放在ground的下面。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

每个gameobject都有自己的tag,我们可以知道这个tag是敌人还是好人。 不要直接写gameobject == “Bad… 每个gameobject都有自己的tag,我们可以知道这个tag是敌人还是好人。 不要直接写gameobject == “Bad” 而是要写经过优化的一个表达: If (gameObject.CompareTag(“Bad”){})

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Unity里面如果发现文本自己就自动换行了,我们可以去TMP (textmeshpro)去inspector 吧wrapping关… Unity里面如果发现文本自己就自动换行了,我们可以去TMP (textmeshpro)去inspector 吧wrapping关了就可以了。

#匯總今日內容