展示常用信息
常用工具
bash
vscode
导航页面
Android程序服务端
文件上传
视频测试
会员视频
信息展示银行卡号6228480661366304813
6212264100005561885
6214832509532789
6666668249914314
信用卡号5329599178190488
美国银行
帐户1
20000043670051 028000024
帐户2
20000012485963 028000024
手机号14703386881
微信IDwxid_lfvumigsxwgz22
USDT(TRC20)TLRyqMj1Z5yrzY7SkXk3jbPLG3Lb5mdQK8
USDT(BEP20)0x7e6f4f0e7dd6fe4619e005ea5299652e3f72b892
openshift创建不过期的token
openshiftopenshift用了有一段时间了,但是token每次都是只有24小时有效时间,导致我每天都要重新生成token。
今天看到openshift service account的token有效期很长,就尝试创建。
主要是如何创建token,使用方法和项目的token是一致的
oc命令行
创建service account
1234# serviceaccount "robot" createdoc create sa robot# view details of the service account createdoc describe sa robot
授权service account
123# grant permissions to service accountoc policy add-role-to-user view system:serviceaccount:<project-name>:<service account name>oc policy add-role-to-user edit syst ...
云浏览器
Cloud Browser看到很多网站云浏览器,想思考一下该技术的实现方案。
云浏览器可以共享,多人使用同一个账号特别方便
https://hyperbeam.com
方案1直接使用原网站API,该方法属于逆向行为。在ChatGPT刚出来的时候,很多逆向了openai的前端,找到API和token,然后直接调用API,跳过cloudflare检测。
该方案简单,就是原网站可以随时变更API,逆向代价太大。
方案2远程屏幕共享
属于粗暴的解决方法了,导致带宽增大。服务器压力增大
方案3基于浏览器自动化测试开源项目,将headless chrome部署到服务器上
headless无界面和headful在运行上还是有一些差别的
方案4基于chrome devtools protocal,将chrome调试的API转为http服务
该方案我只是猜想,还没有完全理解,chrome调试也可以客户端和服务端同时查看和修改同一个网页。
具体chrome devtools protocal通信哪些内容还有待继续深入
方案5基于vscode server,在vscode server ...
C++语法糖
C++const
const变量123// expression must be a modifiable lvalueint const *p;//指针内容不可改int* const p;//指针不可改变指向
const修饰函数1234// 可以直接echo("hello world");调用// 如果没有const会报错// a reference of type string(not const-qualified) can not be initailized with a value of const char *void echo(const string& str);
const修饰this指针12345678910111213class Base{public: void setHeight() const { //expression must be a modifiable lvalue height = 3; }private: int height; int weight;};
stati ...
C++反汇编
C++学习C++就要了解编译器,就要学会反汇编,要知道编译器自动做了哪些工作。
g++
使用预处理:
包括 条件编译(#ifdef),行控制(#pragma),文件包含(#include),宏定义(#define)。不包括模版实例化,目前主流编译器也没有模版实例化中间代码,实例化是在预处理之后的
1gcc -E hello.c -o hello.i
使用汇编:
1gcc -S hello.c -o hello.s
使用调试:
1gcc -g hello.c -o hello
使用优化
1gcc -O2 hello.c -o hello
使用交叉编译
1gcc -m32 hello.c -o hello
assemblyg++
使用汇编:1gcc -S hello.c -o hello.s
生产hello.s文件,可以查看该文件的汇编代码
gdb也可以si单步进入到汇编
123(gdb) disassemble /m# or(gdb) si
1234567891011121314151617181920212223244 i=i+ ...
正则表达式
正则表达式(Regular Expression)特殊字符(Special Characters)正则表达式中一些字符具有特殊的含义,它们用于表示一类字符或者进行匹配操作。例如:
\d:匹配任意数字。
\w:匹配任意字母、数字、或下划线。
\s:匹配任意空白字符。
.:匹配除换行符外的任意单个字符。
字符类(Character Classes)使用方括号[]来定义一组可匹配的字符,例如[aeiou]表示匹配任意一个元音字母。
使用方括号()来定义一组可匹配的字符,例如(aeiou)表示匹配字符串"aeiou"。
重复次数(Repetitions)使用限定符来表示字符或者字符类的重复次数。例如:
*:匹配前面的字符零次或多次。
+:匹配前面的字符一次或多次。
?:匹配前面的字符零次或一次。
{n}:匹配前面的字符恰好 n 次。
{n,}:匹配前面的字符至少 n 次。
{n,m}:匹配前面的字符至少 n 次,但不超过 m 次。
边界匹配(Anchors)用于指定匹配的位置,例如:
^:匹配字符串的开头。
$:匹配字符串的结尾。
\b:匹配单词边界。
\ ...
数据库日志
日志1. mysql如何通过日记实现不同类型的锁
2. mysql如何通过日志实现主从复制
binlogBinlog 是 MySQL 中用于记录所有对数据的修改操作的一种二进制日志文件。用于数据的备份和恢复。
它记录了执行的所有数据修改语句,如 INSERT、UPDATE、DELETE 等,但不包括 SELECT 查询。
Binlog 是用于复制、恢复和灾难恢复的关键工具。通过在主服务器上创建 Binlog,可以将数据复制到从服务器上。
Binlog 可以启用主从复制(master-slave replication)和事务日志(transaction logging)等功能
redologRedo Log 是 InnoDB 存储引擎特有的日志文件,用于记录事务所做的修改操作。用于数据写入磁盘和持久化。
它在事务提交时记录数据页的物理变更,而不是逻辑变更。
Redo Log 的作用是在数据库崩溃时,通过重新执行重做日志中的操作,来恢复数据库到事务提交之后的状态,确保数据的 一致性和持久性。
Redo Log 是循环写的,所以相对于数据文件的大小,它比较小。
undologUndo ...
数据库事务的隔离级别
ACID原子性(atomicity)一致性(consistency)隔离性(isolation)持久性(durability)隔离级别(isolation)数据库事务的隔离级别和锁的实现密切相关,理解事务隔离级别,就明白为什么innodb要支持不同的锁,
以及不同隔离级别下,使用不同的锁。业务的设计往往为了并发又要控制锁的粒度
所以学习方向是,先看事务隔离级别,再看锁是满足哪种事务隔离级别,最后看binlog,redolog如何实现这些锁
读未提交(READ UNCOMMITTED)事务可以读取未提交的数据,可能会导致脏读、不可重复读和幻读问题
读已提交(READ COMMITTED)事务只能读取已经提交的数据,避免了脏读,但仍可能出现不可重复读和幻读问题
可重复读(REPEATABLE READ)保证了事务在执行过程中读取的数据是一致的,即使其他事务对数据进行了修改也不会影响当前事务的查询结果。但仍可能出现幻读问题
序列化(SERIALIZABLE)通过强制事务串行执行来避免脏读、不可重复读和幻读。但是这可能会降低并发性能
FAQ
脏读
指一个事务读取了另一个事务尚未提 ...
数据库事务的锁
锁
https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html
事务的执行是基于socket连接的,当连接连接中断或者超时,事务会回滚
多个事务执行时,可以开启两个终端测试不同的锁
锁的分类共享锁 (Shared Locks)共享锁允许多个事务同时读取一个资源,但是不允许写入操作,直到所有的共享锁被释放
12345678START TRANSACTION;-- 以共享模式锁定表中的行SELECT * FROM your_table WHERE some_column = 'value' LOCK IN SHARE MODE;-- 在事务中可以进行其他的并发读取操作COMMIT;
排他锁 (Exclusive Locks)排他锁限制对资源的访问,只允许一个事务独占资源。其他事务不能对同一资源进行读取或写入操作
12345678START TRANSACTION;-- 以排他模式锁定表中的行SELECT * FROM your_table WHERE some_column = 'valu ...
如何让网站使用https
Let’s encrypt获取ssl证书,让网站安全访问
验证方式
http验证
给你一个随机内容的文件,你把这个文件放在一个特定的位置,用待绑定的域名+特定path可以访问到这个文件,可以认为域名是你的
DNS验证
给你一个随机字符串,你把这个字符串添加为待绑定域名的txt值,只要能通过公网上的DNS服务器解析到这个字串,就认为域名是你的
安装1apt install certbot
http验证
验证
http验证比较简单,按照提示步骤即可
1sudo certbot --nginx
更新1sudo certbot renew
DNS验证
验证 DNS验证多了一步,要到DNS服务上添加一条text记录
1certbot --text --agree-tos --email <your@email.com> -d <your.domain.com> --manual --preferred-challenges dns --expand --renew-by-default --manual-public-ip-logging-ok ...