经验分享
快来分享你的内容吧~
- 2025-09-19·后端大家最近访问我们网站可能会遇到很多莫名其妙的 Bug。这是因为最近我们网站前端正在进行技术升级,为了保险起见,我们选择 灰度发布,结果翻车了。查看全文骑猪南下皮皮虾:有点好奇的是,不全量上线是因为要看用户接受程度吗?751分享
- 2025-04-11·人工智能
- 2025-04-11·人工智能
- 2025-04-02·后端
2025-01-08·后端无论是校园学习还是职场工作,你以为跟别人比拼靠的就是天赋和努力,其实比的还有方法和心态。查看全文大铃铛Weslie:忙的时候,把时间留给更重要的事情;不忙的时候,选择就变成了一种惬意~☺️42843分享- 2024-12-09·Java后端查看全文java后端的话,熟悉代码的流程可以参考一下: 1.了解后端架构、基础框架是什么,容器、模块通信、数据库操作、消息队列、任务调度等框架(例如springcloud + dubbo + mybatis + RabbitMQ + xxl-job),先把服务跑起来 2.在测试环境的客户端(web/app)...编程导航_小y:点赞 👍🏻 爱看,以后可以改名"写文大家都爱看"1524分享
- 2024-11-23·全栈开发
用系统设计思维,重建你的日计划(附模板)
**或许你也经历过下面这些情况:** 1. 核心目标推进缓慢 2. 计划被突发 bug 打碎 3. Todo 越写越长 4. 学习容易焦虑、难专注 5. 工作消息频繁打断 6. 执行时不断“自发加任务”导致膨胀 — > 这些混乱听上去是执行问题,本质却是:任务没有边界、没有时间段、没有分类。 就像一个没做限流、没加熔断的系统,迟早会爆。 --- ## 从一份 Todo List 开始 大多数人的计划都是这样打开的: ```diff Day 1 - 学习 RabbitMQ(完成) - 学习项目用户中心 P1 - P7(完成) - 刷算法题(完成) - 健身(完成) Day 2 - 继续学习 RabbitMQ(完成) - 用户中心 P7 - P14(完成) - 刷算法题(完成) - 健身(完成) - 复习计算机网络(完成) ``` > 没有边界、没有约束、没有产出定义。拆不成执行步骤,也无法形成“链式推进”。 > 说白了就是:写起来像计划,跑起来像玄学。 --- 优化一版: ```diff Day 1 - 跑通 RabbitMQ 入门 Demo,实现消息发布和订阅。 - 用户中心完成登录功能,并输出风险项分析文档。 - 完成一道动态规划算法题。 - 卧推 80kg,5*5,训练 1 小时。 ``` > 这版更加具体,有产出,也能量化,但... 上午写用户中心,功能写完了。 然后开始分析风险项: * 看博客 * 问 AI * 查文档 越看越糟糕: 限流要做、幂等要做、风控要接、黑白名单要加、防暴力破解要搞…… 看到不懂的概念, 继续查: * 限流要令牌桶 * 黑白名单按 IP * 短信要频控 * token 要轮换 * Redis 要一致性 * Mongo 要兜底 ‘裂开’这个词就是这样来的。 **一个任务拆十个,十个任务再拆一小串。** 等抬头,天黑了。 RabbitMQ 没写。 算法题没刷。 健身?那当然也没去。  --- > 这些看似是问题,其实都是任务在没有边界和约束下的必然膨胀,就像一个没有限流、没有熔断的系统,早晚会崩。 ## 从拆任务结束混乱 后面我试着把所有任务分成三类: * **研发推进**:明确、有边界、有结果 * **开源探索**:不确定、能扩张、需要限时 * **零碎杂事**:不断插入、不断打断、但必须处理 > **任务进入日程之前,必须先分类。** 像这样: ```diff 研发推进: - 登录主流程开发(1h) - RabbitMQ Demo(1h) 开源探索: - 幻觉率方案调研(1h) - 动态规划题(1h) - RabbitMQ 工作流程(30min) 零碎杂事: - 回复消息(上午/下午各 30min) - 日报(10min) - 卧推训练(1h) ``` --- ## 把一天拆成三段(可控系统的核心) ### (1)上午:做确定性任务(推进目标) 上午精力收敛,不适合发散, 适合: - 功能开发 - 文档产出 - 核心逻辑 - 性能优化 目标:最大化产出与推进感 --- ### (2)下午:探索 + Buffer(控制混乱) 限制: 1. 探索任务必须时间盒(30–60 min) 2. 下午必须留 30–50% Buffer 因为: * bug 会来 * 消息会来 * 联调会出事 * 某个点可能突然卡住 你不留 Buffer,整个日程一定炸。 > 这个时段唯一能确定的,就是一切都不确定。 --- ### (3)晚上:复盘 + 明日规划(闭环区) 只做两件事: 1. 写一句话总结 2. 列明天三大目标 目标:确保第二天打开计划就能执行。 > 一天做 3 件推动未来的事,其余都是陪衬。 > 不需要哲学,只需要把明天写成能跑的脚本就行。 --- ## 极简方法论 1. 写明天的三大目标 2. 每个目标拆成 2–4 个可在 30–120 分钟完成的小块 3. 按时间段分配: - 上午:确定性推进 - 下午:探索 + Buffer - 晚上:复盘 + 明日规划 4. 第二天早上直接打开 → 执行 ## 模板(可复制→可执行→可复盘) ``` 【三大目标】 1. 2. 3. 【确定性推进(上午)】 - 任务 - 任务 - 任务 【探索 + Buffer(下午)】 - 探索任务(限时 30-60 min) - Buffer(联调、Bug、沟通) 【今日复盘(晚上)】 - 今天做成了什么? - 今天被什么打断? - 明天要推进什么? ```
我代表编程导航,向大家道歉!
对不起,我代表编程导航,向大家道歉!  大家最近访问网站可能会遇到很多莫名其妙的 Bug。  幸运的话,还可能会看到 “薛定谔的网站”! 诶,一会儿新页面、一会儿老页面、一会儿又来个报错,不知道你们遇到没有? > 具体的 Bug 表现可以看:https://bilibili.com/video/BV1NgpqzQETJ  怎么回事儿呢? 最近我们网站前端正在进行技术升级,为了保险起见,我们选择 **灰度发布**,先让一小部分用户使用新版本,而不是全量上线。  但是无奈我们目前使用的项目部署平台不支持按比例灰度发布。  为了降低灰度的实现成本,团队心生一计:既然用户访问网站时,要先通过 DNS 服务器解析域名为 IP 地址。  那我只需要在 DNS 解析这边动动手脚,给同一个域名配置 2 条相同类型的解析记录,一条指向新网站、一条指向老网站,再设置不同的权重,这样就通过 DNS 轮询的方式分配了流量。  过程如图:  **结果翻车了!** 哪怕是同一个用户、同一台电脑访问我们的网站,都有可能出现一会儿新页面、一会儿老页面的情况,用户体验很差;而且由于新老网站技术栈不兼容,还出现了一些奇奇怪怪的 Bug。  这是因为 DNS 轮询本质上是 **随机分配**,无法绑定用户身份。哪怕同一台电脑,DNS 缓存过期后再次解析,也可能拿到新网站服务器的 IP,导致版本切换。  不过目前这个问题应该已经解决了,大家可以帮我试试看。 > 编程导航:[codefather.cn](https://codefather.cn/)  解决办法很简单,我们临时更改了 DNS 解析规则的线路类型,将某一运营商(比如电信)的用户统一解析到新版本,其他用户解析到老版本。这样避免了完全随机的情况,解决了同一用户反复切换的问题,达到了按用户群体灰度的效果。  我承认基于 DNS 实现灰度并不优雅,也导致了一些线上 Bug。理想情况下应该根据用户 ID、Cookie 等标识进行一致性分流,可以利用网关、容器编排、或者 CDN 等技术实现灰度。  但标准的灰度方案需要更复杂的基础设施和更高的成本,对于俺们小团队来说,在资源有限的情况下,还是选择了一个 “看似可行” 的简单方案,结果聪明反被聪明误了。  把这次的事故分享出来,也是希望能给同样是小团队的朋友们一些参考。 你们遇到过类似的情况吗?有什么更好的方案推荐?  ## 更多 💻 编程学习交流:编程导航:https://www.codefather.cn/ 📃 简历快速制作:老鱼简历:https://laoyujianli.com ✏️ 面试刷题神器:面试鸭:https://mianshiya.com 📖 AI 学习指南:AI知识库:https://ai.codefather.cn/
(专业课篇<DS+DB>)在职党必看:一战395分上岸东华大学研究生经验分享
我选取的854自命题科目,一共分为**数据结构**和**数据库**。具体的**考纲**如下:<img src="https://pic.code-nav.cn/post_picture/1721896042632441858/tNgU6AoSOO0cgTbl.webp" alt="" width="610px" /> 专业课的复习我主要按照**一轮学习-二轮复习-真题模拟**三个阶段进行。 注:本章涉及的所有资源在: ```lua 链接:https://pan.baidu.com/s/1HEQumUX3qQWIJrBuxtTzww?pwd=5aie 提取码:5aie --来自百度网盘超级会员V2的分享 ``` 数据结构 ---- ### 一轮学习 到9月份时,数学强化阶段基本度过,所以我们有时间开始学习数据结构。 这里使用的用书是《2025王道数据结构》。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/4NXUraqAwGx7Udhz.webp" alt="" width="435px" /> 复习时,不用全部章节都复习,只需复习**考纲要求**的内容即可,比如字符串这一章、红黑树啥的就不用学。 在分享的资源里,有本书的电子版。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/zJLx9D2WqBIYCynf.png" alt="" width="748px" /> **学习的形式是**:**平均一周两章**,每一章每一节看书,有不懂的地方看【启航老师】的数据结构课程,不必每个都看,看完之后做课后习题。本轮一轮学习时,只做客观题。等到二轮复习,做主观题(算法题等)。 计划在**9月份完成**数据结构的学习。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/0tRea6uD31be51kA.webp" alt="" width="729px" /> <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/VPE3Gr6TxNmEA6Ui.webp" alt="" width="100%" /> ### 二轮复习 到11月份,开始进行数据结构的二轮复习,学习的形式是逐章复习,然后课后习题的话,先复习一轮学习时的客观题,再做主观题(算法题等),然后进行改错。预计一个月完成。 数据库 --- ### 一轮学习 到10月份时,数学强化阶段和数据结构一轮学习阶段基本度过,所以我们有时间开始学习数据库。 这里使用的用书是《数据库系统教程(第3版)》,施伯乐、丁宝康、汪卫编著,高等教育出版社。注意这个是考纲指定书。长下面这个样子:  同时配套习题答案册: <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/kwbYieWPMgs3Ip0P.webp" alt="" width="742px" /> 同理,也是按照考纲复习,不用都看。 复习节奏和数据结构一轮学习一样,**平均一周2章,**看书,不懂的看视频,这里看B站战德臣老师的视频: [【哈工大】数据库系统 战德臣(全23讲)_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1HY4y1b72A/?share_source=copy_web&vd_source=94ede5bc6f02894a117d8a97f9dd685e) <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/wZp28Y3SI3ERHCDV.webp" alt="" width="282px" /> 然后做课后习题,主要做关系代数和优化、SQL、ER图设计和关系模式转换类的大题。 计划在**10月份完成**数据库的学习。 ### 二轮复习 到11月份,开始进行数据结构的二轮复习,学习的形式是逐章复习,然后课后习题的话,先复习一轮学习时的课后习题(主),再做一定量**下面这个练习册**的题目作为辅助巩固,然后进行改错。预计一个月完成。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/A7h1DFv4FJo51vGx.webp" alt="" width="680px" /> 真题练习 ---- 从12月开始或者更早(如果前面进行的快),就开始做854历年真题,把近十几年的真题做完,从后往前做,注意改错和巩固,做完有时间可以做模拟卷。看着题量多,但一零年左右的卷子题量特别少,所以很快就能做完,平均一天1.5套。按模拟3h时间做。 真题来源这里可以使用**米研教育**的复习资料,在**淘宝**可以买到,同时会配套**会员群**。 [《内部分享》东华大学854计算机25考研经验分享直播讲座上岸学长分享854计算机最新考情分析_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1FZ421i7WX/?share_source=copy_web&vd_source=94ede5bc6f02894a117d8a97f9dd685e) <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/b8gjD2Vzz0YqGwZj.webp" alt="" width="100%" /> <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/MxFpi5KgnP5SdWwu.webp" alt="" width="100%" />
(数学二篇)在职党必看:一战395分上岸东华大学研究生经验分享
数学二包括**高数**和**线性代数**,我备考高数时主要按照**基础-强化-冲刺-临考前1周**四个阶段进行复习。 注:本章涉及的所有资源在: ```lua 链接:https://pan.baidu.com/s/1AnmcXtW9o9cS0bCUD_C7tw?pwd=c7a6 提取码:c7a6 --来自百度网盘超级会员V2的分享 ``` 基础 -- ### 复习书和网课推荐 推荐使用张宇老师的《25版基础30讲》,注意是25版,26版听说很厚很厚,我觉得太厚影响复习心情和节奏😂,25版我觉得厚度刚刚好。其中高数分为15讲,线代分为6讲。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/HY0rqKmmkVwm8GNH.webp" alt="" width="646px" /> <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/v9K2gnDwKsKR1Cuf.webp" alt="" width="634px" /> 配套的数学课程就是25年张宇老师的基础30讲:<img src="https://pic.code-nav.cn/post_picture/1721896042632441858/O4yMNAU2U9lEXMSH.webp" alt="" width="714px" /> ### 复习规划 我基本是按照每周为一单元,每周完成固定的任务。 对于高数部分,前8讲相对简单,除了第一讲内容多我用了将近5天,其余7讲我当时基本2天一讲,节奏为:第一天白天把视频看完,基本1.5倍速,然后边看边在书上做笔记,遇到不会的地方会暂停,然后利用草稿纸进行演算验证,到了晚上,把课本的课后习题做一遍,对答案;第二天,继续做没做完的课后习题,然后把《基础1000题》的基础篇对应该讲的题目做一遍,对答案,巩固。后面8讲,从定积分计算开始难度就提升了,当时制定的计划是每周至少完成2讲,做的事情和上面说的一样,只不过节奏放缓。 至于线代部分,一共6讲,都比较好复习,用至多3周时间即可完成复习,复习内容和高数一样(看视频-课后习题-基础1000题)。同时注意勤记笔记,线代公式结论比较多。 至于公式部分,我没有可以背,做题时忘了我就翻书,翻多了就有印象了,到了冲刺阶段我才专门挑出几天空闲时间背的。 总体的时间节奏如下: 1. 4月:高数前7讲 2. 5月:高数8-12讲 3. 6月1日-6月15日:高数13-15讲 4. 6.月16日-7月15日:线代6讲 以上时间安排仅供参考,快些就提前进行强化,慢些最慢不要超过7月份。 强化 -- 强化阶段,只用啃一本书:《660》。题目质量极佳,包括高数、线代所有题型,难度不简单但不偏,对培养数学思维和思路有很大提高。做的时候注意整理错题到错题本,记住特定题型的方法和结论。做题时,请注重计算能力的提高,注意草稿纸在使用时推荐分区使用,比如上下对折,一共四个面,一个面一道题等等,不要写乱,要有思路。改错题时,先自己对答案改,如果不懂就利用【金榜时代考研】软件(应用市场可以下载),里面有《660》各个题目的讲解。 记住,题在精不在多,把《660》吃透,120+很容易。但如果目标140+的话,我这个方案就未必适合了,因为我只考了128😂。 《660》(25版)分为【基础过关1阶】和【基础过关2阶】。每一阶包括高数和线代两个部分,其中,第一阶高数275道+线代150道,第二阶高数185道+线代50道。 至于怎么做,基本每天至少15道题,所有每周保证有70题左右的做题量,计划一个半月完成。即**7月16日-8月30日**。 以上时间安排仅供参考,极大可能会慢,因为我当时也慢了几天。但是慢些没关系,请千万不要为了赶进度而做题,这样没有任何用,要一步一个脚印,夯实基础。 <img src="https://pic.code-nav.cn/post_picture/1721896042632441858/tTGinpr38HWcdMj4.webp" alt="" width="667px" /> 冲刺 -- 到了9月份,或者10月份(可能前面会进度慢些,到10月份也完全来得及),就开始冲刺了。冲刺阶段主要包括3个内容,其中前两项必做,且特别重要: 1. 公式记忆 2. 近20年真题练习(09-25) 3. 模拟卷练习 ### 公式记忆 推荐从11月开始,因为9月份和10月份数学占用的时间比例将低于专业课,专业课也该复习了。 至于记忆方式,主要包括: 1. 把基础30讲的的高数线代两本书翻透,从头到尾再看一遍,在看的过程中把一些关键公式(如点火公式、定积分公式等)的页码索引和内容记在笔记本,但不必都记和记太多,印象深刻就行。 2. 利用武忠祥老师提供的公式文件进行默写和记忆,推荐打印成册:<img src="https://pic.code-nav.cn/post_picture/1721896042632441858/btJ804UTPfIO36pv.webp" alt="" width="750px" /> ### 近20年真题练习 完成强化之后,就进入**最最重要**的部分了。 请买好历年真题、新版、旧版的数学答题卡、练习本和改错本,每周做五套真题,正确一个月完成所有真题的练习和二轮复习(做完一遍后再看一遍)。做好改错纠错和记录。 我当时的节奏是,上午9点到达图书馆,9:30-12:30进行三小时模拟。下午改错题。 顺序可以从25-09,或09-25。如果从后往前做请做好心理准备,因为一开始特别难,我当时第一次做是先做的24年真题,直接给我难哭了,基本没啥对的,但后面看来,是自己的一些基础知识没掌握扎实,后面掌握了再看,也就没那么难了。总之难是正常的,如果因为难心情不好可以出去走走调整一下,调整好之后再出发~ 时间够就做两遍复习一遍,时间不够就做一遍复习一遍。 注:请妥善保存真题卷子、答题卡、改错本,后面临考前就指望这个和公式呢。 ### 模拟卷练习 这个我做的不多,因为当时没时间做了哈哈,不过张宇老师的8套卷慎做,因为很难😂,口碑好的一般有:李林、合工大超越卷。 模拟卷练习对于要考120+的同学来说不是必要的,武忠祥老师说过:复习重点是真题,把真题吃透,公式背好,120分也是很容易拿到的。我就是这种情况。 不过如果**后期吃透真题后**有时间,多做题,保持题感肯定是好的,我是因为时间不够了才没有做,如果有时间,还是推荐一做的,至于如何选取模拟卷,如何做模拟卷可以参考一下文章和视频: * [有些同学不做模拟卷,天也不会塌的](http://mp.weixin.qq.com/s?__biz=MzkxMzUwNTc2NQ==&mid=2247560220&idx=1&sn=33003b1eda0e1cf97536a1c2b1c2a066&chksm=c0ce950dcf7ff8aba4a3109377a748840894774210cb6a71867e589052383135ed254065e180&mpshare=1&scene=24&srcid=111488bHAoMfdpS33XYwpFcM&sharer_shareinfo=69eaf4fab7a4ef6dbbbc4a749f56a7a5&sharer_shareinfo_first=69eaf4fab7a4ef6dbbbc4a749f56a7a5#rd) * [合工大超越重点题来了!低调但闪耀的模拟之王..](http://mp.weixin.qq.com/s?__biz=MzkxMzUwNTc2NQ==&mid=2247560273&idx=1&sn=f3c7b357e5cf4d274ab5f33b9a3d0879&chksm=c0415403b01e4b654fbbd15dc2e49ec8a71fd88fe1824cb6ba1753ea63244b61ab4cb1d796a6&mpshare=1&scene=24&srcid=1122GBp2gfI4shzC8uyNNqZY&sharer_shareinfo=64b426de58f27e634edbf4350b00ee03&sharer_shareinfo_first=64b426de58f27e634edbf4350b00ee03#rd) * [为目标100左右的同学,定做的模拟卷方案](http://mp.weixin.qq.com/s?__biz=MzkxMzUwNTc2NQ==&mid=2247560238&idx=1&sn=59c37049ab9076626cc191263072a34f&chksm=c0f34fdccd2ee39bc0a5c0e58ee6cc70db80c36d6f6573e520d0b1783d22f0d706b4d9eab18d&mpshare=1&scene=24&srcid=1116KLf6ZJZV7EmlKIfgPoSO&sharer_shareinfo=32ef9063a6699bf7a51d31876316b9c6&sharer_shareinfo_first=32ef9063a6699bf7a51d31876316b9c6#rd) * [给目标120的同学,定做的模拟卷方案](https://mp.weixin.qq.com/s?__biz=MzkxMzUwNTc2NQ==&mid=2247560287&idx=1&sn=84a5b53a8c45bb723acaa0204f4307e2&chksm=c17f00d5f60889c31564d85ecf4075d3319693c53009c648408bf85c9d68247fbc5413ef36fe&subscene=236&clicktime=1732583618&enterid=1732583618&sessionid=1711798603&key=daf9bdc5abc4e8d03e070228495b90116b8d439027182d5c5c8712a25dbc77f237c6b7b459e7a2834c4d8211230aac725cace06be26ac7135eefaee3ada59ee645d1ea03a6336bacff622aad0e2d79e44c49449b90027fea99ccf35f1f94e849e108da70dbac9cb5fac9dbd2848c60d5c260a9ad2351fe3581f185e7497b36dd&ascene=0&uin=MzY3MDUwMTM1OQ%3D%3D&devicetype=Windows+11+x64&version=63090c11&lang=zh_CN&countrycode=CN&exportkey=n_ChQIAhIQEguNSbQRPViJ1%2BSBBtuOgxLmAQIE97dBBAEAAAAAAHBMI00huNUAAAAOpnltbLcz9gKNyK89dVj06MJ7mC1Wov1PdDMFDG4ZJIyAbbas64d6rhkAOorPgGX8kiETQjL3jg7tRlrjbrGmstxa0XiicyhPL36K1i335KxGDzSIwCFaYxuSDRIDrkmwVaXKi4hnLeliLAvOYhJUPT2j%2B1zVjtpUQA8L%2BtRZV9EwD94GtK%2FJrKtuh9tPziRvO1ItZzvwQNfFWjHu6oF57YL5jMgvbmVEsV7CUTeFD53OYtKX9EvVjX1Gsy9X2BW4QQ72dgr91HqfYzn2jITt&acctmode=0&pass_ticket=egnu31iUuTpLMj12tn84te7HziCqmRXbdSie8RD4P41ZO%2B9lFNp02z1jslSsEPWN&wx_header=1&fasttmpl_type=0&fasttmpl_fullversion=7482634-zh_CN-zip&fasttmpl_flag=1#rd&scene=90) * [数学想考120+,整张卷子允许错哪些?](https://mp.weixin.qq.com/s/GlkKuE4meHGnoQktAkqHWA) * [模考【得分率最低】的3个题型,你必须看看](https://mp.weixin.qq.com/s?t=pages/image_detail&scene=24&__biz=Mzk0NjA5MjEzNQ==&mid=2247529723&idx=1&sn=fc4883a1df8fb3d6366aece70b170279&sharer_shareinfo_first=e7912e7ea97d81ce34572b3e5109396a&sharer_shareinfo=e7912e7ea97d81ce34572b3e5109396a#wechat_redirect) * [拉通模拟卷,用17道考法新颖的线代题串讲线代!!(25考研数学#郭伟)_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1RHqSYaEmw/?share_source=copy_web&vd_source=94ede5bc6f02894a117d8a97f9dd685e) * [拉通模拟卷,串讲考研数学所有考点概念题,稳稳拿分(25考研数学#郭伟)_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Djq8YPEFf/?share_source=copy_web&vd_source=94ede5bc6f02894a117d8a97f9dd685e) * [从所有模拟卷中,最后押6道大题。(25考研数学#郭伟)_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1bSqZYLECQ/?share_source=copy_web&vd_source=94ede5bc6f02894a117d8a97f9dd685e) 注意后三项具有时效性,要关注当年的视频,因为模拟卷每年都不一样。 **临考前1周** --------- 临考前基本做不下题去了,加上要背英语和政治,所以,可以每天看看数学公式和往年真题和改错本笔记本。 这个环节也很重要,主要是为了保持题感。
被运营商卡脖子了。。。你们的短信也发送失败了么?
大家好,我是鱼皮,最近难受的一批,万万没想到,身为一名程序员,让我最痛恨、最无奈的事情还是发生了。。。 最近,很多使用我们面试鸭和编程导航的用户反馈收不短信验证码,导致无法登录 APP、或者绑定手机号。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/GD81Kuf6ev06fyL8.webp" alt="" width="100%" /> 刚开始我以为只是偶发情况,就没太在意,交给我团队的开发同学去处理了。 我们使用的是腾讯云短信发送服务,于是问了下官方客服,了解到腾讯云签名不再支持网站、公众号、小程序了,会被运营商拦截,需要改成公司的签名。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/73N1H4zLMo2qClNj.webp" alt="" width="100%" /> 于是我们很快就修改了,然而面试鸭和编程导航修改签名后好了一周左右,到 3 月 21 号开始,有少量用户反馈收不到短信验证码;到 3 月 27 号开始发送失败率急剧增加,都是运营商签名未报备拦截的错误。 这个问题的影响有多严重呢?今天拉了一下数据,竟然有 **高达 50% 的用户** 都收不到短信了!  问了下客服,竟然还是签名问题。头疼的是,客服也没有给我们一个合理的解决方案,把锅甩给了运营商,要我们在运营商侧重新报备,预计 5 个工作日。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/fsHY3J3vCUJk0XrR.webp" alt="" width="100%" /> 5 个工作日?这个时间对于互联网业务来说,真是有亿点点漫长啊! 这种感觉是最难受的,明明自己没改代码、没写 Bug,程序莫名其妙地就出现了问题,典型的 “被卡脖子了”。 但我们也不能坐以待毙,就想着能不能找一个备份方案,比如换一个云服务?于是去网上做了一些调研。 1)发现用腾讯云短信服务的其他用户也有此问题:  2)用阿里云短信服务一样有这个问题,所以哪怕我们修改代码来调阿里云的服务,也于事无补: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/oI5p9fMC9zW6HquN.webp" alt="" width="100%" /> 网上吐槽短信服务的帖子还挺多的,毕竟很多公司的业务受到了影响。不过生气归生气,想必这些云服务商的工作人员心里也不好受,大家都是被卡脖子了。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/BgsgY6n2eV6tF8Zy.webp" alt="" width="100%" />  我们也调研了其他大厂的云服务,得到的结论都是一致的 —— 都要新增签名进行报备,等个一周左右才能使用。 阿里云: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/yeuODAehloXyzFcM.webp" alt="" width="100%" />  火山引擎: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/it0RwLTz0W0ed3pE.webp" alt="" width="100%" /> 百度云:  京东云:也需要报备,不过那边客服说提交签名审核 + 报备只要 2 天左右。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/pnMtNRqrlFG1lcQX.webp" alt="" width="100%" />   最后给个我们的调研总结吧,帮大家节省时间了。除了京东云,报备要 2 个工作日,其他的添加签名 + 运营商报备都需要一周左右。 运营商实名报备是 23 年的 **工信管函【2023】794号** 的要求,今年开始逐渐强制执行(尤其 **315 工信部通报 "垃圾短信" 问题** 后),所有企业短信必须在完成运营商侧实名制报备流程后方可发送。  针对垃圾短信,三大运营商承诺整改: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/PTM6nqEqFzokrMTf.webp" alt="" width="100%" /> 当然,我们也不会干等着,毕竟马上就假期了,所以决定临时通过修改前端界面,来引导用户暂时不要使用和绑定手机号相关的功能,防止用户一脸懵逼。还是希望服务能够尽快恢复呀! ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://mianshiya.com)
准备春招,就看这篇文章!
大家好,我是程序员鱼皮。首先恭喜各位考研的朋友,终于结束了战斗。大家辛苦啦,咱的读者必须成功上岸! <p align="center"><img src="https://pic.code-nav.cn/post_picture/1601072287388278786/226XDeM86mQWXAoV.webp" alt="" width="252px" /></p> 但是,我之前也说过: **考研结束后,战争才刚刚开始。。** 无论是觉得考研稳上岸的、还是不确定的、或者是不考研的同学,都要尽全力 **提前** 去准备即将到来的春招,不要掉以轻心! 今年编程导航很多小伙伴在考研前就已经开始找我咨询了,其中比较多的问题是:考完研后,不知道怎么高效准备春招? 那本篇文章就解答一下这个问题,给出一些建议,希望帮助大家利用好考研结束后的这段时间,拿到更多机会,让未来的路走的更轻松。 ## 2025 决胜春招! ### 1、立即行动 如果想要破卷,就一定要记住:**早就是机会!** 很多刚考完研的同学会觉得,我已经很久没学编程了,感觉其他同学进度比我快,很迷茫啊。 其实不然,考研的过程中,已经磨练了你的心性、并且巩固了一些计算机基础。 **只要你立刻开始行动备战,什么时候都不算晚。因为跑起来总比原地不动要好。** 阿Q精神,你可以这么想:考研大军几百万,我在考完研第一周就立刻开始备战,肯定也能超过很多还在 “安逸享乐” 的同学。 行动是第一生产力,放下手中的游戏、短视频,阅读完这篇文章,你就已经成功 50% 了。 ### 2、明确方向 时间有限的情况下,抄近道、走直路才能比别人走的更远。 首先,一定要明确 **1 个** 方向或岗位,比如前端、Java 后端、Go 后端、测试、运维等,而不是说什么我要做全栈、前端后端两手抓都去碰碰运气之类的。 这里我给大家的建议是,优先选择自己目前 **所学知识最多的方向**,避免完全从 0 开始学习。 不要花时间纠结哪个方向卷不卷、哪个方向机会更多。我做编程导航都 2 年半了,接触过各种方向的学员、也调研过各个方向的就业情况,其实到头来会发现,还是 Java、C++、前端这种主流的方向更适合大多数人。 如果你 **实在不知道** 要选什么方向的话,就学 Java,毕竟网上资源多,鱼皮也分享了这么多的学习经验教程和项目,你只要按照路线学习就行,起码保证你能坚持学下去。 <p align="center"><img src="https://pic.code-nav.cn/post_picture/1601072287388278786/YAk7rENHQCoQdcv9.webp" alt="" width="100%" /></p> ### 3、准备简历 咦,咋还没开始春招,我就要准备简历了? 其实,等到招聘开始时再准备简历,已经是最晚的时间点了。在你明确方向 / 岗位后,就必须要准备简历!而不是拖到找工作的前一天才开始写。因为写简历的过程本质上是在帮自己回顾、梳理总结自己学过的所有技术知识和做过的项目,提前发现自己的不足,并明确之后的学习改进方向。 如何写出一份优秀的简历,这里就给大家提供 3 个资源,足够了。 #### 1)在线简历制作工具 推荐使用我们团队自己开发的 [老鱼简历](https://www.laoyujianli.com)。不仅提供了开箱即用的简历模板,还有简历助手教你怎么写简历,甚至可以用 AI 帮你总结分析、自动生成简历。相比其他的简历工具,我们为程序员提供了更多现成的例句,也能帮你了解别人简历上都写了什么内容。 >老鱼简历:https://www.laoyujianli.com <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/6i82EQjAaxhvsnj6.webp" alt="" width="100%" /> #### 2)保姆级写简历技巧 这是鱼皮本人结合修改上千份简历的经验,精心编写的、2 万多字的写简历教程,认真阅读一遍,不仅能学会怎么写简历,还能 get 到很多获取简历亮点的方法。 以前这个文档是仅编程导航内部可见的,现在为了帮助到更多同学,完全免费公开出来:https://codefather.cn/course/cv <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/GyiflpDEnx8gyWbu.webp" alt="" width="100%" /> #### 3)现成的简历参考 俗话说知己知彼,百战不殆。大家可以直接在编程导航网站的简历专区,查看鱼皮本人修改过的 **几百份** 现成的简历来参考。基本上看个十几份简历,就知道自己的水平处在什么位置了,还能分析出接下来要学哪些知识。 > 简历参考:https://codefather.cn/job/resume <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/oZVDMA8EWKY2hNNM.webp" alt="image.png" width="100%" /> 在准备简历的过程中,可能会感到有压力。不过没关系,这是很正常的!我们要做的就是 **克服压力、弥补不足**。 还有一些其他的建议: - 如果你不知道简历上的技术板块怎么写,那就想想自己学过什么技术,然后去网上看课程大纲来快速浏览该技术的知识点,再针对性地学习和查漏补缺。 - 如果不知道项目板块怎么写,那就翻一翻自己之前做过的课设,无论项目好坏,先把用了哪些技术、做了哪些功能写上去。有总比没有好,后面再持续完善。 ### 4、制定计划 准备好简历后,就要为接下来几个月的时间制定一份学习计划,**从大到小的计划都要有**! 比如: - 下个月我要完成一个项目 - 这周我要看完一套课程 - 今天我上午要学算法、下午要做项目 总之,计划越详细越好,相当于你在跑马拉松时全程都有路标,能帮助你坚持执行,并有效防止时间偷偷溜走。 鱼皮从很早很早之前就养成了定制计划、每日复盘的习惯,受益匪浅,用在线文档工具记录即可: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/Ijr1ADbbyE7WCTlZ.webp" alt="" width="100%" /> 具体要怎么定计划呢?2 个技巧: #### 1)结合简历 别人的计划未必适用于你,所以一定要从自身的简历出发,制定更适合自己的计划。 举些例子: 1. 技术学的不多。那就阅读鱼皮的 [Java 学习路线](http://codefather.cn) ,按照顺序依次学习,并保证能写出代码。 2. 项目没有亮点。那就学习更多技术特性,并运用到项目中,建议持续完善一个自己的主打项目,而不是反复增删改查。 3. 没有上线项目。那就抓紧看网上的教程去完成。 这里当然要推荐鱼皮手把手带大家做的 [10 多套项目教程](https://www.codefather.cn/post/1797431216467001345) ,从学知识 => 实践项目 => 复习笔记 => 项目答疑 => 简历写法 => 面试题解的一条龙服务!按照顺序学习、或者挑选自己不会的技术对应的项目即可,项目中会带你快速学习技术,并立刻运用到实战中: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/cGQdqiTGUfdd5pMW.webp" alt="" width="100%" /> 正在更新的大项目《智能协同云图库平台》,干货十足: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/lpKNVZEn8f7Garvu.webp" alt="" width="100%" /> #### 2)明确关键时间点 一定要给自己的计划设置 **里程碑**,也就是目标,可以用倒推的方式来梳理。比如 2 - 3 月份春招开始,那么 1 月结束我要完成基础的巩固、并且上线 1 个项目;2 月第一周复习数据库面试题、第二周复习缓存、第三周复习 JVM 之类的。 #### 不会做计划? 如果你发现自己心里没数、做不出计划,也完全不用慌。有几种方式帮你做计划: 1)参考其他同学的学习计划和总结。 我们《编程导航学习指南》沉淀了很多同学真实的学习计划、总结、学习经验方法,找到一个情况相似的分享,就能快速复刻了。 > 编程导航学习指南:https://yuyuanweb.feishu.cn/wiki/CHzBwweCIiKEoLkB5TVcPsGNnTf <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/XC6ikYRvRrmwiEE6.webp" alt="" width="100%" /> 2)直接向鱼皮提问 编程导航的同学可以随时 1 对 1 向我提问,只要描述清楚自己的情况,我会很快帮你做出计划,这是最省事的方法。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/8pL1PWo4qJ04OJO8.webp" alt="" width="100%" /> 3)和其他同学交流,比如编程导航上有非常多的编程学习者在每日打卡记录自己的学习情况,有不会的问题也可以抛出来大家一起讨论,学习氛围拉满~ <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/MBhUTVV6YV17sGiD.webp" alt="" width="100%" /> 此外,大家也可以加入鱼皮的 [25 届校招交流群](https://mp.weixin.qq.com/s/SyakYyrke34cWi_8Z1DAdA?token=768622432&lang=zh_CN) ,畅所欲言。 4)查看招聘官网的岗位描述,便于自己确定学习重点,随便举个 Java 校招岗位的例子: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/MfnVTBtoiDdWIg0l.webp" alt="" width="100%" /> #### 参考计划 这里鱼皮也给大家分享一个适用于求职突击的学习计划,以 Java 岗为例: 1)学习 Java 基础,看某马的 Java 教程(常见算法和集合进阶跳过) > 指路:https://bilibili.com/video/BV17F411T7Ao,这里没推荐韩老师是考虑到时间有限。 2)学习 Java 开发框架,看某马的 Java Web 一条龙教程(前端部分可跳过) > 指路:https://bilibili.com/video/BV1m84y1w7Tb 3)直接做项目,以项目驱动学习。推荐直接跟我的 [项目一条龙](https://www.codefather.cn/post/1797431216467001345) ,按顺序做完,后端必备的技能基本都学会并运用了。当然,也可以自己一个个搜索网上的项目教程。 4)系统学习 Java 后端中间件,比如 Redis、MQ、ES 等,B 站搜教程就行了,Redis 是必须要重点掌握的! 如果每天能冲刺学习 6 - 8 小时(也就是打工人正常的工作时间),2 - 3 个月就可以完成项目的上线。当然,也要看个人的学习态度和能力啦。 ### 5、上线项目 校招面试问题主要分为三部分:项目、算法、专业技能。(社招还会多一个 “工作经历”) 我之所以把项目排到第一位,是因为相对于算法和专业技能这些可以背的、相对死板的考察,项目才是真正用来区分和衡量面试者水平的。根据你做的项目,就能看出你的编程能力、编程经验、编程思维、学习能力、自主性、问题解决能力等等。 有一个好的项目经历,甚至可以主导面试的内容。比如我在自我介绍时提到自己做过一个微服务项目,用了数据库、缓存之类的技术,面试官接下来十有八九就会问你项目中用到的技术了。因为自己做过,所以回答起来才会更自然。实践出真知嘛,所谓背书的干不过写书的,也是这个道理。 而项目上线与否,差别也是很大的。之前分享过,校招强烈建议把项目上线、提供可在线访问的地址,否则万一跟别人的项目撞车了,面试官可能就会觉得你是抄的、不够真实。 前面我已经给大家推荐过一波自己的项目教程了,能力强、不需要别人教的同学也可以利用好 GitHub,多搜一些开源项目自学。 比如我开源的后端项目 - 手写 RPC 项目:https://github.com/liyupi/yu-rpc <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/rLNBaDAovhMcxO2c.webp" alt="" width="100%" /> 前端项目 - 极客范 Web 终端:http://yuindex.yupi.icu <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/1cP6gxJq5dvauT4R.webp" alt="image.png" width="100%" /> 前后端全栈项目 - SQL 代码数据生成器:http://sqlfather.yupi.icu <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/rwAP1Z7FLpT18U6T.webp" alt="" width="100%" /> 我开源的后端项目 - AI 自动回复工具:https://github.com/liyupi/yu-auto-reply <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/ByN55DKU2sP8rkoz.webp" alt="" width="100%" /> 这些项目都是我本人开发的,得到大厂朋友认可的,都是可以利用起来并学习的资源。当然你也可以在我的 GitHub 上( https://github.com/liyupi )找到更多: <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/sFkMk8nYdd0qStae.webp" alt="" width="100%" /> ### 6、刷算法题 算法是程序员的基本功,尤其是大厂校招面试,基本每轮都有 2 - 3 道算法题目。 但我的建议是,如果你的简历还没有已上线的项目、如果技术还没有学习到位,那么每日刷算法的时间消耗 **不要超过一个半小时**,每日 2 - 3 道题目,巩固下编程语法就足够了。 为什么这么说呢? 1. 如果是从 0 开始学算法,很难通过突击快速掌握;的确可以学会,但是能否面试时做出来题目需要一定天赋以及持续练习。 2. 刷算法这件事并不能给你的简历增加亮点,可能你刷了 200 题后,简历还跟之前一个样、缺乏竞争力。连面试机会都拿不到,刷那么多算法,性价比显然是不高的。 如果要系统地学习算法,可以阅读我的免费算法学习路线( https://codefather.cn )。 ### 7、准备面试 准备面试主要分为背八股文、自我介绍、面试表达。 这些都是要从自己的简历出发的。简历上着重写了什么技术,就去网上搜该技术对应的面试题和题解;写了什么项目,就准备好项目的介绍、以及项目中是如何运用技术的。 **而不是什么都背!** 无数同学的亲身经历证明,八股文真的是有效的。等你自己参与了几场面试后也会发现,经典的面试题就那么多,很多知识都是重复问来问去,比如: - Java 后端:MySQL 数据库如何性能优化、JVM 内存结构、Redis 是单线程还是多线程 - 前端:网页性能优化、Promise 原理、HTTP 和 HTTPS 区别 可别小瞧了背八股文,很多知识是你在学编程的过程中可能从未接触过的,通过背诵也能帮助你查漏补缺。 为了帮助大家更快地准备面试题、增加面试遇到原题的概率,我们今年重点打造了 [程序员面试刷题神器 - 面试鸭](https://www.mianshiya.com) ,没了解过的同学一定要看看,有不止一位朋友表示自己面试时被问到的都是面试鸭上的原题。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/Cgr3jIW0KNn62RIz.webp" alt="" width="100%" /> 除了死记硬背外,时间允许的话我建议大家动手实践一下,比如 MySQL 数据库性能优化,你可以试着提升自己项目中的数据库查询性能,这样在跟面试官对线的时候,才能理直气壮地说 “我做过”,而不是 “应该是这样吧”。 自我介绍也需要认真准备,不能支支吾吾,而是要流畅地介绍自己的优势、自己做过的项目、自己擅长的技术等等,便于引导面试官提问。关于如何做好自我介绍,鱼皮也在面试鸭上写过 HR 面试题库,完全免费! <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/R2hpu7Oe56NdGiMO.webp" alt="" width="100%" /> 至于面试表达的准备,我的建议是一定要自己 **多写答题思路** 、或者用录制音频视频的方式进行练习。光背题不记录,很容易背了就忘,效率不高。为了帮助大家养成良好的刷题习惯,锻炼表达能力,我们也搞了 [面试通关训练营](https://mp.weixin.qq.com/s/kwPMqCl5KmDfL7JfL4lM7g?token=768622432&lang=zh_CN) ,让大厂面试官带你刷题。现在还可以报名,即将正式启动。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/1VTCmXtKulMrpeSy.webp" alt="刷题计划表" width="100%" /> ### 8、调整心态 实话说,春招肯定是比秋招更卷的,因为多了考完研的同学。 竞争激烈的时候,大家比的不仅是谁的技术好、谁的项目多、谁的能力强,关键还要比拼心态。 我见过一些同学,简历投个几十份、面试失败个 1 ~ 2 次,然后就放弃了,还不忘在社交平台发布一句 “计算机,凉了!” 其实找工作本来就是需要运气的。跟打游戏上段位一样,有的时候不是你不够强,而是遇到了更强的对手。 所以别太在意失败,更没必要花时间来抱怨,而是要总结每一次的面试经历,完善自己的回答,让自己持续变强。 没有面试机会也是一样的, 我们既然无法改变大环境,又想得到成果,还不是只能改变自己?比如完善简历、再多做一个项目、再多准备一道题目等等。 听起来有些鸡汤,但如果你没有更好的选择,还是不要轻易放弃。毕竟你的那么多对手巴不得你放弃呢。 --- OK,这篇文章写了将近 5000 字,希望对大家有帮助吧。前面我提到,行动是第一生产力,放下手中的游戏、短视频,阅读完这篇文章,你就已经成功 50% 了;但如果你能坚持做到上述的几点,你就超过了 95% 以上的同学了,春招必胜! 如果这篇文章对你有帮助,还请给鱼皮点个赞;也欢迎转发给刚考完研还在迷茫的朋友,不必藏着掖着偷偷卷,因为绝大多数人哪怕看了这篇文章,也不会行动的。大家加油~ ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://mianshiya.com)
几个自学项目的通病,别因为它们浪费了时间!
大家好,我是程序员鱼皮。就在昨天,我又带大家做完了一个新项目 [《智能协同云图库平台》](https://mp.weixin.qq.com/s/ropSQg6tGKKTMSEBeeWFog?token=1846153524&lang=zh_CN),已经带大家做了十多个项目了,自然也发现了很多大家在学项目过程中的问题。 最了解学生的,莫过于老师和学生自己。而我经历了自学阶段,从学生成长为了老师,所以也很清楚怎么自学项目,效率才能更快一些。这篇文章,就分享一下我发现的大家自学项目时的通病。 **注意,本篇文章中我写的所有内容,目的都是为了帮你节约时间,提高自学效率。** 如果你正好有下面这些情况,请务必及时调整! <p align="center"><img src="https://pic.code-nav.cn/post_picture/1601072287388278786/37gyw48u340hDSta.webp" alt="" width="220px" /></p> ## 自学项目的通病 ### 1、重复工作 任何业务类项目基本都是从项目初始化、编写增删改查开始的,在你做第一个项目的时候,自己手动编写这些代码没有任何问题,主要是熟悉自己搭建项目的方法和过程。但当你做第 2 个、第 3 个项目的时候,如果还在从 0 开始写基础代码(比如全局异常处理器、一些工具类),那就属于是浪费时间了,完全可以通过复用自己之前的项目代码、使用工具自动生成、或者搭建一个自己的项目模板来提高开发效率。 像我工作的时候遵循一个原则 —— 只要有重复劳动,都会尝试能否通过自动化的方式来提高效率。大家学项目时也是如此,避免在重复工作上耽误时间,不要满足于 “自己重复代码写得有多快”,而是要多把时间花在学习新的技术知识上。 ### 2、死守教程 大家都知道,每个教程中作者都会选择特定的版本、技术和工具来教学,没有人能保证这些技术和工具不更新,所以每个教程一定有自己的 “保质期”。 像我在几年前最开始带大家做第一个项目 —— 用户中心项目时,就吃过技术更新的亏,由于前端框架的更新,导致前端部分的开发跟教程有一些不一致。所以后续我在带大家做项目时,会倾向于选择稳定的框架和版本。 当然,这是对于项目作者来说的。那对于学习项目的同学来说,可能就会产生很多问题: - 为什么我使用的版本跟教程不一致了? - 为什么教程中用的工具有这个按钮,但我用的工具没有这个按钮? - 为什么我在官方文档中找不到教程中写的内容了? - 为什么我跟教程中操作一模一样,但是运行结果不同? 很多初学者会因为这些问题,纠结很久,甚至不敢接着往下做项目,其实大可不必。 **任何教程都有保质期,但解决问题的方法是灵活的。** 如果使用的版本或环境跟教程不一致,那么不妨安装跟教程相同的版本(比如前端可以用 NVM 管理 Node.js 版本),或者查阅下如何使用新版本;如果用了比教程更新的工具,那么就在网上搜一下新版本的工具有没有教程中要执行的功能;如果官方文档跟教程中的内容不一致,那么就仔细阅读一下官方文档中最新的使用方法;如果跟教程中操作一模一样但结果不同,那么不妨自己 Debug 一下来解决问题,有可能就是教程本身有错误呢? 总之,在出现跟教程不一致的地方时,可以先记录一下问题,并且自己查阅资料和文档,不必完全死守教程。 ### 3、滥用技术 之前有个同学问我:鱼皮,我们公司想做个发券功能,现在的想法是用 Redis 分布式锁 + 消息队列 + blablabla。。。 我反问他:你们发券功能的 QPS 是多少?同时要发多少张券? 他跟我说:我们是管理员给用户发券,每批 1000 张。 我接着反问他:既然是管理员控制发券,数量也只有 1000 张,那你不妨思考一下,真的有必要用到这些技术么? 类似的情况我之前也分享过,可以看 [这篇文章](https://mp.weixin.qq.com/s/84i1zmBmi0-R9aIvFtnMXQ?token=1846153524&lang=zh_CN) 。 **在企业中,业务 > 技术,技术是为业务服务的,要根据业务选择合适的技术实现。** 一般来说,我们在思考业务实现方案时,能少用一个技术就少用一个技术,减少开发和维护成本。 但我发现有些同学可能是学的技术多了、也可能是八股文背多了,在做项目功能时,反而是先搬出一大堆的技术,完全不去考虑有没有必要用这些技术,有点儿 “为了学习而学习” 了。其实从学习的角度来说,多用点技术倒也没什么问题,但是如果你把这些写到简历上,面试官就会问你:“为什么要用这个技术?不用它行不行?”,这时你又该如何回答呢? 所以大家即使是自学项目,也建议找到合适的业务场景,合理运用技术。就像我昨天刚给大家讲完 DDD 领域驱动设计,有些同学就表示 “以后就用 DDD 架构来做项目了”,但其实大家自己做的项目,90% 以上是没必要用 DDD 的。 <img src="https://pic.code-nav.cn/post_picture/1601072287388278786/UTwjSOS8BMt0bc63.webp" alt="DDD 的目录结构" width="100%" /> 当然,多学新技术肯定是好的,相当于填充了我们的弹药库;但使用弹药时,肯定优先选择成本低的、最合适的。 ### 4、不够灵活 我在讲 DDD 领域驱动设计时,先问了大家一个问题:如果必须要 2 选 1,你觉得开发项目时理论和实践哪个更重要? 结果大家一致选择了 “实践”。 没错,理论再完美,不能落地也无法创造价值;理论再丰富,也不一定能满足所有的实践需要。做项目时,理论的指导固然重要,但一定要结合实际情况按需运用和调整。 举个例子,大家学数据库理论的时候,老师可能会讲 “我们可以通过外键来保证数据完整性,要遵循第三范式,要遵循 ACID 原则”。但实际开发中,我们可能会用逻辑外键(不添加外键约束)的方式来实现表之间的关联,可能会违反数据一致性,但是能提高写入性能。 我在带大家做项目的过程中,发现很多同学就会特别执着于 “理论和规范”,比如: - 你的目录命名怎么是 utils 而不是 util?为什么数据库对象用 Entity 而不是 PO? - 为什么你的数据库字段用驼峰而不是下划线? - 为什么你只创建一个对象,却不使用单例模式? - 为什么你的接口不遵循 Restful 的规范,删除资源时还是使用 Post 请求? 这些都是我经常收到的问题,但其实都是无足轻重的问题。大家不要把时间浪费在纠结理论或规范上,毕竟这些都是人定的,在不违背原则或产生 Bug 的情况下,**我们保证团队内部、或者自己开发时的规范保持一致即可**。养成统一的编码风格和开发习惯,也能帮我们提高开发效率,没必要完全和教程保持一致。 --- 除了上面几点外,我们也要时刻把握自己的学习重点,比如后端方向的同学,就尽量不要花时间在调试前端的样式上。像我大学的时候就是学的有点太杂了,有一段时间沉迷于抠前端的像素无法自拔,现在回过头来想想,确实浪费了太多时间。 ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://mianshiya.com)
我坚持 4 年的省时间大法!
无论是校园学习还是职场工作,你以为跟别人比拼靠的就是天赋和努力,其实比的还有方法和心态。 就拿学习来说,有的人备战考研走一步看一步,时间很赶;有的人会提前规划好考研的时间安排,有序完成。这是比方法。 就拿工作来说,有的人拿到复杂的任务,就觉得自己完不成;有的人拿到复杂的任务,会设计各种方案来攻坚。这是比心态。 今天要分享的是我自己一直以来坚持的 15 个节省时间的方法,帮大家把学习和工作效率拉满,也能减少迷茫。 1)先完成确定的工作:没想好怎么办时,先做清楚的任务。比如我写文章没灵感时,就不会硬想,而是先去做别的,把控整体的工作进度。 2)制定清晰的任务清单:按照优先级整理自己的每日任务,一条条打 ✅ 完成,增加动力。 3)时间切片:将每天的时间分段,每段只专注完成一个小任务,减少连续高强度学习的压力。 4)分解复杂任务:把大任务分成小步骤,逐步攻克,尤其适合写论文、搞大项目和方案。当你觉得做一件事情很难时,就必须这么做。 5)学会适时放弃:拒绝一些不重要的任务,不要让一些小事干扰了你的节奏。 6)减少无效信息:限制刷手机的时间,工作时设置为免打扰。你是要干大事的人,怎么能沉迷于某音某手某书? 7)提前准备:提前准备好第二天的事情,减少开工阻力,适合假期结束的时候。 8)用过渡任务启动:当你不想工作的时候,可以先选择一个简单不费脑的任务开始,逐步进入状态。 9)学会复用:对程序员来说,这是基本功,但复用的难点在于沉淀,建议定期整理自己的工作成果,便于后续找到它并复用。 10)劳逸结合:休息是非常有必要的,学习工作一段时间后,去接杯水吧~ 11)利用碎片时间:如果你真的很忙,不妨利用通勤等零碎时间完成小任务,比如回复消息、读文章背单词等等。 12)批量处理任务:把相似任务集中处理,节省切换时间。我也是这么建议团队的运营和销售同学的,如果每分钟都盯着消息看,就没有连续的时间做其他工作了。 13)倒计时法:给任务强行添加一个时间限制,鼓励自己快速完成。看过我教程的同学应该知道,经典 “20 分钟” 嘛,就是这个作用。 14)简化决策:我们每天都会在日常琐事选择上浪费很多时间,比如外卖点什么、今天穿什么,可能我就比较随意,吃啥穿啥都行,把时间留给更重要的事情。不过如果不忙的话,选择何尝不是一种惬意? 15)定期反思优化:可以每周回顾一次时间管理,找出效率不高的原因,便于后续改进。我们每个人都有自己的黄金时间,也就是一天中你注意力最集中的时间,找到它很重要。(不过现在很多年轻人的黄金时间都是在半夜?) 以上 15 个方法,看看你用过哪些呢?还在迷茫的话,不妨就立刻挑一个小任务开始行动吧! ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://mianshiya.com)
java后端的话,熟悉代码的流程可以参考一下: 1.了解后端架构、基础框架是什么,容器、模块通信、数据库操作、消息队列、任务调度等框架(例如springcloud + dubbo + mybatis + RabbitMQ + xxl-job),先把服务跑起来 2.在测试环境的客户端(web/app)页面操作业务,熟悉基本业务流程,根据http请求找到对应后端接口代码,看下crud是怎么写的,这样就可以写一个新功能了 3.根据配置文件找下数据库账号密码,登录数据库查看库表,找到代码中对应的表把主外键搞清楚 4.看下接口鉴权、校验、全局异常处理、aop、自定义注解、业务异常的实现,帮助本地启动时调试 5.看下代码功能中通用部分的位置,工具类、常量、枚举等,了解代码范式,避免重复造轮子 其他的暂时想不到了,仅供参考
cursor 使用经验分享,满满干货
<section id="nice" data-tool="mdnice编辑器" data-website="https://www.mdnice.com"><p data-tool="mdnice编辑器">cursor 是一款基于 VSCode 的 AI 优先编辑器,如果你还没有体验过它,我强烈建议看完这篇,因为 cursor 真的在改变编程游戏的规则,在了解 cursor 前,可以先思考一下我们日常在编程环节都做哪些事情,我日常开发中,占据绝大多少的是:</p> <p data-tool="mdnice编辑器">1、编写代码</p> <p data-tool="mdnice编辑器">2、测试代码 & 验证效果</p> <p data-tool="mdnice编辑器">3、阅读之前的代码</p> <p data-tool="mdnice编辑器">4、查阅文档(例如:MDN)</p> <p data-tool="mdnice编辑器">5、书写文档</p> <p data-tool="mdnice编辑器">6、review 代码,提交 commit</p> <p data-tool="mdnice编辑器">7、优化代码,重构代码</p> <p data-tool="mdnice编辑器">。。。可能还有一些小的事情,以上所有的事情都可以通过 cursor 来提速,让我们一起看一下 cursor 吧!</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">它的能力</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">cursor 帮助我们的基础方式如下:</p> <ul data-tool="mdnice编辑器"> <li><section>tab 代码补全功能:生成,修复,重构代码</section></li><li><section>提示框(cmd + k): 生成 or 修改局部(当前文件)代码</section></li><li><section>聊天(cmd + L / option + command + B):新增功能 ,更广泛代码问题对话的地方</section></li><li><section>@ 符号:它是用来引用一些东西,算是通过关联更重要的上下文来得到更准确的回复</section></li></ul> <p data-tool="mdnice编辑器">这样来看,我之前使用的通义灵码也都可以,但是它不一样,不一样的地方有:</p> <ol data-tool="mdnice编辑器"> <li><section>交互不一样:它除了有其他产品的补全代码,它还能对当前代码进行修改(理解为 bug 修复,重构代码),它还能预测你的光标要移动到的位置来让你真正沉浸式编程</section></li><li><section>模型不一样:它使用目前最强的 Claude 3.5 Sonnet</section></li><li><section>感觉不一样:当我们在 VSCode 使用其他工具,会感觉有割裂感,但是 cursor 不会,我会感觉 AI 能力和编辑器融合的很好,这样我们能更加融入AI 编程中,真正实现 AI 结对编程(和 AI 甜蜜双排,从此写代码不孤独)</section></li><li><section>生成的结果不一样:最重要的当然是生成的结果,这段使用的时间中,cursor 得到的结果,基本上都是我想要的,偶尔有点小问题,也能很快找到原因手动解决掉</section></li></ol> <p data-tool="mdnice编辑器">你以为这就完了,这其实才刚刚开始,下面我们看一下 cursor 真正的杀手锏的能力</p> <p data-tool="mdnice编辑器">1)终端对话</p> <p data-tool="mdnice编辑器">对于前端来说,很多 linux 命令,我们不常用,有时候也会使用但总是记不起来,需要查阅文档,在 cursor 中,我们直接在终端按下 cmd + k,就可以唤起对话,描述出要做的事情来询问对应的命令是什么,AI 会帮我们找到命令,然后输入到命令行</p> <figure data-tool="mdnice编辑器"><img src="https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123005615242.png" alt="image-20241123005615242"><figcaption>image-20241123005615242</figcaption></figure> <p data-tool="mdnice编辑器">除此之外,我们还可以使用它来生成 commit 信息,先在终端中,输入‘git diff | cat’,获取最近的修改,然后 cmd + k,在提示栏中输入‘git commit message’, Cursor会给你生成一个带 commit message 的 git commit 命令</p> <p data-tool="mdnice编辑器">2)composer(beta 能力,需要开启)</p> <p data-tool="mdnice编辑器">composer 其实就类似于 bolt.new (一个通过描述生成项目的工具),你给出需求,它会自动创建文件(夹)来实现需求,如何使用请看文档,后面我会使用 composer 能力来做一个项目分享它强大的能力</p> <figure data-tool="mdnice编辑器"><img src="https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123133733933.png" alt="image-20241123133733933"><figcaption>image-20241123133733933</figcaption></figure> <p data-tool="mdnice编辑器">更详细的请看:https://cursor101.com/zh/article/cursor-composer</p> <p data-tool="mdnice编辑器">3)文档能力</p> <p data-tool="mdnice编辑器">在 Cursor Setting > Features >Docs 我们可以添加我们日常使用的文档,例如:mdn 文档,这样我们需要查询文档就不用去游览器,直接在对话框@ 选 Docs 来选择我们要查询的文档</p> <p data-tool="mdnice编辑器">4)code review (beta 能力,需要开启)</p> <figure data-tool="mdnice编辑器"><img src="https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241122233238837.png" alt="image-20241122233238837"><figcaption>image-20241122233238837</figcaption></figure> <p data-tool="mdnice编辑器">review 目前可能没有那么强大,我的方式是多问几次,三次左右,来保证潜在问题都被 AI 发现,最后自己再 review 一遍</p> <p data-tool="mdnice编辑器">5)强大实用的 @ 符号</p> <p data-tool="mdnice编辑器">无论是单独的对话框还是代码内对话弹窗,我们输入 @ 后就会看到</p> <figure data-tool="mdnice编辑器"><img src="https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123124648079.png" alt="image-20241123124648079"><figcaption>image-20241123124648079</figcaption></figure> <p data-tool="mdnice编辑器">6)AI fix</p> <p data-tool="mdnice编辑器">当我们在代码报错后,鼠标移入会有 AI FIx 按钮,或者终端报错,我们选中报错,会有 Add to Chat 按钮,我们可以在对话中进行报错询问</p> <p data-tool="mdnice编辑器">7)预测你的下一步</p> <p data-tool="mdnice编辑器">它会猜你下一步做什么,并且把光标放到合适的位置,让你真正一路 tab</p> <p data-tool="mdnice编辑器">以下是一些还没有体验过的规则:</p> <p data-tool="mdnice编辑器">8)自定义规则 (AI rules)</p> <p data-tool="mdnice编辑器">我们可以在项目根目录新建 .cursorrules 来自定义规则,有一个专门的社区:https://cursor.directory/,里面有实用的规则,我们可以直接复制使用</p> <p data-tool="mdnice编辑器">9).cursorignore</p> <p data-tool="mdnice编辑器">类似 .gitignore ,定义不让 cursor 读取的内容,保证安全</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">使用场景</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">1)学习源码 、新技术、框架等等</p> <p data-tool="mdnice编辑器">通过 cursor 的超强能力,我们可以拉取一个源码到 cursor 中,渐进的询问当前项目的问题,我们想要询问编程概念问题;获取代码建议和最佳实践;调试和错误排查的时候我们可以通过 cmd + L 唤起对话框来进行连续提问</p> <p data-tool="mdnice编辑器">2)做项目、写项目文档</p> <p data-tool="mdnice编辑器">3)重构代码</p> <p data-tool="mdnice编辑器">4)利于 @ Docs 能力,建立自己的知识索引库</p> <p data-tool="mdnice编辑器">5)写小工具网站,快速想法变为现实,例如:在线工具库,导航网站等等,这对有想法的产品经理来说是福音,他们可以快速把自己想法变成现实</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">一些 cursor 看法</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">cursor 目前面临的质疑有:</p> <ol data-tool="mdnice编辑器"> <li><section>面对复杂项目就没有作用了,甚至会把事情变得更加糟糕</section></li><li><section>cursor 产生的代码质量不高</section></li></ol> <p data-tool="mdnice编辑器">那 cursor 无论怎么说都是一个工具,它的核心是提高我们的效率。我会它当做成雇的初中级工程师,所以我在让它帮我完成工作前,我肯定会事无巨细的告诉它这个工作如何完成,并且我会通过 @ 文件能力,仅仅把相关的上下文给他,来防止它上下文太大导致回复不准确问题(也就是产生幻觉),所以有三个能力在使用 cursor 非常非常重要:</p> <ol data-tool="mdnice编辑器"> <li><section>提问能力:cursor 核心还是对话,通过 chat 来解决问题,得到我们想要的内容,那么描述清楚问题是一切的基础,推荐阅读《提问的智慧》</section></li><li><section>拆解需求能力:要有把复杂问题拆解为简单问题,把大需求分解为小需求的能力,然后清晰描述出小需求给 cursor ,让它每次只做一个小的需求</section></li><li><section>有强大的知识储备,解决问题能力:cursor 根据我们提出的问题(描述)生成回复,那我们必须要知道这个东西如何实现,能够清楚描述出来,得到的结果如果有细小的错误,我们自己也能及时发现并修复</section></li></ol> <p data-tool="mdnice编辑器">哦对了,了解 AI 如何工作也是必备的,这样才能更好的使用 AI,把 AI 当成自己雇佣的开发者,多了解它才能让它发挥最大的作用</p> <p data-tool="mdnice编辑器">所以 cursor 到底能够有多厉害,关键还是在人,高手中的 cursor 和初级开发者手中的 cursor 是两个产品</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">对比 windsurf</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">windsurf(风帆冲浪)和 cursor 类似,基于 VSCode 的 AI 编辑器,它是 codeium 下的产品</p> <p data-tool="mdnice编辑器">官网:https://codeium.com/windsurf</p> <p data-tool="mdnice编辑器">根据官方的描述,它相比较 cursor 在体验上更加流畅,在处理复杂大型项目更加友好,它将流程(flow)作为核心设计理念,提供更连贯的开发体验,个人测试了一下,它在写新功能场景下,使用 Write mode ,它会帮我们更加流畅的创建需要的文件,实现功能。</p> <p data-tool="mdnice编辑器">如果必须做一个选择,那我目前还是会渲染 cursor 的</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">怎么免费白嫖会员服务</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">cursor:其实很简单,cursor 新人是有 14 天体验会员,cursor 账号可以使用 Google 账号,那我们就可以在我们体验会员过期后,使用 Google email (https://mail.google.com/mail/u/0/#inbox)申请子账号的能力来实现 cursor 会员自由</p> <p data-tool="mdnice编辑器">windsurf(免费领取会员链接:https://codeium.com/offers?offer_code=codeium-thanks-you ),它目前在推广阶段,可以免费领取两个月,使用的也是 Claude 3.5 Sonnet 模型</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">总结</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">常用技巧(来源网络:https://x.com/LinearUncle/status/1841703117865550038)</p> <figure data-tool="mdnice编辑器"><img src="https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/cursor_use1%20(1).webp" alt="cursor_use1 (1)"><figcaption>cursor_use1 (1)</figcaption></figure> <p data-tool="mdnice编辑器">cursor 这类的产品真的是颠覆了开发模式,现在我们可以在 cursor 这样的编辑器 all in one,而且我们可以更多的关注业务,减少重复代码工作,那我们节省下的精力就可以:</p> <ul data-tool="mdnice编辑器"> <li><section>让我们写出更加规范的代码</section></li><li><section>让我们研发流程更加规范,如果真正做到每次让 cursor 做一个小需求,然后完成后,我们提交一个 commit,然后提交 pr,这样能避免一个 pr 改动太大的问题</section></li><li><section>让我们可以有更多时间解决有挑战的事情,提升自己</section></li><li><section>让我们能够从基础 CRUD 脱离,去思考</section></li></ul> <p data-tool="mdnice编辑器">如果你真的使用 cursor ,你会发现代码都被 AI 写了,会产生一种完啦,我快要被替代了的感觉,是的,我是这样想的,面对变化最好的变化就是拥抱变化,加入变化,这样才能更好的找到破局的方法,AI 对编程行业真的在进行颠覆性的改变,并且不可阻挡</p> <p data-tool="mdnice编辑器">如果觉有有用,点个赞再走吧,这对我真的很重要,谢谢啦!</p> <h2 data-tool="mdnice编辑器"><span class="prefix"></span><span class="content">参考</span><span class="suffix"></span></h2> <p data-tool="mdnice编辑器">Cursor101:https://cursor101.com/zh/</p> 原文:https://www.luckysnail.cn/posts/post-27 </section>
