获得徽章 0
- 又是一年裁员季...
打开boss,我这是捅了外包窝了嘛是
不是外包就是驻场,还有外地和猎头,再往下翻翻竟然没了??
近些年忙于业务不怎么发技术博客,没想到公司把我逼成跳槽区博主
等人赞过24 - 最近看图解算法的knn章节,突然想到听歌识曲, 查了下原理
1. 人类识别:听到音乐 - 寻找特征(音色、旋律)- 大脑中搜索
2. 程序识别:音频信号转数字信号 -> 特征提取 -> 构造音频指纹(类似于id)-> 检索/相似度计算 -> 数据库搜索
3. 指纹的核心是将多个峰值点组合在一起构成一个指纹哈希
4. 指纹和数据库匹配的简易版伪代码
```
lib = [{id:1, time:1},{id:2, time:2}, {id:3, time:3}]
hash = 4
```
找到最像的两首曲子, 得到id2和id3展开等人赞过评论4 - #码上掘金# 看了《大话软件工程》需求分析那几个章节,感觉待过的团队从产品到研发都不太规范,可以快速完成基础的活,但是对于流程、规范把关都不够。
举个例子,团队内没有见过产品经理整理的需求规格说明书(项目目的、背景、功能需求、非功能需求、技术需求)、开发没有见过做单元测试的、对工程化非常模糊、止步于脚手架起步和打包,甚至lint都是摆设。
文档在什么时候能见到?申请软著、专利或者员工离职的时候临时拼凑的。不说导致什么问题了大家都懂。同样没有测试过的接口、api摆出来都是非常危险的,仅靠测试团队把关远远不够,看着后端同学总是半夜被叫起来搞服务也于心不忍。
怎么解决呢?这不是一个人的事,还是需要团队有这个意识,并且把这个规范的过程重视起来,得想办法领导去牵头搞这个东西,并且排到计划里给出充分的时间去做。展开等人赞过28 - 《代码整洁之道 程序员的职业素养》读后感1. 每个专业软件开发人员必须精通的事项:
● 设计模式 能够准确描述所有设计模式,同时要有实战经验
● 设计原则 必须了解SOLID原则,深刻理解组件设计原则
● 方法 必须理解XP、Scrum、精益\看板\瀑布、结构化分析、结构化设计
● 实践 必须掌握测试驱动开发、面向对象设计、结构化编程、持续集成、结对编程
● 工件 必须了解如何使用UML图、DFD图、结构图、流程图、决策表、状态迁移图、Petri网络图
2. 专业的开发人员懂得说“不”
3. 专业的开发人员会认真履行说过的话
4. 让代码灵活易修改的办法就是经常改
5. 不要把自己没把握的代码丢给测试
整个书读完我印象比较深的还是第一点,说到底软件工程同样是工程,就需要注重工程化,每一步都必须严谨,要做一个专业的工程师。
程序员前期的经验只是能保证你熟练使用工具,但是软件工程绝不只限于此,你需要了解这个工程的每一个步骤,懂得看图纸、算工期、带新人、规范流程、按时交付、关注工程质量。
我准备从这几方面入手去改变,规范文档,项目接入测试、工程脚本、代码lint检测,从小项目着手,再逐步推广。展开等人赞过评论6 - #为什么阅读源码,接着昨天发的沸点,我仔细想了下
主动阅读源码的原因我觉得应该是这样的,
1. 应用场景,基于项目中出现的难点,
● 用的框架有bug导致难以往下运行
● 我自己做不出来但是搜到了这个库,想看看它内部原理是如何
本身是揣着问题找答案,这种情况是很容易学到东西的。
2. 基于学习目的,我想学到什么?
● 运行原理,例如经常说的响应式原理
● 设计模式的运用,很多人说自己公司做的项目很垃圾,用不到什么设计模式,都是脚手架一搭,然后堆业务。首先,肯定他没有好好理解设计模式;其次,不理解就没法用的恰到好处。理解了之后,想看看真实的应用例子,这个时候就可以读源码,因为框架代码的可读性、扩展性非常高,所以会用到很多设计模式。
● 工程化,代码检测、性能优化、易测试、易部署,这些都是值得我们学习的
● 最佳实践,优雅降级策略,多个库的组合运用,如(ts+vite+...)
● 架构设计,开源大会中框架作者在讲自己的框架时总能拿出架构图来展示,在源码中如何体现,思路是如何,这些都需要去阅读验证
带有这些目的去学习之后,先不说优化自己的代码,理论层面想想我做的项目架构、设计模式的应用、项目难点、是否可以在工程化方面优化,而不是卡死在第一层(原理全文背诵)展开等人赞过评论5
![[撇嘴]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_14.8130d96.png)