一眨眼又是两周,上周周末有些事,耽搁了总结,只好拖到这周一起了。

这两周生活、工作

1.订婚大事

我跟肉肉在一起也有 5 年 4 个多月了,没毕业前双方家里睁一只眼闭一只眼,过得倒也开心、自在。毕业工作后,不能算早恋了,两个人关系也要拿上台面谈谈。

肉肉从小娇生惯养,掌上明珠,见识比我多,脾气也不小,但对我很好,家里一顿饭没做过,跟我在一起后也开始做饭。对我爸爸妈妈也比较热情,挺受喜欢的。

我虽然家境一般,长的一般,工作一般,但好在诚实可靠,有点上进心,脸皮厚不怕肉肉欺负。所以叔叔阿姨不讨厌我,对我俩的关系也没什么意见。

关系确定了接下来就要商量订婚、结婚大事了,结果双方父母都没什么经验,突然要商量这个,七大姑八大姨的咨询,这下子,我的电话一个接一个,这个说东那个说西,整的我心力憔悴。

本来觉得订婚是很简单的一件事,现在看来我还是 too naive。

双方家长考虑问题角度不同导致侧重点不同,我和肉肉在中间周转、传话,就像风箱里的耗子。折腾了好一阵子,才先大概确定下来。

My god, 真累。

2.可耻地直接搬了别人的代码

上周业务上有个需求,需要自定义一个组件,本来一开始打算自己写,结果由于我之前开始的 Java 集合框架源码分析系列 拓展内容太多,进度比计划慢了许多,从而导致没有时间自己写。

然后我就从 GitHub 上找了一个现成的,大概了解后就直接拿来用了。

现在想想心里还是有些鄙视自己的,没有自己写就算了,不好好看清楚源码确定没问题就直接用人家的,这不是我想要的结果。

希望下周加速度搞完需求,仔仔细细地把这个组件代码看看,了解清楚吧。

3.双十一买了 Mac

哈哈,本来双十一没打算买什么,陪肉肉逛逛就睡了。结果 JD Mac 搞活动,肉肉看我那么想要,居然同意了!

作为一名小屌丝,能有一本 Mac 是我梦想了许久的事情。

虽然是分期,拿我每个月零用钱的一部分还,但我当时脑子里只有 Mac,管不了那么多了哈哈。

Mac 除了装逼好,用斌哥的话说,还更“专业”。

Windows 第一用户是办公用户和家庭用户,界面化操作封装了太多东西。

Linux 又太“专业”,底层暴露太多,缺少优秀的 UI 界面软件。

而 Mac 则兼具两者优点。

斌哥的话,听着好像很有道理的样子哈哈。

4.Done is better than perfect

在 Facebook 上市当天,创始人扎克伯格的公开信中有这么一段关于 黑客文化 的话:

黑客文化是一种持续改进和衍变创新的做事方法。黑客们认为,优化无止境,产品无完美。当有人说无法再改动一丝一毫,或是满足于现状时,黑客们却当着别人的面,情不自禁地动手修改。

黑客们迅速发布小规模更新,并从中汲取经验教训,而不是试图一蹴而就,一劳永逸,他们希望通过长久努力打造出最佳服务。为此,我们建立了一个测试框架,无论何时均可测试数千个版本的 Facebook。我们的办公室墙上写着“完成胜于完美”(Done is better than perfect),以提醒大家按时“交付产品”。

“黑客”也意味着一种亲身实践、积极进取的天然纪律。黑客们不会召开长达数天的马拉松会议,以讨论某个创意是否可行,或是试图寻找最佳方法。他们会制作原型产品,看看是否行得通。在 Facebook的办公室里,黑客们的口头禅是:“代码胜于雄辩”(Code Wins Arguments)。

“黑客”还意味着极度开放和精英为王。黑客们认为,最优秀的创意及其实现始终掌控一切——而不是由最善于鼓吹创意或是权力最大的人掌控一切。

你不需要等到够优秀才开始,你应该立即开始去变得优秀。

技术上的收获

1.为什么 ART 中不需要分包 multidex?

要理解这个只需搞清楚,为什么有最大方法限制呢?

5.0 以前的 dalvik 虚拟机用一个链表保存 每个类的 id,而这个链表的长度是 short 类型,由于 short 占两个字节,数据范围为 -2^15 到 2^15(-32768~32767),也就是总共 65536 个数。

新版本的 Android 系统中修复了这个问题, 但是我们仍然需要对低版本的 Android 系统做兼容.

解决方法有如下几个:

  1. 精简方法数量,删除没用到的类、方法、第三方库。
  2. 使用 ProGuard 去掉一些未使用的代码
  3. 复杂模块采用 JNI 的方式实现,也可以对边缘模块采用本地插件化的方式。
  4. 分割 dex

http://blog.csdn.net/j08006869966/article/details/51780676
https://segmentfault.com/a/1190000004053072

2.Android studio 全局替换:

项目右键 – Replace in path 选项

相当 Eclipse 中的 Ctrl + H

注:如果替换的字符串过多,请记住备份工程文件,因为谁也说不准替换完了之后会出现什么错误,所以请谨慎使用!

3.new FrameLayout.LayoutParams(-1, -1) 简便写法

-1 就是 MATCH_PARENT,-2 是 WARP_CONTENT:

    public static final int MATCH_PARENT = -1;/*** Special value for the height or width requested by a View.* WRAP_CONTENT means that the view wants to be just large enough to fit* its own internal content, taking its own padding into account.*/public static final int WRAP_CONTENT = -2;

比如:

mProgressView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1, Gravity.CENTER));

4.上周我负责将项目中引用的旧框架 library 换成 gradle 引入依赖,得到了一些经验

框架里要写什么、不写什么:

  • 非公用、公用但常变的尺寸不该写到框架 dimen 中
  • 颜色也一样
  • 常用自定义 View,要把功能抽象成基类,具体界面效果交给 app 实现,因为可能经常会变
  • Activity、Fragment、WebView 基类里要有 loading/content/failed 逻辑,但具体效果还是交给 app

框架应该只实现功能,不能写任何跟界面、业务相关的内容,因为那些都容易改变,比如这些:

  • 基类 BaseActivity,BaseFragment,BaseWebViewFragment
  • 网络请求库
  • 图片加载库
  • 三级缓存
  • 常用工具类
  • 常用自定义 View
  • 常用第三方 SDK 调用代码封装
  • Hybrid
  • UBT
  • 调试、测试类

5.高效率的程序员都把时间花在制作工具上(忘了哪儿看的了,抱歉)

很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。但是,Jonson 团队最出色的员工耗费了他们1/3的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。

优化你的迭代速度

假设你要花12秒钟去搜索某个函数是在哪里定义的。再假设你每天做这个动作60次,那么你每天就要花12分钟去搜索函数定义。

如果你用一个好一点的编辑器,每次找到函数定义只要2秒钟,那么你每天就会节约10分钟。每年你就可以节约40个小时。

如果你能找到3个这样的场景去优化一下,那么你每年可以节约一个月的时间。想想这一个月你可以做多少有意义的事情。

再假如你在调试一个App的bug的时候,改完一次代码都需要重启一下App,然后点击4、5次才能看到bug有没有改好。那么你是不是可以先花几分钟设置以下,让App一启动就转到显示Bug的页面呢?

总之,不要花时间去做机器可以代替你去做的事情。
千万不要小看这些琐碎的细节,改善它们的回报是巨大。

6.一个奇怪的警告

A connection to http://abc.xyz was leaked. Did you forget to close a response body?

https://github.com/square/okhttp/issues/2843

7.errorCode:405

请求方法不正确,比如人家要 get, 你用的却是 post。

搜索的时候加 关键字 http status : “HTTP STATUS 405”

  • 400 - 错误的请求。
  • 401 - 访问被拒绝
  • 403 - 禁止访问
  • 404 - 未找到
  • 405 - 用来访问本页面的 HTTP 请求方法不被允许
  • 406 - 客户端浏览器不接受所请求页面的 MIME 类型
  • 407 - 要求进行代理身份验证
  • 413 – 请求实体太大
  • 414 - 请求 URI 太长

总结

1.前几天才发现,面试官问你的他也不一定会。

之前面试我的面试官,问过我 Git 的一些问题,结果有天晚上加班,看到同事教他怎么用 Git 我惊呆了 0.0。

所以面试的时候一定要自信,你了解多少尽量的说,不要怕别人觉得你掌握的少,better than nothing.

2.可以说,我们这一波人赶上了最好的时代,我们上来用的就是是新的开发工具(Android Studio)、主流的语言(Java,JS, Kotlin, Go),这让我们节约了很多时间。

不过别人的今天就是我们的明天,程序员要为自己的将来做好准备。

3.还是要感慨一句废话:毕业后乱七八糟事情真!多!啊!

无奈生活这么繁琐,我们还努力爱她,这才是真爱。

工作第十六七周:生活这么繁琐,我们还要努力爱她相关推荐

  1. 第十六届全国大学生智能汽车竞赛安徽赛区赛事指南

    主办单位:安徽省教育厅 中国自动化学会 承办单位:安徽中医药大学 合肥工业大学 中国 合肥 2021年7月 §01 赛事简介   全国大学生智能汽车竞赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡 ...

  2. HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(十六)DHCP知识点全面总结(动态主机配置协议)

    目录 一.技术背景 二.DHCP概述 三.DHCP系统组成 四.DHCP报文结构 五.DHCP报文类型 六.DHCP工作流程 七.DHCP租期更新 50% 八.DHCP重绑定 87.5% = 7/8 ...

  3. 鸟哥的Linux私房菜(基础篇)- 第十六章、例行性工作排程 (crontab)

    第十六章.例行性工作排程 (crontab) 最近升级日期:2009/09/11 学习了基础篇也一阵子了,你会发现到为什么系统常常会主动的进行一些任务?这些任务到底是谁在配置工作的?如果你想要让自己设 ...

  4. 小鱼易连电脑版_生活多么美好 篇十六:我的桌面改造,有绿植,有小鱼,有大音箱...

    原标题:生活多么美好 篇十六:我的桌面改造,有绿植,有小鱼,有大音箱 生活多么美好 篇十六:我的桌面改造,有绿植,有小鱼,有大音箱 2020-11-06 22:13:312点赞1收藏1评论 想攒一台电 ...

  5. 达拉草201771010105《面向对象程序设计(java)》第十六周学习总结

    达拉草201771010105<面向对象程序设计(java)>第十六周学习总结 第一部分:理论知识 1.程序与进程的概念: (1)程序是一段静态的代码,它是应用程序执行的蓝 本. (2)进 ...

  6. (七十六):Masked Autoencoders Are Scalable Vision Learners

    (七十六):Masked Autoencoders Are Scalable Vision Learners Abstract 1. Introduction 2. Related Work 3. M ...

  7. html5诗歌作业,《品味诗词群》总第七十六期作业

    <品味诗词群>总第七十六期作业 老物件总能给人以无限的怀想.本期作业以<收录机>为主题,以图题诗.韵部不限,诗词均可,要求不变,期待精彩! 品味诗词雅韵,传承华夏文明. 七绝 ...

  8. 周怎么换算成月_嘉会班三年级第十六周(2020年12月14日—12月18日)

    周一湿水彩课上,我们一起油印了九九消寒图. 周二课堂迎来了六位家长并留下了很中肯的教学建议. 周三我跟孩子们请假溜出去买冬至零食,孩子们迫不及待地准了假.中午和孩子们做了桔子灯还有青椒灯/ 周四早晨, ...

  9. 网络最流行的伤感时代空间日志发布:那一年,我们十六、七岁

    网络最流行的伤感时代空间日志发布:那一年,我们十六.七岁 - 网络最流行的伤感时代空间日志发布:那一年,我们十六.七岁 那一年,我们十六.七岁 每天没心没肺的笑着 但笑容里带着淡淡的忧伤 忧伤却没有人 ...

最新文章

  1. 清明出游,你会“鸽”酒店吗?AI 早已看穿一切
  2. 『互联网架构』软件架构-spring源码之spring结构概述
  3. 后端python基础
  4. LintCode刷起来(一)
  5. 《数据结构与抽象:Java语言描述(原书第4版)》一练习
  6. 读空气java_空气质量指数查询示例代码
  7. while用法_when 和 while 的用法区别
  8. html css . doc,html+CSS基础.doc
  9. php urldecode 加号不显示_php|urldecode urlencode 的加号问题
  10. 系统调用之Write
  11. win7 时间服务器地址修改,win7 时间服务器地址修改
  12. 工业物联网的体系架构
  13. 博客备份工具(博主网)开发略谈
  14. Jboss部署Springboot项目
  15. 如何在Mac os X上搭建本地服务器环境
  16. 【CF85D】 Sum of Medians
  17. Win 10 运行软件报‘MSCOMCTL.OCX‘缺失怎么办
  18. 傻瓜式制作纯净版win10启动盘
  19. Python笔试练习题
  20. 优麒麟 2204 安装 Fcitx5 输入法

热门文章

  1. 如何用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据
  2. 学习现代化的文章编写方式——关于Markdown语法的使用
  3. 问题:vscode 中用matplotlib 绘图时无法弹窗,不显示图像
  4. 9位院士!10所一流大学,迎“新帅”
  5. Altium Designer系列:问题之无法打开pcb文件
  6. 您需要最新版本的Outlook才能使用此数据库-MacOS的Outlook
  7. 扑克游戏24点的规则和方法分享
  8. 前端上传图片添加水印
  9. NOIP2017 游记
  10. 震惊了,王者荣耀项目组发了60个月的年终奖!!!妈妈,我要做游戏