- 博客(23)
- 问答 (1)
- 收藏
- 关注
原创 如何正确选择云服务?|创业公司做产品的感想
经常有朋友谈到,现在互联网做产品更多的不是自己搭建机房而是采用云服务,来加速产品的迭代开发。 但问题是,现在市面上那么多的云服务,我们该如何做出正确的选择,变得特别重要。那么我们就从价格、产品、技术支持的多个维度来分析国内外云服务的特点。 微软云,更适合国有企业、政府。价格高但提供的服务质量更好、24小时的技术支持。微软的基因决定了它的产品意识形态,更多的是为企业服务。 亚马逊,同时价格也贵,
2016-09-07 14:14:14
637
1
原创 Template模式
其实所有设计模式都是有EIT结构组成,EIT就好比原子,具体的模式好比分子,分子由原子组成。比如现在要画两幅画,这两幅画的背景都是蓝天白云,其中一幅画的前景是海鸥, 另外一幅画的前景是风筝。那么应该把不变的部分提取到父类,也就是把背景提取到父类,变化的部分放到子类。public class E{ public void draw() { //蓝天白云 }
2016-09-03 09:30:13
362
原创 Android进阶练习一
1、有序广播: https://github.com/wuzhuojun/BroadcastExample说明: 在manifest.xml设置的广播是静态注册,只要软件安装在手机上广播就能够生效。 用代码实现的是属于动态注册,只有软件启动后广播才能够生效。 除了能够接收系统的广播,也能够自定义广播。Android的广播按照接收顺序分两种类型:无序广播和有序广播。 无序广播是所有注册者都能
2016-08-30 23:02:01
355
原创 状态模式
我们开发项目的过程中通常会碰到一种需求,某个对象包含多种状态变化的可能性,随着状态的变化行为也执行不同的动作。以电梯来举例: 电梯最基本具备 开门、关门、上下走动、停止 这四种状态。状态与状态之间有约束的关系,比如只能在关门的情况下才能走动。 所以用传统面向过程的解决方案,就必须要用状态值来标记每一种状态,然后用多个if else语句来判断状态的执行顺序,每当增加一个新状态的时候就需要重新修改代
2016-08-29 13:44:55
444
原创 命令模式
背景简介: 开发软件,项目划分几个小组:需求组,美工组,代码组。 开发流程,客户提出需求=》需求分析=》美工设计界面=》写代码实现功能//项目小组抽象类public abstract class Group{ public abstract void find(); public abstract void add(); public abstract void de
2016-08-29 13:44:12
346
原创 装饰模式
装饰模式可以给我们很好的帮助,通过装饰模式重新封装一个类,而不是通过继承来完成, 简单点说,三个继承关系 Father,Son,GrandSon 三个类,我要再 Son 类上增强一些功能怎么办? 我想你会坚决的顶回去!不允许,对了,为什么呢?你增强的功能是修改 Son 类中的方法吗?增加方法吗 ? 对 GrandSon 的影响哪?特别是 GrandSon 有多个的情况,你怎么办?这个评估的工作
2016-08-29 13:39:03
328
原创 访问者模式
访问者模式最常用的使用场景是统计功能(报表)、数据过滤功能(拦截器)、或者结合别的模式来使用(状态模式、代理模式等) 我们以统计功能举例来说明访问者模式的使用核心是,分两个模块 一个模块负责数据的产生 一个模块负责遍历数据,展示数据。我们先看下在不使用访问者模式的情况下的数据展示处理//员工public abstract class Employee{ private int se
2016-08-26 14:41:12
1184
原创 《无间道》观察者模式
电影无间道很多人都看过,讲的是关于黑社会与警局卧底的故事。 我们今天就聊一下无间道和面向对象的观察者模式到底有什么关系。//被观察者public interface Observable{ void notifyEverybody(); //通知所有人}//曾志伟 扮演的 黑社会老大 韩琛public class HanLaoda implements Observable {
2016-08-25 14:01:14
553
原创 PHP结合Linux的cron命令实现定时任务
PHP死循环 来处理定时任务的效率是很低的。(众多网友评价) 大家都建议使用Linux内置的定时任务crontab命令来调用php脚本来实现。PHP定时任务的两种方法: 1、web方式调用php网页,但是这样存在安全问题,外部用户同时也可以调用此文件。*/1 * * * * /usr/bin/wget -q -O temp.txt http://wan.coolxap.cn/cron2、用ph
2016-08-22 23:09:35
453
原创 架构设计的演变历程
1、无框架结构,直接调用底层API以往是底层平台(操作系统)提供API让上层APP去调用。这样的软件控制权在APP上。举例 APP调用了平台的函数 Fun1,那么平台要对Fun1进行维护不敢随意改变这个函数,系统的更新成本大,上层APP越多,维护成本越大,导致到平台被局限。2、单层框架结构为了让系统开发者取得控制权,后来架构师们建造了一种框架结构。APP开发者在这个框架的结构基
2016-08-21 18:36:46
620
原创 漫谈项目设计&重构&性能优化
重构的好处:重构能够改进软件设计,随着项目需求的变更,项目体积的变大早已与最初的设计大相径庭,代码结构变得凌乱、复杂,如果不进行重构,则很难添加新的功能。1、使项目代码更容易理解很多情况下是由于项目赶进度和不注重质量导致的。那么通过重构可以帮助代码维持自己该有的形态。项目开始的时候,设计并没有考虑到方方面面,因为你不可能预测到后面的所有需求。同时你也不能把每个功能都做预留,做成
2016-08-20 09:10:42
1103
原创 种一棵树最好的时间是十年前,其次是现在。
前言:最近经常被朋友问到的两个问题。 问题一: “从事IT工作3年了,做技术好累啊,是不是做到30岁就不能继续往下做啊?” 问题二: “我已经30岁了,还能不能学编程?”我给出的答案是: 只要你兴趣还在,可以一直做,什么时候都不会晚; 种一棵树最好的时间是十年前,其次是现在。本人目前在IT行业工作了6年,做过大大小小的项目,虽然跟网上那些大牛比还差很远。 但也确实经历过同样
2016-08-07 15:30:33
1766
原创 Android从入门到放弃4-Service
前面说到了四大组件中的Activity,今天说一下Service。 四大组件都是由Android系统底层调用的,他们都是继承于各自的基类。 如你所写的MyActivity是继承于Activity,MyService继承于Service。Google当初这么设计的原因在于,把系统核心的部分进行抽象,具体的部分由应用开发者来填补,这样能满足不同的业务场景下的系统构建。 从哲学来说是留空,空就是一切
2016-08-07 13:08:41
431
原创 Android从入门到放弃3-线程
Android更新UI元素的由主线程来处理,工作线程只能做逻辑运算处理,处理好之后通过Handler发Message给主线程。 主线程启动后会建立一个 loop 对象,一直在跑循环,定时检查 MessageQueue,取出Message 进行界面更新。Google这样设计的目的在于让主线程不需要处理线程安全问题,不需要加解锁,大大提高了APP的性能。 这和windows PC开发的机制是一样。如果
2016-08-06 21:34:51
268
原创 android从入门到放弃2--ButterKnife
Project gradler 设置:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'Module gradler 设置:添加的库apply plugin: 'android-apt'compile 'com.jakewharton:butterknife:8.1.0'apt 'com.jakewharto
2016-08-05 09:02:41
453
原创 android从入门到放弃1--Activity&Fragment
Activity 启动另外一个 Activity 需要用 Intent,中文翻译过来是意图,你想要启动那个Activity 这就是你要表达的意图。Fragment 中文的意思是碎片,用它来做屏幕适配,或者界面复用。一个Fragment可以放到 多个 Activity上使用。启动它的其中一种方式就是 在 Activity的布局元素 FrameLayout 来替换为
2016-08-04 23:47:21
358
原创 Android从入门到放弃系列--目录
最近接手Android项目,做了一些练习,包括使用到的第三方开发组件。以下是该系列的文章目录,后面会逐一补齐。1、fcode1Activity 与 Fragment的练习2、fcode2butterknife 注解的使用gradle设置:classpath 'com.neenbedankt.gr
2016-08-04 23:44:13
2139
原创 面向对象的架构设计
高焕堂老师的android面向对象视频,讲的非常好。 http://www.maiziedu.com/u/2021/其中他对 面向对象的理解,延伸出了EIT的概念。E表示父类I表示接口T表示子类E是控制点,透过I来控制T。用代码来表示用两种方式:第一种方式:public cl
2016-07-02 17:59:17
1896
原创 坝上草原-碰碰车
很多次都下定决心要写博客,有关技能,学习,分享,生活,成长,感悟,之前每次都没坚持下来。 借口很多,工作忙没时间,知识储备不够。 终究就是太懒的缘故。 从今天起,再次下定决心坚持写博客。 记得有一个理论是27天形成一个习惯,希望这次能坚持下来。草原旅游: 今天是周末,跟朋友到内蒙边上的草原旅游去了,宽阔的草原蓝天白云,还体验了滑草,骑马。 在旅游途中认识了一些很ni
2016-06-30 22:57:35
409
原创 码农小手册1
把系统中复杂和经常变化的模块单独封装。 抽象的好处在于 你设计的时候 能忽略无关的细节。 封装帮助你管理 系统的复杂度的方法在于不让你看到那些复杂度。 在设计类的时候,要养成一个习惯。 问自己 “我该隐藏些什么字段和函数”你会惊奇的发现,有很多棘手的设计难题都会在你面前化解。 好的程序设计所面临的最重要挑战
2014-10-19 22:38:33
412
原创 面霸不容易--且面且珍惜
面霸不容易--且面且珍惜前序:找工作心态很重要,这是人生必经之历程。适当的跳槽有时会对个人的发展带来意想不到的收获。但个人不建议频繁的跳,乱跳、平跳。一定要有主见要充分分析,不要人云亦云。千万别一时觉得工作太累啊、工资太少、出差太频繁、学不到东西,然后心血来潮就提出辞职。这是不成熟的表现,心态不好、太浮躁了。一定要三思而后行,然后注意的一点是,你在犹豫并未确定是否真要离职时
2014-10-10 22:37:23
1378
原创 《影响力》为你剖析营销的魅力
技术人员平时除了学习技术之外,也应该多补充其他领域的知识。提高自身综合能力,站的高才能看得远。最近看一些关于营销的书籍,看了之后写读后感与大家分享。 影响力--这是一本关于营销、解剖消费者心理的经典作品被《财富》杂志鼎力推荐的商业必读书之一。 书中列举了大量的现实中的例子、调研和科学测验 ,体现了书中观点的真实性、可靠性、普遍性 书的
2014-09-29 12:41:55
521
原创 风扇控制系统--初版
利用51单片机实现的风扇控制系统,包括硬件到软件的实现。(功能未完,待完善)硬件的代码如下: /********************************************************************* 文件名 : 风扇控制智能系统 * 描述 : 1、红外线遥控板 控制风
2014-09-27 11:17:44
919
空空如也
Mysql连接的奇特现象,恳请各位大牛来相助
2014-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人