又到了年底写年终总结的时候了,说实话今年感觉没什么内容可写。上半年我已经写了 叙一名转专业+休学的大学生经历,而下半年我忙于学校课程 + 课程重修,要说编程上真没什么好总结的。
不过如今都大四了,也确实是要考虑实习的事了。我想结合我自身情况,谈谈我是怎么看待工作或者往远点说职业规划。
代码人生:编织技术与生活的博客之旅
又到了年底写年终总结的时候了,说实话今年感觉没什么内容可写。上半年我已经写了 叙一名转专业+休学的大学生经历,而下半年我忙于学校课程 + 课程重修,要说编程上真没什么好总结的。
不过如今都大四了,也确实是要考虑实习的事了。我想结合我自身情况,谈谈我是怎么看待工作或者往远点说职业规划。
关于 restful api 想必不用多说,已经有很多文章都阐述过它的设计原则,但遵循这个原则可以让你的 API 接口更加规范吗?以下是我对 restful api 风格的一些思考🤔。
正如标题所言,在我四年的编程经历中就没刷过一道算法题,这可能与我所编写的应用有关,算法对我而言提升不是特别大。加上我几乎都是在需求中学习,而非系统性的学习。所以像算法这种基础知识我自然就不是很熟悉。
我在今年暑假期间有一个面试,当时面试官想考察下我的算法能力,而我直接明摆了说我不行(指算法上的不行),但面试官还是想继续考察,于是就出了道斐波那契数列作为考题。
但我毕竟也接触了 4 年的代码,虽说不刷算法,但起码也看过许多文章和代码,斐波那契数列使用递归实现的代码也有印象,于是很快我就写出了下面的代码作为我的答案。
function fib(n) {
if (n <= 1) return n
return fib(n - 1) + fib(n - 2)
}
面试官问我还有没有更好的答案,我便摇了摇头表示这 5 行不到的代码难道不是最优解?
事实上这份代码看起来很简洁,实际却是耗时最慢的解法
毫无疑问,在算法这关我肯定是挂了的,不过好在项目经验及后续的项目实践考核较为顺利,不然结局就是回去等通知了。最后面试接近尾声时,面试官友情提醒我加强基础知识(算法),强调各种应用框架不断更新迭代,但计算机的底层基础知识是不变的。于是在面试官的建议下,便有了本文。
我曾经写过一个项目 ddddocr_server,使用 fastapi 提供 http 接口,以此来调用 ddddocr 库。
其他语言想要调用的话,则是通过 http 协议的方式来调用。然而 http 协议的开销不小,而 Websocket 调用又不灵活,此时针对这种应用场景的最佳选择就是 rpc(Remote Procedure Call 远程过程调用),而这次所要用的技术便是 grpc。
早闻 gRPC 大名,所以这次将使用 nest 通过 grpc 的方式来调用 python 的 ddddocr 库来识别验证码。
我一般很少做年中总结,但是这上半年发生在我事情比较多,加上毕业季,万千感慨涌上心头。
过得很快,本该在这个时间段毕业的我,因一意孤行申请休学一年,导致我比原同一届的人晚毕业一年。也正是这个决定改变了我的人生轨迹,让我成长了许多。
如今的我作为一名准大四的大学生 👨🎓,且经历过转专业和休学的大学生,来叙述自己的经历。
首先我不是 iphone 用户,甚至是果黑(苹果的小黑子,合理来说是苹果手机的小黑子),所以我一向从内心就很摈弃苹果的产品。因此我从来没体验过 MacOS 系统,用了近 4 年 window,不过由于我的那台 window 本 (21 年小新 pro14) 给我的体验非常差,虽然说续航勉勉强强足够支撑我一个下午的开发,但 intel 的 i5 cpu 我就没打算将其作为主力机开发(根本做不了),更多是使用向日葵远程桌面软件来远程连接到我的台式电脑,远程操控来进行开发。然而由于屏幕分辨率不同以及网络延迟,这样的体验长期下去必然会崩溃。因此更换自己的移动办公设备已经成了我当下的刚需。
见识到诸多程序员大神都将 mac 作为主力开发机器,同时又被安利过很多次 MacBook,但我一直对 macOS 保持观察的态度,自己从未亲自体验过,最多也就看别人用用,在 window 上这些同样也能实现,何必要多此一举再去了解一个新的系统,新的操作逻辑。但直到我真正接触并体验过 macOS 后,我便爱不释手。
在写这篇文章时,我已经用了近一周的 macbook,因此想分享个人的购买流程、选购建议、使用感悟,或许对于某些想要尝试 MacOS 但又保有迟疑态度的用户有所帮助,也算是给曾经的我对苹果的偏见的转变。
拖更了近两个月的博文了,摆了一整子,说来也确实有些许惭愧。不过目前生产力工具已就绪,也要开始步入正轨。
当我起这个标题时,其实我已经很久没更新(翻看)过笔记了,甚至我都不记得我的博客还有笔记这个东西。
当我翻阅 git 记录,寻找上一次在笔记文件夹的 commit 提交记录,还是在去年的 10 月 1 号。
然而并不是我的技术栈没更新,而是我实实在在没去为这些技术栈编写过笔记。仅有的只是博文来记录自己所用的过程。
因此我想思考下我为何不记录笔记。
对于想快速实现一个产品而言,如果使用传统开发,又要兼顾前端开发,同时又要花费时间构建后端服务。然而有这么一个平台(Baas Backend as a service)后端即服务,能够让开发人员可以专注于前端开发,而无需花费大量时间和精力来构建和维护后端基础设施。
对于只会前端的人来说,这是一个非常好的选择。后端即服务的平台使得开发人员能够快速构建应用程序,更快地将其推向市场。当然了,你可以将你的后端应用接入 Baas,这样你就无需配置数据库,编写复杂的身份效验。
如果你想了解 Baas,我想这篇文章或许对你有所帮助。