2008年--至今 Android 1.5(Cupcake纸杯蛋糕): 智能虚拟键盘:使用widgets实现桌面个性化:在线文件夹(Live Folder)快速浏览在线数据:视频录制和分享:图片上传: 更快的标准兼容浏览器:Voice search 语音搜索:立体声蓝牙和免提电话 Android 1.6(Donut甜甜圈): 完全重新设计的Android Market,可以显示更多的屏幕截图:手势支持,可以让开发者生成针对某个应用程序的手势库: 支持CDMA网络:中国电信的用户可以期待EVDO的…
前言:近日在网上找了个很不错的安卓二维码美化,由于下载的项目经常出问题,且不方便依赖使用,因此我想把它写个demo,并把源码发布到jcenter中,修改还是很顺利的,运行项目到手机也没问题,发布遇到了问题 1.运行gradle install ,提示:Minimum supported Gradle version is 4.6 Current version is4.1  这个错误,改了半天项目还是不行 首先是要弄懂gradle 与studio关系,请看这里  https://www.jian…
本文转载自:https://blog.csdn.net/freekiteyu/article/details/70082302 Android-Binder进程间通讯机制 概述 最近在学习Binder机制,在网上查阅了大量的资料,也看了老罗的Binder系列的博客和Innost的深入理解Binder系列的博客,都是从底层开始讲的,全是C代码,虽然之前学过C和C++,然而各种函数之间花式跳转,看的我都怀疑人生.毫不夸张的讲每看一遍都是新的内容,跟没看过一样.后来又看到了Gityuan的博客看到了一…
前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题. 好了,接下来进入正题,谈谈我对AIDL的理解和认识. 正文 1,概述 AIDL是一个缩写,全称是Android Interface D…
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级.中级.高级以及资深工程师.只针对Android应用开发,不针对Rom开发和逆向工程等.方便起见虚拟“小D”为成长人物进行描述. 初级工程师小D之前完全没接触过Android开发,对编程基础.数据结构.C语言都有一定基础,Java语法什么的也都掌握的比较好,并不会搞Android.首先需要购买一本A…
前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题. 好了,接下来进入正题,谈谈我对AIDL的理解和认识. 1.概述 AIDL是一个缩写,全称是Android Interface Defi…
前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议大家在看这篇博文之前先看一下上一篇博文:Android:学习AIDL,这一篇文章就够了(上) 注:文中所有代码均源自上一篇博文中的例子. 另:在看这篇博文之前,建议先将上一篇博文中的代码下载下来或者敲一遍,然后确定可以正常运行后再接着看.因为文中有大量对于具体代码的分析以及相关代码片段之间的跳转,如…
Spark 1.6.x的新特性Spark-1.6是Spark-2.0之前的最后一个版本.主要是三个大方面的改进:性能提升,新的 Dataset API 和数据科学功能的扩展.这是社区开发非常重要的一个里程碑.1. 性能提升根据 Apache Spark 官方 2015 年 Spark Survey,有 91% 的用户想要提升 Spark 的性能.Parquet 性能自动化内存管理流状态管理速度提升 10X 2. Dataset APISpark 团队引入了 DataFrames,新型Datase…
前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议大家在看这篇博文之前先看一下上一篇博文:Android:学习AIDL,这一篇文章就够了(上) 注:文中所有代码均源自上一篇博文中的例子.另:在看这篇博文之前,建议先将上一篇博文中的代码下载下来或者敲一遍,然后确定可以正常运行后再接着看.因为文中有大量对于具体代码的分析以及相关代码片段之间的跳转,如果…
一篇文章带你了解热门版本控制系统--Git 这篇文章会介绍到关于版本控制的相关知识以及版本控制神器Git 我们可能在生活中经常会使用GitHub网页去查询一些开源的资源或者项目,GitHub就是基于Git而产生的平台 接下来让我们来细细道来~ Git是一门非常简单的技术,但在实际开发中占有很重要的地位,请务必了解掌握 版本控制 在介绍Git之前我们先来介绍一个名词:版本控制 版本控制概念 我们在标题已经提到了Git的最大作用:版本控制 那么我们先来了解一下版本控制: 版本控制是指对软件开发过程中…
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 本篇内容属于<瑞吉外卖>的知识科普部分,有兴趣可以查看一下<瑞吉外卖>的相关文章内容 Linux简介 本节将会简单介绍Linux的前言以及相关历史 操作系统 首先我们需要了解操作系统是干什么的: 操作系统是是一组主管并控制计算机操作.运用和运行硬件.软件资源和提供公共服务来组织用户交…
TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6   原文出处: 我爱计算机 (@tobe迪豪 )    作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MX…
http://blog.jobbole.com/105602/ 作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MXNet等框架相比,TensorFlow在Github上Fork数和Star数都是最多的,而且在图形分类.音频处理.推荐系统和…
初识 Kafka 什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统. Kafka 的基本术语 消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录. 批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息. 主题:消息的种类称为 主题(Topic),可以说一个主题代表了一类消息.相当于是…
在Java面试中,线程池相关知识,虽不能说是必问提,但出现的频次也是非常高的.同时又鉴于公众号"程序新视界"的读者后台留言让写一篇关于Java线程池的文章,于是就有本篇内容,本篇将基于Java线程池的原理.实现以及相关源码进行讲解等. 什么是线程池 线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理. 为了充分利用CPU多核资源,应用都会采用多线程并行/并发计算,最大限度的利用多核提升应用程序性能. 试想一下,如果每个请求都执行一遍创建线程.执行任务.…
 壹 ❀ 引 我在 angularjs 一篇文章看懂自定义指令directive 一文中详细介绍了directive基本用法与完整属性介绍.directive是个很神奇的存在,你可以不设置template属性单纯作为操作DOM的函数,也就是俗称的指令:你也可以带上template让其变成高度复用的组件.但在angularjs1.5版本之后我们可以使用component专门用于创建组件,当然你要坚持使用directive创建组件也没有问题,那么本文将带你了解angularjs component,…
 壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如最常用ng-click可以让一个元素能监听click事件,这里你可能就有疑问了,同样都是监听为什么不直接使用click事件呢,angular提供的事件指令与传统指令有什么区别?我们来看一个例子: <body ng-controller="myCtrl as vm"> <d…
很遗憾,没有一篇文章能讲清楚ZooKeeper https://os.51cto.com/art/201911/606571.htm [51CTO.com原创稿件]互联网时代是信息爆发的时代,信息的高并发催生了分布式系统的广泛应用. 图片来自 Pexels 作为分布式系统解决方案的 ZooKeeper,被广泛应用于多个分布式场景.例如:数据发布/订阅,负载均衡,命名服务,集群管理等等. 因此,ZooKeeper 在分布式系统中扮演着重要的角色,今天通过一个简单的例子来看看它的实现原理. 从一个简…
说在前边: 编码问题一直困扰着每一个程序员的编程之路,如果不将它彻底搞清楚,那么你的的这条路一定会走的格外艰辛,尤其是针对使用python的程序员来说,这一问题更加显著, 因为python有两个版本,这两个版本编码格式却完全不同,但我们却经常需要兼顾这两个版本,所以出现各种问题的几率就大了很多. 所以在这里我试图用一篇文章来彻底梳理整个python语言的编码问题,尽量降低以后在这方面举到问题的可能性. ps 此文一定程度上参考和引用了alex的博客:“https://www.cnblogs.co…
这篇文章主要介绍 ElasticSearch 的基本概念,学习文档.索引.集群.节点.分片等概念,同时会将 ElasticSearch 和关系型数据库做简单的类比,还会简单介绍 REST API 的使用用法. ElasticSearch 术语 索引和文档是偏向于逻辑上的概念,节点和分片更偏向于物理上的概念. 首先来说下什么是文档: 文档(Document) ElasticSearch(简称 ES) 是面向文档的,文档是所有可搜索数据的最小单位. 给大家举几个例子,让大家更形象地理解什么是文档:…
目录 SSL/TLS的应用 TLS协议的架构 握手协议 主密码和预备主密码 TLS记录协议 一篇文章让你彻底弄懂SSL/TLS协议 SSL/TLS是一种密码通信框架,他是世界上使用最广泛的密码通信方法.SSL/TLS综合运用了密码学中的对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等,可以说是密码学中的集大成者. SSL(Secure Socket Layer)安全套接层,是1994年由Netscape公司设计的一套协议,并与1995年发布了3.0版本. TLS(Transport L…
一篇文章掌握 Python 内置 zip() 的全部内容 zip() 是 Python 中最好用的内置类型之一,它可以接收多个可迭代对象参数,再返回一个迭代器,可以把不同可迭代对象的元素组合起来. 我之前写迭代器系列的时候,在<Python进阶:设计模式之迭代器模式>中简单地介绍过它,前几天翻译了 Python 3.10 采纳的 PEP-618 ,介绍了它将会迎来的变更. 但是,还有不少同学并不知道 zip(),或者不能熟练掌握它的用法,因此本文打算来做一个更为详细的梳理. 内容主要分三部分:…
转: 一篇文章彻底弄懂Android-MVVM 在学习一个技术之前,我们首先要搞清为什么要用它.用它以后会有什么好处,这样我们才能有兴趣的学习下去. 一.为什么要用MVVM? 我为什么要用这个什么MVVM,我就平常写和它有什么不同吗? 首先我们要说一下,使用MVVM后,程序会有哪些变化: 1.MVVM并不会提升程序的性能,甚至如果用不好还会降低性能. 2.MVVM会增大代码的总量. 3.阅读MVVM的代码你必须不停的跳来跳去,跳到你恶心想吐. 啥?你在搞笑吗?那我为什么还要用它?且慢,我还没说最…
对于开发者,经常会使用,学习到各种环境语言和工具 我们不只是在不断的在搬运知识,更多时候我们也是在 分享我们学到的"新知识", 当我们有幸觉得自己发现了新的知识与技术时,作为分享者,幸运者,肯定会第一时间发布出来. 当我作为开发者,体验到了最新蓝湖3.0版本发布,随笔写下一篇很差劲的分享时,却遭到csdn 广告原因的审核失败. 我一篇文章里面只提到使用的好处,及小技巧,夸赞了新版本的畅爽之处,没有链接,没有入口也不行 ​我失望了~ 我感觉应该 用自己搭建的博客"畅所欲言了~&…
前言 最近在看一些go语言相关的书,发现了一个有意思的事情:其中一本书最新印刷的版本是2017年3月,而golang包管理的后起之秀go module伴随go1.11于2018年8月诞生--因此,书里没有. 有感于golang发展速度之快,且当下项目中go module.go vendor(go1.5之后一个热门的包管理工具)交织,甚至时不时看到go path包管理模式在一些文章中死灰复燃,我想有必要正确梳理一下其中的缘由,以便大家选择合适的包管理模式. 白泽,无脑选择go module不好吗?…
MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大约20000字,建议关注收藏慢慢观看,希望能给你带来帮助~ 进阶篇内容目录 这篇文章我们主要分为七个部分: 存储引擎 索引 SQL优化 视图/存储过程/触发器 锁 InnoDB引擎 MYSQL管理 存储引擎 在讲解存储引擎前我们先来了解一下MYSQL的整体体系结构 MYSQL整体分为四个部分: 连接…
一篇文章带你掌握主流基础框架--Spring 这篇文章中我们将会介绍Spring的框架以及本体内容,包括核心容器,注解开发,AOP以及事务等内容 那么简单说明一下Spring的必要性: Spring技术是JavaEE开发的必备技能,企业开发技术选型率高达90%! Spring可以帮助简化开发,降低企业级开发的复杂度 Spring可以进行框架整合,高效整合其他技术,提高企业级应用开发与运行效率 Spring的核心内容: Ioc技术 DI技术 AOP 事务处理 Spring可进行的框架整合: MaB…
一篇文章带你掌握主流办公框架--SpringBoot 在之前的文章中我们已经学习了SSM的全部内容以及相关整合 SSM是Spring的产品,主要用来简化开发,但我们现在所介绍的这款框架--SpringBoot,却是用来简化Spring开发的框架 SpringBoot是由Pivowtal团队提供的全新框架,其设计目的就是用来简化Spring应用的初始搭建以及开发过程,用来简化开发工具的工具,你是否已经满怀期待~ 温馨提醒:在学习前请学习SSM内容以及Maven的高阶内容(依赖传递)等内容 Spri…
一篇文章带你掌握MyBatis简化框架--MyBatisPlus 我们在前面的文章中已经学习了目前开发所需的主流框架 类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大也开发了一款MyBatisPlus框架用来简化MyBatis开发 下面让我们来逐步掌握MyBatisPlus的内容吧~ MyBatisPlus简介 首先我们来简单介绍一下MyBatisPlus: MyBatisPlus(MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发,提高效率 M…
一篇文章带你了解网页框架--Vue简单入门 这篇文章将会介绍我们前端入门级别的框架--Vue的简单使用 如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助 温馨提醒:在学习该文章前,请先学习HTML,CSS,JavaScript,Ajax等前端知识 Vue基础 首先,我们从官方文档中可以得到下述描述: Vue是一套用于构建用户界面的渐进式框架. Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合. 另一方面,当与现代化的工具链以及各种支…