Hawtim

Results 47 comments of Hawtim

### 程序员如何利用技术变现 - 先有小成功,先做出一点小成就,慢慢转化为自己的优势,不断通过正反馈 push 你变得更好,获得持续性成长和声望。 - 关注有价值的东西,关注技术的本质,了解哪些技术是未来的发展方向,先学习,先攻克。因此就会有市场供需,技术趋势上的差异来提高你的价值。 - 学习技术的时候一定要多问自己两个问题,这个技术解决什么问题,为什么别人做不到,为什么是这么解决的,有没有更好的方式。即 what why how who。 - 有大公司关注的技术更加值得关注。 - 找到能体现价值的地方,大公司多数时候只能让你当螺丝钉,但是却有规范的流程。所以先去大公司,然后再去快速发展的公司,最能体现你的价值。 - 动手能力非常重要,你能全面的 cover 细节,你才能提出更好的,更加靠谱可落地的解决方案。 - 关注付费技术点,一个是帮别人挣钱的技术,一个是帮别人省钱的技术。 - 提升自己的能力和经历,别人对你的信任取决你获得的成就。 - 找到有价值的信息来源,使用谷歌,使用英语搜索。 - 输出观点和价值观,需要一个持续的过程来输出自己的价值观,继而获得影响力,需要有一个复利增长的过程。...

### 从信息泄露看信息安全 数据泄露攻击 - 利用程序框架或库的已知漏洞 - 暴力破解密码,利用密码字典库或是已经泄露的密码来“撞库” - 代码注入,如 SQL 注入、XSS 攻击、CSRF 攻击等取得用户的权限。 - 利用程序日志不小心泄露的信息 - 社会工程学 数据管理 - 不能只有一层安全防护 - 弱密码 - 向公网暴露了内部系统 - 对系统及时打安全补丁 - 安全日志被暴露 - 保存了不必要保存的用户数据...

### 技术领导力 何为技术领导力 国内和国外的技术环境差异 - 中国的基础技术还在发展中,所以简单的业务增长方式显得有效 - 国外的技术已经比较成熟,更加关注精细化的技术深度带来的收益 人类社会的发展阶段可以概括为: 野蛮开采, 资源整合,精耕细作,发明创造。 外国的大公司FAANG,最终都会去发展自己的核心技术,提高自己的技术领导力,从早期的业务型公司转变成为技术型公司的原因。 那些本来技术很好的公司,比如雅虎、百度,在发展到一定程度时,将自己定位成了一个广告公司,然后开始变味、走下坡路。 尊重技术的公司和不尊重技术的公司在初期可能还不能显现,而长期来看,差距就很明显了。 技术领导力不仅仅是呈现出来的技术,而是一种可以获得绝对优势的技术能力。 我们可以看到的技术领导力是: - 尊重技术,追求核心基础技术。 - 追逐自动化的高效率的工具和技术,同时避免无效率的组织架构和管理。 - 解放生产力,追逐人效的提高。 - 开发抽象和高质量的可以重用的技术组件。 - 坚持高于社会主流的技术标准和要求。 如何拥有技术领导力 我认为,这世界的技术有两种,关键技术,工程技术,对于后者,所有的工程师都有机会。 以下这些特质可以体现技术领导力 -...

## 技术领导力-下篇 “扎实的技术基础对应,**吃透基础技术**,基础技术是各种上层技术共同的基础。” 基础技术分为编程和系统 - 编程部分 即 C 语言(底层)、编程范式、算法和数据结构。 - 系统部分 分为计算机系统原理,操作系统原理和基础,网络基础,数据库原理,分布式技术架构 以上的基础知识都不是可以速成的,需要用一生的时间来学习,所以说做好自己的职业生涯规划很关键,做好长期持续学习的准备,并且随着自己的阅历和经验的增加,你会对这些只是有不同的理解和感悟,逐步内化成自己的思想体系。 “提高学习能力,能够很快低” - 学习的信息源 - 与高手交流 - 举一反三的思考 - 不怕苦难的态度 - 开放的心态 “坚持做正确的事情” - 提高效率的事 - 自动化的事 -...

## 每个程序员都该知道的知识 ### 每个程序员都应该要读的书 - 代码大全 - 程序员修炼知道 - 计算机的构造和解释 - 算法导论 - 设计模式 - 重构 - 人月神话 - 代码整洁之道 - Effective C++ - Unix 编程艺术 ### 每个搞计算机专业的学生应有的知识 首先,对于我们每个人来说,作品集(Portfolio)会比简历(Resume)更有参考意义。所以,在自己的简历中应该放上自己的一些项目经历,或是一些开源软件的贡献,或是你完成的软件的网址等。最好有一个自己的个人网址,上面有一些你做的事、自己的技能、经历,以及你的一些文章和思考会比简历更好。 其次,计算机专业工作者也要学会与人交流的技巧,包括如何写演示文稿,以及面对质疑时如何与人辩论的能力。...

## 答疑解惑 ### 为什么你能够写出这么多东西 几个阶段 - 学习的阶段 - 利益驱动的阶段 - 记录自己观点打自己脸的阶段 - 与他人交互的阶段 ### 怎样选择自己的人生和职业发展 人生分为两个阶段 - 20 - 30 岁,打基础的阶段 - 30 - 40 岁,人生发展的阶段 其他角度的建议 - **客观的审视自己**。找到自己的长处,隔三差五出去面试一把感受下自己的市场定位 -...

## 如何成为一个大家愿意追随的 leader ### boss 和 leader 的差别 ![image](https://user-images.githubusercontent.com/11072796/105635175-a4ef7e00-5e9c-11eb-9132-8ffb493b4673.png) ### 如何成为愿意追随的leader - 帮人解决问题 - 被人依赖 - 有技术领导力 ### 技术领导力之外的素质 - 赢得他人的信任 - 开放的心态 + 倾向性的价值观(对新技术开放的心态 + 在一些事情上有自身的倾向) - Lead by...

## 错误处理的最佳实践 - 统一分类的错误字典 - 同类错误的定义最好是可以扩展的 - 定义错误的严重程度 - 错误日志的输出最好使用错误码,而不是错误信息 - 忽略错误最好有日志 - 对于同一个地方不停的报错,最好不要都打到日志里 - 不要用错误处理逻辑来处理业务逻辑 - 对于同类的错误处理,用一样的模式 - 尽可能在错误发生的地方处理错误 - 向上尽可能地返回原始的错误 - 处理错误时,总是要清理已分配的资源 - 不推荐在循环体内处理错误 - 不要把大量的代码都放在一个 try 语句块内...

## 时间管理 ### 主动管理 - 说明自己不想被打扰、在家办公、找别的地方工作 - 公开自己的工作日程 - 邮件标题聚合和自动化分类邮件 你要主动管理的不是你的时间,而是管理你的同事,管理你的信息。 ### 学会说不 1. 面对你做不到的需求时,不要说做不到,而是要先想一想,并且给出另外一个你可以做到的方案,而不是回绝掉对方的方案 2. 面对复杂的需求的时候,要反问一下,为什么,目的是,然后给出自己的方案,或者性价比更好的方案,提供部分的满足 3. 当时间完全不够的时候,你要把压力还回去,或者让对方与你一同分担这个压力。 我惯用的方式是给回三个选择: a. 我可以加班加点完成,但是我不保证好的质量,有 bug 你得认,而且事后你要给我 1 个月的时间还债。 b. 我可以加班加点,还能保证质量,但我没办法完成这么多需求,能不能减少一些? c. 我可以保质保量地完成所有的需求,但是,能不能多给我...

## 如何利用好自己的时间 ### 投资自己的时间 - 花时间学习基础知识,读文档 - 花时间在解放生产力的事情上面,在自动化、可配置、可重用、可扩展上要多花时间 - 花时间在成长的事情上,在整个行业内的成长才算是成长 - 花时间在建立高效的环境上,将自己的工作环境变成最高效的,去影响你的同事配合实现更好的流程和管理方法 ### 规划好自己的时间 - 定义优先级 - 最短作业优先 - 想清楚再做 - 关注长期利益规划 你要学会规划自己的行动计划,不是短期的,而是一个中长期的。我个人建议是按季度来规划,这个季度做什么,达到什么目标,一年往前走四步,而不是只考虑眼下。 ### 用好自己的时间 - 确定自己的目标,专注达到这个目标,而不是分心。多花时间在有产出的事上,少花时间在说服别人的事上。 - 形成习惯 -...