6.四月
1.select/poll/epollsocket定位为是linux上的一个api。当然其实各个操作系统上都有实现这样一个“socket”,但是我们一说到操作系统默认就是linux。理解这一点非常重要。
socket翻译过来叫插座,调用它可以创建一个网络连接。所以不如叫他《网络编程》。linux中一切皆文件,所以socket自然就是文件。linux有个概念叫fd(windows里叫句柄,是一个指针),也就是文件描述符,这就是文件的唯一id(直接叫他索引)。准确来说socket是通过linux内核暴露的api来操作linux内核。如果感到抽象,不妨想想前端调用后端的api接口,所谓“内核”有时候听起来很高级,其实只不过就是个相对于调用方的“后端”罢了,所以我归纳为内核就是一个提供了调用接口的功能实现者实体。
最常见来说,网络请求的协议是HTTP。那么HTTP只不过是对TCP的封装,本质上的特性都应该在传输层的TCP来看。为什么提到网络就这么喜欢说TCP?你就当他是个坤哥,后面可能有很多协议,但是本质上只是在模仿他,根本无法撼动“网络协议之父”这种经典的存在。所以在日常 ...
5.11月弃文集合
前言来自2024年11月一些文集弃文的集合。我改了一下发上来。
至于为什么变弃文了,是因为居然真的有人看,感觉表现的太中二会让人感觉当成异类。
uber阅读interface1.接口类型本身就是指针。如果需要修改其存储的值,需要用指针传递,这样就可以修改原值,否则只能修改拷贝值。进一步说,读可以不用指针,写的话要用指针。
2.防御性编程。由于go的规则是struct去实现interface的所有func才称作implement,因此存在可能我们漏实现了某个函数却没发现,那么原本构建的逻辑将会被打乱。而添加了一个
var 接口=空结构体
的判断,如果结构体未implement接口,则编译的时候会报错,因为他们是接不上的。这样就利用人工标注有效地弥补了机制上编译器无法弥补的东西。
type Handler struct { // ...}var _ http.Handler = (*Handler)(nil)func (h *Handler) ServeHTTP( w http.ResponseWriter, r *http.Request,) { ...
新建 Markdown file
title: 新建 Markdown filedate: 2025-03-18 15:33:47top:categories: a
title: 新建 Markdown filedate: 2025-03-18 15:32:23top:categories: a
title: 新建 Markdown filedate: 2025-03-18 15:32:11top:categories: a
title: 新建 Markdown filedate: 2025-03-18 15:13:43top:categories: test
title: 新建 Markdown filedate: 2025-03-18 15:10:08top:categories: test
title: 新建 Markdown filedate: 2025-03-18 15:07:12top:categories: testtest
踩坑记录Windows 删除文件/文件夹提示“找不到该项目
问题描述删除文件夹时,发现其中存在一个顽固文件,不管怎么删除都会提示”找不到该项目“,无法删除。
根据网络所见,貌似文件夹也存在这种情况。
问题猜想我这里存在的问题推测是因为文件名末尾多带了一个 .,即类似于 example.file.txt.,正常操作是无法创建这样的文件的,貌似我这里是由于旧版本 adb 的 bug 所产生。
该文件并非无拓展名,具体肯定是属于异常情况,但这里不深究。
据说文件夹也存在这样的异常。
解决方法方法一这里提供我试验过后的成功方法。
创建一个 del.bat:
del /f /a /q \\?\%1rd /s /q \\?\%1
然后将要删除的东西拖到这个批处理文件上即可。
我这里直接拖入顽固文件不起作用,但是将顽固文件所在的文件夹直接拖入就删除成功了。
如果连正常文件都无法起作用,重新创建批处理文件并将编码修改为 ANSI。
方法二右键,选择 Winrar 的添加到压缩文件,并勾选删除源文件(或者叫”压缩后删除原来的文件“)。
我这里直接对顽固文件进行操作未能成功,没有对所在文件夹尝试过,一些网友说有用,故也记录下来。
附录参考文献
Windows桌面 ...
爬虫笔记
昨日爬虫学习与改造记录在今天的学习与实践中,我对一个使用 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='//*[@ ...
黑神话悟空日与我无关但是我没睡着天就亮了
一有时候感觉时间就挺多的,如果不睡觉的话,还有心情写点儿日记。
白天就感觉时间挺少的,如果睡到十点左右,起来刷一会儿手机就中午了。中午边娱乐边吃饭,下午又睡满了。晚上在电脑前做些杂七杂八的动作,好像是在水群其实,断断续续看点教学视频,感觉生活好像要有点起色了,但一会儿就九点了,然后就醒悟过来,视频时长合起来可能就只有半个小时,倒是娱乐视频看了超过一个小时。
半夜玩起小游戏,前端又来和我对接口了,但是我啥都没动,准备装睡。
躺了好久,在幻想自己的一场华丽的演讲和讲得头头是道的无数的人生哲理,仿佛自己就是赢家。哎,都没做梦,只是夜晚做了个白日梦。哪怕是在完美的幻想里,满嘴说着“他妈的”也让自己的形象显得非常的帅。
二还有一副横幅,气势磅礴,and座无虚席——“千里逢迎,高朋满座”。
一种江湖的气派。我要告诉世人,从古至今,真正的技艺都是传承,拜师求学,用心传授,才是学习本来的样子。这种每个学生被迫分配一个老师,一个老师被迫分配一堆学生,没有产生吸引和匹配,就是一堆工具的相互利用,像是社会机器的运转。
人好为人师,可以美其名费曼学习法。说先天的,就是装逼。说没有的,就是吹逼。而说自己最近学到 ...
国内镜像
DockerHub国内镜像源列表此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。
2024年6月18日 亲测可用
DockerHub镜像仓库
镜像加速器地址
Docker镜像加速站 722
https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 316
https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 289
https://dockerhub.icu
Docker镜像加速站 108
https://docker.ckyl.me
镜像使用说明 114
https://docker.awsl9527.cn
镜像使用说明 90
https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 112(只包含基础镜像,共336个)
https://atomhub.op ...
24-7-6
1 引子今天开始写一点有质量的博客,比如攒几天发一篇。
最近最大的事迹就是期末考结束和推掉所有科研和竞赛。
抱着过了就好的心态,整个期末过程其实可以说是没什么压力的,虽然挂了一科。但是也导致一个经常恶意熬夜、爱打游戏、过度恶意水作业和过度恶意旷课的坏毛病。
不得不说,single的日子过的非常舒坦,得益于情绪起伏低,步步为营有更多的思考时间和空间,然后可以按照自己的节奏随意阅读、自研、娱乐、运动等。不过也有必要思考为什么处在人际关系情形下,人容易失去理智。
其他的事情,阅读毛选、我的奋斗等,上油管看看青年大学习,玩玩eu4、红警、pvz之类的;
今天一看炼丹云,欠费一百多,已经是崩了。不过没事后面不用了。然后感觉就是这个
2 规划总体要完成的几个项目:
1.zhipinkkclub
2.timerme
3.bbs
4.留下想像空间的项目,可以是自研轮子或者自研游戏。暂不安排
建议划分为四个阶段,
七月上旬:短学期+恢复日常学习状态((看课如b站、淘宝、抖音等平台的)、力扣(3/day)、八股)+看书)
七月中旬:
回到家里,整理一下书房,先开始学CN,然后着手做BBS和TIM ...
golang学习笔记
golang基础1.unsafe包解读绕过安全规则的方法,比如获取内存信息的sizeof方法。
unsafe包应当主要用于程序员调试,而不能出现在生产应用。
2.获得字符串的指针sh :=(*reflect.StringHeader)(unsafe.Pointer(&s))
s是字符串,由于字符串的runtime底层包是私有法方法,但是reflect里面有StringHeader方法作为public的映射,因此先强转成指针,然后再强转成StringHeader。注意,这个过程中地址不会发生改变。
其中,包含一个Data指针(原始的int)和一个Len(int)。
3.rune类型是什么?可以理解成utf8的类型。因为不管是一个汉字还是一个字母,都是一个单位的rune。因此它还和传统意义上的char有所区别。它是int32类型,也就是说是int(64)的一半。
4.切片个人感觉go的切片相当于java中的arraylist,进行一个主动开辟空间,然后动态扩容的自动化操作。
那么关于容量调整,其实arraylist和slice都是默认扩大,而不会缩小,除非把它释放。
还有一个点 ...
大注释实时模版
如图:
[]