2019年10月

题目

实现一个 function foo($num) 函数,依照一下例子类推,组成一个风车型排列;

// foo(1) = [[1]];
// foo(2) = [ [1,2]
//            [4,3]  ];
// foo(3) = [ [7,8,9]
//            [6,1,2]
//            [5,4,3] ];
// foo(4) = [ [7,8,9,10]
//            [6,1,2,11]
//            [5,4,3,12]
//            [16,15,14,13] ];
//
// foo(5) = [ [21,22,23,24,25]
//            [20,7,8,9,10]
//            [19,6,1,2,11]
//            [18,5,4,3,12]
//            [17,16,15,14,13] ];

- 阅读剩余部分 -

来源:阿里技术-阿里工程师的自我修养

  1. java,linux,数据结构和算法,数据库,网络通信与分布式计算的原理,这几类是比较重要的基础知识,我们在做方案设计、编码、问题排查中会运用得很多;
  2. 设计模式,UML 这个是对系统架构设计必要要掌握的知识,当你经历了很多大规模的软件系统设计,回到根本上,你会发现逃不出这一块的理论和工具;
  3. 领域性的基本原则,比如我们上面提到的“钱货平衡”,“财务平衡公式”,“线下收银让消费者最快速度走人”,这种逻辑需要大家 get 到这些领域性的设计原理,甚至自己去总结出这种原理;
  4. 关于管理学,人际沟通,心理学的一些基本原理,大家可以按照自己的实际需求去看一下。
  • 读书 & 看文档 https://www.safaribooksonline.com/

    Safari 应该是出版社联盟,IT 类图书基本都能找到。两个小问题是:需要收费,一年大概 400 刀;图书都是英文的。 Safari Books Online 的图书非常全,几乎涵盖绝大多数出版社,我们熟知 oreilly, apress, manning, packtpub,addison wiley,而且更新速度非常快。另外 Sarafi 提供的 Learn path 也非常有用,能帮助你系统地了解一些技术,如 blockchain,ai,machine learnging 等等。现在视频资料也非常多,包括专家知识培训和一些技术大会的视频。

  • 视频学习

    • Pluralsight 内容非常多也比较新,而且有一些是系列的,对跨界学习帮助特别大。
    • Lynda 会员制的,交会费后,可以看所有的视频教学。内容非常多,很多人反映内容过时,我个人没有订阅过,搜索一下确实有这个感觉。
    • Udemy 需要单个购买的,一个 3-4 个小时的视频需要 10 刀。如果你
      的阅读量比较大,花费会比较多,而且 Udemy 不是只关注 IT,专业度方面会不够
  • 技术新闻

软件例图:

WeChat Screenshot_20191002093319.png

下载及官方地址: https://www.ieway.cn/evcapture.html

工具简介

免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦、实时按键显示、视频体积压缩等实用功能;

支持 win/安卓/mac 下载

无水印、无限制,想录就录

详情

  • 视频录制 桌面,摄像头组合录制
  • 添加水印 文字,图片水印任意添加
  • 音频采集 系统音,麦克风,任意录制
  • 高清画质 过目不忘的顶级画质
  • 内网直播 局域网下同步直播录屏
  • 直播推流 支持基于 rtmp 协议的直播平台推流
  • 高效低耗 稳定,低耗,内存占用小

简易操作

  1. 切换"本地录制"或"在线直播"
  2. 选择"视频"和"音频"录制方式
  3. 点击"开始"即可实时录制,录完点"停止"即可

注:无需等待,即停即生成,就这么简单

分享链接:http://www.woshipm.com/it/6118.html
一个曾经与我一起工作过的经验丰富的项目经理声称,他拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值。1天转化成3.14周。他过去因为程序员不擅长估算时间而吃尽了苦头。我创建了一个用来翻译程序员时间估算的表格,来尽量缩小估算错误。
Ip31GDhNDh.png

  时间估算时困难的。每一个程序员都有一个现实的估计区间。低于这个区间的估计意味着(构件,测试,检查代码的)时间开销被低估了。超过这个区间的估计意味着这个任务太大而很难预估。

对于初级开发者来说,这个区间甚至都不存在。他们忽略(构件,测试,检查代码的)时间开销,同时困难的任务他们却又无法预估。我想说一个有经验的开发者应该在0.5至24小时将事情做完。超过24小时,就需要细分。这项工作应该在开发者的头脑中完成,然后总和到60小时。但是即使是有一些有经验的开发者也需要有利用管理时间块来思考。

同样重要的是明白:编程经验不等同于估算经验。一个不被包含在估算流程中的开发者将不会擅长估算。同样,如果实际的时间花费不被测量和用于与估算比较,那么将没有反馈来学习。

最后,每个程序员都应该具备估算的技能。为磨练这个技能,接手每个任务时,先决定你要做什么。然后在开始之前估算任务所需时间。最后测量实际花费时间,并与估算相比较。同样比较你实际完成的与计划完成的。这样你将会既提高你对一个任务包含细节的理解,同样也提高了你的估算技能。