levels 发布的文章

以前一直听说过RSS,但是没有怎么去了解过。最近因为闲来无事,研究了一下,发现RSS确实好用,但是也是时代的眼泪,因为2022年的今天,我们其实不再需要RSS了。信息的爆炸式投喂,已经让我们没有想法和耐心去折腾RSS了,最终形成了信息孤岛。
RSS

RSS(简易信息聚合)是一种消息来源格式规范,用来聚合经常发布更新数据个网站,例如博客文章、新闻、音频或视频个网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录某段文字,再加上发布者所订阅的网站摘要数据授权的元数据。

说的如此复杂,实际上就是我们今天常常挂在嘴边的信息爬取整合,在信息整合这上面,python的数据爬取对于资讯而言,没有RSS这么便捷和清晰。

2022年了,我们还需要RSS吗

怎么说呢,正如前言中所讲,我们现在正处于一个个信息孤岛中,而RSS就相当于是孤岛和孤岛之间的桥梁。可以将许多你感兴趣的内容整合在一起让你浏览,而且RSS本身是不带广告,也没有信息封锁的,更没有恶心的算法优化推荐。做RSS的人也基本上是赚不到刀乐的,因为它本身就是反盈利的。

对于许多大厂而言,做网站要的是什么,要的是营收。而网站营收从哪里来,如果就博客这些内容为主导的网站而言,变现转化最快的途径就是接广告。大厂可以通过广告,在前端实现埋点+收集用户的浏览喜好,生成用户的用户画像。这本来是没有问题的,适当这么做,能提升用户的粘性。但是现状却是—-过度的收集,引起反感。可能上一秒你只是不小心误触了某个内容,激活了埋点,而下一秒就开始疯狂推荐你误触的这个东西。这才是现在我们讨厌推荐算法的根本原因之一。我们不需要,但是数据觉得我们需要。

大数据时代,大数据+用户画像确实好用,但是那是短期的。人是多变的,而程序是死的。而它们本该成为对于人类的心理和行为等方面的研究,现在却成为了资本变现的手段,让人觉得可笑的同时也觉得可悲。因为人们不再是自己做选择,而是听由算法给你推荐的选项中做选择。最直观的例子就是抖音这些短视频。

许多平台或者网站一直喊口号说–维护互联网最后的一片净土,最后终究逃不过资本变现的怪圈,这些平台网站不在少数。在我看来,真正的维护净土的方式是—-将选择权重新交给用户,不积极只是网站选择上的,还有减少算法推荐机制的优先级,我认为这才是互联网的初衷。

而现在的互联网在逐渐畸形化,泛娱乐化无处不在,许多人不再愿意思考,任由平台投喂。而这正是资本所需要的。这也正是我们需要RSS的原因,只做整合,没有算法分析喜好的强制推荐,选择权力全在用户手上。

如何使用RSS

上面长篇大论这么多,无非就是说说自己对于RSS的想法以及推荐RSS,那么要如何使用RSS。

RSS使用起来非常简单,不需要什么tracker,服务器等配置,复制对应RSS链接到你喜欢的RSS阅读软件中即可。

RSS订阅分享

以下分享的RSS均经过测试是可以用的

少数派
少数派致力于更好地运用数字产品或科学方法,帮助用户提升工作效率和生活品质 https://sspai.com/feed

36kr
36氪 https://www.36kr.com/feed

小众软件
小众软件RSS https://www.appinn.com/feed/

199IT
互联网数据资讯网 https://www.199it.com/feed

IT之家
IT之家 – 软媒旗下网站 https://www.ithome.com/rss

豆瓣
豆瓣最受欢迎的影评 https://www.douban.com/feed/review/movie

豆瓣
豆瓣最受欢迎的书评 https://www.douban.com/feed/review/book

豆瓣
豆瓣最受欢迎的乐评 https://www.douban.com/feed/review/music

比特客栈的文艺复兴
We do not choose who we are, but we do choose who we become. https://bitinn.net/feed/

就推荐这么多吧,网上其实有很多的,我的这些推荐不一定所有人都喜欢,就不做过多推荐

尾声

2022年还在谈RSS,有种互联网文艺复兴的感觉,因为RSS这项技术是诞生于Web1.0时代的产物,限于信息不发达,而现在信息如此发达却还在谈论RSS,这是值得我们反思的。

一个有些久远技术到现在还在起作用,这说明一个技术不是有没有学的必要,你得看其发展前景,而不仅仅只是哪个来到了我要学哪个。学技术的前期确实是这样,但是越到后面,就要进行反思自己所学的能带来什么,这才是真正把这个技术学到手里了。

dli 线段标注

d 设置线段标注的样式,文字的大小等

l 绘制直线

esc 取消动作

space/enter 确认动作/继续执行上一步操作

鼠标中键 移动图纸

鼠标左键 绘制/选择(从左往右完全选择才能选中,从右往左选择部分即可选中)

e 擦除图形

op 设置操作

os 草图设置

F3 对象捕捉

F8 正交

F7 显示网格线

CO 复制 ( a 绘制阵列 )

c 绘制圆形

RO 图形旋转

PO 绘制点

pl 绘制多段线

ml 绘制多线( j 对正,s 比例 )

rec 绘制矩形

x 线条分解

O 对象偏移

TR 修剪(要多按一次空格才能实现图形的修剪)

ma 类似于办公三件套中的格式刷(颜色填充用)

m 图形的移动

z 窗口(z + a )缩放

mi 绘制镜像图形( n 保存原对象, y 不保存原对象)

sc 图形的缩放

ex 延长线段(选择的对象必须相交才生效)

br 打断线条 ( f 参数可以实现精准打断 )

mo 设置属性参数 ( ctrl + 1 也能实现属性的查看 )

正如标题所说,以下的建议部分来自自己的总结,部分来自一些老师的总结,仅仅作为参考,希望能对你的面试有帮助。
我们为啥要写简历?

先搞清楚这个问题才能知道如何动笔写。

简历,顾名思义简单的陈述你的个人信息,经历(学历,做过的项目,在哪实习过等)和你能创造的价值。

你要做的就是如何将这些内容塞在一张 A4 大小的白纸上去,能让HR快速找到理由选择你,因此书写就要注意侧重点,不是什么都要事无巨细的写上去的,你是面试写简历,不是人物传记书写。

书写时要注意什么?
1.不要骗人

你不能保证有的公司不会审计你,现在不会,以后呢?万一东窗事发,你该怎么办?所以简历上,不论是项目经历,学历还是实习经历等要如实填写,不要去骗人。

你想想,你要是真糊弄到 HR 还进去了,你真的去上班的时候能心安理得?(排除特例) 你简历就造假了,那你还有什么是不造假的?但是要是遇到有经验的或者就是干这一行的 HR ,你是糊弄不到的。不论你是校招还是社招,都不要造假。

还有对于技术方面,也是一样的–不要造假。你会就是会,不会就是不会,人家一面试你知道你是几斤几两的。

比如,你本来就不会前端框架啥的,你非得撑死胆大的说你会,因为你不会,但你非要往简历上写,美其名曰适当夸张。结果人家一问:那你能说说常用的框架有哪些?如果是你你会选择哪个?为什么?你就只能在那里阿巴阿巴了。

而书写自己会的技术栈也是有技巧的,写的适当,你还可以反客为主,引导面试官往你会的方面问。
2.排版问题

排版也很重要,值得注意。以下是我对于排版的一些个人总结,如有不足或者遗漏,欢迎补充。

半角符和全角符

英文单词不跨行

单字不成行

能分点的多用分点,不要把文字塞一起

英语单词最好和中文隔一个空格

总述起来就这些,下面我来详细说明一下为什么。

1.半角符和全角符

中文是全角字符,而英文是半角字符,因此许多时候因为全角字符太多容易导致英文字母跨行,不利于阅读,详情可以看下面的视频里的具体介绍,这里就不过多赘述。

资料来源:B站【 调整标点,快速拯救你的排版。- oooooohmygosh 】
2.英(中)文单词不跨行

为什么要不跨行,其实跨不跨行问题不大,阅读起来也可以,但是对于 30s 不到浏览一份简历的HR来说,不跨行更有利于他对于信息的快速检索。不然他光看你跨行的单词可能都要一秒,而实际上他是不会这么仔细看的,除非是你的简历他比较感兴趣。

资料来源:B站【几件小事,快速拯救你的排版。- oooooohmygosh 】

3.能分点的多用分点,不要把文字塞一起

跟高中时期,你写文字类考试答案的时候一样。多分点,一是会显得你条理清晰,逻辑严谨。二是方面老师找关键词,快速定位给分。写简历也是一样的,无需多言。

4.英语单词最好和中文隔一个空格

和的半角符和全角符有关,视觉上是比较舒服的,不会显得英文单词在一行中文中被挤压的感觉。如下

你好Hello你好

你好 Hello 你好

一比对,高下立判。肯定是后者看起来要比前者舒服的。

5.补充

适当给你简历比较优秀或者想要突出的地方加粗,也有利于信息检索

3.技术栈的掌握程度用词

我先用几个词描述同一个技术感受一下

知晓 VUE
了解过 VUE
熟悉 VUE
精通 VUE

技术为 VUE ,但是上面四句话四个语气,四种掌握程度。试想你如果是 HR 你会针对这个技术栈如何去问?

对于知晓你肯定问的会比较浅,因为他可能在其他方面更了解或者擅长。随着用词不同,问题的难度会依次升高。写精通的你肯定就会问的比较深入。如:你对于 VUE 的看法是什么?你读过VUE源码吗?从源码中你觉得哪里可以再优化或者说加强的?诸如此类等等,因此前面程度修饰词的撰写要注意。

4.项目经历描述

要简明扼要,不要啰啰嗦嗦一大堆不知所云。突出核心所在:你负责哪里? 如何实施? 成效如何? 从中学到了什么?实习经历也差不多是这样的。

5.书写侧重点

基本信息
经历(学历,实习)
项目
技术栈
获奖
自我评价

优先级:经历》项目》技术栈》获奖

剩下两个是必填项

为什么要学习使用curl,curl实是许多系统本来就内置的一个指令,但是对于一般的用户而言curl没有学习的必要。而对于网页的前端或者后台的调试,curl就非常的重要了,你可以仅仅只是通过一行curl就实现网页的简易测试,获取网页的http头部数据,对于linux远程web服务的测试非常的方便。下面详解curl的用法。
简介

cURL(客户端 URL )是一个开放源代码的命令行工具,也是一个跨平台的库( libcurl ),用于在服务器之间传输数据,并分发给几乎所有新的操作系统。cURL 编程用于需要通过 Internet 协议发送或接收数据的几乎任何地方。

cURL 支持几乎所有的互联网协议( DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,MQTT,POP3,POP3S,RTMP,RTMPS,RTSP,SCP,SFTP,SMB,SMBS,SMTP ,SMTPS,TELNET 和 TFTP )。
历史

回到90年代的黑暗时代,那时每个人仍然使用命令行工具, Daniel Sterberg 希望开发一个简单的IRC脚本,该脚本可以为聊天室成员转换货币。在 1997 年,建立互联网协议数据传递基础的方法不多,因此Httpget(基于HTTP的传输的几百行代码)成为 cURL 的起源。

为了纪念其基础,它率先被称为 HTTPGET 1.0 。

几个月后,开发出了 FTP 的支持,就不得不删除该名称了。现在,它被称为 urlget 2.0 。经过几次更新后,在1998年3月30日,名称再次更改为现在众所周知的 cURL 3.0 。

cURL 之前其实还有相似的 wget。我们不会过多介绍细节,但是 wget 和 cURL 之间的主要区别在于它们各自的下载功能。

来源:知乎 什么是curl?
curl的使用
-A

-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]。

$ 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-Agent改成 Chrome 浏览器。

$ curl -A '' https://google.com

上面命令会移除User-Agent标头。

也可以通过-H参数直接指定标头,更改User-Agent。

$ curl -H 'User-Agent: php/1.0' https://google.com

-b

-b参数用来向服务器发送 Cookie。

$ curl -b 'foo=bar' https://google.com

上面命令会生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie。

$ curl -b 'foo1=bar;foo2=bar2' https://google.com

上面命令发送两个 Cookie。

$ curl -b cookies.txt https://www.google.com

上面命令读取本地文件cookies.txt,里面是服务器设置的 Cookie(参见-c参数),将其发送到服务器。
-c

-c参数将服务器设置的 Cookie 写入一个文件。

$ curl -c cookies.txt https://www.google.com

上面命令将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt。
-d

-d参数用于发送 POST 请求的数据体。

$ curl -d'login=emma&password=123'-X POST https://google.com/login

或者

$ curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login

使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST。

-d参数可以读取本地文本文件的数据,向服务器发送。

$ curl -d '@data.txt' https://google.com/login

上面命令读取data.txt文件的内容,作为数据体向服务器发送。
–data-urlencode

--data-urlencode参数等同于-d,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。

$ curl --data-urlencode 'comment=hello world' https://google.com/login

上面代码中,发送的数据hello world之间有一个空格,需要进行 URL 编码。
-e

-e参数用来设置 HTTP 的标头Referer,表示请求的来源。

curl -e 'https://google.com?q=example' https://www.example.com

上面命令将Referer标头设为https://google.com?q=example

-H参数可以通过直接添加标头Referer,达到同样效果。

curl -H 'Referer: https://google.com?q=example' https://www.example.com

-F

-F参数用来向服务器上传二进制文件。

$ curl -F 'file=@photo.png' https://google.com/profile

上面命令会给 HTTP 请求加上标头Content-Type: multipart/form-data,然后将文件photo.png作为file字段上传。

-F参数可以指定 MIME 类型。

$ curl -F 'file=@photo.png;type=image/png' https://google.com/profile

上面命令指定 MIME 类型为image/png,否则 curl 会把 MIME 类型设为application/octet-stream。

-F参数也可以指定文件名。

$ curl -F 'file=@photo.png;filename=me.png' https://google.com/profile

上面命令中,原始文件名为photo.png,但是服务器接收到的文件名为me.png。
-G

-G参数用来构造 URL 的查询字符串。

$ curl -G -d 'q=kitties' -d 'count=20' https://google.com/search

上面命令会发出一个 GET 请求,实际请求的 URL 为https://google.com/search?q=kitties&count=20。如果省略--G,会发出一个 POST 请求。

如果数据需要 URL 编码,可以结合--data--urlencode参数。

$ curl -G --data-urlencode 'comment=hello world' https://www.example.com

-H

-H参数添加 HTTP 请求的标头。

$ curl -H 'Accept-Language: en-US' https://google.com

上面命令添加 HTTP 标头Accept-Language: en-US。

$ curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com

上面命令添加两个 HTTP 标头。

$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login

上面命令添加 HTTP 请求的标头是Content-Type: application/json,然后用-d参数发送 JSON 数据。
-i

-i参数打印出服务器回应的 HTTP 标头。

$ curl -i https://www.example.com

上面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码。
-I

-I参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。

$ curl -I https://www.example.com

上面命令输出服务器对 HEAD 请求的回应。

--head参数等同于-I。

$ curl --head https://www.example.com

-k

-k参数指定跳过 SSL 检测。

$ curl -k https://www.example.com

上面命令不会检查服务器的 SSL 证书是否正确。
-L

-L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。

$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet

–limit-rate

--limit-rate用来限制 HTTP 请求和回应的带宽,模拟慢网速的环境。

$ curl --limit-rate 200k https://google.com

上面命令将带宽限制在每秒 200K 字节。
-o

-o参数将服务器的回应保存成文件,等同于wget命令。

$ curl -o example.html https://www.example.com

上面命令将www.example.com保存成example.html。
-O

-O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。

$ curl -O https://www.example.com/foo/bar.html

上面命令将服务器回应保存成文件,文件名为bar.html。
-s

-s参数将不输出错误和进度信息。

$ curl -s https://www.example.com

上面命令一旦发生错误,不会显示错误信息。不发生错误的话,会正常显示运行结果。

如果想让 curl 不产生任何输出,可以使用下面的命令。

$ curl -s -o /dev/null https://google.com

-S

-S参数指定只输出错误信息,通常与-s一起使用。

$ curl -s -o /dev/null https://google.com

上面命令没有任何输出,除非发生错误。
-u

-u参数用来设置服务器认证的用户名和密码。

$ curl -u 'bob:12345' https://google.com/login

上面命令设置用户名为bob,密码为12345,然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1。

curl 能够识别 URL 里面的用户名和密码。

$ curl https://bob:12345@google.com/login

上面命令能够识别 URL 里面的用户名和密码,将其转为上个例子里面的 HTTP 标头。

$ curl -u 'bob' https://google.com/login

上面命令只设置了用户名,执行后,curl 会提示用户输入密码。
-v

-v参数输出通信的整个过程,用于调试。

$ curl -v https://www.example.com

--trace参数也可以用于调试,还会输出原始的二进制数据。

$ curl --trace - https://www.example.com

-x

-x参数指定 HTTP 请求的代理。

$ curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com

上面命令指定 HTTP 请求通过myproxy.com:8080的 socks5 代理发出。

如果没有指定代理协议,默认为 HTTP。

$ curl -x james:cats@myproxy.com:8080 https://www.example.com

上面命令中,请求的代理使用 HTTP 协议。
-X

-X参数指定 HTTP 请求的方法。

$ curl -X POST https://www.example.com

上面命令对https://www.example.com发出 POST 请求。GET则去掉POST
curl作用

cURL旨在通过互联网协议传输数据。其他所有内容均不在其范围内。它甚至不处理传输的数据,仅执行传输流程。
后续

有余力的可以参考下面的网页

curl下饭手册

支持的 HTML 元素

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:
等 ,如:

使用 Ctrl+Alt+Del 重启电脑

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

文本加粗
** 正常显示星号 **

文本加粗

正常显示星号

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\ 反斜线
` 反引号

  • 星号
    _ 下划线
    {} 花括号
    [] 方括号
    () 小括号

    井字号

  • 加号
  • 减号
    . 英文句点
    ! 感叹号

公式

Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。

KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。你可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。

默认下的分隔符:

$...$ 或者 \(...\) 中的数学表达式将会在行内显示。
$$...$$ 或者 \[...\] 或者 “`math 中的数学表达式将会在块内显示。

$$ \begin{Bmatrix} a & b \\ c & d \end{Bmatrix} $$

$$ \begin{CD} A @>a>> B \\ @VbVV @AAcA \\ C @= D \end{CD} $$

typora 画流程图、时序图(顺序图)、甘特图

复制以下代码使用 typora 的源码模式粘贴到编辑器中查看效果:

以下几个实例效果图如下:

1.横向流程图源码格式:

graph LR
A[方形] -->B(圆角)
    B --> C{条件a}
    C -->|a=1| D[结果1]
    C -->|a=2| E[结果2]
    F[横向流程图]

2.竖向流程图源码格式:

graph TD
A[方形] --> B(圆角)
    B --> C{条件a}
    C --> |a=1| D[结果1]
    C --> |a=2| E[结果2]
    F[竖向流程图]

3.标准流程图源码格式:

st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op

4.标准流程图源码格式(横向):

st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op

5.UML时序图源码样例:

对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象A->对象B: 你真的好吗?

6.UML时序图源码复杂样例:

Title: 标题:复杂使用
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象B->小三: 你好吗
小三-->>对象A: 对象B找我了
对象A->对象B: 你真的好吗?
Note over 小三,对象B: 我们是朋友
participant C
Note right of C: 没人陪我玩

7.UML标准时序图样例:

%% 时序图例子,-> 直线,-->虚线,->>实线箭头
  sequenceDiagram
    participant 张三
    participant 李四
    张三->王五: 王五你好吗?
    loop 健康检查
        王五->王五: 与疾病战斗
    end
    Note right of 王五: 合理 食物 <br/>看医生...
    李四-->>张三: 很好!
    王五->李四: 你怎么样?
    李四-->王五: 很好!

8.甘特图样例:

%% 语法示例
        gantt
        dateFormat  YYYY-MM-DD
        title 软件开发甘特图
        section 设计
        需求                      :done,    des1, 2014-01-06,2014-01-08
        原型                      :active,  des2, 2014-01-09, 3d
        UI设计                     :         des3, after des2, 5d
    未来任务                     :         des4, after des3, 5d
        section 开发
        学习准备理解需求                      :crit, done, 2014-01-06,24h
        设计框架                             :crit, done, after des2, 2d
        开发                                 :crit, active, 3d
        未来任务                              :crit, 5d
        耍                                   :2d
        section 测试
        功能测试                              :active, a1, after des3, 3d
        压力测试                               :after a1  , 20h
        测试报告                               : 48h