Django RestFramework 自定义显示字段
有的时候序列化出来的字段并不是我们想要的, 比如说返回的用户 id,而我们想要返回的是用户名, 这个时候可以用到 django rest framework 的自定义字段功能。 先看一下原始数据1234567891011121314[ { "id": 1, "name": "1", "desc": "sdg", "user": 1 }, { "id": 5, "name": "1", "desc": "sdg", "user": 2 }] 这里 user 显示的是 id, 并不是我们想要的 username 增加一个字段, 显示...
curl常用操作记录
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。 参考文章: https://www.ruanyifeng.com/blog/2019/09/curl-reference.html 参数-A-A 参数指定客户端的用户代理标头,即 User-Agent。curl 的默认用户代理字符串是 curl/[version]。 12345# 将User-Agent改成 Chrome 浏览器curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com# 移除User-Agentcurl -A '' https://google.com 也可以通过...
检查域名支持的HTTPS协议版本
使用 NMAP(推荐)依赖于 nmap, nmap 需要安装 1nmap --script ssl-enum-ciphers -p 443 baidu.com 比如 GitHub 只支持 TLS1.2 和 TLS1.3: 在线验证SSL Server Test (Powered by Qualys SSL Labs) 这个域名还可以检测支持的设备情况。 https://myssl.com/ https://www.ssleye.com/ssltool/cipher_suites.html https://www.site24x7.com/zhcn/tools/tls-checker.html 使用 CURL 验证12curl --tlsv1 --tls-max 1.0 https://github.comcurl --tlsv1 --tls-max 1.0 https://www.baidu.com 报错说明不支持当前版本: 1curl: (35) LibreSSL/3.3.6: error:1404B42E:SSL routines:ST_CONNECT:tlsv1...
使用openssl对文件进行加密
使用密码加密12345678# 指定输入和输出文件操作openssl enc -e -aes256 -in test.sh -out enc.sh# 或者使用管道符cat test.sh | openssl enc -e -aes256 -out enc.sh# 压缩后加密tar zcvf - 1.sh | openssl enc -e -aes256 -out temp 使用密码解密12345678# 指定输入和输出文件操作openssl enc -d -aes256 -in enc.sh -out 1.sh# 或者使用管道符进行操作openssl enc -d -aes256 -in enc.sh | tee a.sh# 解密后进行解压openssl enc -d -aes256 -in temp | tar zxvf -
Django RESTframework 自定义Response
比如我想给返回的 json 加上 code/ msg 等信息,可以通过修改 drf 的 response 来实现。 全局生效参考:https://www.cnblogs.com/henryhong/p/djangodrf-zi-ding-yi-shu-ju-fan-hui-ge-shi.html 默认情况12345678910111213141516171819{ "count": 2, "next": null, "previous": null, "results": [ { "id": 2, "url": "http://localhost:8000/api/category/2/", "title": "AAA", ...
查看Navicat保存的密码
Navicat 密码一旦保存, 再次编辑就没法查看密码是什么了, 包括之前可以使用的星号密码查看器也看不到密码, 我们可以通过导出链接文件, 然后通过解密被加密的密码来获取密码原文. 导出加密密码打开 Navicat – 文件 – 导出连接 接下来的弹窗里, 勾选导出密码, 然后导出成 ncx 文件 用文本编辑器打开 connections.ncx 文件, 复制 password 的值, 这个就是加密后的密码. 使用 PHP 解密电脑没有 PHP 环境, 所以选择使用 Docker 来运行 PHP, 操作如下: 准备解密脚本vim...
Django RestFramework 使用router生成路由
django 使用的是模块化结构,每个 app 都可以独立拆分,那么注册路由的时候也可以灵活一点, 使用 drf 框架提供的 router 来自动生成路由 应用级 urls.py 12345678910111213from django.urls import path, includefrom rest_framework import routersfrom app01 import viewsrouter = routers.DefaultRouter()router.register(r'groups', views.GroupViewSet)router.register(r'students', views.StudentViewSet)urlpatterns = [ path('/', include(router.urls)),] 这里 path 路径是/, 引用了 router, router 注册了两个路由, 分别是 groups 和 students, 生成的 api 路径就是...
bat命令修改windows环境变量
在 bat 下修改环境变量有几种方式, 比如 set setx vmic ENVIRONMENT setwindows 的 set 和 bash 里面直接赋值类似, 只在当前脚本中生效, 比如 1234set a=becho %a%b setxsetx 和 set 类似, 不一样的是 setx 会把设置持久化保存起来 1setx a c 因为 setx 直接将环境变量保存在注册表中, 所以 cmd 终端需要关闭重新打开才能生效 12echo %a%c 后续就算重启电脑, 也会生效, 不过数据量比较大的时候会报错: WARNING: The data being saved is truncated to 1024 characters, 最终修改的内容也是不完整的。所以不建议使用 vmicwmic 常用命令1234567891011# 创建系统变量wmic ENVIRONMENT create...
使用kubectl进行多集群管理
平常使用跳板机来管理, 经常多个环境多套集群, 那么如何用一个 kubectl 如何管理这些集群. 推荐方式这种方式对系统的侵入性比较小,也不用修改 kubeconfig 文件,也不用在 linux 中增加用户等。。 准备不同的 kubeconfig 文件,比如 prod uat 脚本一12export KUBECONFIG=./prod bash 这里 export 是必须的,export 的作用是将环境变量传递到子进程中,而 bash 是这个脚本的子进程。 脚本二1KUBECONFIG=./prod 执行的时候通过 . a.sh 或 source a.sh 的时候,source 或 . 的作用是将环境变量传递到当前 shell 中。 使用不同的 kubeconfig 管理使用不同的 Linux 用户每个 Linux 用户的 ~/.kube/config 配置不同即可, 比如创建一个 uat 用户,一个 prod 用户, 分别配置不同的 config 文件 使用环境变量设置一个 KUBECONFIG 指定到 kubeconfig...
Kubernetes使用存储挂载单个文件
一般来说, 挂载存储都是把一个 PV 挂载到一个路径, 挂载后此路径下原来的文件就会不见, 只能看到挂载后的文件, 和在 Linux 下挂载磁盘是一样的. 那么现在有个需求: 需求此服务是 java 程序, 数据库使用的是内嵌的 h2 database, 下图中的两个文件就是数据库的文件. 这两个文件是存在于根目录下的, 假设此程序数据库文件是代码写死的 (真实情况是: 数据库路径是可以更改的), 现在要部署到 kubernetes 中, 并对数据库做持久化. 使用 subpath根据之前挂载 configmap 到单个文件的经验, 我们应该使用 subpath 来挂载, 先创建好 pvc, yml 如下 1234567891011apiVersion: v1kind: PersistentVolumeClaimmetadata: name: metabase-pvcspec: storageClassName: managed-nfs-storage accessModes: - ReadWriteOnce resources: requests: ...