
技术干货
文章平均质量分 91
程序员鱼皮
这个作者很懒,什么都没留下…
展开
-
如何开发 MCP 服务?保姆级教程!
以前,如果想让 AI 处理我们的数据,基本只能靠预训练数据或者上传数据,既麻烦又低效。现在,MCP 解决了这个问题。原创 2025-04-08 11:22:17 · 1090 阅读 · 0 评论 -
感觉程序员要被 AI 淘汰了?学什么才有机会?
AI 会淘汰程序员么? 我的答案是 “会”。 AI 会不会淘汰程序员?这是学编程的朋友们非常关注的问题,我也一样,因为如果程序员被淘汰了,那我这个程序员博主也就光荣退休了。原创 2025-04-03 16:31:02 · 1166 阅读 · 0 评论 -
2分钟学会 DeepSeek API,竟然比官方更好用!
最近 DeepSeek AI 太火了,效果也很强,但致命问题是 不稳定, 经常给我返回 `服务器繁忙,请稍后再试`……原创 2025-02-21 15:19:26 · 5526 阅读 · 3 评论 -
网站刚上线,就被 DDoS 攻击炸了!
DDoS(分布式拒绝服务)攻击是一种通过制造大量恶意流量打向目标服务器,导致其资源耗尽、服务中断或无法正常响应用户请求的网络攻击方式。你不甘心,决定运用你学过的专业知识进行反击。原创 2024-12-03 15:00:29 · 2111 阅读 · 6 评论 -
你的第一个前端入门项目,保姆级教程!Vue3用户中心网站开发
由于框架迭代更新,会增加基础较差的同学的学习成本,因此鱼皮选择录制一套全新的、更适合入门的前端项目教程。原创 2024-11-21 15:05:55 · 2824 阅读 · 1 评论 -
我发现很多程序员都不会打日志。。
日志是我们系统出现错误时,最快速有效的定位工具,没有日志给出的错误信息,遇到报错你就会一脸懵逼;而且日志还可以用来记录业务信息,比如记录用户执行的每个操作,不仅可以用于分析改进系统,同时在遇到非法操作时,也能很快找到凶手。原创 2024-11-22 10:51:58 · 2456 阅读 · 0 评论 -
不敢相信,Nginx 还能这么玩?
今天来聊聊 Nginx 技术,这是一个企业项目必用,但是却经常被程序员忽略的技术。学好 Nginx,可以助你在求职中脱颖而出。原创 2024-11-01 12:05:05 · 9415 阅读 · 19 评论 -
2024年,还有不用这个技术的网站?
对于以内容为核心的网站,使用服务端渲染可以大幅提升网站被搜索到的概率,所以很多企业级网站都用到了这个技术来开发。原创 2024-08-30 11:42:32 · 1267 阅读 · 0 评论 -
小白学编程:魔数入门教程
所谓魔数,就是毫无理由、凭空出现、也不需要去解释其含义的常量。就是这么任性!原创 2024-07-26 19:15:00 · 1033 阅读 · 0 评论 -
你搞懂什么是魔法值了吗?
魔法值指的是代码中没有任何定义,直接像魔法一样凭空出现的值,可以是数字、字符串等。原创 2024-07-25 19:35:58 · 1418 阅读 · 0 评论 -
使用 Picocli 开发 Java 命令行,5 分钟上手
更多关于选项和参数注解的用法,也可以阅读官方文档学习:https://picocli.info/quick-guide.html#_options_and_parameters。4)@Parameters 注解的 defaultValue 参数:默认值,参考文档:https://picocli.info/#_default_values。鱼皮想出的一种方案是,编写一段通用的校验程序,如果用户的输入命令中没有包含交互式选项,那么就自动为输入命令补充该选项即可,这样就能强制触发交互式输入。原创 2024-01-16 19:11:49 · 2419 阅读 · 0 评论 -
用我这套模板,几分钟做出文档网站!
通过这个教程,我相信大家不仅学到了文档网站的制作方法,还收获了很多其他的前端小知识,比如 SEO、懒加载之类的,希望对大家有帮助,都能做出自己的文档网站来沉淀分享知识。插件官方:https://github.com/zq99299/vuepress-plugin/tree/master/vuepress-plugin-tags。大家只需要几分钟的时间,就能快速做出同款的、精简的文档网站。除了上述基本能力外,我选择 VuePress 的主要原因就是它的插件生态特别好,随便下个插件,就能增强网站的能力。原创 2024-01-12 19:15:37 · 1520 阅读 · 0 评论 -
命令模式,这么学就很简单!
而且现在手机都能作为万能的电视遥控器,我们可以同时遥控多个品牌的设备,不用关心设备的具体品牌型号,提供了更大的方便。命令模式是一种行为型设计模式,核心是将每种请求或操作封装为一个独立的对象,从而可以集中管理这些请求或操作,比如将请求队列化依次执行、或者对操作进行记录和撤销。在这个示例中,命令模式将遥控器按钮的按下操作与实际设备的开关操作解耦,从而实现了灵活的控制和可扩展性。命令模式通过将请求的发送者(客户端)和接收者(执行请求的对象)解耦,提供了更大的灵活性和可维护性。就相当于客户端,要操作电视来换台;原创 2024-01-03 18:53:46 · 540 阅读 · 0 评论 -
几分钟,教你搭个 AI 绘画平台~
还可以在 Stable Diffusion 平台设置一些其他的参数,来优化生成的效果,比如 Sampling method、Sampling steps、CFG Scale、Seed 等,这些都可以从上面的网站复制,或者自己调试。这篇文章是一个保姆级教程,我就教大家用最简单易学的方式,快速搭建一个属于自己的 Stable Diffusion AI 绘画工具,没有限制,想画什么就能画什么。没关系,自己的电脑不行,我们可以搞一个 GPU 云服务器,来部署 Stable Diffusion。让我们可以直接使用。原创 2023-12-22 19:39:05 · 1190 阅读 · 2 评论 -
4 种方法,帮你快速新建 Java 项目!
除了以上方法外,最推荐的方法还是在学习和开发过程中,持续整理和沉淀一套属于自己的万用项目模板,企业中也通常都会有适应业务的基础建设代码。阿里提供了一款云原生应用脚手架,如果你的项目需要用到 Spring Cloud Alibaba 组件,那么强烈建议使用该脚手架来创建项目,可以保证各组件依赖版本号的一致性。这些项目一般都是大而全的、功能十分丰富的管理系统,对于企业来说会比较实用,但是对于编程学习者来说,不是很推荐,想要自定义开发一些额外的功能会比较麻烦。原创 2023-12-07 19:05:20 · 908 阅读 · 0 评论 -
5 分钟,带你入门 FreeMarker 模板引擎!
其中,users 是整个列表,而 user 是遍历列表每个元素时临时存储的变量,跟 for 循环一样,会依次输出每个 user 的值。新建一个类,在 Main 方法中创建一个 FreeMarker 的全局配置对象,可以统一指定模板文件所在的路径、模板文件的字符集等。我个人推荐的 FreeMarker 学习方式是直接阅读官方文档,虽然是英文的,但每一节基本都有代码示例,还是比较好理解的。如下图,FreeMarker 模板引擎的作用就是接受模板和 Java 对象,对它们进行处理,输出完整的内容。原创 2023-12-06 19:14:15 · 452 阅读 · 0 评论 -
5 分钟,开发自己的 AI 文档助手!手把手教程
很多大厂云服务商都提供了云向量数据库,比如腾讯云的向量数据库,不仅提供了数据写入和检索的自动向量化功能(embedding),还支持文本自动拆分和一键上传,可以直接将文章转为拆分好的向量写入到向量数据库,大大简化了开发流程。此前,鱼皮就是按照这个流程自己开发实现的 AI 总结助手。中,当用户向 AI 提问时,AI 要先从数据库中查询出和用户问题相似度最高的小段落,然后对这些小段路进行总结,再给用户回答。但没想到,这段时间,AI 以一日千里的速度发展,现在开发一个同样的 AI 文档总结助手,大家猜猜要多久?原创 2023-11-23 17:07:48 · 2280 阅读 · 0 评论 -
几个测试接口的好工具,效率加倍~
但实际上,Swagger UI 只是 Swagger 的其中一个功能,Swagger 还包含了 Swagger Editor 接口编辑器、Swagger Codegen 代码生成器等强大工具。其实测试接口并不难,这篇文章就给大家分享一些常用的接口测试工具,其中有些工具不仅能帮助你高效测试接口,甚至还能自动生成接口代码和接口文档!一般来说,只需要在项目中引入 Swagger 依赖,并且通过注解的方式来描述 API 的信息,就可以使用它进行接口测试和文档生成了。因此,接口测试也是后端开发中的关键环节。原创 2023-11-16 11:22:03 · 444 阅读 · 0 评论 -
使用后端代码生成器,提高开发效率
时间长了你会发现,这些工作不仅无趣,还会浪费你的很多时间,没有机会去做更有创造力和挑战的工作。进入下一步,填写更多的配置,可以选择生成代码的模板(一般是 MyBatis-Plus 模板),以及自定义实体类的生成规则(一般建议用 Lombok)。(生成代码的包名和位置)尽量不要和已有的项目包名重叠,先把代码生成到一个完全不影响业务的位置,确认生成的代码没问题后,再移动代码会更保险一些。通过以上方法,就已经能够完成基础增删改查代码的生成了,但一般情况下,我们得到生成的代码后,还要再根据自己的需求进行微调。原创 2023-11-14 14:30:03 · 308 阅读 · 1 评论 -
开发企业微信群机器人,实现定时提醒
上面的代码中,有个代码优化小细节,官方文档是使用 “@all” 字符串来表示 @全体成员的,但 “@all” 是一个魔法值,为了简化调用,我们将其封装为 mentionAll 布尔类型字段,并且在构造函数中自动转换为实际请求需要的字段。在查阅企微机器人文档后,了解到企业微信机器人支持发送多种类型的消息,包括文本、 Markdown 、图片、图文、文件、语音和模块卡片等,文档中对每一种类型的请求参数和字段含义都做了详尽的解释。artifactId:它是项目的唯一标识符,对应的是项目名称,即项目的根目录名称。原创 2023-11-13 16:44:09 · 1289 阅读 · 0 评论 -
我敢打赌,这个架构你一定知道!
大家好,我是鱼皮。开发后端项目时,我们最常见的一种架构模式就是分层架构。所谓的分层架构,就是把系统自上而下分为多个不同的层,每一层都有特定的功能和职责,且只和自己的直接上层与直接下层 “打交道”。分层架构的优点是:每一层都有明确定义的职责,易于理解和维护;而且各层可以独立扩展,以适应不同的需求。所以分层架构也是最适合新手入门学习、并且实际开发中应用最多的架构。原创 2023-11-10 18:20:13 · 297 阅读 · 1 评论 -
保姆级微服务部署教程
这次的教程以我带大家全程直播手把手开发的、基于 Spring Cloud + Docker 代码沙箱的在线判题系统为例,进行演示。这个项目的核心功能是让用户能够在线选题和做题,然后由系统自动判题:项目用到的核心依赖包括:MySQL 数据库、Redis 缓存、RabbitMQ 消息队列、Nacos 注册中心涉及的核心服务包括:用户服务、题目服务、判题服务(代码沙箱)、Gateway 网关服务在介绍 Docker Compose 前,先简单介绍下 Docker。原创 2023-10-09 15:23:57 · 5078 阅读 · 1 评论 -
除了 MySQL,这些数据库你都认识么?
大家好,我是鱼皮,今天来聊聊数据库。什么是数据库?这个问题相信对学编程的朋友们来说过于简单了,大家想必都是增删改查的好手。但如果让你说出 10 种不同类型的数据库,阁下该如何应对?这篇文章,是对数据库技术的一个小科普,希望能帮大家了解到更多元化的数据库,便于拓宽学习思路和项目的技术选型。原创 2023-07-11 14:11:36 · 681 阅读 · 0 评论 -
怒肝 2025年最新Linux学习路线,零基础到精通一条龙(万人收藏⭐️)超详细知识点,实用总结
Linux 学习路线 by 鱼皮。原创不易,请勿抄袭,违者必究!大家好,我是鱼皮,又花 1 周肝出了 Linux 学习资料全家桶,包括学习路线、命令手册、视频、书籍、文档、实战教程、社区、工具、大厂面试题等,完整分享给大家!在阅读本文章之前,建议先观看视频,是一个比较特殊的入门教程。我通过实际上线一个项目的方式,带大家快速学习企业中常用的 Linux 命令,几分钟应该就对 Linux 有个不错的了解啦~视频地址:https://www.bilibili.com/video/BV1ev411G7V.原创 2021-10-11 19:58:54 · 6472 阅读 · 0 评论 -
大厂的 SDK 写法,偷学到了!
自己动手写 SDK 的经验技巧分享大家好,我是鱼皮。最近因为工作需要,自己动手写了一些项目的通用 SDK。在编写的过程中,我阅读和参考了不少公司中其他大佬写的 SDK,也总结了一些开发 SDK 的经验和技巧,给大家分享下~在此之前,必须先给大家解释一下啥是 SDK。啥是 SDK ?SDK(Software Development Kit)即 软件开发工具包 ,就是帮助我们开发出软件的工具集合,除了代码之外,一般还要搭配文档、示例等。一般 SDK 都是需要 引入 到项目中使用的。比如学 Ja.原创 2021-09-06 14:01:47 · 2022 阅读 · 1 评论 -
反向压力!
一个有趣的编程小知识大家好,我是鱼皮,今天分享一个实用的编程小知识 —— 反向压力。在介绍反向压力前,我们先聊聊什么是压力?什么是压力?我是一个打工人,日常工作就是听产品经理的话,写代码做需求。正常情况下,我每天能写 500 行代码,一周能做完 1 个需求就不错了。但如果某天,领导突然发话了:对手公司已经荣华富贵了,我们也得抓紧,发财发财发财!于是产品经理收到了更多来自领导的需求,也就给我安排了更多的需求。但我毕竟能力有限,每天只能写那么几行代码,因此只能每天加班苦不堪言,整个人处于超负.原创 2021-08-30 13:20:02 · 1304 阅读 · 0 评论 -
女朋友问我 LB 是谁?
科普一下 LB(负载均衡)技术我的编程导航网站:www.code-nav.cn大家好,我是鱼皮。周末在家写代码,无意中跟女朋友提了下 LB,还说 LB 好的呱呱叫。她笑了笑,问我 LB 是谁?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bAvcxcH0-1629943120622)(https://qiniuyun.code-nav.cn/image-20210824093033219.png)]我急忙解释道:LB 它可不是活人,而是目前企业开发中常用的技术.原创 2021-08-26 10:01:59 · 4554 阅读 · 16 评论 -
3 分钟了解 JSON Schema
大家好,我不是鱼皮。幸运又不幸,我是一名程序员,他也是一名程序员。周末,我在开发网站,他在开发游戏,两个人一起写代码,一起写 Bug 头秃,竟也有了一丝别样的浪漫,好不自在!今天,他遇到了一个后台的 Bug,游戏死活启动不了,我来帮忙排查一下,顺便给大家分享点编程小知识~Bug 起因在开始游戏时,首先要加载一些配置,比如玩家的用户名、关卡的难度、玩家的初始道具等。由于游戏是使用 Java 语言开发的,他把这些配置封装成了一个对象,代码如下:// 游戏配置class GameConfig原创 2021-08-24 19:35:46 · 1697 阅读 · 1 评论 -
程序员作图工具和技巧,你 get 了么?
分享程序员常用的画图软件和小技巧大家好,我是鱼皮。说实话,我觉得做个程序员挺好的。日常工作有很多,写代码、对需求、写方案等等,但我最爱画图:流程图、架构图、交互图、功能模块图、UML 类图、部署图、各种可视化图表等等五花八门。通过图的形式,可以更好地展示系统、更清晰地表达自己的思路,便于理解;还能锻炼自己的画功,真是一举多得的事。今天就分享下我常用的画图软件和一点小技巧。常用图我平时画的比较多的是流程图、交互图和架构图,一般使用 Draw.io 这款免费的在线网页绘图工具就可以搞定了。之.原创 2021-08-23 20:35:55 · 4781 阅读 · 24 评论 -
15 道超经典大厂 Java 面试题!重中之重
从超高频的后端面试题出发,指明学习方向大家好,我是鱼皮。还记得我的老弟小阿巴么?他目前正值大一暑假,在家自学编程(刷短视频)中。他整个大一期间基本都在学习前端。后来,我带他写了一次后端,结果就崩了,写了一堆 bug!详情请阅读:前端老弟第一次写后端,崩了!但没想到,这货踩了坑后,反而爱上了后端开发。这一到周末就缠着我,让我给他讲讲后端开发应该学习哪些知识。虽然很想给他总结一份后端学习路线,但我也很忙,于是就思考有没有什么更快捷的方式让他了解到后端要学的技术。我想想:他学编程是为了找好.原创 2021-08-05 19:54:45 · 1980 阅读 · 0 评论 -
优化了破网站的搜索功能
使用 ES + 云开发实战优化网站搜索大家好,我是鱼皮,今天搞一场技术实战,需求分析 => 技术选型 => 设计实现,从 0 到 1,带大家优化网站搜索的灵活性。ES + 云开发搜索优化实战本文大纲:背景我开发的 编程导航网站 已经上线 6 个月了,但是从上线之初,网站一直存在一个很严重的问题,就是搜索功能并不好用。此前,为了追求快速上线,搜索功能就简单地使用了数据库模糊查询(包含)来实现,开发是方便了,但这种方式很不灵活。举个例子,网站上有个资源叫 “Java 设计模式”,.原创 2021-08-02 13:29:50 · 1533 阅读 · 3 评论 -
手把手体验远程开发,确实爽
从 0 开始体验一波远程开发大家好,我是鱼皮。记得刚开始学编程的时候,我理所应当地以为只能编辑自己电脑上的代码文件。如果想要修改服务器上的代码,只能先把代码从服务器上拷贝下来,然后在本地修改好再上传到服务器上。但是这样效率实在太低了!后来我学聪明了,利用 git 在本地和远程之间同步。先在本地修改好代码,git push 推送到 Github 代码托管平台上,再到服务器上 git pull 拉取。虽然方便了不少,不过遇到频繁修改的情况还是很抓狂。那有没有更高效的方式,能够保持本地和远程代码的.原创 2021-07-30 13:44:25 · 3496 阅读 · 2 评论 -
5 分钟,从 0 到 1 上线个人网站!
用最简单的方式,带你上线自己的网站!大家好,我是鱼皮。相信每位学编程的同学都想要拥有一个自己的网站,比如个人博客,可以拿来记录自己的学习过程、分享自己的文章、展示作品等,从而激励自己持续学习和总结。那么今天这篇文章,目标很简单,我要用 新技术 带 所有同学 从 0 到 1 快速上线一个自己的网站!给我 5 分钟,我给你全世界。上线网站极简教程让我们先来了解下传统的上线网站流程。传统方式假如我们要上线个人博客网站,供其他同学访问,那么需要经历如下步骤:准备一份个人博客网站的源代码购.原创 2021-07-29 12:26:55 · 4794 阅读 · 7 评论 -
聊聊百度搜索背后的故事
聊聊 “吴牙签” 背后的搜索引擎技术大家好,我是鱼皮,今天分享点有趣的技术知识。前两天,我想上网买包牙签,于是就打开了某度搜索。结果让我懵逼,我搜到的第一条内容竟然不是拿来剔牙的工具,而是搜出了一位明星,江湖美誉 “吴牙签”。原来是最近的一个大瓜,你看这个签它又细又扎 ???? ~在吃瓜的同时,问题来了:为什么搜索牙签时,最先搜出来的不是传统牙签而是老吴呢?作为一名程序员,有必要给大家科普一下互联网 搜索引擎 的工作原理,看看它是怎么帮助我们从数亿个网站中精准地把这根牙签找出来的!搜索引原创 2021-07-28 12:54:19 · 3951 阅读 · 10 评论 -
拜托,大厂做项目可不简单!
揭秘一线大厂研发流程大家好,我是鱼皮。很多未工作过的小伙伴都很好奇:企业中做项目是怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢?实话说,区别可大了!自己开发项目那是单打独斗,自己掌握命运,不会拖垮队友;但企业中开发项目是开团打本,大家是一根绳上的蚂蚱,每个人都会影响整个项目。我自己也在几家公司实习过,不得不说,大厂和其他公司的研发流程也有很大的区别。因此,对于大多数同学,如果没有在大厂工作过,对很多研发环节可能都是一无所知的。所以今天给大家揭秘一下大厂的.原创 2021-07-16 19:35:10 · 15976 阅读 · 30 评论 -
B 站崩了,受害程序员聊聊
非吃瓜,B 站事件始末分析 + 防治技术分享大家好,我是鱼皮,昨天小破站崩了的事情相信很多朋友都听说了。这要是搁以前,不爱吃瓜的我根本不会去关注这种事,崩了就崩了呗,反正天塌下来有程序员大佬们扛着,很快就会好的。但这次不太一样,因为我自己也成为了本事件的 “受害者” !所以今天以一名程序员的视角,带大家回顾 B 站崩了事件的始末、理性推测原因、并分享一些防治技术和收获感悟。事件始末B 站刚刚崩,但还没有完全崩的时候,我正在直播间写小代码、和小伙伴们友好交流。由于我在写代码的时候不会经常看弹.原创 2021-07-14 19:23:03 · 8927 阅读 · 17 评论 -
完了,又火一个项目
又一个前端超新星项目 ?大家好,我是鱼皮。今天逛 GitHub 的时候,在趋势榜上看到一个项目,竟然短短一天的时间内,涨了 1000 多个星星!就是这个名为 solid 的项目:要知道日增上千 star 可是非常难得的,我不禁感到好奇,点进去看看这个项目到底有啥牛逼的?啥是 Solid?这是一个国外的前端项目,截止到发文前,已经收获了 8400 个 star。我总觉得这个项目很眼熟,好像之前也看到过,于是去 Star History 上搜了一下这个项目的 star 增长历史。好家伙,这几.原创 2021-07-10 14:15:17 · 4141 阅读 · 16 评论 -
我删库跑路失败了
一个 “实用” 的好命令,我不得试试?大家好,我是鱼皮。在编程届,有一个家喻户晓的实用 Linux 命令:rm -rf / 。据说,此命令一旦执行成功,就会给人带来快乐,是一个善良的好命令,所以我喜欢叫它 快乐命令 。好吧,不装了,其实这个命令的作用是 删除服务器上所有的文件 !是一个极度危险的命令!之前我们可能也听说过很多删数据跑路事件,其中一部分元凶正是这个命令。记得前两周,我刚买了一台全新的云服务器,在给大家演示如何搭建应用开发环境。结果没想到,一些小伙伴竟然怂恿我当场输入 “快乐命.原创 2021-07-08 13:38:14 · 1812 阅读 · 9 评论 -
云开发是啥?看看它在编程导航项目的实践
大家好,我是鱼皮,近几年腾讯云开发技术持续发力,更新升级速度非常迅猛,功能也是越来越强大易用,公司最近也搞了场云开发应用竞赛,见证云开发的破茧化蝶。还不了解云开发的同学,可以阅读这篇文章:感谢,我升高啦!我的作品【编程导航】也有幸拿到了一等奖!我盲猜很大一部分原因是该网站的实现几乎用到了云开发所有的主流功能,应用大赛不就讲究个技术应用么?合理应用技术去解决系统中的问题。下面就给大家分享下云开发在编程导航中的应用吧。P.S 编程导航是一个帮大家发现优质编程资源的网站,https://www.co原创 2021-06-22 19:01:46 · 672 阅读 · 3 评论 -
通俗讲解【重定向】及其实践
三分钟,带你学习和实践域名重定向大家好,我是鱼皮,今天分享 重定向 小知识,以及我在腾讯云云开发中实现域名重定向的实践。孽起之前,我开发了一个编程导航网站,将网站放到了腾讯云云开发上,用云托管(容器)的方式部署和维护。还购买了一个域名 code-nav.cn,并且在云开发后台 访问服务 中,将该域名的子域名 www.code-nav.cn 和存放网站文件的容器相关联,配置如图:然后,大家就能通过网址 www.code-nav.cn 访问该网站了。但是,很快,我就发现了一个严重的问题。有不.原创 2021-04-26 13:20:26 · 663 阅读 · 0 评论