分类 学习 下的文章 - 浮川的小窝
首页
休闲直播
4K壁纸
统计
更多
关于
留言
归档
搜 索
1
emby+alist3+cloudDriver2 emby无法播放网盘资源问题
163 阅读
2
HelloWorld!
154 阅读
3
前端算法整理
146 阅读
4
关于服务器配置反代隐藏端口中遇到的问题
141 阅读
5
maptalks 一些基础api的再封装(待解耦改装纯方法类)
121 阅读
生活
学习
随笔
吐槽
小秘密
小故事
登录
/
注册
搜 索
SnowLove
累计撰写
69
篇文章
累计收到
5
条评论
首页
栏目
生活
学习
随笔
吐槽
小秘密
小故事
页面
休闲直播
4K壁纸
统计
关于
留言
归档
用户登录
登录
注册
找到
45
篇与
学习
相关的结果
2024-11-08
python class基础回顾
class Test(object): '''类属性''' count = 0 def __init__(self,prefix): self._prefix = prefix Test.count += 1 '''直接通过类名来调用的方法叫做类方法也叫静态方法 ,不需要先创建实例,可以定义成这个类的静态属性,通过关键字@staticmethod来标记。''' @staticmethod def version(): return "1.0" '''使用 @property 可以为类定义一个只读属性。这种属性只会有一个 getter 方法,而没有 setter 方法,从而禁止修改该属性的值。''' @classmethod def getSubClass(cls, prefix): return cls(prefix) '''获取类属性 基数当前一共生成了多少个子类''' @classmethod def getCount(cls): return cls.count @property def prefix(self): return self._prefix '''可以通过 @property 和 @<property_name>.setter 组合来定义可读写属性。在 setter 中可以加入条件检查或其他逻辑,确保属性符合要求''' @prefix.setter def prefix(self, value): self._prefix = value '''@property 可以将一个方法定义为计算属性,通过一定的逻辑计算返回一个值,而不需要存储该值。''' def console(self, content): print(f" : ") test = Test('Hello World 1') test.console(2) test.prefix = 'Hello World 3' print('哈哈哈',test.prefix) test.console(4) print(Test.version()) # 使用静态方法直接获取一个新的子类 test2 = Test.getSubClass('我是一个Test子类') test2.console('Hello World 5') print(Test.getCount()) class Test_Sub(Test): def __init__(self, prefix): super().__init__(prefix) def sub_function(self): return f": sub function" test_sub = Test_Sub.getSubClass('我是一个继承Test的Test_Sub子类') print('哈哈哈',test_sub.prefix) print(Test_Sub.getCount()) ''' Hello World 1 : 2 Hello World 3 : 4 1.0 我是一个Test子类 : Hello World 5 2 我是一个继承Test的Test_Sub子类 3 ''' # 此处并没有打印 print(test_sub.prefix) Test_Sub不是继承自Test 那么test_sub实例应该有prefix? ''' 解释: Test_Sub 的构造函数(__init__)缺失 修改: class Test_Sub(Test): def __init__(self, prefix): super().__init__(prefix) # 调用父类的构造函数,初始化 prefix def sub_function(self): return f": sub function" '''
2024年11月08日
7
0
0
2024-11-08
nginx相关知识点
在 Nginx 配置文件中,root 和 alias 都用于指定文件系统中的路径,以便在处理请求时找到相应的资源1.root 和 alias 的区别/var/www/html ├── index.html ├── images │ └── pic.jpg └── static └── app.js我们要将 /var/www/html 目录作为网站的根目录,并处理以下两种情况:/ 请求时返回 index.html 。 /images/ 请求时返回 /var/www/html/images/ 下的文件。root示例:server { listen 80; server_name example.com; # 根路径 location / { root /var/www/html; # 将会找到 /var/www/html/index.html } # images 文件夹 location /images/ { root /var/www/html; # 请求 /images/pic.jpg 时,Nginx 将去查找 /var/www/html/images/pic.jpg } }alias示例:server { listen 80; server_name example.com; # 根路径 location / { root /var/www/html; } # images 文件夹 location /images/ { alias /var/www/html/images/; # 请求 /images/pic.jpg 时,Nginx 会直接查找 /var/www/html/images/pic.jpg } }2.流量镜像功能之前做过日志收集的系统 使用的方案是发送请求时同步调用日志服务器的数据数据收集接口 等于一次请求要发送两次的http请求 如果采用镜像可能会更优雅些示例:location / { mirror /mirror; proxy_pass http://backend; } location = /mirror { internal; # 路径只能被 Nginx 内部请求访问 proxy_pass http://test_backend$request_uri; }3. Nginx常用的内置变量4. Nginx location 匹配规则路径匹配,优先级:(跟 location 的书写顺序关系不大)精确匹配 : =前缀的指令严格匹配这个查询。 如果找到,停止搜索。普通字符匹配 : 所有剩下的常规字符串,最长的匹配。 如果这个匹配使用^〜前缀,搜索停止。正则匹配 : 正则表达式,在配置文件中定义的顺序,匹配到一个结果,搜索停止;默认匹配 : 如果第3条规则产生匹配的话,结果被使用。 否则,如同从第2条规则被使用。示例: location = /exact # 精准匹配 location ^~ /images/ # 通配前缀匹配 location /images/pictures/ # 普通前缀匹配 location / # 默认前缀匹配 location ~ \.jpg$ # 区分大小写的正则匹配 location ~* \.png$ # 不区分大小写的正则匹配请求 /exact:匹配 location = /exact,因为它是精准匹配。请求 /images/abc.jpg:匹配 location ^~ /images/,因为通配前缀匹配优先于正则。请求 /images/pictures/123.jpg:匹配 location /images/pictures/,因为它是最长的普通前缀匹配。请求 /test.jpg:匹配 location ~ .jpg$,因为它符合正则匹配。请求 /test.png:匹配 location ~* .png$,因为它符合不区分大小写的正则匹配。请求 /other:匹配 location /,因为它是最后的通用匹配。未完待续...参考:民工哥技术之路nginx在同一域名下部署多个vue项目
2024年11月08日
9
0
0
2024-11-06
window、mac下 nvmrc的使用
最近公司正在搞华为上云开发 给的开发机是window :@(内伤):@(内伤):@(内伤) 虽然平常也是工作娱乐 mac->window左右横跳 但是在window上开发还是少然后就是新机一顿装环境、装开发软件、拉项目、装包 然后切环境运行项目这个node-sass是真特娘的难装 yarn npm cnpm pnpm 轮着装愣是不好用 最后还是翻着墙把这个破玩意下下来的 :@(小怒) :@(小怒) :@(小怒)发现window上切node版本有点问题 我先装的vscode插件里的vsc-nvm 这个window-nvm有点兼容问题 即使你配置了.nvmrc他也读不到配置的版本信息 然后又尝试用vscode-nvm 插件市场里有俩 我都试了 蓝蓝的插件用是好用 但是就是这个定时弹窗弹得我脑袋瓜子嗡嗡的(ps:作者说是因为终端权限问题 换了种实现方式 说是解决了无限弹窗问题 也可能是我配置问题 我这一直在弹) 然后又尝试用Powerful NPM Run 这个功能挺多 但是他没有开终端直接执行版本切换 需要手动执行命令后才会执行切换动作 发现新大陆nvswindow原帖在这,博主写的很详细,一步步操作跟下来是没问题的简化: // 第一步 下载nvs // https://github.com/jasongin/nvs/releases/download/v1.7.1/nvs-1.7.1.msi // 第二步 添加环境变量 // $env:PATH += ";$HOME\.nvs" // 第三步 用管理员身份打开powershell // Test-Path $Profile // 如果返回true则跳过下一步,返回false执行以下命令: // New-Item –Path $Profile –Type File –Force // notepad $Profile // 添加代码 if (Test-Path -Path ".\.nvmrc") { nvs use $(Get-Content .nvmrc).replace( 'v', '' ) } // 第四步 如果powershell阻止配置的命令,则使用管理员身份运行以下命令: // Set-ExecutionPolicy RemoteSignedmacos intel 采用nvm就可以简化: # 第一步 下载nvm brew update brew install nvm # 第二步 添加环境变量 vim ~/.bash_profile # 第三步 添加环境变量 # ---------------------nvm------------------------- export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # ---------------------end------------------------ # ---------------------自动执行node版本切换------------------------ cd() { builtin cd "$@" if [ -f ".nvmrc" ]; then nvm use fi } autoload -U add-zsh-hook load-nvmrc() { local nvmrc_path="$(nvm_find_nvmrc)" if [ -n "$nvmrc_path" ]; then local nvmrc_node_version=$(nvm version "$(cat "$")") if [ "$nvmrc_node_version" = "N/A" ]; then nvm install elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then nvm use fi elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then echo "Reverting to nvm default version" nvm use default fi } add-zsh-hook chpwd load-nvmrc load-nvmrc # ---------------------end------------------------以上
2024年11月06日
16
0
0
2024-10-20
如何配置项目下都需要排除的文件呢?试试全局.gitignore
开发中常会遇到一堆项目下 总有几个相同的文件 代码提交时不想提到gitlab上 比如我vscode中 记录每次保存的文件插件 Local History(这软件可救过我好几次狗命 :@(害羞):@(害羞):@(害羞) ) 他会在本地产生.history文件 还有python生成的.venv 还有不同项目需要不同的node环境进行运行的.nvmrc 等等那么遇到这些个文件 你总不能一个一个项目进去配置吧 好多项目啊要改很多 那么怎么统一去配置这些排除项呢1. 创建或编辑全局 .gitignore 文件 :在你项目根目录创建一个global-gitignore文件 名称随意 然后创建.gitignore文件2. 配置 Git 使用全局 .gitignore 文件 : git config --global core.excludesfile ~/.gitignore_global验证配置 git check-ignore -v .nvmrc另附项目中不同node环境免切换配置方法1:在本机终端中配置# ---------------------自动执行node版本切换------------------------ autoload -U add-zsh-hook load-nvmrc() { local nvmrc_path="$(nvm_find_nvmrc)" if [ -n "$nvmrc_path" ]; then local nvmrc_node_version=$(nvm version "$(cat "$")") if [ "$nvmrc_node_version" = "N/A" ]; then nvm install elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then nvm use fi elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then echo "Reverting to nvm default version" nvm use default fi } add-zsh-hook chpwd load-nvmrc load-nvmrc # ---------------------end------------------------在项目中配置.nvmrc 文件 内容写入当前项目运行的node版本v18.0.0方法2:在vscode中配置进入设置(可以通过点击左下角的齿轮图标,然后选择“设置”)。在搜索框中输入 settings.json,然后点击“在 settings.json 中编辑”链接。在 settings.json 文件中添加以下配置:"terminal.integrated.shellArgs.osx": ["-l", "-c", "nvm use; exec zsh"]这里假设你使用的是 zsh 作为默认终端。如果你使用的是 bash,可以将 exec zsh 替换为 exec bashEnd
2024年10月20日
3
0
0
2024-09-19
js中sort方法chrome和safari的不同
写业务时遇到的兼容问题 主要是谁平常用safari调试啊 :@(狂汗) :@(狂汗) 顺手点开发现布局有问题 赶紧的实验了下 如图这个以后真要注意了 幸亏没上正式的时候发现的 :@(脸红) :@(脸红)
2024年09月19日
11
0
0
1
2
...
9