自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coding小世界

这世界上有这么多比你聪明得多的人都在努力着,你还有什么理由发懒呢~~~

  • 博客(25)
  • 收藏
  • 关注

原创 带你吃透RTMP

title: 带你吃透RTMP date: 2016-03-06 19:26:00tag: [RTMP, 协议]RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。随着VR技术的发展,视频直播等领域逐渐活跃起来,

2016-03-09 19:15:01 36071 5

原创 并发编程之同步互斥篇

在并发编程之基础问答篇中我对并发编程的概念、优势、应用场景、注意事项等做了整体上的大概介绍,文章最后提出了我从实际编程的角度对并发编程的理解:多线程的并发执行,线程间的通信和线程间对共享状态的同步与互斥。虽然说多线程并发执行是另外两方面的基础,但线程间对共享状态的同步互斥是并发编程的正确性保障,也会在另外两方面的讲解和例子中大量用到,再者鉴于本系列博客的期望读者是已经掌握并发编程最最基本使用的开发者

2016-02-06 19:31:28 993

原创 编程珠玑

这不是一本具体算法的讲解或者代码编写的教程,但是从书中的字里行间,我们可以学到的是更多的软知识:对编程新的认识、更加发散的思维方式、更严格的代码要求、堪比瑞士军刀的小技巧…… 编程也许入门并不难,但是要想真正成为一名优秀的软件工程师,还是需要很多锤炼。内外兼修,方成大器。 基础篇第一章 开篇首先作者提出一个实际问题: 如何给磁盘的某个文件排序,更具体来说就是是对一个最多包含1千万条记录,每条

2016-01-28 11:25:39 2793

原创 Android中的BLE

BLE是Bluetooth Low Energy的简写,是蓝牙连接传输数据技术的一种,顾名思义,和普通的蓝牙技术相比它的最大优点就是省电,这是如何做到的呢,这就是我们下面会介绍的BLE使用的GATT和ATT协议,既然它的特点是省电,这也就决定了这种技术不适用于传输数据量大、对传输速率和实时性要求高的应用,不过针对像心率监测、设备防丢这样的场景就很适合了。GATT/ATT协议 Generic At

2015-11-26 22:08:56 1773

原创 支持设置数据为空时打底view的RecyclerView+支持RecyclerView的CursorAdapter

自从v7包中的recyclerview出来以后很多之前要用listview实现的效果用recyclerview很简单就实现了,而且性能上也会有所提升,但是RecyclerView也有相比ListView不太方便的地方,比如ListView作为AdapterView的子类,有setEmptyView方法来设置列表为空时显示的view,这个功能一般都会用到,但是官方的RecyclerView并没有提供

2015-11-02 16:51:04 5198 1

原创 回头看面试

前段时间都在忙于找实习,在这里回顾一下自己这几个月来面试和实习的一些感悟,一方面mark一下这份人生重要的经历,总结一下自己的不足和今后的着重点,另一方面也希望能够以自己的亲身经历和体会给即将准备面试的朋友们一些启发和思考。这里先强调一下本篇博客的目的并不是教小白如何一步一步地准备面试,更不是以一个过来人的身份装B传授什么面经,所以如果读者是想找一篇准备面试的教科书的话,建议还是放过本篇博客,看看《

2015-09-25 22:51:17 3406

原创 leetcode-Binary Tree Level Order Traversal

题目地址:https://leetcode.com/problems/binary-tree-level-order-traversal/question: my thinking: 和上篇文章http://blog.csdn.net/shangmingyang/article/details/45076337讲解的题目类似,这道题目也是涉及图的遍历的,显然对于这道题来说BFS要更简单一些,相

2015-04-19 10:00:47 13484

原创 leetcode-CloneGraph

题目地址:https://leetcode.com/problems/clone-graph/question: my thinking: 其实这个题目是基于图的遍历的,不过要在遍历的过程中还要对节点进行深拷贝,我们知道图的遍历一般是有两种方法的:BFS(breadth-first-search)和DFS(depth-first-search),这里我是采用的BFS算法,结合queue存储要

2015-04-16 15:49:15 18154

原创 python函数的高级话题

相信了解python的朋友对python的函数肯定不会陌生,一个def定义一个函数,这是最常用的也是最基本的,但除此之外python在函数式编程方面还提供了什么高级特性呢匿名函数lambda 语法:lambda 函数参数一,参数二……:表达式 -> 函数变量 lambda这个词大家肯定很熟悉吧,现在很多语言像java,lua都开始支持lambda表达式了,而python中的lambda表达式并

2015-04-14 15:01:47 19195 3

原创 Android ImageView.ScaleType有图有真相

本来没打算写这篇关于ScaleType的文章的,毕竟网上一大把,但是考虑到接下来的PhotoView源码的解析会用到这方面的知识,又不想让读者们再去费力去找别的相关文章,而且有的文章的讲解都是错的,所以就在这里讲解一下ImageView.ScaleType的几种不同类型究竟有什么区别,我们在实际使用的时候究竟应该采用哪一种使用方法xml中:android:scaleType=”类型”java代码

2015-04-11 19:10:23 19097

原创 解决Android下NoClassDefFoundError错误

今天在撸代码的时候遇到了这么一个奇葩的错误java.lang,NoClassDefFoundError,说是有类没有找到,心想没有找到的话在编译的时候不久会报错了吗,怎么还会等到运行的时候才报错呢,百思不得其解之下,google之,发现很多人都是说是因为ADT升级到了22后才出现的这个问题,但是按照他们说的方法也还是不起作用,还有人说是在ADT17后adt会自动地把libs下的jar包加入环境变量,

2015-03-30 10:56:36 20277

原创 仿天猫拖动广告效果

**由于某种不能道明的原因,装了个天猫的apk,个人感觉主色调有点暗(当然程序员的审美不可信),看到首页上有个拖动广告的效果感觉还不错,就试着仿了一下(但是这个广告好像是暂时的我现在截不到原效果图了,sorry~~~),下面是实现的效果图: 接下来就看看我们要怎么实现这个效果吧—>>> 其实这个实现的原理也比较简单,我们也选择一种比较简单的实现方式,既然这里用到的是广告图片,那么最好就是继承

2015-03-28 19:43:52 20183

原创 leetcode-MinStack

题目地址:https://leetcode.com/problems/min-stack/ 题目描述: my thinking: 点击这个题目的tag,我们会看到这是一个关于栈这个数据结构的题目,而且在这个题目中也是有时间限制的,时间复杂度要为O(n),我一开始时想用c++的vector实现的,但是超时了,后来仔细考虑了一下这个题目要求的操作,无非是插入,取得最后插入的值,删除最后

2015-03-22 13:29:44 19893

原创 软件开发之道

作为一名软件开发人员,我们不仅应该知道怎么开发软件,还要知道怎么更好,更有质量地开发软件,从而提高软件的稳定性和可维护性,在这一方面实在不是你干瞪眼转转脑子就能想出来的,这必须要长时间的工程实践才能一点一点地摸索出来,也就是我们经常说的经验。但是我们遇到的东西总是有限的,积累的经验也是有限的,幸运的是现在已经有很多已经被证明可靠的软件工程方法和模式被提出来而且广泛应用到了我们的开发中,所以要想提高自

2015-03-12 20:40:02 20176

原创 leetcode-Longest Substring Without Repeating Characters

question: my thinking: 首先明确最终要得到最长不重复字符串的长度,就要记录下最长不重复字符串的起始位置和结束位置(当然可能很多朋友有别的更好的做法,觉得不需要这些也可以,不过这样的一个好处是我们还可以知道是哪个字串是我们要求的最长字串,虽然题目没有要求,但是说不定面试的时候面试官就会加上这一问呢,这里也就相当于是给自己加点难度吧)

2015-03-09 16:21:00 19707

原创 leetcode-Add Two Number

本篇文章和上篇文章的Add不是同一个问题,从本次的这个题目中不仅能学会怎么解决这种题目,更重要的是他提供了一种怎样解决大数相加的方法。好了,废话不多说,上题目 question: my thinking: 这个问题其实就是数字相加,从原理上来说就算我们手算再大的数字相加我们也是能算出来的(只要够细心,肯付出时间),而计算机是不能直接计算非常大的数的和的,因为我们知道计算机

2015-03-09 14:31:52 20689

原创 动态规划问题之求解数列中递增数列的长度

最近在准备面试,当然算法是必不可少的,但是自己平常做的更多的是工程方面的东西,涉及到的最多就是数据结构浅层的东西,还没有花很大的精力来研究算法,但是面试中算法肯定是不可缺少的,所以这几天一直在恶补算法,今天看 算法导论 时看到了动态规划算法,看书怎么也看不懂,于是乎上网搜了一下,结果搜到了知乎上的结果,见知乎之关于动态规划问题的探讨,感觉前两位朋友说的实在是太赞了,不仅是帮我理解了动态规划算法的思想

2015-03-07 18:34:29 22024

原创 二叉查找树

二叉查找树是所有结点的左孩子都不大于该结点,右孩子都不小于该结点的完全二叉树按顺序遍历 基于上面介绍的二叉查找树的特点,很容易看出来只要对树进行中序遍历,即先左子树,再根结点,最后右子树的顺序输出,就能得到由小到大排序的结点列表。 遍历所需时间为O(n)查询二叉查找树 还是基于二叉查找树的特性,要查询key值的元素,首先比较它和根结点的大小,如果正好等于根结点的值,那么直接就找到了,

2015-03-06 20:08:00 20076

原创 android-sutdio导入第三方库

使用android-studio时在导入第三方库的时候,和eclipse有些不同,这里总结一下导入方式,希望可以帮助大家更好地使用android studio这款神器帮助我们快速开发android程序直接添加项目依赖 因为androidstudio是基于gradle构建的,这个和maven是有些类似的,可以帮助我们管理引用库的版本,重要的是我们可以根本不去手动下载这些需要的第三方库。 具体

2015-03-05 23:36:52 20574

原创 Android Studio常用快捷键

这是我觉得在使用android studio时比较常用有用的快捷键,希望可以帮助大家加快开发速度,更多见Intellij keymap 作用 快捷键win 快捷键mac 查找命令快捷键 CTRL_SHIFT+A CTRL+SHIFT+A 快速修复 ALT+回车键 ALT+回车键 格式化代码 CTRL+ALT+L(和unix锁定桌面冲突) OPTION+S

2015-03-05 23:36:05 20850

原创 百度地图初步使用

**没什么废话,本篇文章就是想简单介绍一下百度地图的初步使用。之前也用过几次百度地图,但是过一段时间就会忘记,所以还是想记录下来方便的以后查阅,也希望能帮助有需要的朋友。**创建应用,申请key值 创建地址:http://lbsyun.baidu.com/apiconsole/key/create, 创建界面大致是这样的,人家官方的提示也很清楚,应该很容易看懂 ,要说明一下的是这里的安

2015-03-05 23:35:28 20052

原创 使用Markdown

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-03-05 23:32:27 19972

原创 安卓andbase框架源码解读(二)

上一次分析了andbase框架的AbActivity 安卓andbase框架源码解读(一),不知道有没有让大家对这个框架产生点兴趣,这次我要分析的是一个平常比较常用也比较简单但是还挺烦人的知识点:下载图片,当然现在有很多框架比如ImageLoader,Volley里的专门用来从网上加载数据的NetworkImageView,性能还都是不错的,以后博主也一定会把这些源码都分析一下的,毕竟readin

2015-03-05 23:31:12 19949

原创 安卓andbase框架源码解读( 一)

常做开发,怎么能不用框架。框架不仅可以加快我们开发人员的开发效率,还能提高程序的可维护性所以花点时间来学习几个比较优秀的框架还是很有必要的,这样可以省去很多我们去写单调重复的代码的时间,专注功能逻辑的实现,快准狠地开发出优秀的产品。本人更多的时间是在进行安卓开发,这里选取介绍的框架是andbase,优点这里我就不一一介绍了,不好的话我也不会花时间写博客来介绍它,项目地址:https://git

2015-03-05 23:29:25 19335

原创 linux编程初探之 实现文件复制

最近在别人的建议下准备开始写博客了,正好最近正在接触linux编程,就写下此文来记录以下自己的linux编程之旅,也希望能带给需要的人一点帮助。      为了能好好深入unix编程,我买了一本《unix环境高级编程》这本被业内人士高度赞誉的神书,现在看来感觉还是挺好的,可能还是因为自己的基础不怎么好,看有些地方还是比较难理解,但自己就算硬着头皮也会把相关的知识搞懂的,先给自己赞一个。可能

2015-03-05 23:27:40 18627

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除