
个人随笔
desaco
技术,产品,运营。安卓应用研发10年+。服务过多家上市公司。
展开
-
说说Spark应用程序的性能调优(分布式计算引擎)
Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称。然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关。 分布式计算引擎在调优方面有四个主要关注方向,分别是CPU、内存、网络开销和I/O,其具体调优目标如下:提高CPU利用率。避免OOM。降低网络开销。减少I/O操作。>数据倾斜意味着某一个或某几个Partition中的数据量特别的大,转载 2016-01-22 15:01:41 · 1193 阅读 · 0 评论 -
职业进阶,职业规划与计划(3年,5年,10年计划等),个人(中年)危机
-- 制定目标必须要遵循SMART原则:1.目标必须是具体的(Specific)2.目标必须是可以衡量的(Measurable)3.目标必须是可以达到的(Attainable)4.目标必须和其他目标具有相关性(Relevant)5.目标必须具有明确的截止期限(Time-based).- 罗辑思维CEO脱不花:关于工作和成长,这是我的121条具体建议- http://tec...原创 2016-11-27 20:12:14 · 23499 阅读 · 2 评论 -
程序员发展与晋升攻略
> 思想互通: 1.PC时代,学的Java SE,写的是Windows软件 2.Nokia时代,学的是Java ME,写的是Symbian应用 3.Android时代,学的是Android,写的是Android APP 4.AI时代,学的是深度学习、神经网络等知识。 在移动互联网时代,纯粹的码工是没有前途的,反而要求一个程序员既要有技术(能设计,能编码),也要有前瞻性,市场观...转载 2016-07-23 23:09:43 · 7199 阅读 · 0 评论 -
架构师素养及从小菜进阶架构师(2)
支付宝架构师:讲述从工程师到架构师的成长之路- http://blog.youkuaiyun.com/Gupaoxueyuan/article/details/79089101支付宝架构师:从工程师到架构师的成长之路- http://blog.youkuaiyun.com/ak47java/article/details/78701226 架构的技术职责分为三大块:抽象设计;非功能设计;关键技术设计 具体到对某一个业务的...转载 2018-01-17 10:59:27 · 531 阅读 · 0 评论 -
2018年小计划
2017 年人们讨论的话题很多:大数据、人工智能、区块链、比特币、买房、新零售、内容付费、互联网下半场、工业互联网、实体经济…Android的市场方向很多,比如智能家居,比如机器人,比如车载等苦干:深入JAVA;深入Android Framework;继续学习Python;继续学习Kotlin;学习Linux;学习C;程序员如何优雅的挣零花钱?- http://blog.csd转载 2018-01-04 12:16:23 · 856 阅读 · 0 评论 -
程序员进阶,技术提升
计算机方面的基础主要包括计算机网络、算法、数据结构等,非常重要。> 普通程序员与高级程序员的区别: 普通程序员:一、知识体系零散、没有系统性的思维,在写代码、改bug的时候没有工程素养,往往是拆了东墙补西墙。二、对某种语言的依赖性太强,知识无法很好的迁移,一旦换了语言、或者领域不同就会不知所措三、经验不足却自认为自己经验丰富,只对自己做过的比较顺手,但是碰到未知的问题,就束手无...原创 2018-01-18 18:38:51 · 1221 阅读 · 0 评论 -
学习方法升级及思维模式学习
自学过程中如果有实战经验丰富的高人指导一下, 给我绘出路线图, 指出攀登的方向,哪些地方有陷阱, 哪些地方不应该浪费时间, 我的自学就可以减少摸索,少走弯路,很不幸, 我当年没有遇到, 如果时光倒流, 我会想办法找一个来指导我。 我会自己写个Web程序, 可以考虑把上面提到的经典的薪水支付案例改造成Web 版, 用最基础的技术Servlet/jsp/jdbc 。然后 研究struts,转载 2016-07-15 16:12:54 · 1094 阅读 · 0 评论 -
程序员转型
积累的经验、阅历、做事流程与方法、逻辑思维与分析等关键是要有一种学习型心态,要能够归零、空杯.公司的整个商业计划.管理都是按两条线来的,一条是行政线,下级必须服从上级。另一条是情况线,战友情宜。-- 【技术转型】我Android转前端的思考过程- https://mp.weixin.qq.com/s?__biz=MzIxNDE1NjQ2Mw==&mid=2649872378&id...转载 2018-01-25 12:56:22 · 844 阅读 · 0 评论 -
数学/物理知识在软件/算法中应用(1),数学知识应用
> 数学知识1.拉普拉斯算子可以给图像锐化;2.傅里叶变化可以给图像去燥啊,压缩啊,提取特征那些吧。3.高斯模糊;4.RSA,大数难分解;5.了解矩阵,Android开发之图像处理那点事——变换。三阶贝塞尔曲线,矩阵运算;AES,移位运算;图像处理常用边缘检测算子总结- https://blog.youkuaiyun.com/icamera0/article/details/505214...原创 2017-07-24 21:16:11 · 2048 阅读 · 0 评论 -
发现一个记录笔记的方法(康奈尔笔记即5R笔记)
康奈尔笔记系统是沃尔特·鲍克等人发明的;5R笔记技术,旨在为帮助学生有效地做笔记。康奈尔笔记系统把一页纸分成了三部分:左边记录右边线索和下方总结。 注意事项:这个工作不要在做笔记的时候做,而是在上完课之后马上回顾,然后把要点和关键词都写到左边,这样一方面马上回顾内容,另一方面理清头绪。 格式很简单,将笔记的一页分为双栏(左边占1/3,右边占2/3),右边比较大的空间用来在上课时快速记录笔记,而...转载 2018-04-24 13:06:49 · 5762 阅读 · 0 评论 -
小愿景,职业发展,思维拓展
> 每一年你都会新增一些愿望:谈一个女朋友;买一套房子;买一辆车子;结婚;生孩子;每个月给父母2000元生活费;每年国内旅游2次、国外旅游1次;每月看3场电影;自己做东,邀请朋友吃饭喝茶聊天,每月1次;买喜欢的漫画书和电子产品;去听偶像的演唱会;给贫困山区的小朋友捐个爱心包裹;天天赞赏喜欢的文章;> 开发者职场发展的 3 种常见通路:技术路线 ;管理路线 ;转型(转行)。 ...原创 2017-11-18 14:30:29 · 758 阅读 · 0 评论 -
工程师的软素质/文化
> 工程师的软素质模型-- 作为面试官,如何考察工程师的软素质- https://blog.youkuaiyun.com/GitChat/article/details/79102566 一面、二面会着重考察候选人的专业知识和专业技能,对软素质也会做一定程度的把关,三面会着重考察候选人的软素质,第四轮 HR 面除了考察软素质外,更多会考察候选人的文化匹配情况。-- 好奇心 好奇心大概可以分为...转载 2018-08-12 20:36:09 · 840 阅读 · 0 评论 -
营养,运动与健康;控制饮食+体育锻炼
营养,运动与健康;控制饮食+体育锻炼。 孩子需“营养+运动”才健康- http://health.people.com.cn/n1/2018/0529/c14739-30020384.html 慢跑、快走、骑车、打球、登山等,机体主要以有氧代谢的方式提供能量。与有氧运动相对比的是无氧运动,如一些高强度、短时间的运动方式:100米跑、跳高、举重、投掷等,这些运动时机体供应的氧气不能满足需求,肌...转载 2018-10-09 12:44:07 · 2374 阅读 · 0 评论 -
基础研究与基础工具
加密软件、杀毒软件、财务软件、CAD软件、中文系统以及各种实用小工具.Google大名鼎鼎的论文map/reduce的概念“MapReduce: Simplified Data Processing on Large Clusters”-http://research.google.com/archive/mapreduce.html原创 2018-01-15 21:21:50 · 477 阅读 · 0 评论 -
学习方法升级及思维模式学习(2)
诚如周鸿祎在《颠覆者》一书中的评价:“从 3Q 大战开始,腾讯开始反思过去的商业模式,逐渐由自建网络帝国的模式,过渡为通过收购、投资和兼并方式构建以腾讯为核心的产业生态圈这一商业模式。腾讯变得更加开放,变成了一个更加强大、令人尊重的企业。今天,它的规模早已让人望尘莫及。” 程序员第二技能的选择要选择「可积累性」更强的技能,比如写作、演讲、投资理财、授课、技术咨询等。 好消息是目前...转载 2018-01-15 21:38:58 · 787 阅读 · 0 评论 -
如何搭建千万级别用户的应用系统
基本情况l AWS覆盖全世界12个国家区域1. 每个区域都对应着世界上的一个物理位置,每个位置都有弹性计算云提供多个可用区域(Availability Zones),这些区域包含北美、南美、欧洲、中东、非洲、亚太等地区。2. 每个可用区域(AZ)实质上是单个数据中心,尽管它可由多个数据中心构造。3. 每个可用区域都拥有很强的隔离性,他们各自拥有独立的电源和网络。转载 2016-01-22 17:59:13 · 673 阅读 · 0 评论 -
软件系统开发及Linux概念架构理解
> 有关软件系统开发,我们谈些什么? 我们谈过程,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程。 我们谈架构,企业级、J2EE、容器化、SOA(面向服务架构)、Microservices(微服务化)。 我们谈规模,大容量、高并发、大数据。 我们还谈可靠性、可用率、n个9、响应时间等等。。。安全和效率的平衡,是所有工程技术的核心。软件系统开发转载 2016-01-07 12:24:31 · 580 阅读 · 0 评论 -
Android的一些编码规范和优化
-------------------------------------------------------------------------------- 一、Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文; 2.局部变量命名、静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写; 3.常量命名:只能包含字母和_转载 2016-01-26 19:30:36 · 1254 阅读 · 0 评论 -
互联网公司,互联网时代的特征(移动互联网,平台思维,互联网思维)
漫谈互联网思维- http://blog.youkuaiyun.com/reboot123/article/details/46580547移动互联网,移动通信和互联网二者结合起来.> 互联网公司成立的时间及创始人 百度,2000年1月创立于北京中关村,是全球最大的中文网站、最大的中文搜索引擎。 阿里,以马云为首的18人于1999年在浙江杭州创立。 腾讯,深圳市腾讯计算机系统有限公司成立于1...转载 2016-03-09 15:36:16 · 4202 阅读 · 0 评论 -
用心做点事,写点代码的哲学(编程的基本功)
技术类开源项目和一般的业务型项目不同,更需要对代码和质量的控制,我们总结出以下几点:> 用心写代码,用代码讲故事。代码是项目的唯一核心和产出,任何一行的代码都需要用心思考优雅性,可读性,合理性。> 代码整洁干净到极致。简单点说就是重度代码洁癖患者。只有代码漂亮整洁,其他开源爱好者才愿意阅读代码,进而找出项目中的bug和贡献高质量代码。> 极简代码, 高度复用,无重复代码转载 2015-11-27 11:24:57 · 1227 阅读 · 0 评论 -
行走的历程(幸福指数)
程序员们,再不行动就来不及了!- http://blog.youkuaiyun.com/zuoxiaolong8810/article/details/65441781一个最新发现,原来程序员的最终归宿在这里- http://www.cnblogs.com/zuoxiaolong/p/life46.html> 奋斗,安居 这条路就是,一线城市奋斗攒钱,二线城市安居乐业。 几个城市里的程序员应该是幸福...转载 2017-03-25 22:38:12 · 902 阅读 · 0 评论 -
程序员生存定律--成长路上常见的坑
> 程序员生存定律--成长路上常见的坑 http://blog.youkuaiyun.com/offbye/article/details/36872505 http://blog.youkuaiyun.com/offbye/article/details/36873073转载 2016-07-23 23:14:21 · 605 阅读 · 0 评论 -
程序员基本技能及定位
> 程序员该如何定位?看这四大方向- http://mp.weixin.qq.com/s/8jMnBGEoHegQ-rMIj1C2kA程序员的几种常见定位:1.解决某类问题的专业人士;2.软件架构与设计;3.技术专家;4.技术传播与布道; 聚焦到某一个领域的具体问题,那么接下来的一切都顺理成章,你会很容易就能了解到解决这类问题需要什么知识、业务、技术,然后你就可以充满动力地去学习,去...转载 2016-04-13 16:45:26 · 1212 阅读 · 0 评论 -
编码风格和开发习惯
作为Java开发人员,我们会遵循一系列的编码风格和开发习惯。习惯使然是一方面,另一方面,我们也从不停下脚步质疑这些习惯。> 零注释(公共 API 除外) 让我们再次探讨这个问题:无注释。注释很快就会与代码脱节。假如你在一段代码的上面写了行注释,谁也不能保证下一个修改代码的人会更新注释。根据笔者的开发经验,没人会更新注释。原来的代码段可能被删除,业务需求也可能改变。因此,你的注释往往弊大转载 2016-01-22 12:40:06 · 495 阅读 · 0 评论 -
浅谈对软件工程的认识与理解
软件工程涉及的资源有:人力、资金、时间的合理分配,涉及到文化与管理等,及各种规划化。 软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软件代码来实现软件设计,对软件代码进行测试,并签署确认它可以投入运行使用的过程。在这个过程中的每一阶段,都包含有相应的文档编制工作。 软件开发过程当中,遵循一定的流程,主要包括系统分析、系统设计、系统编码、系统测试以及系统的维护等转载 2016-03-11 16:47:32 · 59711 阅读 · 0 评论 -
编程方面学术学习的推荐
CS课程入门计算机科学课程导论,介绍编码的基本知识。在线资源:Udacity – intro to CS course, Coursera – Computer Science 101至少要会一种面向对象的编程语言:C ++、Java或Python初级在线资源: Coursera – Learn to Program: The Fundamentals, MIT转载 2016-01-22 12:44:49 · 646 阅读 · 0 评论 -
工具的传送门
引用:http://blog.youkuaiyun.com/wdong_love_cl/article/details/51496408刚刚访问郭霖大神的博客时,发现了一个万能的导航网站,里面简直是包罗万象,无所不有。随便举几个吧:各种大牛博客,各种开发工具,各种名书推荐,各种在线课堂。。。甚至还有---恋爱技巧,装X宝典!只有你想不到,没有它不做不到的。这是一个神奇的学习,交友,装X,养生的传送门~~转载 2016-08-04 14:58:45 · 716 阅读 · 0 评论 -
android学习及一些技能
1.消息推送问题。手机功耗问题主要涉及两个点,第一个是流量,第二个是电量。》重复消息的话,客户端发送应答,服务端没有接到这个应答,而网络好的时候,再推送一次,那就出现重复了。那怎么解决这个问题?设置了消息基于序列号的交互方式,首先推送消息的时候,不是把消息直接推送下去,是发一个通知到客户端,告诉你有消息,客户端拿到这个通知,发送一个指令上来,说获取这个消息,会带上一个收到最近消息的最大的序列号转载 2015-12-23 17:28:54 · 671 阅读 · 0 评论 -
牛B的人/牛B的编码套路
转自 http://blog.youkuaiyun.com/happydeer/article/details/17023229> 最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际转载 2016-07-23 23:06:43 · 689 阅读 · 0 评论 -
高效开发及工作方式,工作思维
你的开发为何如此低效?- https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247484100&idx=1&sn=6d049494e35c19c5bd688d9d71f034d9&chksm=96cda389a1ba2a9f5425c4d4ad8ad8a91d5ba2ca1ed44871b345e411bf...转载 2019-06-24 20:06:38 · 857 阅读 · 0 评论