-
Notifications
You must be signed in to change notification settings - Fork 0
/
xie-zai-2015nian-mo.html
200 lines (159 loc) · 10.4 KB
/
xie-zai-2015nian-mo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>codemixwine</title>
<meta name="description" content="">
<meta name="author" content="slock">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://www.codemixwine.com/theme/html5.js"></script>
<![endif]-->
<!-- Le styles -->
<link href="http://www.codemixwine.com/theme/bootstrap.min.css" rel="stylesheet">
<link href="http://www.codemixwine.com/theme/bootstrap.min.responsive.css" rel="stylesheet">
<link href="http://www.codemixwine.com/theme/local.css" rel="stylesheet">
<link href="http://www.codemixwine.com/theme/pygments.css" rel="stylesheet">
<!-- So Firefox can bookmark->"abo this site" -->
</head>
<body>
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="http://www.codemixwine.com">codemixwine</a>
<div class="nav-collapse">
<ul class="nav">
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="content">
<div class="row">
<div class="span9">
<div class='article'>
<div class="content-title">
<h1>写在2015年末</h1>
2015-12-10
by <a class="url fn" href="http://www.codemixwine.com/author/slock.html">Slock</a>
</div>
<div><blockquote>
<p>如果仅是以失败衡量结果,逻辑上是说的通了</p>
</blockquote>
<h2>创业</h2>
<hr />
<p>2014年10月份,从广州回到佛山,跟随老板开启当时国内几乎是零星之火的互联网家装项目。</p>
<p>租房,装修,招聘,开张,项目风风火火的进行着。网站上线,方向确立,各部门林立而起,原本宽敞的办公室已经挤满了攒动的人,说不出当时的状态,只记得我是对未来有些许的期待。</p>
<p>一年之内,公司不断成长,产业工人的建立,网站和App端的上线完毕,搬进了逼格更高的写字楼,多次希尔顿召开的发布会,签下了不少的订单,似乎预兆着一切都进行的很顺利。</p>
<p>然而,并不是。</p>
<p>资本寒冬的到来将市场冲击的面目全非,两轮股灾导致投资人手里的钱握的更紧了,公司内部也出现了不少问题,互联网家装也不单单靠融资就能起飞,能否成功取决于是否拥有高质量高素质的产业工人群,到最后意识到了这点,确难以弥补。</p>
<p>不得不承认,失败了。</p>
<h2>变化</h2>
<hr />
<p>经历了一些事,也更清醒的认知了自我。</p>
<p>从孤军奋战到建立App项目组,成为负责人后,原本单向的技术思维必须要加入管理的要素,一段时间的摸索和磨合之后总算是有了不小的进步。团队从2人逐渐拓展至4人的team,android&ios平台的app也上线完成,团队建设上也学了不少经验。</p>
<p>性格方面社交能力也得到提升,不再走单一的Geek nerd路线,主持会议、活动也算是撑得起场面。也感谢遇到的贵人给予的肯定与帮助。</p>
<p>技术上参与了项目的各个脉络,从网站.net后台,到前端、数据库、接口开发,移动端Axture原型设计、概要设计、项目架构确认、app开发等,也是加深了对各个技术点的理解。 </p>
<p>闲暇时间学习了Python,搭建了codemixwine这个站点,也读了不少篇android的源码解析,私下写了一些小demo练手,Github上fork了一些有趣的项目,总的来说,也是收获了很多。</p>
<h2>项目方面:</h2>
<hr />
<p><strong>工作环境:</strong><br />
android开发环境迁移到AndroidStudio,AS相比较eclipse确实有着巨大的优势,不论是基本的写UI还是导入第三方库都更为便捷,更不用说强大的多渠道发布,现在版本更新到2.0了,速度进一步提高,为Google的IDE工程师赞一个。</p>
<p><strong>协同开发:</strong><br />
Git作为移动端版本控制,SVN为后台源码管理。</p>
<p><strong>项目架构:</strong><br />
网络通信选择了Volley,应用场景比较适合,符合多频率的request的需求。上传和下载抽取了xutil的http层来实现,减少了开发周期。</p>
<p>图片缓存用了使用较为广泛的UIL,cache机制管理起来也很方便。 </p>
<p>多线程方面用android原生的AsyncTaskLoader来管理。</p>
<p>事件订阅与解耦用了开源的EventBus,相较于broadcastReceiver和intent,使用更为方便,耦合度更低,代码易读性提高。</p>
<p>存储因为业务需求并不是太高,手写了本地的file存储来实现。</p>
<p>表单验证使用了开源库Saripaar。</p>
<p>UI方面风格偏向于MaterialDesign,使用了DrawerLayout、FloatAction
Button、CardView、RecycleView等,适配使用了support4包的appcombat来实现,下拉刷新由pulltorefresh转为了google的swipeRefreshLayout。引入了DatePicker、SwipeBackLayout等库。</p>
<p>社会化分享接入了ShareSDK,囊括了微信、微博、QQ、豆瓣等主要社交平台,应用统计分析和用户反馈选择了友盟。</p>
<p>短信验证方案选择了国内一家公司的付费方案,各运营商的短信接收速度很快,到达率也比较理想。</p>
<p>动画效果,参考了国内很多app,基础的Activity过渡动画效果都是各种天马行空,中间transition左侧退出,右侧进入右侧退出等等敷衍了事。其实过渡动画确是用户体验提升行最容易实现的一部分,使用makeSceneTransitionAnimation方法,定义好的你的过渡动画就能实现。关于动画的运动规律可以参考MaterialDesign的设计思路,遵循规范,符合逻辑,才会让你的app应用使用起来更加舒服。</p>
<p><strong>调试:</strong><br />
有关调试,使用了AS内置的cpu占用、内存占用、流量使用工具,UI层的分析使用了hierarchy,能够明确看出view各层的响应速度,从而进行优化。</p>
<p><strong>测试:</strong><br />
选择了蒲公英发布内测应用,android、ios平台均能支持,也能更好地做好版本记录、crash记录,更快的版本迭代。</p>
<p><strong>关于Scrum:</strong><br />
对于Scrum敏捷开发模式,个人理解较为肤浅。比较欣赏的是快速迭代的方法,提高了生产效率。但是对于无尽的每日会议与燃尽图,我们这样的小team还是负担不起,项目进度追赶的情况下,scrum并不适用。我个人比较提倡团队荣耀感与个人责任感,对于上班下班时间不做太大限制,根据实际工作情况来决定,双休时间则根据开发进度选择休或加班。执行起来也很顺利,团队相处也更和谐。 </p>
<p><strong>这些只是最基本的架构,良好的架构设计能够避免开发中遇到到的各种坑。设计的原则也需要根据业务的复杂度来做权衡,不需要一味的为了新增一个功能而使项目的耦合度剧增,反方向思考,量入为出,不失为好的解决办法。</strong></p>
<h2>个人生活:</h2>
<hr />
<p>很喜欢广东这边的环境,空气很好,远离了北方的蔽日雾霾。</p>
<p>这段歇业时间也是自我的调剂期,沉淀经验,拓展技术,三省吾身,充盈自我。</p>
<p>虽然家里人和朋友有些不太理解,但我却明白只有放下负荷,review yourself,对过去给予肯定,对未来不再迷惘,才是真切的new beginning。</p></div>
<hr>
<h2>Comments</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'codemixwine';
var disqus_title = '写在2015年末';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>
<div class="span3">
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Site
</li>
<li><a href="http://www.codemixwine.com/archives.html">Archives</a>
<li><a href="http://www.codemixwine.com/tags.html">Tags</a>
</ul>
</div>
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Categories
</li>
<li><a href="http://www.codemixwine.com/category/android.html">Android</a></li>
<li><a href="http://www.codemixwine.com/category/sheng-huo.html">生活</a></li>
</ul>
</div>
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Links
</li>
<li><a href="http://getpelican.com/">Pelican</a></li>
<li><a href="http://python.org/">Python.org</a></li>
<li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
</ul>
</div>
<div class="social">
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Social
</li>
<li><a href="https://github.com/Slock">Github</a></li>
</ul>
</div>
</div>
</div>
</div> </div>
<footer>
<br />
<p><a href="http://www.codemixwine.com">codemixwine</a> © slock 2016</p>
</footer>
</div> <!-- /container -->
<script src="http://libs.baidu.com/jquery/1.7.1/jquery.min.js"></script>
<script src="http://www.codemixwine.com/theme/bootstrap-collapse.js"></script>
</body>
</html>