Logo

site iconWuKaiPeng | 吴楷鹏

关注程序员生活、健康和成长;热衷探索各种工具,提高效能;兴趣是英语、篮球和读书。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

WuKaiPeng | 吴楷鹏 RSS 预览

都快 2025 年了,我不允许你不知道这款 AI 阅读神器

2024-10-23 08:00:00

最近有朋友问我,有什么软件工具可以把 PDF 文档翻译成中文? 一下子把我问住了,平时只会用 ChatGPT、Kimi、豆包这些简单的问答 AI,要实打实的翻译 PDF 文档场景,还没遇到过

最后,朋友只好去小某书上花钱搞定,花了 50 大洋 💰

因为不会用 AI,我居然错过了一次赚钱的机会!

好在,最近发现了一款叫做「包阅 AI」 的智能 AI 阅读助手

用一份 PDF 文档小试,这翻译结果有点哇塞:

不仅如此,点击生成思维导图,一份层次分明的思维导图就水灵灵地出现了

并且,包阅 AI 还自动生成了摘要

除了 PDF 文档,还支持 word、ppt、epub、mobi、txt、markdown、jpg/png、webp、wps、caj,甚至还有视频、音频。

为了让我轻松阅读文档,包阅 AI 还真是用心良苦

包阅对目前的 AI 大语言模型能力是有着有深刻的认知

现在的大模型其实不擅长生成信息,让它写文章无非是车轱辘话来回

但是在解构、理解信息这方面,却是独树一帜的

包阅利用好 AI 的长板优势,将解构、理解信息优势发挥到极致

在具体的产品表现层面,包阅做了这几件事情

首先是通过简单易懂的「阅读场景」划分,让用户快速匹配到自己的需求场景

目前场景有论文/学术、合同、办公、自媒体、教学助手、图书、公文、技术研发等,满足绝大部分要求

比如最近在学习 Coco 的《CSS 技术解密与实战通关》我会用到「技术研发 > 代码逐行解读」

逐行解读所有 CSS 代码属性,学习效率 Max 💪

二是丰富的信息处理手段,不仅仅是一个聊天机器人

比如用「自媒体 > 科技新闻精读」场景中,让包阅解读这篇 《Zed,有望打败 VS Code 吗?》

它不仅有刚才提到的思维导图,还有导读,让用户快速了解文章核心要点,以及改写功能,可以对文章进行二次创作等等

三是增加「AI 搜索」,让用户去链接到更多相关的信息,也就是外部性增强

四是拥有「笔记能力」,允许用户记录自己的发散的想法,即内部性增强

通过四位一体的打法,把用户从需求定位、信息处理、信息扩展、信息消化整条链路闭环,完美解决阅读场景

真心希望国内正在做 AI 应用的企业们,也能像包阅 AI 一样,把一个垂直场景认认真真做精做透,为用户提高效率、节省时间,产生有用的价值

👉 包阅 AI 官方地址:baoyueai.com

One More Thing

Mac 备忘录妙用

2024-10-13 08:00:00

之前使用 Windows 的过程中,最痛苦的事是没有一款可以满足我快速进行记录的应用

基本都得先打开该笔记软件,然后创建新笔记,最后才能输入,这么多步骤太麻烦了

在切换到 MacOS 之后,让我惊喜的就是自带的备忘录,只需要简单地把鼠标移动到屏幕右下角,就可以创建一篇快速备忘录

Amazing!

这种方式叫做触发角,触发角可以在「系统设置 » 桌面与程序坞 » 触发角」设置: 四个触发角分别可以自由设置:

除了触发角,快捷键【 fn(🌐) + Q】同样能创建一篇快速备忘录

还有一个问题是,触发角 or 快捷键默认会打开上一次编辑的备忘录,如果想要每次都创建一篇新的快速备忘录的话,可以在设置这里:

把「始终回到上个快速备忘录」取消勾选

备忘录支持大部分高频的文本样式,选取文本后,在头部导航栏 Aa 这里做修改样式:

也能支持 check 清单:

表格功能比较弱鸡,就一个简单的表格,什么合并、冻结等高级功能都没有

另外还有图片、链接,这里就不再赘述。

备忘录默认支持文件夹分类,另外还支持标签分类,只需要在备忘录中使用井号(#)加上对应文字,Mac 即会生成对应的标签清单:

之前在浏览网页的时候,特别想高亮某些内容,同时做一些拓展记录,安装过插件 Weava Highlighter,但是不好用,每次只要选中文字就 Weava 就会弹出,特别烦人。

没想到 Mac 备忘录居然原生支持这个功能

在 Safari 中,可以选择想要收藏的内容,右键「添加到快速备忘录」

创建快速备忘录之后,选中的这句话在 Safari 中会被高亮:

在最新的 MacOS 15 中更新中,备忘录新支持了录音功能

并且还支持实时的语言转文本,但目前又又又又仅支持英语

库克的母语是英语,我的母语是无语 😅

另外,还新增了高亮颜色,分别有紫色、粉色、橙色、薄荷色和蓝色,不得不说,这几种颜色确实还挺好看的

最有用的功能当属于这个数学功能

直接输入像是 (27/3)^2= 或者 47*96= 算式,备忘录会自动计算结果:

还支持自定义变量:

总体来说,Mac 的备忘录还算是一个不错的笔记软件,虽然缺乏像 Notion 的文档目录结构和块编辑的一些先进笔记能力,但它有着原生的支持,能够满足快速记录和基础编辑的需求

One more thing 👇

摆脱焦虑 💚 前端开发超实用的面试备考分享

2024-09-21 08:00:00

你好 👋 我是楷鹏

最近一句话很火「好的工作就像 HIV,只通过母婴,血液和性传播

排除 HIV 患者,对于普通家庭的程序员朋友来说,面试是必经之路

一般来说,面试会有这么四个困难:

  1. 技术太菜:基础不牢固?算法不熟练?
  2. 项目不足:没有亮眼的项目?都是失败项目?
  3. 话少嘴笨:不会表达?说话没有逻辑?
  4. 心态问题:简历石投大海着急?一面挂了自闭?裸辞焦虑?

这些其实都是表症,真正的病根是:

对面试没有系统性的认知和准备

接下来我将从几方面给大家分享一下个人的面试备考思路

一、对自己要有清晰的认知

很多人心比天高,但往往命比纸薄

对自己没有清晰的认知和规划,进入就业市场一开始野心勃勃,但很快就被现实来几个大逼兜

面试一开始,要厘清自己的现有资源,比如对于我:

  • 学历方面,双非二本
  • 技术方面,基础一般,算法不会
  • 工作方面,没有入职过大厂
  • 项目方面,没有中大型的项目经验

这些都是我在面试中的劣势,那我的优势是什么:

  • 年轻便宜,三年工作经验,有一定的项目经验,对企业来说性价比高 🥬
  • 有些许写作成就,同时维护一个个人的技术博客网站
  • 心态 open,愿意学习,愿意尝试

综合分析自己的现有资源,我得出的结论:

  • 有一定市场竞争力,但还达不到大厂的门槛,可以冲一冲中厂
  • 次一点的结果是小厂或者创业公司
  • 最差的就是大厂的子公司、外包公司或者华为 OD

二、做好准备,打一个持久战

面试就是打仗,而且是一个持久战

钱 💰

首先就是「钱」这方面,尤其裸辞,是否有足够的储蓄支撑自己的生活

不要想着一两个月就能找到满意的工作,这是不现实的

尤其是现有大环境的情况下,至少要规划半年以上的时间的储蓄

该消费降级的还是要降级,该省的还是要省

心态

其次是「心态」,大部分人刚开始找工作自信满满

但随着时间推移,投简历没有回复,面试没有通过,家人朋友的关心和询问也会让你感到压力

这时候很容易产生焦虑,甚至自闭,我也有过这样的经历

我的做法是「记录」下来,接纳自己的情绪,给自己积极的心理暗示

罗翔老师曾经说过:对于不可控的事情,我们要保持乐观;对于可控的事情,我们要保持谨慎

体力

最后是「体力」,既然找工作是一个持久战,那就需要有足够的体力支撑

一直待在家里刷着求职网站,海投无果、不断被拒,在这种精神和体力的双重内耗之下,人很容易崩溃

不如出去走走,呼吸新鲜空气,做一些运动

保持一个健康的身心,反而能保持自己的自信心和提升求职效率

三、工具提效

这一次备考,主要使用了这么一些工具

Flomo

Flomo 是一个「简单、高效」的碎片笔记工具,可以帮助你记录、整理、回顾自己的备考过程

我在 Flomo 中主要记录了自己的面试经历、面试题目、面试感受、面试反思等等

飞书

飞书支持飞书个人版,这次备考主要是使用了「飞书文档」 和「飞书妙记」

首先是飞书文档,真的很香,文档类型丰富,有像 Notion 一样的块文档,还有思维导图、Base 二维表格、画板等等

我用飞书文档做一个 ✨ 前端求职大攻略 ,下一节会提到

飞书妙记的话,可以上传语音 MP3,然后转成文字,这个功能主要用于面试后的自我复盘

你可以点击点击文字,直接跳转到对应的音频位置,非常方便,还有倍速播放、跳过空白等功能

如果你还没用过飞书 👉 邀请使用飞书

滴答清单

滴答清单是一个「任务管理工具」,主要用来做备考计划

另外滴答清单有一个不错的番茄钟专注功能,用来跟进每天的任务开销和状态

如果你还没用过滴答清单 👉 邀请使用滴答清单

AI 类工具

不得不承认,现在 AI 工具的效果真的不错

我本来想要付费找一些前辈做一些备考指导,但是使用 AI 工具也能达到不错的效果,而且免费

  • ChatGPT、Claude:回答质量不错,麻烦的是需要梯子 🪜

  • 豆包:字节跳动家的 AI 问答产品,对于非技术类的问题,回答质量赶得上 ChatGPT,并且支持 PC 客户端,我非常喜欢的一个功能是像 Spotlight 一样,快捷键唤起就可以向直接 AI 提问

  • 腾讯元宝:回答效果一般,但胜在可以搜索相关微信公众号文章再做回答,毕竟现在中文高质量回答都被圈在微信封闭的平台上

四、做一个个人的求职攻略

我认为,每个求职的程序员都应该做一个个人的求职攻略

为什么做一个求职攻略

其实原因很简单,就是把备考的过程系统化,将备考的攻略、求职记录、面试题目、面试过程等都汇总在一个知识库

抛开这一次面试,你的求职攻略可以用到下一次面试,现在的付出也是在增援未来的自己

个人选用飞书文档也是刚好它比较强大,思维导图也能免费使用

当然,用自己熟练的笔记应用也可以,比如语雀、Notion、Obsidian,甚至 Word、Excel 也可以

软件工具只是手段,重要的是你的思考和记录

求职攻略参考内容

目前个人的飞书文档 ✨ 前端求职大攻略 已经公开,欢迎大家参考

首先是《大攻略》部分,按照求职时间线排列,涵盖求职的各种事项

如果觉得烦,可以只看《Lite 极简说明书》

接下来就是《作业 1:PDCJ》这次面试对于阶段性复盘我使用了 PDCJ ,它是一种思维模型:

  • P 是 Plan 计划
  • D 是 Do 做事
  • C 是 Check 检查
  • J 是 Just 调整。

通过阶段性地计划、施行,再不断地检查、调整,确保自己的面试正确又高效地前进,不会出轨。

《作业 2:面试题》这个比较重要,除了技术八股文之外,还要深入挖掘自己的项目

不仅仅是成功的项目,失败的项目也要挖掘,让面试官看到到你对项目的深层次、多角度的思考

然后就是《作业3:个性化自我介绍》,这个就是 show 自己

在面试中,自我介绍是最重要的环节之一,它可以让面试官对你有一个初步的印象

不过也看面试官,有的面试官可能不太喜欢开头的「自我介绍」,他们更喜欢直接问问题,比如我遇到上来就直接问“介绍一下你做过的最有成就感的项目”

对于《作业 4:公司跟进表》,维护自己所有的投递状态,包括公司名称、岗位、投递时间、面试状态等等

目前程序员求职渠道还是挺多的,用这个表可以维护自己的求职状态,能够一个统筹和及时跟进

当这个数据量持续增长之后,你也可以分析出自己的投递效率,比如你会发现内推的简历通过率会比 Boss 直聘投递高很多,这样你就可以调整自己的求职策略

五、最后一些小建议

1. 不要否定自己

考试会考砸,谈恋爱会分手,面试会挂,这些都是正常的

人生失败才是常态,成功是少数

不要因为面试失败就着急否定自己

如果失败了,就去复盘,去反思,去总结,再去尝试(PDCJ)

分享一句很喜欢的话:

2. 谦虚

叔本华说过,每个人都把自己视野的极限,当做世界的极限

井底之蛙的对世界极限认知是一口井

我之前就犯过这样的错误,以为自己很厉害,但是越往深处学,越发现自己的渺小和无知

现在面试的时候,就保持谦逊的态度

面试遇到自己的强势领域,娓娓道来,展示你的能力和思考

遇到自己的弱势领域,坦诚承认,表示愿意学习和提升

3. 关于外包公司

外包公司的话,能不去就不去

待遇这方面,工资、年终奖等先被外包公司扒一层皮

工作内容方面,往往是一些维护、二次开发、测试等杂活

技术方面,外包公司的技术氛围往往不好,身边外包同事可能都比较躺平

自尊心方面,外包的同学往往是低人一等,公司内网权限、工牌、餐卡等都在提示你和正式员工的差距

所以,除非是过渡阶段(1-2 年),外包公司不建议去

另外,不建议用外包岗位来作为面试练手

外包岗位的面试题目、难度、面试官心态等和正常岗位有区别,参考意义不大

并且还要投入相当多的时间和精力,比如和 HR 对接、约笔试、面试、通勤去现场面试等

没必要做这种无用功,还是保存体力,专注正常岗位的面试

对于 Boss 直聘,可以在设置 > 隐私保护 > 屏蔽公司 中,把外包公司都屏蔽掉,避免干扰

4. 利用你能利用的一切

之前听过,创业的状态是「小姐心态,寡妇待遇,妇联追求

求职的过程,这句话也适用

你的追求和目的是寻求一份满意的工作,那就放下身段,动用你能利用的一切资源

把你的朋友圈、同学圈、前同事挨个联系一遍,问问有没有内推的机会

发邮箱找大佬,看看有没有合适的工作岗位 or 请教面试的相关事宜

加技术群,加 QQ 群,加微信群,多和大佬交流,多和同行交流

把自己的求职面扩大,不要局限在 Boss 直聘、拉勾、猎聘等求职网站

五、内推

那么关于个人的面试历程和规划就都讲完了,接下来我想和大家分享一下我现在所在的公司

童心制物是全球消费级激光工具领域和 STEAM 教育机器人领域的头部企业

先后获得红杉资本、深创投、中金甲子等知名机构投资

Base 在深圳南山智园,福利待遇多多

感兴趣的小伙伴可以在公众号「程序员楷鹏」上联系我,和我一起做同事 👏

要离职了,记录一下个人在用的 Mac 应用

2024-06-26 08:00:00

大家好,我是楷鹏。

通用

飞书

说起来不信,第一个推荐的是【飞书】,飞书是目前用过最舒服的项目管理应用了。

单拎出来一个飞书文档,功能和体验远超市面上腾讯文档、石墨文档、语雀等等。

现在飞书还支持个人版,No more thumbs up。

除了文档,飞书还支持邮箱、视频通话等功能,飞书 = 企业微信 + 腾讯文档 + QQ 邮箱 + 腾讯会议,直接 All in One

飞书还自带一些贴心的小功能,比如 OCR(图片转文字)、录视频、录 GIF,以及一个非常使用的「滚动截图」,截长图不烦恼

Arc

现在主力浏览器已经从 Chrome 切换到【Arc】,Arc 的多空间解决了我的一直以来的痛点需求。

并且会自动收起过期的 Tab 页面,支持全屏,颜值好看,交互舒服,Arc 值得拥有。

有道翻译

程序员看官方技术文档,翻译是刚需

本人也算是有道翻译的老用户了,陪着从有道词典改名为现在的【有道翻译】。

虽然有道翻译的翻译效果不是最好的,但胜在词典内容丰富,划词交互方便

目前加上了 AI,翻译质量也上了一个台阶,怒冲两年会员。

Grammarly Desktop

有时候提 issue 或者写英文的场景下,担心自己语法错误,Grammarly Desktop 派上用场。

基础的语法检验 free,但是润色以及 AI 功能需要付费。

iBar

手头的 Mac 有刘海屏,应用一多就会被刘海挡住,很烦。

iBar 可以把菜单栏收起一下。

iShot

截取一张包含圆角、阴影的好看截图,可以用 iShot。

Free 版本足够,长截图、OCR、录屏等高级付费功能,可以用飞书自带的。

Snipaste

之前从 Win 转 Mac 的时候,一如既往 Snipaste,它的贴图功能很好用

App Cleaner & Uninstaller

App Cleaner & Uninstaller 强力卸载软件,干干净净

Runcat

在菜单栏上看一只猫不断地奔跑也是一种消遣

Runcat 可以在菜单栏用 Runcat 查看当前 CPU 等信息,CPU 用得多小猫也就跑得越快

Activate Mac

一个百无聊赖的小挂件,Win 的「Activate Windows」类似,在屏幕右下角展示「Activate macOS

效率

个人任务三件套

  1. 滴答清单:安排任务、定时任务

  1. Flomo:记录灵感,针对任务过程 or 结果进行复盘

  1. FlowUs:复盘产出,读书笔记

为什么选择这一工具套件的原因?

  1. 全为国内应用,无需梯子,避免网络波动的着急时刻
  2. 支持跨平台,移动端、PC 端、Web 端、小程序全面覆盖
  3. 好用,平替 Todoist、Notion 等

Revezone

平时需要画一些流程图,会使用 Excalidraw 涂鸦式画图工具,可惜它不支持中文字体。

Revezone 相当于是 Excalidraw 的汉化版,但更进一步,集成了 Tldraw、类 Notion 笔记功能,并且提供 Mac 客户端。

目前开源免费,正在 alpha 公测阶段,可以 try try。

录屏

  1. OBS:专业录制,如果有需要录课等重量用途,就选他。如果只是一些轻量的录制可以用飞书的 Gif 录制

  1. Screen Studio:可以制作非常丝滑的操作视频

  1. KeyCastr,显示输入的按键,开源免费

uTools

确实是新一代的效率工具平台,万物皆插件,需要什么小功能都可以在上面找到

贝锐向日葵

需要远程操作另一台计算机,贝锐向日葵推荐,free 版基本满足需求,不过总会弹一些小广告。

开发

Fork

一个免费的 Git 可视化工具,挺形象的「叉子」。

Warp

新生的终端应用,支持基本补全、记忆功能,还有 AI 加持

Zed

Jetbrain、VSCode 等的就不推荐了,这些都是有名的代码编辑器了。

就推荐下【 Zed 】,基于 Rust 的新一代编辑器,启动、输入速度非常快

Zed 刚起步,后续持续观察。

数据库可视化

数据库可视化老大 Navicat,这个大家比较熟悉了,最近终于推出了免费版的 Navicat Premium Lite,Navicat Premium Lite 作为 Navicat Premium 17 的精简版,基本功能都在。

官方说【它可满足广大初级用户和非商业用途的基础数据库管理需求】(可能是盗版太太太多了 🤣)

如果只需要一个轻量的数据库可视化操作,那么推荐一下【SQL Pro Studio】

虽然没有 Navicat 那么强大,但好在是 Mac 原生应用,性能不错,基本的操作(筛选、排序)都能满足,高级的能力需要写一下 SQL

如果使用的是 Postgres 数据库,那么可以使用 Postico 2,专门用于 Postgres

Redis 可视化推荐 Another Redis Desktop Manager 或者 Redis Insight,这两款各有优缺,可以搭配使用

Typora & uPic

写 Markdown 笔记的时候,Typora 一直是我的白月光

Typora 本身不支持图片,于是自己用服务器搭了个图床,目前搭配 uPic 上传图片

He3

面向开发者的工具箱,集合多款的开发专用小工具,也有一些基础的视频剪辑、图片裁剪、音频转换等工具。

谷歌也翻车,挖一个 XSS 漏洞,薅了两万多 💰

2024-05-11 08:00:00

大家好,我是楷鹏。

程序员 Matan 挖到了一个 XSS 漏洞并报告给谷歌,奖励 3133.7 美金(约合人民币 22666 元

这是谷歌 Bug Hunter 的奖励规则:

👉 图片来自 https://bughunters.google.com/about/rules/google-friends/6625378258649088/google-and-alphabet-vulnerability-reward-program-vrp-rules

事情起因是这样的,Matan 看到了一篇揭露谷歌 SSRF 漏洞的文章,文章中提到谷歌的这么一个网站

📍 https://toolbox.googleapps.com

于是便开始探寻,先是查看 robots.txt 文件

#apps-toolbox
User-Agent: *
Allow: /apps/main
Allow: /apps/browserinfo
Allow: /apps/checkmx
Allow: /apps/dig
Allow: /apps/har_analyzer
Allow: /apps/loganalyzer
Allow: /apps/loggershark
Allow: /apps/messageheader
Allow: /apps/recovery
Allow: /apps/useragent
Allow: /apps/other_tools
Allow: /apps/encode_decode
Allow: /apps/screen_recorder
Disallow: *

robots.txt 是一份存在于网站根目录的文件,它会告诉网络爬虫应该哪些页面可以爬,哪些不可以,以此避免网站被爬虫过度请求,造成请求负担

在 robots.txt 文件中,一个链接对应一个工具网页

但是有一个例外,/apps/recovery 是不能被直接访问的

在经过简单搜索后,发现它存在子页面

recovery/domain_in_use
recovery/form
recovery/ownership

这些子页面都能够接收多个 URL 参数,比如

recovery/domain_in_use?visit_id=xxx&user=xxx&domain=xxx&email=xxx

如果输入这条继续跳转链接的话

https://toolbox.googleapps.com/apps/recovery/ownership?domain=example.com&[email protected]&case=45500368&continue=/apps/recovery/...

这条链接包含参数 domain=example.com,注意还有一个参数是 continue=/apps/recovery/...

输入该继续跳转链接会得到提示:

在这里,发现了问题,CONTINUE 按钮的链接居然是来自于 continue 参数

Matan 验证了下,注入 JavaScript 脚本代码:.../continue=javascript:alert(document.domain)

成功执行 ✅

这个网站没有 CSP 安全策略,也没有任何防护措施,因此可以从任意外部获取资源

继续尝试加载外部恶意脚本,该恶意脚本用于获取用户 IP 地址:

.../continue=javascript:fetch(%27https://api.ipify.org?format=json%27).then(response=%3Eresponse.text()).then(data=%3E{alert(data);%20})

也是成功执行 ✅

到这里,可以确定存在 XSS 漏洞。

回顾一下 XSS 知识

XSS(Cross-Site Scripting),跨站脚本攻击,没有做好校验,相信用户的输入,接收了攻击者的恶意输入(一般是 JavaScript 脚本代码),导致该恶意输入在其他用户页面上执行。XSS 一般分为三种:

  1. 存储型:恶意输入被永久储存在了后台服务中,无论用户什么时候打开网站,拿到该恶意输入,浏览器就会执行
  2. 反射型:恶意输入内嵌在 URL 或者其他输入中,立即被后台转发,用户只要访问构造好的 URL,浏览器就会执行
  3. 基于 DOM:攻击者操作用户的 DOM 结构,进而执行恶意代码

上诉 Matan 的例子,就是一个很典型的反射型 XSS。

但这个 XSS 太低级了,以至于 Matan 本人都难以置信,毕竟谷歌技术是业界有名的

不过谷歌惯常喜欢用自研框架,而这些框架没有做好安全策略,产品翻车也是难免。


One more thing:

{
"公众号": "程序员楷鹏",
"简介": "世界有 10 种人,一种是懂二进制的,另外一种是不懂的",
"还有": "你肯定会关注的对吧彦祖?"
}