自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欧阳鹏

一个人,如果你不逼自己一把,你根本不知道自己有多优秀!

  • 博客(623)
  • 资源 (59)
  • 问答 (1)
  • 收藏
  • 关注

原创 【我的Android进阶之旅】解决使用AspectJ然后编译的时候报错:applying to join point that doesn‘t return void:method-execution

一、问题描述今天有个同事写完他的新需求,然后编译代码,生成apk之后,运行报错,如下所示:Caused by: java.lang.ClassNotFoundException:Didn't find class "com.xxx.xxx.XXXProvider" on path:DexPathList[[zip file "xxx"这个类在项目中明明存在,而且apk也可以正常编译成功,为啥就找不到这个类呢?二、分析问题2.1 分析打包出来的apk是否真的包含这个类让他将这个apk拖进An

2020-11-25 20:09:24 14

原创 【我的Android进阶之旅】解决进入页面展示,ScrollView直接就自动滚动到底部的问题

一、问题描述当ScrollView里面包含Recycleview或Listview或者其他的布局比如ConstraintLayout,并且数据在一个屏幕页面不能完全显示完全的时候,打开该页面,就会自动滚动到页面底部。但是这不是我们想要的效果。我们想要的效果是 页面进来就是正常显示,用户自己滑动的时候页面再滚动下去就好。如下所示:页面进来的时候,正常显示,直接在页面顶部。二、分析问题原因就是:Scrollview的childview,拥有获得焦点的能力,高度很大的childview获取到焦点,

2020-10-28 21:56:04 106

原创 【我的Android进阶之旅】如何通过JNI来封装已有的C源码算法,然后让Java层调用C语言写的算法

一、需求描述最近有个需求,需要接入算法同事写的算法。算法同事的算法代码是用C语言写的,然后需要将该算法运用到Android层。然后经过一段时间的开发,算法人员将算法写好了,他们在PC端调试模拟数据,但是如何将他们的算法接入到Android层,他们不会。说白了,他们只懂C语言,其他的都不会。算法人员已经有已经有了下面的两个文件:.h文件(其中包括一些结构体的定义,还有一些方法的声明等等).c文件(里面是对.h文件中一些方法的实现)很显然这里说的.c文件中的函数肯定没有按照那种JNI的规范

2020-10-26 21:42:43 104 2

原创 【我的Android进阶之旅】使用RecyclerView + SnapHelper实现类似抖音的竖向翻页效果

一、需求描述最近有个需求,其中一个小需求是做一个可以竖向翻页的效果,就是类似抖音不停刷刷刷的上下滑动的时候切换视频的效果一样。效果如下所示:第一页第二页每次滑动一下就翻一页。不滑动就翻页的效果如果不做处理的RecycleView的话,就无法实现滑动一下就翻动一页,会变成如下所示的效果:滑动一点,滚动一点。二、实现代码2.1 实现不能滑动就翻页的效果Activity的布局文件 activity_main2.xml其中就放一个RecyclerView&l

2020-10-23 21:11:17 151

原创 【我的Android进阶之旅】实现跟随ViewPager滑动而滑动的指示器,并且滑动到最后一页之后继续滑动则跳转到其他页面

一、需求描述最近做了一个需求,其中有一个小需求如下所述的描述:做一个可以左右滑动的页面,然后在页面上方有一个跟随页面滑动而滑动的指示器。并且滑动到最后一页的时候继续滑动的话,则跳转到另外一个页面。效果如下所示:第一页第6页最后一页最后一页继续左滑,则跳转到第二个页面二、实现上面的效果2.1 自定义指示器自定义一个指示器,如下代码所示:思路很简单使用一个LinearLayout装载和页数一样多的灰显背景小块然后使用FrameLayout帧布局将背景滑

2020-10-23 20:41:34 844 1

原创 【我的Android进阶之旅】Android Studio中JNI开发如何通过Extranal Tools 快速一键生成.h头文件

一、需求描述刚要开发一个JNI的项目,需要生成一些.h的头文件。如何能够快速提供编写好的java文件生成.h头文件呢?二、实现需求2.1 打开File->Setting->Tools->Enternal Tools2.2 新增你的 External Tools如上所示,已经有一个我刚刚新建的名字叫做【JNI】的 External Tools,我们来看下我们新增的这个JNI的内容是什么。我们可以通过点击 +号 按钮,新建一个External Tools。然后我们建一个名字叫

2020-10-20 16:38:54 55

原创 【我的Android进阶之旅】解决Android 8.1系统部分机型获取Wifi名字为空 WifiInfo.getSSID为空或者为<unknown ssid>的情况

一、需求描述最近做一个需求,需要在做某个业务之前,判断Android设备是否连接上指定名称的WiFi。如果连接上了指定名称的WiFi才可以继续某个业务;否则就跳到设置去连接该指定名称的WiFi。因此,我需要获取当前Android设备连接的WiFi名称,来进行业务逻辑判断。二、实现方法2.1 通过WifiManager.getConnectionInfo().getSSID()通过WifiManager.getConnectionInfo().getSSID(),代码如下所示: privat

2020-10-19 14:57:10 150

原创 【我的Android进阶之旅】解决Android Studio报的警告:Resource IDs will be non-final in Android Gradle Plugin version

一、问题描述最近写完一段代码,关于使用switch case语句来判断R.id的时候,出现了如下所示的警告:代码类似于下面这样,出现了警告。int id = view.getId();switch (id) { case R.id.button1: action1(); break; case R.id.button2: action2(); break; case R.id.button3: a

2020-10-17 16:41:58 1231 4

原创 【我的Android进阶之旅】解决升级AndroidStudio到4.1版本后打不开,报错java.lang.NoSuchMethodError

一、问题描述今天没事手动将Android Studio 从4.0 升级到4.1 之后,打不开了,报如下错误:Internal error. Please refer to https://code.google.com/p/android/issuesjava.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPlugin

2020-10-16 16:08:46 1479 5

原创 【我的Android进阶之旅】解决Android8.0下TextView显示奇怪的断行问题,你真的了解Android TextView的breakStrategy吗?

一、问题描述前几天同事遇到一个很奇怪的关于TextView显示折行的问题,右边明明还有很多空白的地方,但是TextView就不显示直接换行了,如下所示:TextView的布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

2020-09-27 20:53:54 171

原创 【我的Android进阶之旅】你了解adb device unauthorized的原因 和 adb授权机制的中adbkey与adbkey.pub的作用吗?

一、问题描述最近在某些第三方的硬件平台上开发一款APP,然后提测给测试人员测试。然后测试人员无法使用adb命令安装APP。运行adb devices命令 提示 xxx设备 unauthorized,如下所示:C:\Users\Administrator>adb devicesList of devices attachedxxx750xxx unauthorized测试运行 adb install -r 命令安装apk 也报错,如下所示:C:\Users\Administ

2020-09-05 17:30:56 311

原创 【Kotlin学习之旅】Kotlin的类型别名typealias

一、类型别名typealias介绍Kotlin提供了类似于C语言的typedef 的功能:可以为已有的类型指定另一个可读性更强的名字。Kotlin提供了typealias来定义类型别名。typealias语句的语法格式为:typealias 类型别名 = 已有类型如果类型名称太长,你可以另外引入较短的名称,并使用新的名称替代原类型名。它有助于缩短较长的泛型类型。 例如,通常缩减集合类型是很有吸引力的:// 为Set<Network.Node> 指定更短的别名NodeSet t

2020-08-13 20:59:37 289 6

原创 【Kotlin学习之旅】Kotlin的字符串类型

一、字符串类型介绍Kotlin的字符串有两种字面值(Literal),分别如下所示:类型描述转义字符串转义字符串可以有转义字符,转义字符串很像Java字符串原始字符串原始字符串可以包含换行和任意文本。原始字符串需要用3个引号引起来。二、字符串类型示例代码如下所示:fun stringTest() { //定义普通字符串 var str = "欧阳鹏" println(str.length) //定义原始字符串 va

2020-08-13 20:07:55 135

原创 【Kotlin学习之旅】Kotlin的Elvis运算

Elvis运算是一个小技巧,其实就是if else 的简化写法。一、示例程序下面来一个示例对比代码,如下所示:fun elvisTest() { var b: String? = "oyp" var len1 = if (b != null) b.length else -1 //输出3 println(len1) b = null var len2 = b?.length ?: -1 // 输出 -1 println(len2)

2020-08-13 19:34:54 125

原创 【Kotlin学习之旅】Kotlin的数值型之间的类型转换

Kotlin是一门强类型的语言,因此编译器对类型检查非常严格,这种严格保证了Kotlin程序的健壮性,因此Kotlin不同类型的值经常需要进行相互转换,数值型之间的变量和值也可以相互转换。一、整型之间的转换不同整型的变量能支持的表数范围是不同的。 如下所示:ByteByte型证书在内存中通常占8位,表数范围是 -128~127。 兼容Java的byte和Byte类型ShortShort型证书在内存中通常占16位,表数范围是 -32768(-2的15次方)~32767(2的15次方减1)

2020-08-13 12:00:43 483

原创 【Kotlin学习之旅】Kotlin的字符型

一、简介字符型统筹用于表示单个的字符,字符型必须使用单引号(‘)括起来。Kotlin语言使用16位Unicode字符集作为编码方式,而Unicode被设计成支持世界上所有书面语言的字符,包括中文字符,因此Kotlin程序支持各种语言的字符。字符型值有以下3种表现形式。直接通过单个字符来指定字符型值,如‘A’、‘9’和‘0’等通过转义字符表示特殊字符型值,如‘\n’和’\t’等直接使用Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数。二、Kotlin

2020-08-12 21:14:12 136

转载 股权、期权和原始股傻傻分不清楚?一文帮你安排的明明白白!

下面内容copy整理自:https://new.qq.com/omn/20200723/20200723A0QE4A00.htmlhttps://www.sohu.com/a/304030977_270543说到股权、期权和原始股,很多人可能多少都听过,但是要真让你说出个所以然来,很多人可能还是一头雾水,那么股权、期权和原始股有啥区别呢?这三者到底哪个更值钱?今天就来给大家提供满满的干货,以后再说起股权期权和原始股,就清楚里面的门道啦!我们经常能看到新闻里说创业公司对员工发放股权或者期权.

2020-08-01 15:13:40 1164

转载 2021计算机科学与技术考研学校排名 (第四轮计算机科学与技术学科评估排名结果出炉)

PS: 转载于: https://kaoyan.koolearn.com/20200611/1080433.html教育部学位与研究生教育发展中心公布了全国第四轮学科评估结果。在95个一级学科范围内开展(不含军事学门类等16个学科),共有513个单位的7449个学科参评。下面是一级学科哲学的评估结果,大家可以看看,选择合适的考研院校。一级学科代码及名称: 0812 计算机科学与技术本一级学科中,全国具有“博士授权”的高校共 77所,本次参评75所;部分具有“硕士授权”的高校也参加了评估;参评高校共.

2020-08-01 10:34:40 2857 2

原创 【我的Android进阶之旅】你的Android Studio中不显示build文件夹?快来看看是不是【show Excluded Files 】未勾选!

一、问题描述今天早上,不知道是在Android Studio中做了什么操作,编译完APP之后,整个build文件夹不显示出来。然后,在Terminal终端,我使用ls命令是可以看到build文件夹,如下所示:C:\CodeForAndroid\matrix\samples\sample-android>cd appC:\CodeForAndroid\matrix\samples\sample-android\app>ls -ltotal 24-rw-r--r-- 1 DH207

2020-07-30 14:42:28 549

原创 【我的Android进阶之旅】快来使用Android Studio的Shelve功能吧!

一、Android Studio的Shelve功能介绍话说,我昨天在调试部分新代码的时候,有个同事正好过来,要我查看另外一个问题,而另外一个问题需要切换一下分支,因此我的需求就是:需要在未完成的事情之间切换不同的任务,然后再返回到它们。然后我就直接使用了Android Studio 自带的 Shelve Changes 功能,将代码直接搁置到了一边。接着分析完同事的问题之后,又使用了“Unshelve Changes” 功能,恢复了之前Shelve的代码。同事看完说: 居然还有这个操作,我居然不

2020-07-29 11:18:03 275

原创 【我的Android进阶之旅】Android混淆踩坑之:开启了shrinkResources true,从而导致Resources.getIdentifier()使用的动态资源被移除的问题

一、问题描述前几天对一个之前未开启混淆的APP,进行了一轮混淆配置,开启混淆,开启删除无用资源之后,发现出现了一个bug: 即使用Resources.getIdentifier()动态调用一些图片资源的地方都无法正常显示,显示出来的图片资源都是纯黑的,没有了图片本身的内容。二、分析问题2.1 初步怀疑是不是资源ID被混淆了我将混淆关闭之后,发现没有此bug。因此应该就是因为混淆导致的bug。然后我猜想,是不是这些动态引用的图片的id被混淆了,所以导致调用的时候找不到。接着我去找到map

2020-07-22 17:02:26 351

原创 【我的Android进阶之旅】解决错误ABIs [armeabi] are not supported for platform.

一、错误描述今天将Tencent的Matrix库下载下来,编译的时候,出现了错误,ABIs [armeabi] are not supported for platform. Supported ABIs are [armeabi-v7a, arm64-v8a, x86, x86_64].如下所示:FAILURE: Build failed with an exception.* What went wrong:A problem occurred configuring project

2020-07-20 14:56:47 775

原创 【我的Android进阶之旅】Android的Gson解析库解析报错:class com.xxx.xxx declares multiple JSON fields named xxx

一、错误描述今天同步一段最新代码,编译运行后出错,如下所示:java.lang.IllegalArgumentException: class com.xxx.ConfigHttpEntity declares multiple JSON fields named enable at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.a(ReflectiveTypeAdapterFactory.java:170)

2020-07-08 16:28:20 424

原创 【我的Android进阶之旅】Android混淆踩坑之报错:The same input jar [xxx\xxx.jar] is specified twice.

一、错误描述今天 在调试混淆的时候,打开了 -printconfiguration 配置。#指定输出整个过程中的所有配置,输出到标准输出流或者指定文件中。这有时候在调度配置时有用。#-printconfiguration [filename]-printconfiguration proguard-configuration.txt这个配置的作用是输出整个混淆过程中的所有配置。然后在编译打包apk的过程,出现了bugThe same input jar [C:\Android\SDK\

2020-07-08 15:28:23 260

转载 【深度好文】强烈推荐:傅盛认知三部曲!

转载原因最近看到 傅盛 大佬关于认知的几篇文章,感觉实在牛逼,在此转载一下。大家优先点击下面的几个链接查看原文吧!!!!!!傅盛认知三部曲之一:所谓成长就是认知升级傅盛认知三部曲之二:管理本质就是认知管理傅盛认知三部曲之三:战略就是格局+破局傅盛认知三部曲后记:到底什么是认知?傅盛 简介傅盛,男,猎豹移动董事长兼CEO [1] ,1978年3月6日出生在江西景德镇,毕业于山东工商学院信息管理与信息系统专业。2003年加入3721公司。2005年加入奇虎360,带领团队打造了安

2020-07-01 21:51:17 2344 1

原创 互联网公司晋升利器,只有学会了这些词,你才能在互联网公司混的风生水起!你还不赶紧背下来!

讲话的时候,有些词看似很通俗,但用起来就会让你显得高逼格!二字动词:复盘,赋能,加持,沉淀,倒逼,落地,串联,协同,反哺,兼容,包装,重组,履约,响应,量化,布局,联动,细分,梳理,输出,加速,共建,支撑,融合,聚合,集成,对标,聚焦,抓手,拆解,抽象,摸索,提炼,打通,打透、吃透,迁移,分发,分装,辐射,围绕,复用,渗透,扩展,开拓、皮实、共创、共建、解耦、集成、对齐、拉齐、对焦、给到、拿到、死磕、二字名词:漏斗,中台,闭环,打法,纽带,矩阵,刺激,规模,场景,维度,格局,形态,生态,体系

2020-06-29 21:01:41 693

原创 【我的Android进阶之旅】Android混淆踩坑之各模块各自单独配置混淆,但是将minifyEnabled设置为true导致的编译错误

一、背景描述在之前的两篇文章中【我的Android进阶之旅】Android 混淆文件资源分类整理【我的Android进阶之旅】Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的混淆文件我已经说清楚了如何将最开始在app module中的大一统混淆配置拆分成不同的更小颗粒度的混淆文件。如何各个module都单独配置了混淆规则。有兴趣的,可以读一读之前的这两篇文章!二、编译问题2.1 问题描述但是,在拆分各自module的混淆配置的时候,发现了一个坑。这个坑在.

2020-06-28 19:32:39 1143

原创 【我的Android进阶之旅】解决Android Studio 4.0的编译的run面板输出的信息中文乱码问题

一、问题描述最近更新了Android Studio 4.0 版本,如下所示:但是在编译的时候,如果出错了,就是中文显示会变成一堆乱码,完全不知所云,如下所示:简直无法忍受!!!!二、解决问题2.1 进入Edit Custom VM Options有两种方式进入:方式一: 双击shift ,输入 Edit Custom VM Options ,如下:方式二: Help–> Edit Custom VM Options ,如下:接着会进入 编辑 studio64.exe..

2020-06-28 10:17:32 782

转载 你很聪明,思维也很敏捷,小有才华,为什么依然一事无成?

我们身边有很多这样的人:看起来很聪明,学习东西也很快,思维也敏捷,什么好像都懂一点,人缘也还挺好。但慢慢的我们发现,这些人混的不怎么样,甚至非常平庸。“聪明、机灵、有想法、多才多艺,口才还不错”,这是其他人对这类人的评价。别问我为什么知道,因为我就是这样的人。我来总结一下原因。思想上的巨人,行动上的矮子,勤说懒做。这种人属于:“晚上想想千条路,早晨起来走原路”。他们一般兴趣广泛,对很多事情都有所涉猎,学习能力也不差,接受新事物的能力比较强。聊天口若悬河,说得头头是道,好像懂得很多,其实一般都是有广度

2020-06-28 08:57:29 317

原创 【我的Android进阶之旅】生成带混淆配置的jar库

一、问题在我的文章【我的Android进阶之旅】Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的混淆文件中有介绍一篇文章生成带混淆配置的aar库里面有介绍如何生成带配置的aar库https://github.com/realm/realm-java/tree/master/realm/realm-library定义混淆配置引用混淆配置https://github.com/realm/realm-java/blob/master/realm/realm

2020-06-22 16:39:27 160

原创 【我的Android进阶之旅】Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的混淆文件

在我2017年的文章【我的Android进阶之旅】Android 混淆文件资源分类整理中,我已经提及过。之前将所有的混淆都配置在一个 proguard-rules.pro 这个Android Studio新建项目时自动生成的文件里面,而随着项目功能迭代越来越多,代码量越来越多,引用的第二方库、第三方库都越来越多,导致proguard-rules.pro 越来越臃肿,而且随着开发人员增多导致proguard-rules.pro 文件里面的配置越来越混乱。一、拆分proguard-rules.pro混淆

2020-06-20 16:10:01 385

原创 【我的Android进阶之旅】解决问题:Required: PROJECT. Found: EXTERNAL_LIBRARIES, PROJECT, SUB_PROJECTS

一、问题描述早上起来上班,编译APP直接出现下面的编译错误:Unexpected scopes found in folder 'C:\CodeForAndroid\xxx\app-xxx\build\intermediates\transforms\mergeJniLibs\xhdpiXxx\debug'. Required: PROJECT. Found: EXTERNAL_LIBRARIES, PROJECT, SUB_PROJECTS二、分析一下来看一看 com.android.

2020-06-16 10:07:54 283

原创 【神兵利器】你是否想让你的公众号博客更有逼格呢,快使用Markdown Nice吧!

一、有逼格的公众号排版先打开下面的链接看看,是不是排版比较有逼格?你真的会写 Markdown 么?这里面的代码风格,和我上篇博客介绍的 carbon.sh 类似的。【神兵利器】你是否也想生成这样有逼格的代码图?其实我之前也是在一些公众号上看到这样的代码排版,然后再去看有什么方式生成这样的有逼格的排版?我开始知道有 Carbon.sh 后面知道了有MDNice。下面来介绍一下吧。二、Markdown Nice介绍官网: https://mdnice.com/代码源码: https:/

2020-06-13 16:18:08 253

原创 【神兵利器】你是否也想生成这样有逼格的代码图?

一、现状你是否想把你的代码片段导出来变成一个很有逼格的图片呢?平常写博客的时候,都是直接贴代码块,如下所示,一个简单的HelloWorld程序,平常代码都是这样展示的。package com.csdn.oyp;/** * 作者:欧阳鹏 * 博客地址: https://ouyangpeng.blog.csdn.net/ */public class HelloWorld { /** * 输出一行字符串 “Hello World!” */ public sta

2020-06-13 15:06:24 476

原创 【我的Android进阶之旅】你可能不知道android.view.View#setAlpha()方法也会影响你的APP性能!

一、问题描述最近在优化APP的性能的时候,发现了一个平时完全没有注意到的一个能够影响APP性能的代码。这个代码就是调用了android.view.View#setAlpha()方法。1.1 需求描述APP有个需求,是在滑屏的过程中,蒙版的背景颜色会动态的变化透明度。1.1.1 关于蒙版是啥?下面内容摘自 林屹 老师的 《PPT设计的艺术:人人都用得上的PPT艺术书》。在Photoshop、PPT中,也会经常用到蒙版,类似“贴膜”的效果,制作很简单------ 在文字和图片之间插入一个半透明

2020-06-06 17:45:47 455

原创 【我的Android进阶之旅】Android Studio 使用Gradle编译出现错误:java.lang.IllegalStateException: Already finished

一、问题描述今天下午编译项目,突然出现了如下所示的错误:java.lang.IllegalStateException: Already finishedFAILURE: Build failed with an exception.* What went wrong:Already finished* Try:Run with --stacktrace option to get the stack trace. Run with --debug option to get more lo

2020-05-30 15:40:16 748

原创 【神兵利器】你绝对想不到VSCode 也可以画流程图了!

一、描述技术人员一般需要具备一定得画图能力,特别是架构师,需要画各种图:除了让架构更清晰,方便给别人讲解,也是装逼神器~1.1 ProcessOn之前都是在 ProcessOn 上画流程图,绘制流程图页面但是免费版本 只能有9张文件保存,多了就得删掉旧的,或者升级为个人版或者团队版。1.2 draw.io英文原版地址: https://www.draw.io/英文界面如下:中文地址: https://www.draw.io/?lang=zh中文界面如下:选择要绘制的类型绘

2020-05-20 20:44:57 6658 3

原创 【git学习】GitLab如何创建Merge Request Templates?

一、需求描述通常在GitLab中使用提交request或者加issue的过程中,都会遇到每次填写相似内容的情况,而且一般团队为了规范,发起Merge Request都需要写固定的格式。如下所示,GitLab中有没有提供可以解决这一个问题的方案呢?二、添加Merge Request Templates2.1 在项目中找到文件夹 .gitlab(和 .git 是在同一目录)2.2 创建文...

2020-04-29 21:08:01 1141

原创 【我的Android进阶之旅】解决 Exported receiver/service does not require permission

一、问题描述最近切换到一个新的项目中,查看代码的时候,发现AndroidManifest.xml清单文件有一堆的警告Service警告 <service android:name=".oyp.CSDNService" android:enabled="true" android:exported="true...

2020-04-22 11:10:15 689

转载 【转载】Android功耗改进

最近几年中,Google在一直极力的改进Android系统的续航能力。在本文中,我们将看到Andrdoi自5.0到8.0这几个版本中对于功耗方面的改进。前言移动设备的续航时间无疑是所有用户都非常在意的。我们都希望自己的手机一次充电可以使用更长的时间。但遗憾的是,近几年移动设备的电池元件一直都没有重大的技术突破。并且,随着硬件性能的提升却带来了更多的电量消耗。如果你对比过近几年的An...

2020-04-20 16:31:18 507 3

我的Android进阶之旅------>Android疯狂连连看游戏的实现

我的Android进阶之旅------>Android疯狂连连看游戏的实现 可以参考博客:http://blog.csdn.net/ouyang_peng/article/details/14115627

2013-11-04

Android之AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)

可以参考下面博客:我的Android进阶之旅------>Android之AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字) (博客地址:http://blog.csdn.net/ouyang_peng/article/details/8826806)

2013-10-28

Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器

具体说明可以参考博客:我的Android进阶之旅------>Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器 博客地址:http://blog.csdn.net/ouyang_peng/article/details/8831434

2013-10-28

Android基于HTTP协议的多线程断点下载器的实现源码_第二次优化之后

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409 这个进行了第二次优化

2013-10-13

GitCam一款Gif动画制作软件

GifCam是一款小巧、免费的录制电脑屏幕并制作成GIF动画的软件,具有精确录制、可剪辑等特色,用来录制GIF动画教程是很不错的

2013-09-30

Android基于HTTP协议的多线程断点下载器的实现源码_优化之后

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409 这个进行了优化

2013-08-23

Android基于HTTP协议的多线程断点下载器的实现源码

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409

2013-08-20

Java语言实现简单FTP软件源代码

Java语言实现简单FTP软件源代码,供大家下载,参考参考

2013-08-14

跟我一起写Makefile

跟我一起写Makefile 教你如何写makefile

2013-07-24

免费_java中文乱码字符集解决大全

免费_java中文乱码字符集解决大全里面详细介绍了java的各种乱码问题

2013-05-11

【eoeAndroid特刊】第01期-Andriod 1_5 SDK简介.pdf

【eoeAndroid特刊】第01期-Andriod 1_5 SDK简介.pdf

2013-04-27

【eoeAndroid特刊】第02期-Android 图像处理篇.pdf

【eoeAndroid特刊】第02期-Android 图像处理篇.pdf

2013-04-27

eoeAndroid 第03期 Android Market 及应用发布

【eoeAndroid特刊】第03期-Android Market及应用发布.pdf

2013-04-27

【eoeAndroid特刊】第04期-Android widget Ver 2.0.0.pdf

【eoeAndroid特刊】第04期-Android widget Ver 2.0.0.pdf

2013-04-27

【eoeAndroid特刊】第05期-Android widget.pdf

【eoeAndroid特刊】第05期-Android widget.pdf

2013-04-27

Connectify

Connectify 无限共享 可以实现笔记本共享网络

2013-01-23

中文汉字笔划数据对照文本

中文汉字、汉字笔画数、汉字编码 对应表格 https://blog.csdn.net/ouyang_peng/article/details/83863693 https://blog.csdn.net/ouyang_peng/article/details/84109727

2018-11-15

中文汉字笔划数据库

里面排好了中文对应的汉字、笔画数量、汉字对应的unicode码等,方便大家进行笔画排序。可以参考链接: https://blog.csdn.net/ouyang_peng/article/details/83863693 sqlite> .tables BI_HUA_BEAN CHILD_BEAN CLASSIFY_BEAN android_metadata sqlite> .schema CREATE TABLE android_metadata (locale TEXT); CREATE TABLE IF NOT EXISTS "CHILD_BEAN" ("_id" INTEGER PRIMARY KEY ,"NAME" TEXT,"ADDRESS" TEXT,"BIHUA_COUNT" INTEGER NOT NULL ,"CHILD_ID" INTEGER); CREATE TABLE IF NOT EXISTS "CLASSIFY_BEAN" ("_id" INTEGER PRIMARY KEY ,"NAME" TEXT,"BEI_ZHU" TEXT); CREATE TABLE IF NOT EXISTS "BI_HUA_BEAN" ("_id" INTEGER PRIMARY KEY ,"CHINESE" TEXT,"SUM" TEXT, codePointAt INTEGER); sqlite> 数据类似于: 2410|抨|8|25256 2411|拣|8|25315 2412|拤|8|25316 2413|坫|8|22379 2414|拈|8|25288 2415|坿|8|22399 2416|拊|8|25290 2417|者|8|32773 2418|拍|8|25293 2419|顶|8|39030 2420|坼|8|22396 2421|拆|8|25286 2422|乴|8|20084

2018-11-14

2017WOTD峰会讲师PPT

2017WOTD峰会讲师PPT,http://wot.51cto.com/act/2017/development/ 2017年12月1日和12月2日的峰会讲师PPT

2017-12-03

STUN Client_v1.2_apkpure.com.apk

该应用程序可以帮助你找出什么样的防火墙/ NAT你后面使用STUN协议。 有多STUN服务器可供选择。

2017-11-28

Linux命令行与shell脚本编程大全(第3版) 高清晰PDF

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。 第一部分 Linux 命令行 第1章 初识Linux shell  2 1.1 什么是Linux  2 1.2 Linux发行版  12 1.3 小结  15 第2章 走进shell  16 2.1 进入命令行  16 2.2 通过Linux控制台终端访问CLI  18 2.3 通过图形化终端仿真访问CLI  20 2.4 使用GNOME Terminal仿真器  21 2.5 使用Konsole Terminal仿真器  25 2.6 使用xterm终端仿真器  29 2.7 小结  32 第3章 基本的bash shell命令  33 3.1 启动shell  33 3.2 shell提示符  34 3.3 bash手册  34 3.4 浏览文件系统  37 3.5 文件和目录列表  42 3.6 处理文件  46 3.7 处理目录  55 3.8 查看文件内容  58 3.9 小结  63 第4章 更多的bash shell命令  64 4.1 监测程序  64 4.2 监测磁盘空间  73 4.3 处理数据文件  78 4.4 小结  85 第5章 理解shell  86 5.1 shell的类型  86 5.2 shell的父子关系  88 5.3 理解shell的内建命令  96 5.4 小结  101 第6章 使用Linux环境变量  103 6.1 什么是环境变量  103 6.2 设置用户定义变量  106 6.3 删除环境变量  109 6.4 默认的shell环境变量  110 6.5 设置PATH环境变量  113 6.6 定位系统环境变量  114 6.7 数组变量  121 6.8 小结  122 第7章 理解Linux文件权限  124 7.1 Linux的安全性  124 7.2 使用Linux组  132 7.3 理解文件权限  135 7.4 改变安全性设置  138 7.5 共享文件  140 7.6 小结  142 第8章 管理文件系统  143 8.1 探索Linux文件系统  143 8.2 操作文件系统  147 8.3 逻辑卷管理  154 8.4 小结  162 第9章 安装软件程序  163 9.1 包管理基础  163 9.2 基于Debian的系统  164 9.3 基于Red Hat的系统  171 9.4 从源码安装  177 9.5 小结  180 第10章 使用编辑器  181 10.1 vim编辑器  181 10.2 nano编辑器  187 10.3 emacs编辑器  188 10.4 KDE系编辑器  196 10.5 GNOME编辑器  202 10.6 小结  206 第二部分 shell脚本编程基础 第11章 构建基本脚本  210 11.1 使用多个命令  210 11.2 创建shell脚本文件  211 11.3 显示消息  212 11.4 使用变量  214 11.5 重定向输入和输出  218 11.6 管道  220 11.7 执行数学运算  222 11.8 退出脚本  228 11.9 小结  231 第12章 使用结构化命令  232 12.1 使用if-then语句  232 12.2 if-then-else语句  235 12.3 嵌套if  235 12.4 test命令  238 12.5 复合条件测试  254 12.6 if-then的高级特性  255 12.7 case命令  257 12.8 小结  258 第13章 更多的结构化命令  260 13.1 for命令  260 13.2 C语言风格的for命令  268 13.3 while命令  270 13.4 until命令  272 13.5 嵌套循环  274 13.6 循环处理文件数据  276 13.7 控制循环  277 13.8 处理循环的输出  282 13.9 实例  283 13.10 小结  286 第14章 处理用户输入  287 14.1 命令行参数  287 14.2 特殊参数变量  292 14.3 移动变量  295 14.4 处理选项  296 14.5 将选项标准化  305 14.6 获得用户输入  306 14.7 小结  309 第15章 呈现数据  311 15.1 理解输入和输出  311 15.2 在脚本中重定向输出  315 15.3 在脚本中重定向输入  317 15.4 创建自己的重定向  317 15.5 列出打开的文件描述符  322 15.6 阻止命令输出  323 15.7 创建临时文件  324 15.8 记录消息  327 15.9 实例  328 15.10 小结  330 第16章 控制脚本  331 16.1 处理信号  331 16.2 以后台模式运行脚本  338 16.3 在非控制台下运行脚本  341 16.4 作业控制  342 16.5 调整谦让度  345 16.6 定时运行作业  346 16.7 小结  353 第三部分 高级shell脚本编程 第17章 创建函数  356 17.1 基本的脚本函数  356 17.2 返回值  359 17.3 在函数中使用变量  362 17.4 数组变量和函数  366 17.5 函数递归  369 17.6 创建库  370 17.7 在命令行上使用函数  371 17.8 实例  374 17.9 小结  377 第18章 图形化桌面环境中的脚本编程  378 18.1 创建文本菜单  378 18.2 制作窗口  384 18.3 使用图形  393 18.4 小结  400 第19章 初识sed和gawk  401 19.1 文本处理  401 19.2 sed编辑器基础  410 19.3 小结  423 第20章 正则表达式  424 20.1 什么是正则表达式  424 20.2 定义BRE模式  426 20.3 扩展正则表达式  436 20.4 正则表达式实战  439 20.5 小结  444 第21章 sed进阶  445 21.1 多行命令  445 21.2 保持空间  450 21.3 排除命令  451 21.4 改变流  454 21.5 模式替代  456 21.6 在脚本中使用sed  458 21.7 创建sed实用工具  460 21.8 小结  467 第22章 gawk进阶  469 22.1 使用变量  469 22.2 处理数组  476 22.3 使用模式  478 22.4 结构化命令  480 22.5 格式化打印  484 22.6 内建函数  487 22.7 自定义函数  490 22.8 实例  492 22.9 小结  493 第23章 使用其他shell  495 23.1 什么是dash shell  495 23.2 dash shell的特性  496 23.3 dash脚本编程  500 23.4 zsh shell  502 23.5 zsh shell的组成  503 23.6 zsh脚本编程  508 23.7 小结  510 第四部分 创建实用的脚本 第24章 编写简单的脚本实用工具  514 24.1 归档  514 24.2 管理用户账户  523 24.3 监测磁盘空间  537 24.4 小结  542 第25章 创建与数据库、Web及电子 邮件相关的脚本  543 25.1 MySQL数据库  543 25.2 使用Web  555 25.3 使用电子邮件  561 25.4 小结  564 第26章 一些小有意思的脚本  565 26.1 发送消息  565 26.2 获取格言  573 26.3 编造借口  583 26.4 小结  587 附录A bash命令快速指南  589 附录B sed和gawk快速指南  597

2017-10-20

FindBugs错误分析说明.pdf

FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等;感兴趣的朋友可以下载看看

2017-09-19

Deep Learning 中文版

Deep Learning 中文翻译 https://github.com/exacity/deeplearningbook-chinese 第一章 前言 第二章 线性代数 第三章 概率与信息论 第四章 数值计算 第五章 机器学习基础 第六章 深度前馈网络 第七章 深度学习中的正则化 第八章 深度模型中的优化 第九章 卷积网络 第十章 序列建模:循环和递归网络 第十一章 实践方法论 第十二章 应用 第十三章 线性因子模型 第十四章 自编码器 第十五章 表示学习 第十六章 深度学习中的结构化概率模型 第十七章 蒙特卡罗方法 第十八章 面对配分函数 第十九章 近似推断 第二十章 深度生成模型 参考文献

2017-07-12

《深入探索Android热修复技术原理》高清完整版PDF

2017年6月,阿里巴巴手淘技术团队推出了史上首个非侵入式移动热更新解决方案——Sophix。在Android热修复的三大领域:代码修复、资源修复、SO修复方面,以及方案的安全性和易用性方面,Sophix都做到了业界领先。 《深入探索Android热修复技术原理》从阿里Sophix方案开发过程入手权威解读,分享了阿里巴巴手淘技术团队对系统底层的原创性发现,是业界首部全方位完整介绍热修复原理的书籍。 阿里技术大牛联袂推荐 自 2014 年至今,手淘定义和引领了业界 Android 组件化和热修复技术风潮,至于后来者 Instant App 或多或少也受了国内技术风气影响。今天看到团队同学将这块技术认真系统化整理成书,非常欣喜。在这本书里,既能看到对热修复技术风潮的发展历史系统深入总结,看到国内程序员在Android系统级技术持续突破上的不懈努力,更看到国内程序员坚持打造世界级优秀专业移动技术产品的雄心壮志! 手机淘宝基础平台部负责人,阿里巴巴资深技术专家 吴天华(天施) 业内少有的讲解 Android 热修复的深度书籍,对于原理、代码讲解得非常的清晰和深入,值得 Android 工程师研读。 手机淘宝资深专家,倪生华(玄黎) 应用热修复是一项略带神秘而又颇具争议的技术,但是它的确赋予应用开发者“驾着飞机修引擎”的能力。本书从 Android 应用热修复技术的原理及代码实现、多种方案进行比较的角度,系统化地阐述了 Android 平台上的应用热修复技术。对 Android 应用热修复有好奇心的技术人员,这本专题书不容错过。 计算机技术领域著名作家,阿里巴巴飞猪事业部首席架构师 潘爱民 阿里无线3年前在业界首次推出 Android 热修复技术 Dex- posed,为 Android 底层技术服务于业务痛点需求点亮了一个崭新的技术方向,点燃了业界百花齐放的探索热潮。这是一个技术改变格局的时代,同时也是一个能人辈出的时代! 手机淘宝前架构师,绿色联盟发起人 冯森林(无锋)

2017-07-03

Video to GIF 绿色免费版本

Video to GIF 工具介绍可以参考博客 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF) ,地址:http://blog.csdn.net/ouyang_peng/article/details/73864005 Video to GIF是一款视频转换GIF图片格式的转换工具,软件界面友好,操作简单,支持目前所有流行的视频格式转换,软件能够高质量快速的进行转换,可以轻松查看高清动画及原始视频画面。 Video to GIF 主要特点 视频转换为GIF动画的Video格式包含:AVI, MPG, MPEG, ASF, WMV, WM, FLV, SWF, RM, RMVB, VOB, MOV, 3GP, M1V, VOB, DVD。 支持最流行的图像格式输出:视频转换为GIF动画等各种图像格式,包含:GIF,JPEG, JPG,BMP, PNG,TGA,TIFF, ICO, PCX。 转换视频到Seriate中的图片:提取视频文件的所有帧与方便单独的图像文件。拍摄的图像可以转换为所有流行格式,如JPG,GIF,BMP,PNG,等等。 转换视频到电视墙 :转换视频到一个单一的形象,包括多画面简单的安排。 内置的视频播放器:支持所有视频格式的:可以作为一个视频播放器的常用功能,如暂停,停止,快照等,更重要的是,它也支持所有主要的视频格式。 时间的控制输出精确长度:输入开始时间和人工终止时间,以准确的每一帧(1秒= 24帧)。 调整:获取输出图像文件作为同原始分辨率或设置,你想要一个新的大小。 使输出图像的特殊效果:添加特殊效果(如蓝,锐化,噪声,提亮,反转等)输出GIF或其它图像。

2017-06-28

阿里巴巴Java开发手册 v1.2.0

今年年初,《阿里巴巴Java开发手册》正式发布,阿里官方Java代码规范标准首次对外公开。手册发布之后在业界、学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒体主动转发,并将其称为“Java工程师必备宝典”。 业界开发者对手册也做出了高度的评价: “这是多年在一线奋斗的阿里同行们宝贵经验和线上事故的总结升华,在规模化生产实践、质量控制中必不可少的方法和手段。现在阿里工程师们把这些规范分享出来,能够帮助更多的同行们少走弯路,避免掉在不必要的坑里,能够大大提高研发质量、研发效率。” ——资深架构师李艳鹏 “阿里巴巴出品的JAVA开发手册比Google开源的Style Guide更全面,涵盖面更广。开发手册也在不断的动态迭代当中,保证了技术和实践时刻处于最前沿。” ——高级咨询师博文 “阿里Java编程规约不是约束,而是一种难得的效率规范。有了它,团队协作,代码交接和传递更加容易和便捷。总之,以后看别人的代码再也不用苦恼和头疼了。” ——非著名程序员涩郎 “比起很多花哨的所谓技术和框架,这东西才是体现‘码农’ 和 ‘工程师’ 本质区别的地方。” ——知乎用户胖胖 同时,也有热心用户对排版布局、部分示例错误、前后矛盾等问题提出了宝贵的建议。在收集外部建议和阿里内部经验更新的基础上,阿里巴巴规约项目组正式推出《阿里巴巴Java开发手册》1.2.0升级版,堪称史上最完善版本。 升级亮点 一、排版布局 1)页码中的封面、前言、目录并不计入总页码,调整前言到目录之前。 2)一级标题统一换页;二级标题统一不换页,并在之前空一行。 3)增加附1(版本历史)和附2(专有名词说明)并各自单独成为一页。 二、示例修正 1)关于太阳年龄的示例错误。太阳年龄46亿,超过42亿的表示范围。 2)个别示例的代码不符合格式规约,尤其是String args[]的表示方式错误。 三、修正规则 1)修正countdown 描述错误。 2)修正final关于效率优化的错误描述。 3)修正异常捕捉的描述错误。 四、内容增加 1)增加“指定集合大小”的进一步说明。 2)增加卫语句的示例代码。 3)明确数据库表示删除概念的字段名为 is_deleted 下载方式 识别上方二维码,关注“阿里技术”公众号,在阿里技术公众号回复“手册”两字,即可免费在线阅读&免费下载。 此手册从构思到现在的最新版本,历时两年,历经无数次内部针锋相对的讨论,迭代高达118次。该规约以Java开发者为中心视角,虽然只有短短的 2.2w字,却全面覆盖编程规约、异常日志规约、MySQL规约、工程规约、安全规约五大板块。 每一条规范几乎都经过千锤百炼实践的考验。从最初的周更新频率,降至现在的月度更新,后续的更新频度会以年为单位。在业界同仁的支持和努力下,规约已经越来越稳定,越来越完善。 手册愿景:码出高效、码出质量 阿里技术生态丰富,框架结构成熟,经历了超高并发的多年“双十一”实战考验,积累了丰富的Java实战经验。《阿里巴巴Java开发手册》本身就是阿里巴巴的内部编码规范,从命名到项目拆分,不仅规范了一些开发细节,也提出了很多工程开发的哲学。 如阿里巴巴系统软件事业部研究员毕玄所言,一个优秀的工程师和一个普通工程师的区别,不是现在满天飞的架构图,他的功底就是体现在他写的每一行代码上。 规约的目标是帮助开发者码出高效、码出质量,提升系统的质量、协作的高效性。计算机工程师这个行业很特殊,既像艺术家在创造富有个性的艺术品,又是一个需要团队合作的工作。《阿里巴巴Java开发手册》提倡算法效率和架构扩展的个性化,而不是代码风格随意化,尽量减少没有营养的“圣战”,如:4个空格、单行语句换行等。 未来展望:国际英文版&IDE智能扫描插件 这是一个广义的编码规范,一本随时可以查阅的技术参考,你在手册中可以找到很多的技术规范、最佳实践,避坑指南等,它是每一位优秀开发者手里的必备好书。 未来,阿里巴巴规约项目组将持续更新,推出国际英文版,并预计在今年9月杭州云栖大会发布众所期待的中文GitHub开源版本和IDE智能扫描插件,为开发者提供更多便利的服务,帮助企业和开发者切实提升代码质量、降低代码故障率。 阿里巴巴 JAVA 开发手册 V1.0版本下载地址 http://download.csdn.net/detail/qq446282412/9735132 https://mp.weixin.qq.com/s/fHh6CRljz4LCq9ZDtErNPQ?ptlang=2052&source&ADUIN=3024665621&ADSESSION=1495496312&ADTAG=CLIENT.QQ.5521_.0&ADPUBNO=26675

2017-05-23

Kotlin语言文档 中文高清免费版

Kotlin语言文档 中文高清免费版 概述 4 使 Kotlin 进 服务器端开发 4 使 Kotlin 进 Android 开发 5 Kotlin JavaScript 概述 6 Kotlin 1.1 的新特性 7 开始 15 基本语法 15 习惯 法 20 编码规范 24 基础 26 基本类型 26 包 31 控制流 33 返回和跳转 36 类和对象 38 类和继承 38 属性和字段 42 接 45 可 性修饰符 47 扩展 49 数据类 53 密封类 54 泛型 55 嵌套类 60 枚举类 61 对象表达式和对象声明 63 委托 66 委托属性 67 函数和 Lambda 表达式 72 函数 72 阶函数和 lambda 表达式 77 内联函数 81 协程 84 其他 88 解构声明 88 集合 90 区间 91 2 类型的检查与转换 93 This 表达式 95 相等性 96 操作符符重载 97 空安全 100 异常 102 注解 104 反射 108 类型安全的构建器 111 参考 117 Grammar 117 Notation 117 Semicolons 117 Syntax 117 Lexical structure 125 兼容性 126 Java 互操作 129 在 Kotlin 中调 Java 代码 129 Java 中调 Kotlin 136 JavaScript 142 动态类型 142 Kotlin 中调 JavaScript 144 JavaScript 中调 Kotlin 147 JavaScript 模块 149 JavaScript 反射 152 具 153 编写 Kotlin 代码 档 153 使 Kotlin 注解处理 具 156 使 Gradle 158 使 Maven 163 使 Ant 168 Kotlin 与 OSGi 171 编译器插件 172 常 问题 176 FAQ 176 与 Java 语 较 179 与 Scala 较【官 已删除】 180

2017-05-22

Gradle for Android

About This Book, Create custom Gradle tasks and plugins for your Android projects, Configure different build variants, each with their own dependencies and properties, Manage multi-module projects, and integrate modules interdependently, Who This Book Is For, If you are an experienced Android developer wanting to enhance your skills with the Gradle Android build system, then this book is for you. As a prerequisite, you will need some knowledge of the concepts of Android application development., What You Will Learn, Build new Android apps and libraries using Android Studio and Gradle, Migrate projects from Eclipse to Android Studio and Gradle, Manage the local and remote dependencies of your projects, Create multiple build variants, Include multiple modules in a single project, Integrate tests into the build process, Create custom tasks and plugins for Android projects, In Detail, Gradle is an open source build automation system that introduces a Groovy-based domain-specific language (DSL) to configure projects. Using Gradle makes it easy for Android developers to manage dependencies and set up the entire build process., This book begins by taking you through the basics of Gradle and how it works with Android Studio. Furthermore, you will learn how to add local and remote dependencies to your project. You will work with build variants, such as debug and release, paid and free, and even combinations of these things. The book will also help you set up unit and integration testing with different libraries and will show how Gradle and Android Studio can make running tests easier. Finally, you will be shown a number of tips and tricks on the advanced customization of your application's build process. By the end of this book, you will be able to customize the entire build process, and create your own tasks and plugins for your Gradle builds.

2017-02-28

软技能:代码之外的生存指南

这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。 目录: 第1章 为何这本书与你先前读过的任何书籍都迥然不同 1 第一篇 职业 5 第2章 从非同凡响开始:绝不要做他人都在做的事 7 第3章 思考未来:你的目标是什么 10 第4章 人际交往能力:远比你想象的重要 14 第5章 破解面试之道 18 第6章 就业选择:列出你的选择 23 第7章 你是哪类软件开发人员 28 第8章 公司与公司是不一样的 33 第9章 攀登晋升阶梯 38 第10章 成为专业人士 42 第11章 赢得自由——如何辞职 47 第12章 成为自由职业者:开启自己的一片天地 54 第13章 创建你的一个产品 60 第14章 你打算开始创业吗 65 第15章 远程工作的生存策略 70 第16章 假装自己能成功 74 第17章 单调乏味的简历——如何修改 77 第18章 请勿陷入对技术的狂热之中 81 第二篇 自我营销 85 第19章 针对“码农”的营销基础课 87 第20章 打造引人注目的品牌 92 第21章 创建大获成功的博客 97 第22章 你的主要目标:为他人增加价值 104 第23章 善于运用社交媒体 107 第24章 演讲、报告和培训:做“说话的极客” 112 第25章 著书立说,吸引追随者 117 第26章 百折不挠,越挫越勇 121 第三篇 学习 125 第27章 学习怎样学习:如何自我教育 127 第28章 我的“十步学习法” 130 第29章 第 1 步到第 6 步:这些步骤只做一次 133 第30章 第7步到第10步:循环往复 140 第31章 寻找导师:找到你的尤达 145 第32章 开山收徒:成为尤达一样的大师 150 第33章 传道授业:若要学知识,必得为人师 153 第34章 你需要一个学位吗,还是可以对此忽略不计 157 第35章 发现自己的知识短板 161 第四篇 生产力 165 第36章 一切始于专注 167 第37章 我的私房“生产力提升计划” 171 第38章 番茄工作法 177 第39章 我的“定额工作法”:我是如何做到超额完成工作的 183 第40章 对自己负责 187 第41章 要不要多任务并行 191 第42章 职业倦怠:我已找到解药 195 第43章 时间是怎样被浪费掉的 200 第44章 形成惯例的重要性 205 第45章 培养习惯:刷新你的代码 209 第46章 分解任务:如何吃掉一头大象 214 第47章 努力工作的价值,以及为什么你总是逃避努力工作 219 第48章 任何行动都比不采取行动好 223 第五篇 理财 229 第49章 怎样支配你的薪水 231 第50章 怎样进行薪酬谈判 236 第51章 期权:所有乐趣之所在 243 第52章 房地产投资面面观 250 第53章 你真的了解自己的退休计划吗 256 第54章 债务的危害:社保债务代价昂贵 263 第55章 额外馈赠:我是如何做到33岁退休的 267 第六篇 健身 279 第56章 为什么需要破解自己的健康密码 281 第57章 设定你的健身标准 285 第58章 热力学、热量和你 289 第59章 动力:让你的屁股离开椅子 294 第60章 如何增长肌肉:书呆子也能拥有强健的肌肉 298 第61章 如何获得完美腹肌 305 第62章 启动跑步程序 308 第63章 站立式办公及其他窍门 311 第64章 高科技健身装备:极客现身 315 第七篇 精神 319 第65章 心灵是如何影响身体的 321 第66章 拥有正确的心态:重新启动 325 第67章 构建一个积极的自我形象——规划你的大脑 330 第68章 爱情与恋爱:计算机无法牵着你的手 335 第69章 我的私房成功书单 339 第70章 积极面对失败 344 第71章 结束语 348

2017-02-25

不一样的技术创新-阿里巴巴2016双11背后的技术

为什么我们要看这本电子书?   数十位阿里技术大V精心选题!   8大技术领域27篇共计十万余字!   2016双11业务狂欢背后的技术实践!   全面阐述阿里巴巴最新技术积累与创新! 每年双11技术保障工作的顺利完成,是阿里技术积累和创新能力的集中展现。2016双11业务狂欢的背后,更是体现了阿里这两年来在人工智能、VR、云计算和大数据技术方面丰富的技术实践与突破。 历经近一个月的编写,《不一样的技术创新-阿里巴巴2016双11背后的技术》(以下简称《不一样的技术创新》)一书最终呈现在大家面前。本书由数十位亲历双11零点之战的阿里技术大V编写,与大家零距离分享双11一线技术团队实战经验,这27篇共计10万余字精心打造的技术干货凝聚了阿里工程师的智慧和创造力。    书中全面阐述阿里双11背后的技术实践与创新,包含基础设施、存储、中间件、云计算、业务架构、大数据、认知计算与人工智能、交互技术及安全等技术领域,其中重点包括: 充分发挥云计算弹性能力,实现资源快速腾挪,支撑交易峰值每秒17.5万笔、支付峰值每秒12万笔的混合云弹性架构; 在双11当天实现万亿级消息流转第三代分布式消息引擎RocketMQ; 交易核心应用容器化,撑起双11交易下单峰值,充分解放资源的超大规模Docker化技术; 支撑全球最大规模在线交易的数据实时和离线计算能力,包括承载阿里巴巴集团核心大数据的离线计算平台MaxCompute,以及双十一保证每秒处理亿条日志的计算能力、毫秒级的计算延迟的实时流计算平台StreamCompute; 阿里人工智能在搜索、推荐以及客服场景下的创新应用,包括人工智能赋能的数千家品牌商家店铺的个性化运营和粉丝会员的精准营销;基于深度强化学习和在线自适应学习的推荐算法创新;以智能+人工模式提供智能导购、服务、助理拟人交互的阿里小蜜; 全球第一个端对端的虚拟购物环境背后的VR技术,全面解读如何解决VR购物三大技术挑战,全面覆盖浏览、下单及支付环节; 揭秘应对前端极限挑战的淘宝直播首屏秒开,以及应用世界级开源跨平台移动开发工具Weex实现双11会场几近全覆盖,实现全网首屏渲染完美践行“秒开”体验; 所有双11奇迹背后的、基于数据挖掘、机器学习等技术的智能化秒级监控。千万量级监控项,PB级监控数据,亿级报警通知背后的技术。 长按二维码,立即在线阅读!   附全书目录:   第一章 基础设施 1.1 万亿交易量级下的秒级监控 1.2 双11背后基础设施软硬结合实践创新 1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的   第二章 存储 2.1永不停止的脚步——数据库优化之路 2.2 AliCloudDB--双11商家后台数据库的基石   第三章 中间件 3.1 万亿级数据洪峰下的分布式消息引擎   第四章 电商云化 4.1 17.5W秒级交易峰值下的混合云弹性架构之路 4.2 集团AliDocker化双11总结   第五章 业务架构 5.1 内容+:打造不一样的双11 5.2 双11交易核心链路的故事 5.3 千亿访问量下的开放平台技术揭秘 5.4 智慧供应链 5.5 菜鸟双11“十亿级包裹”之战   第六章 大数据 6.1 双11数据大屏背后的实时计算处理 6.2 双11背后的大规模数据处理 6.3 突破传统,4k大屏的沉浸式体验   第七章 人工智能 7.1 基于深度强化学习与自适应在线学习的搜索和推荐算法研究 7.2 颠覆传统的电商智能助理-阿里小蜜技术揭秘 7.3 深度学习与自然语言处理在智能语音客服中的应用 7.4 数据赋能商家背后的黑科技 7.5 探索基于强化学习的智能推荐之路 7.6 DNN在搜索场景中的应用   第八章 交互技术 8.1 VR电商购物 8.2 淘宝直播在双11的互动实践 8.3 2016双11前端突破 8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障 8.5 双11晚会背后的技术

2017-01-19

阿里巴巴 JAVA 开发手册

阿里巴巴集团首次向Java业界公布 JAVA 开发手册 一、编程规约 二、异常日志 三、MYSQL规约 四、工程规约 五、安全规约

2017-01-11

Maven权威指南_中文完整版清晰.pdf下载

Maven权威指南是一本关于Apache Maven的书。完整版的Maven权威指南,包括了其他版本缺失的12,13,15,17,18章以及附录,目录书签更加详细。 Copyright 1. Creative Commons BY-ND-NC Foreword: Beta 0.16 Preface 1. How to Use this Book 2. Your Feedback 3. Font Conventions 4. Maven Writing Conventions 5. Acknowledgements 1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上安装Maven 2.4. 验证Maven安装 2.5. Maven安装细节 2.5.1. 用户相关配置和仓库 2.5.2. 升级Maven 2.6. 获得Maven帮助 2.7. 使用Maven Help插件 2.7.1. 描述一个Maven插件 2.8. 关于Apache软件许可证 I. Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. Simple Weather源码 4.7. 添加资源 4.8. 运行Simple Weather项目 4.8.1. Maven Exec 插件 4.8.2. 浏览你的项目依赖 4.9. 编写单元测试 4.10. 添加测试范围依赖 4.11. 添加单元测试资源 4.12. 执行单元测试 4.12.1. 忽略测试失败 4.12.2. 跳过单元测试 4.13. 构建一个打包好的命令行应用程序 5. 一个简单的Web应用 5.1. 介绍 5.1.1. 下载本章样例 5.2. 定义这个简单的Web应用 5.3. 创建这个简单的Web应用 5.4. 配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-webapp 模块 6.5. 构建这个多模块项目 6.6. 运行Web应用 7. 多模块企业级项目 7.1. 简介 7.1.1. 下载本章样例 7.1.2. 多模块企业级项目 7.1.3. 本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这个命令行程序 7.10. 小结 7.10.1. 编写接口项目程序 8. 优化和重构POM 8.1. 简介 8.2. POM清理 8.3. 优化依赖 8.4. 优化插件 8.5. 使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven Reference 9. 项目对象模型 9.1. 简介 9.2. POM 9.2.1. 超级POM 9.2.2. 最简单的POM 9.2.3. 有效POM 9.2.4. 真正的POM 9.3. POM语法 9.3.1. 项目版本 9.3.1.1. 版本构建号 9.3.1.2. SNAPSHOT版本 9.3.1.3. LATEST 和 RELEASE 版本 9.3.2. 属性引用 9.4. 项目依赖 9.4.1. 依赖范围 9.4.2. 可选依赖 9.4.3. 依赖版本界限 9.4.4. 传递性依赖 9.4.4.1. 传递性依赖和范围 9.4.5. 冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单项目 9.6.2.2. 多模块企业级项目 9.6.2.3. 原型父项目 10. 构建生命周期 10.1. 简介 10.1.1. 清理生命周期 (clean) 10.1.2. 默认生命周期 (default) 10.1.3. 站点生命周期 (site) 10.2. 打包相关生命周期 10.2.1. JAR 10.2.2. POM 10.2.3. Maven Plugin 10.2.4. EJB 10.2.5. WAR 10.2.6. EAR 10.2.7. 其它打包类型 10.3. 通用生命周期目标 10.3.1. Process Resources 10.3.2. Compile 10.3.3. Process Test Resources 10.3.4. Test Compile 10.3.5. Test 10.3.6. Install 10.3.7. Deploy 11. 构建Profile 11.1. Profile是用来做什么的? 11.1.1. 什么是构建可移植性 11.1.1.1. 不可移植构建 11.1.1.2. 环境可移植性 11.1.1.3. 组织(内部)可移植性 11.1.1.4. 广泛(全局)可移植性 11.1.2. 选择一个适当级别的可移植性 11.2. 通过Maven Profiles实现可移植性 11.2.1. 覆盖一个项目对象模型 11.3. 激活Profile 11.3.1. 激活配置 11.3.2. 通过属性缺失激活 11.4. 外部Profile 11.5. Settings Profile 11.5.1. 全局Settings Profile 11.6. 列出活动的Profile 11.7. 提示和技巧 11.7.1. 常见的环境 11.7.2. 安全保护 11.7.3. 平台分类器 11.8. 小结 12. Maven套件 12.1. 简介 12.2. Assembly基础 12.2.1. 预定义的套件描述符 12.2.2. 构建一个套件Building an Assembly 12.2.3. 套件作为依赖 12.2.4. 通过套件依赖组装套件 12.3. 套件描述符概述 12.4. 套件描述符 12.4.1. 套件描述符中的属性引用 12.4.2. 必须的套件信息 12.5. 控制一个套件的内容 12.5.1. Files 元素 12.5.2. FileSets 元素 12.5.3. fileSets的默认排除模式 12.5.4. dependencySets 元素 12.5.4.1. 自定义依赖输出目录 12.5.4.2. 依赖输出位置的属性插值 12.5.4.3. Including and Excluding Dependencies by Scope 12.5.4.4. Fine Tuning: Dependency Includes and Excludes 12.5.4.5. Transitive Dependencies, Project Attachments, and Project Artifacts 12.5.4.6. Advanced Unpacking Options 12.5.4.7. Summarizing Dependency Sets 12.5.5. moduleSets 部分 12.5.5.1. Module Selection 12.5.5.2. Sources Section 12.5.5.3. Interpolation of outputDirectoryMapping in moduleSets 12.5.5.4. Binaries section 12.5.5.5. moduleSets, Parent POMs and the binaries Section 12.5.6. Repositories Section 12.5.7. Managing the Assembly’s Root Directory 12.5.8. componentDescriptors and containerDescriptorHandlers 12.6. Best Practices 12.6.1. Standard, Reusable Assembly Descriptors 12.6.2. Distribution (Aggregating) Assemblies 12.7. Summary 13. 属性和资源过滤 13.1. 简介 13.2. Maven属性 13.2.1. Maven项目的属性 13.2.2. Maven的Settings属性 13.2.3. 环境变量属性 13.2.4. Java系统属性 13.2.5. 用户定义的属性 13.3. 资源过滤 14. Maven和Eclipse: m2eclipse 14.1. 简介 14.2. m2eclipse 14.3. 安装 m2eclipse 插件 14.3.1. 安装前提条件 14.3.1.1. 安装 Subclipse 14.3.1.2. 安装 Mylyn 14.3.1.3. 安装 AspectJ Tools Platform (AJDT) 14.3.1.4. 安装 Web Tools Platform (WTP) 14.3.2. 安装 m2eclipse 14.4. 开启 Maven 控制台 14.5. 创建一个 Maven 项目 14.5.1. 从 SCM 签出一个 Maven 项目 14.5.2. 用Maven Archetype创建一个Maven项目 14.5.3. 创建一个 Maven 模块 14.6. 创建一个Maven POM文件 14.7. 导入Maven项目 14.7.1. 导入一个Maven项目 14.7.2. 具体化一个Maven项目 14.8. 运行Maven构建 14.9. 使用Maven进行工作 14.9.1. 添加及更新依赖或插件 14.9.2. 创建一个Maven模块 14.9.3. 下载源码 14.9.4. 打开项目页面 14.9.5. 解析依赖 14.10. 使用Maven仓库进行工作 14.10.1. 搜索 Maven 构件和 Java 类 14.10.2. 为Maven仓库编制索引 14.11. 使用基于表单的POM编辑器 14.12. 在m2eclipse中分析项目依赖 14.13. Maven 选项 14.14. 小结 15. 站点生成 15.1. 简介 15.2. 使用Maven构建项目站点 15.3. 自定义站点描述符 15.3.1. 自定义页面顶端图片 15.3.2. 自定义导航菜单 15.4. 站点目录结构 15.5. 编写项目文档 15.5.1. APT样例 15.5.2. FML样例 15.6. 部署你的项目web站点 15.6.1. 配置服务器认证 15.6.2. 配置文件和目录模式 15.7. 自定义站点外观 15.7.1. 自定义站点CSS 15.7.2. 创建自定义的站点模板 15.7.3. 可重用的web站点皮肤 15.7.4. 创建自定义的主题CSS 15.7.5. 在皮肤中自定义站点模板 15.8. 提示与技巧 15.8.1. 给HEAD嵌入XHTML 15.8.2. 在你站点logo下添加链接 15.8.3. 为你的站点添加导航链接 15.8.4. 添加项目版本 15.8.5. 修改发布日期格式和位置 15.8.6. 使用Doxia宏 16. 仓库管理器 16.1. 简介 16.1.1. Nexus历史 16.2. 安装Nexus 16.2.1. 从Sonatype下载Nexus 16.2.2. 安装Nexus 16.2.3. 运行Nexus 16.2.4. 安装后检查单 16.2.5. 为RedHat/Fedora/CentOS设置启动脚本 16.2.6. 升级Nexus版本 16.3. 使用Nexus 16.3.1. 浏览仓库 16.3.2. 浏览组 16.3.3. 搜索构件 16.3.4. 浏览系统RSS源 16.3.5. 浏览日志文件和配置 16.3.6. 更改你的密码 16.4. 配置Maven使用Nexus 16.4.1. 使用Nexus中央代理仓库 16.4.2. 使用Nexus作为快照仓库 16.4.3. 为缺少的依赖添加仓库 16.4.4. 添加一个新的仓库 16.4.5. 添加一个仓库至一个组 16.5. 配置Nexus 16.5.. 定制服务器配置 16.5.2. 管理仓库 16.5.3. 管理组 16.5.4. 管理路由 16.5.5. 网络配置 16.6. 维护仓库 16.7. 部署构件至Nexus 16.7.1. 部署发布版 16.7.2. 部署快照版 16.7.3. 部署第三方构件 17. 编写插件 17.1. 简介 17.2. Maven编程 17.2.1. 什么是反转控制? 17.2.2. Plexus简介 17.2.3. 为什么使用Plexus? 17.2.4. 什么是插件? 17.3. 插件描述符 17.3.1. 顶层插件描述符元素 17.3.2. Mojo��置 17.3.3. 插件依赖 17.4. 编写自定义插件 17.4.1. 创建一个插件项目 17.4.2. 一个简单的Java Mojo 17.4.3. 配置插件前缀 17.4.4. 插件中的日志 17.4.5. Mojo类注解 17.4.6. 当Mojo失败的时候 17.5. Mojo参数 17.5.1. 为Mojo参数提供值 17.5.2. 多值的Mojo参数 17.5.3. 依赖于一个Plexus组件 17.5.4. Mojo参数注解 17.6. 插件和Maven生命周期 17.6.1. 执行平行的生命周期 17.6.2. 创建自定义的生命周期 17.6.3. 覆盖默认生命周期 18. Writing Plugins in Alternative Languages 18.1. Writing Plugins in Ant 18.2. Creating an Ant Plugin 18.3. Writing Plugins in JRuby 18.3.1. Creating a JRuby Plugin 18.3.2. Ruby Mojo Implementations 18.3.3. Logging from a Ruby Mojo 18.3.4. Raising a MojoError 18.3.5. Referencing Plexus Components from JRuby 18.4. Writing Plugins in Groovy 18.4.1. Creating a Groovy Plugin A. 附录: Settings细节 A.1. 简介 A.2. Settings细节 A.2.1. 简单值 A.2.2. 服务器(Servers) A.2.3. 镜像(Mirrors) A.2.4. 代理(Proxies) A.2.5. Profiles A.2.6. 激活(Activation) A.2.7. 属性(Properties) A.2.8. 仓库(Repositories) A.2.9. 插件仓库 A.2.10. 激活的Profile B. Appendix: Sun Specification Alternatives List of Figures List of Examples

2017-01-11

TCP-IP详解卷一:协议 卷二:实现 卷三:TCP事务协议,HTTP,NNTP和UNIX域协议 合集

TCP-IP详解卷一:协议 卷二:实现 卷三:TCP事务协议,HTTP,NNTP和UNIX域协议 合集

2016-09-24

HTML5与CSS3基础教程(第8版)中文高清版

《HTML5与CSS3基础教程(第8版)》自第1版至今,一直是讲解HTML和CSS入门知识的经典畅销书,全面系统地阐述HTML5和CSS3基础知识以及实际运用技术,通过大量实例深入浅出地分析了网页制作的方方面面。最新第8版不仅介绍了文本、图像、链接、列表、表格、表单等网页元素,还介绍了如何为网页设计布局、添加动态效果等,另外还涉及调试和发布。《HTML5与CSS3基础教程(第8版)》提供了一个强大的配套网站,上面列出了书中的完整代码示例以及更多优秀实例及进阶参考资料,以供读者参考学习。 通过学习《HTML5与CSS3基础教程(第8版)》,零起点读者即可创建网站,而中高级水平的开发人员也可以快速了解HTML5新元素、CSS3的奇幻效果、响应式Web设计以及各种最佳实践。 HTML5与CSS3基础教程(第8版) 目录: 第1章 网页的构造块   1.1 HTML思想   1.2 基本的HTML页面   1.3 标签:元素、属性、值及其他   1.4 网页的文本内容   1.5 链接、图像和其他非文本内容   1.6 文件名和文件夹名   1.7 URL   1.8 HTML:有含义的标记   1.9 浏览器对网页的默认显示效果   1.10 要点回顾  第2章 处理网页文件   2.1 规划网站   2.2 创建新的网页   2.3 保存网页   2.4 指定默认页面或主页   2.5 编辑网页   2.6 组织文件   2.7 在浏览器中查看网页   2.8 借鉴他人灵感  第3章 基本HTML结构   3.1 开始编写网页   3.2 创建页面标题   3.3 创建分级标题   3.4 普通页面构成   3.5 创建页眉   3.6 标记导航   3.7 标记页面的主要区域   3.8 创建文章   3.9 定义区块   3.10 指定附注栏   3.11 创建页脚   3.12 创建通用容器   3.13 使用ARIA改善可访问性   3.14 为元素指定类别或ID名称   3.15 为元素添加title属性   3.16 添加注释  第4章 文本   4.1 添加段落   4.2 指定细则   4.3 标记重要和强调的文本   4.4 创建图   4.5 指明引用或参考   4.6 引述文本   4.7 指定时间   4.8 解释缩写词   4.9 定义术语   4.10 创建上标和下标   4.11 添加作者联系信息   4.12 标注编辑和不再准确的文本   4.13 标记代码   4.14 使用预格式化的文本   4.15 突出显示文本   4.16 创建换行   4.17 创建span   4.18 其他元素  第5章 图像   5.1 关于Web图像   5.2 获取图像   5.3 选择图像编辑器   5.4 保存图像   5.5 在页面中插入图像   5.6 提供替代文本   5.7 指定图像尺寸   5.8 在浏览器中改变图像的尺寸   5.9 在图像编辑器中改变图像的尺寸   5.10 为网站添加图标  第6章 链接   6.1 创建指向另一个网页的链接   6.2 创建锚并链接到锚   6.3 创建其他类型的链接  第7章 CSS构造块   7.1 构造样式规则   7.2 为样式规则添加注释   7.3 理解继承   7.4 层叠:当规则发生冲突时   7.5 属性的值  第8章 操作样式表   8.1 创建外部样式表   8.2 链接到外部样式表   8.3 创建嵌入样式表   8.4 应用内联样式   8.5 样式的层叠和顺序   8.6 使用与媒体相关的样式表   8.7 借鉴他人的灵感  第9章 定义选择器   9.1 构造选择器   9.2 按名称选择元素   9.3 按类或ID选择元素   9.4 按上下文选择元素   9.5 选择第一个或最后一个子元素   9.6 选择元素的第一个字母或者第一行   9.7 按状态选择链接元素   9.8 按属性选择元素   9.9 指定元素组   9.10 组合使用选择器  第10章 为文本添加样式   10.1 本章之前与本章之后   10.2 选择字体系列   10.3 指定替代字体   10.4 创建斜体   10.5 应用粗体格式   10.6 设置字体大小   10.7 设置行高   10.8 同时设置所有字体值   10.9 设置颜色   10.10 设置背景   10.11 控制间距   10.12 添加缩进   10.13 对齐文本   10.14 修改文本的大小写   10.15 使用小型大写字母   10.16 装饰文本   10.17 设置空白属性  第11章 用CSS进行布局   11.1 开始布局的注意事项   11.2 构建页面   11.3 在旧版浏览器中为HTML5元素添加样式   11.4 对默认样式进行重置或标准化   11.5 盒模型   11.6 控制元素的显示类型和可见性   11.7 设置元素的高度和宽度   11.8 在元素周围添加内边距   11.9 设置边框   11.10 设置元素周围的外边距   11.11 使元素浮动   11.12 控制元素浮动的位置   11.13 对元素进行相对定位   11.14 对元素进行绝对定位   11.15 在栈中定位元素   11.16 处理溢出   11.17 垂直对齐元素   11.18 修改鼠标指针  第12章 构建响应式网站   12.1 响应式Web设计:概述   12.2 创建可伸缩图像   12.3 创建弹性布局网格   12.4 理解和实现媒体查询   12.5 组合使用   12.6 兼容旧版IE  第13章 使用Web字体   13.1 什么是Web字体   13.2 在哪里能找到Web字体   13.3 下载第一个Web字体   13.4 理解@font-face规则   13.5 使用Web字体设置文本样式   13.6 为Web字体应用斜体和粗体   13.7 使用Google Fonts的Web字体  第14章 使用CSS3进行增强   14.1 浏览器兼容性、渐进增强和polyfill   14.2 理解厂商前缀   14.3 为元素创建圆角   14.4 为文本添加阴影   14.5 为其他元素添加阴影   14.6 应用多重背景   14.7 使用渐变背景   14.8 为元素设置不透明度   14.9 生成内容的效果   14.10 使用sprite拼合图像  第15章 列表   15.1 创建有序列表和无序列表   15.2 选择标记   15.3 使用定制的标记   15.4 选择列表的起始编号   15.5 控制标记的位置   15.6 同时设置所有的列表样式属性   15.7 设置嵌套列表的样式   15.8 创建描述列表  第16章 表单   16.1 HTML5对表单的改进   16.2 创建表单   16.3 处理表单   16.4 对表单元素进行组织   16.5 创建文本框   16.6 为表单组件添加说明标签   16.7 创建密码框   16.8 创建电子邮件框、搜索框、电话框和URL 框   16.9 创建单选按钮   16.10 创建复选框   16.11 创建文本区域   16.12 创建选择框   16.13 让访问者上传文件   16.14 创建隐藏字段   16.15 创建提交按钮   16.16 禁用表单元素   16.17 根据状态为表单设置样式  第17章 视频、音频和其他多媒体   17.1第三方插件和步入原生   17.2 视频文件格式   17.3 在网页中添加单个视频   17.4 为视频添加控件和自动播放   17.5 为视频指定循环播放和海报图像   17.6 阻止视频预加载   17.7 使用多种来源的视频和备用文本   17.8 提供可访问性   17.9 音频文件格式   17.10 在网页中添加带控件的单个音频文件   17.11 自动播放、循环和预加载音频   17.12 提供带备用内容的多个视频源   17.13 添加具有备用Flash的视频和音频   17.14 高级多媒体   17.15 更多资源  第18章 表格   18.1 结构化表格   18.2 让单元格跨越多列或多行  第19章 添加JavaScript   19.1 加载外部脚本   19.2 添加嵌入脚本   19.3 JavaScript事件  第20章 测试和调试网页   20.1 验证代码   20.2 测试页面   20.3 尝试一些调试技巧   20.4 检查常见错误:一般问题   20.5 检查常见错误:HTML   20.6 检查常见错误:CSS   20.7 如果图像不显示  第21章 发布网站   21.1 获得域名   21.2 为网站寻找主机   21.3 将文件传送至服务器   附录A HTML参考   附录B CSS引用 

2016-09-24

重构 改善既有代码的设计.pdf

“这《重构:改善既有代码的设计》之于重构就相当于韵谱之于作诗。一个翻着韵书作诗的诗人一定是蹩脚的,但好的诗人却要对那109个韵部了然于胸;同样,一个好的程序员要求能够主动自然地重构代码,虽不应翻着重构手册干活,但需对《重构:改善既有代码的设计》中提到的70多个重构方法成竹在胸。然而,在达到这一境界之前,需要不断的实践和经验积累,并且要先读读Fowler的这《重构:改善既有代码的设计》。” “一口气读完了这《重构:改善既有代码的设计》,感觉书中作者对代码的整理不像是一种技术,更像是一种艺术。” “太经典了,看这《重构:改善既有代码的设计》真有醍醐灌顶的感觉。” “处于金字塔顶部的书不多,而这一《重构:改善既有代码的设计》恰恰就是,很幸运我看到了它。” “这《重构:改善既有代码的设计》本质上是向我们推荐了一种优秀的编程习惯和编程态度。在领会《重构:改善既有代码的设计》思想的同时,我们也应该培养一种精益求精的工作态度,探索一条更适合自己的重构道路。” “今年已经看了两遍,每次都有很大的收获。特别喜欢其中对其他章节的索引,当你把它作为一个手边随时翻阅的参考书看时,它不知不觉引导你读了很多内容,问题也在不知不觉中有了求解思路,最终得以解决。” “不要写完代码就束之高阁,适当地优化代码结构,能够为以后的开发带来许多方便,这《重构:改善既有代码的设计》就向你介绍了这方面的技巧,说得非常详细。” “程序几乎离不开重构,但如何更加迅速有效地重构却一直没有系统性的指导。《重构:改善既有代码的设计》就是这样的经典巨著,有了它,重构不再烦琐!” 软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。 重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是《重构:改善既有代码的设计》原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。《重构:改善既有代码的设计》也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。 《重构:改善既有代码的设计》凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与《重构:改善既有代码的设计》最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。

2016-09-11

Java NIO 中文版.pdf

Java NIO 中文版.pdf

2016-09-09

gradle-for-android.pdf

《Gradle Plugin User Guide》 官方地址 http://tools.android.com/tech-docs/new-build-system/user-guide 在线阅读译文 http://chaosleong.gitbooks.io/gradle-for-android/content/ 译文 Github 地址 https://github.com/ChaosLeong/Gradle-Android-Plugin 本中文指南的翻译内容大部分参考 Avatar Qing 的 《Gradle Plugin User Guide 中文版》 flyouting 的 《Gradle Plugin User Guide 中文版》 并做了相应的修正以及更新,如有纰漏,望斧正。

2016-08-23

Learning Reactive Programming with Java

Learning Reactive Programming with Java

2016-05-01

RxJava入门学习资料-RxJava Essentials(英/中文版合集)

RxJava Essentials(英文版) RxJava Essentials(中文版) 讲得比较详细,适合RxJava入门学习

2016-05-01

RxJava 完全解析.pdf

RxJava 完全解析

2016-04-30

空空如也

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

TA关注的人 TA的粉丝

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