前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议大家在看这篇博文之前先看一下上一篇博文:Android:学习AIDL,这一篇文章就够了(上) 注:文中所有代码均源自上一篇博文中的例子.另:在看这篇博文之前,建议先将上一篇博文中的代码下载下来或者敲一遍,然后确定可以正常运行后再接着看.因为文中有大量对于具体代码的分析以及相关代码片段之间的跳转,如果…
前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议大家在看这篇博文之前先看一下上一篇博文:Android:学习AIDL,这一篇文章就够了(上) 注:文中所有代码均源自上一篇博文中的例子. 另:在看这篇博文之前,建议先将上一篇博文中的代码下载下来或者敲一遍,然后确定可以正常运行后再接着看.因为文中有大量对于具体代码的分析以及相关代码片段之间的跳转,如…
ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言. ECMAScript 和 JavaScript 的关系:前者是后者的语法规格,后者是前者的一种实现 Babel:将ES6代码转为ES5代码 http://babeljs.io/   image 新特性 let.const let 定义的变量不会被变量提升,const 定义的…
一.canvas简介 ​ <canvas> 是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素.它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染. ​ 它最初由苹果内部使用自己MacOS X WebKit推出,供应用程序使用像仪表盘的构件和 Safari 浏览器使用. 后来,有人通过Gecko内核的浏览器 (尤其是Mozilla和Firefox),Opera和Chrome和超文本网络应用技术工作组建议为…
前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题. 好了,接下来进入正题,谈谈我对AIDL的理解和认识. 1.概述 AIDL是一个缩写,全称是Android Interface Defi…
TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6   原文出处: 我爱计算机 (@tobe迪豪 )    作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MX…
在Java面试中,线程池相关知识,虽不能说是必问提,但出现的频次也是非常高的.同时又鉴于公众号"程序新视界"的读者后台留言让写一篇关于Java线程池的文章,于是就有本篇内容,本篇将基于Java线程池的原理.实现以及相关源码进行讲解等. 什么是线程池 线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理. 为了充分利用CPU多核资源,应用都会采用多线程并行/并发计算,最大限度的利用多核提升应用程序性能. 试想一下,如果每个请求都执行一遍创建线程.执行任务.…
前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题. 好了,接下来进入正题,谈谈我对AIDL的理解和认识. 正文 1,概述 AIDL是一个缩写,全称是Android Interface D…
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),可以说一个主题代表了一类消息.相当于是…
接着上篇Android学习系列(10)--App列表之拖拽ListView(上)我们继续实现ListView的拖拽效果. 7.重写onTouchEvent()方法.     在这个方法中我们主要是处理拖动和放下.     拖动是选中项的影像随着手指滑动:放下是在拖动结束的时候交换数据.     方法的整体结构如下: 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 /**  * 触摸事件  …
前言 最近在看一些go语言相关的书,发现了一个有意思的事情:其中一本书最新印刷的版本是2017年3月,而golang包管理的后起之秀go module伴随go1.11于2018年8月诞生--因此,书里没有. 有感于golang发展速度之快,且当下项目中go module.go vendor(go1.5之后一个热门的包管理工具)交织,甚至时不时看到go path包管理模式在一些文章中死灰复燃,我想有必要正确梳理一下其中的缘由,以便大家选择合适的包管理模式. 白泽,无脑选择go module不好吗?…
异常1:Java.lang.ClassNotFoundException 08-13 18:29:22.924: E/AndroidRuntime(1875):Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 其实一般分为3种情况: 1.启动activity的时候,在AndroidManifest.xml可能压根你就忘了添加一个…
  1.什么是蓝牙  Bluetooth是目前使用的最广泛的无线通讯协议之一  主要针对短距离设备通讯(10米)  常用于连接耳机.鼠标和移动通讯设备等 2.发现周围蓝牙设备  BluetoothAdapter:代表了本地的蓝牙适配器  BluetoothDevice:代表一个远程的蓝牙设备    扫描已配对的蓝牙设备方法:  1.在AndroidManifest.xml声明蓝牙权限  <uses-permission Android:name="android.permission.BL…
打算在 INTERNATIONAL JOURNAL OFCONTEMPORARY MATHEMATICAL SCIENCES 发一篇文章, 所以就直接在 作者指引中下载 tex 模版, 写好后发邮件到 ijcms@m-hikari.com, 内容如下: 主题: Submitting An Article to IJCMS+文章的英文题目 内容: Dear Edtior,      The authors would like to submit an article to IJCMS for p…
作者:做人要厚道2013 原文:https://blog.csdn.net/u012468376/article/details/73350998…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询(Retrieve) ,U代表更新(Update) ,D代表删除(Delete) .每一种操作各自对应着一种 SQL命令.前面我们已经知道,调用 SQLiteOpenHelper的 getReadableDatabase()或 getWritableDatabase()方法是可以用于创建和升级数据库的, 不仅…
Netty到底是什么 从HTTP说起 有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等. 我们回顾一下传统的HTTP服务器的原理 1.创建一个ServerSocket,监听并绑定一个端口 2.一系列客户端来请求这个端口 3.服务器使用Accept,获得一个来自客户端的Socket连接对象 4.启动一个新线程处理连接 4.1.读Socket,得到字节流 4.2.解码协议…
1. git简介 git的通用操作流程如下图(来源于网络) 主要涉及到四个关键点: 工作区:本地电脑存放项目文件的地方,比如learnGitProject文件夹: 暂存区(Index/Stage):在使用git管理项目文件的时候,其本地的项目文件会多出一个.git的文件夹,将这个.git文件夹称之为版本库.其中.git文件夹中包含了两个部分,一个是暂存区(Index或者Stage),顾名思义就是暂时存放文件的地方,通常使用add命令将工作区的文件添加到暂存区里: 本地仓库:.git文件夹里还包括…
Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo.Rocketmq.Hadoop等,针对高性能RPC,一般都是基于Netty来构建,比如sock-bolt.总之一句话,Java小伙伴们需要且有必要学会使用Netty并理解其实现原理. netty旨在为可维护的高性能.高可扩展性协议服务器和客户端的快速开发提供异步事件驱动的网络应用程序框架和工具.换句话说,Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服…
本文从最基本的内核链表出发,引出初始化INIT_LIST_HEAD函数,然后介绍list_add,通过改变链表位置的问题引出list_for_each函数,然后为了获取容器结构地址,引出offsetof和container_of宏,并对内核链表设计原因作出了解释,一步步引导到list_for_each_entry,然后介绍list_del函数,通过在遍历时list_del链表的不安全行为,引出list_for_each_entry_safe函数,通过本文,我希望读者可以得到如下三个技能点: 1.…
概述 在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦.在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和UnicodeEncodeError也经常被提及.本篇教程希望能帮你认识Python编码,并能够从容的处理编码问题. 本教程提到的编码知识并不限定在Python,其他语言也大同小异,但我们依然会以Python为主,来演示和讲解编码知识. 通过该教程,你将学习到如下的知识: 获取有关字符编码和数字系统的概念 理解编码如何…
toc: true title: 一周一个中间件-ES搜索引擎 date: 2019-09-19 18:43:36 tags: - 中间件 - 搜索引擎 前言 在众多搜索引擎中,solr,es是我所知道其他公司最为广泛使用的中间件.他可以解决你复杂的搜索需求.当你需要在大量数据的情况下搜索一下关键字,使用mysql的like查询是非常缓慢的,而es可以做到近实时的搜索. 背景 我们公司最近对我们的fungo的游戏,用户,文章提出了更加复杂的搜索要求,要求对指定的关键字进行相似度匹配. 例如 搜索…
初识 Kafka 什么是 kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统. kafka 的基本术语 消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录 批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息. 主题:消息的种类称为 主题(Topic),可以说一个主题代表了一类消息.相当于是对…
辰哥准备出一期在Docker跑Python项目的技术文,比如在Docker跑Django或者Flask的网站.跑爬虫程序等等. 在Docker跑Python程序的时候不会太过于细去讲解Docker的基础命令等(在讲实战项目过程也提太多的docker命令显得篇幅过长),考虑到很多人可能还没有接触过Docker甚至不怎么了解Docker的使用,所以在此之前先出两期的Docker安装和入门基础的文章,后面就直接上项目. 本文先将docker在不同系统上的安装.紧接着(明天)会来一起详细版的docker…
本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 一.准备 1.1 软件版本 Ubuntu 16.04.6 (ubuntu-16.04.6-server-amd64.iso) JDK 1.8 (jdk-8u201-linux-x64.tar.gz) Hadoop 2.7.7 (hadoop-2.7.7.tar.gz) Spark 2.1.0 (spark-2.1.0-bin-ha…
3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The following objects are masked fromdata (pos = 3): city, price, salary > data$salary=replace(salary,salary>5,NA) > is.na(salary) [1] FALSEFALSE TRUE…
前言 .Net目前支持构建服务器端应用程序的两种实现主要有两种,.NET Framework和.NET Core.两者共享许多相同的组件,并且您可以在两者之间共享代码.但是,两者之间存在根本差异,在我们选择使用哪种框架构建应用时,您的选择取决于您要完成的工作,以下说明两种框架的应用场景,希望能够帮助您做出最正确的选择. 在以下情况下,将.NET Core用于服务器应用程序: 您有跨平台的需求. 您正在针对微服务. 您正在使用Docker容器. 您需要高性能和可扩展的系统. 每个应用程序需要并行的…
SpringBoot 配置文件 一.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值:SpringBoot在底层都给我们自动配置好: YAML(YAML Ain't Markup Language) YAML A Markup Language:是一个标记语言 YAML isn't Markup Language:不是一个标记语言: 标…
背景 在我们日常工作中,代码写着写着就出现下列的一些臭味.但是还好我们有SOLID这把'尺子', 可以拿着它不断去衡量我们写的代码,除去代码臭味.这就是我们要学习SOLID原则的原因所在. 设计的臭味 僵化性 具有联动性,动一处,会牵连到其他地方 脆弱性 不敢改动,动一处,全局瘫痪 顽固性 不易改动 粘滞性 耦合性太高 不必要的复杂性 代码设计过于复杂 不必要的重复 提高复用性,减少重复 晦涩性 代码设计不易理解 SRP-单一职责原则 一个类只做一件事情.当然一件事情,不是说类中只有一个方法.而…