自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (4)
  • 收藏
  • 关注

原创 安卓启动三方APP

1. 对于知道应用包名的情况PackageManager packageManager = getPackageManager();Intent intent= packageManager.getLaunchIntentForPackage("package.name");startActivity(intent);2. 对于知道应用首页scheme的情况Intent int...

2020-02-26 16:43:39 567

pip相关

pip安装指定版本的库到 pypi 搜索并确定库的版本号pip install [library name]==[version] 例如:pip3 install web3==4.0.0b6  windows上安装需要VC++编译的库如果不想手动编译,到 Unofficial Windows Binaries for Python Extension...

2018-01-23 09:17:12 179

jupyter相关

1. jupyter notebook在windows中打开,字体巨丑的解决办法%用户目录%\.jupyter\custom打开 custom.css,添加#notebook-container * { font-family: "微软雅黑", Consolas }    ...

2018-01-10 20:34:37 172

日期相关操作

代码在java8测试过,默认返回的日期都是零点时间戳 1. 获取某一周的第一天public long getWeekMonday(long millis) { Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(millis); // 设置一周的第一天是星期一 cal.set...

2017-12-27 11:16:19 148

Java Shutdown Hook设置JVM退出时的操作

我们可以通过调用如下方法设置在JVM准备退出时,运行的操作 java.lang.Runtime.addShutdownHook(Thread t) 在hook中的start方法执行结束之前,主线程和其他子线程仍然可以继续执行自己当前的任务,所以某种意义上讲,该方法提供了服务器 gracefully shutdown 的机会,比如轮询某个进程的状态标记。 测试如下代码可以发...

2017-12-07 18:19:54 1725

Android权限控制EasyPermissions

EasyPermissions项目地址 https://github.com/googlesamples/easypermissions 1. 在AndroidManifest定义权限<uses-permission android:name="android.permission.CAMERA" /> 2. 在需要权限的方法前添加注解 @AfterPermiss...

2017-11-25 00:13:46 222

原创 AES加密和解密

本文重点在于如何在JAVA和Python中使用AES,以及相关的重要概念,而不是专门讲AES算法原理。 AES作为一个块加密算法 [block cipher],每次加密的明文大小固定为128bit,所以明文比较长的时候需要先分组再加密然后整合,这个过程中就会出现两个重要的因素:模式 和 填充方式。  1. 模式分组密码工作模式,常用的包含ECB,CBC,OFB,CFB和...

2017-11-15 20:10:45 863

Android6及以上版本获取MAC地址

为给用户提供更严格的数据保护,从 Android 6.0 (Marshmallow) 版本开始,对于使用 WLAN API 和 Bluetooth API 的应用,Android 移除了对设备本地硬件标识符的编程访问权。WifiInfo.getMacAddress() 方法和 BluetoothAdapter.getAddress() 方法现在会返回常量值 02:00:00:00:00:00。...

2017-06-01 20:40:41 285

Android Gradle命令打包

以下都在app module的build.gradle中操作 1. 设置打包的apk名字android { defaultConfig { ... versionCode 2 versionName "1.1" // 设置打包的apk名字 setProperty("archivesB...

2017-05-05 11:56:32 218

Android SearchView相关细节

以下所有内容都是针对android.support.v7.widget.SearchView,相比于默认的SearchView拥有更多的可配置性。 1. SearchView默认的状态是一个搜索图标,点一下才会展开输入框,如果想默认处于展开状态,可以调用如下方法:searchView.setIconifiedByDefault(false); 带来的副作用是此时的SearchVi...

2017-04-27 18:19:31 292

Android Activity生命周期出现异常

表现状况:1. 在activityA中start activityB,注意该过程没有finish的操作;2. 在activityB中finish自己;3. 回到activityA,发现原来的成员变量全部被清零/null,而且执行了onCreate方法 预期情况:应该是activityA保留所有成员变量的值,从onStart方法开始执行 可能的原因:1. 最恶...

2017-04-25 11:35:40 174

消息认证码算法

消息认证码算法的产生一定程度上是因为,处于安全考虑很多人已经开始在做消息摘要之前,先对原始的消息加上一个key之后,再做hash之类的处理,但是这样的处理方式仍然存在安全隐患,于是消息认证码算法应运而生。HMAC底层使用hash算法,是使用场景比较多的一种消息认证码(MAC)算法。关于HMAC和原始的Hash算法的安全性比较见wiki。 总体上来说,HMAC虽然使用了Hash作为底层算...

2017-03-29 21:44:22 2072

消息摘要

常用的消息摘要包含 MD5,SHA1,SHA256,区别可见 wiki -- SHA家族消息摘要的算法输出字节长度是确定的:MD5 --> 128 bitsSHA1 --> 160 bitsSHA256 --> 256 bits Java 中有 MessageDigest 类专门用来处理这样的需求,一般流程:getInstance  -->  ...

2017-02-25 21:13:29 132

gradle sync太慢的问题

原因是国内访问jcenter太慢,甚至连接不上,就会报各种关于依赖更新失败的错误。 以前oschina(也就是开源中国)提供了jcenter的镜像地址,然而不幸的是因为各种原因,最近停止服务了开源中国 Maven 镜像库关闭访问 幸运的是阿里云提供了jcenter镜像  http://maven.aliyun.com/ 可以在工程gradle中如下修改,加速gradl...

2016-11-07 17:04:47 2191

Lambda表达式之并行和并发

并行和并发是个非常大的概念,也不是一篇文章能够完全的包含,所以这边只能简要概括如何通过Lambda表达式来实现。 首先并行和并发是两个不同的概念:并行英文叫Parallelism,理想情况下,每个线程拥有自己独立的cpu核心,像平行线一样的各自执行自己的任务,多用于CPU密集型的任务;并发英文叫Concurrency,每个线程不一定拥有独立的cpu核心,每次的执行时间点和执行时...

2016-08-16 17:36:34 2019

Lambda表达式之collect

本文记录collect的高级用法。 依然先准备测试数据 class Item implements Comparable<Item> { public String id; public int count; public Item(String id, int count) { this.id = id; ...

2016-08-15 18:16:22 1455

原创 Lambda表达式之Stream

Java8引入了Stream以实现对集合更方便地进行函数式编程。Set和List都可以通过stream()方法获取Stream实例;数组可以通过Arrays.stream(array)工具方法获取Stream实例。 对Stream的操作分lazy方法和eager方法:lazy方法依然返回Stream实例,并没有立马开始计算;而eager方法相当于正式进入运算阶段,返回的...

2016-08-12 00:30:38 634

Lambda表达式初识

Lambda表达式作为Java8引入的新语法,使Java也可以实现函数式编程风格。 函数式编程与命令式编程最大的不同在于:函数式编程关心数据的映射,命令式编程关心解决问题的步骤,面向对象编程是也是一种命令式编程。 另外函数式编程强调没有“副作用”,对目标对象的处理结果不应该改变原来的对象,其他外部变量也不应该受到影响,也正是这个特性,函数式编程的并行化处理也不需要关注锁的问题。...

2016-08-09 18:00:36 96

关于Set和Map的注意事项

1. HashSet和HashMappublic boolean add(E e)Adds the specified element to this set if it is not already present. More formally, adds the specified element e to this set if this set contains no elem...

2016-08-04 17:06:37 96

使用原生的HttpURLConnection库进行网络请求

这边只考虑json格式轻量级的数据请求。 除了部分像Build.VERSION.SDK_INT这样的只属于android的sdk API,其他是java通用。 URL openConnection获取的URLConnection实例由平台和http类型决定,比如安卓从4.4版本开始,http的url底层为com.android.okhttp.internal.http.Http...

2016-07-22 15:04:16 233

python requests相关

1. requests通过Post/Form上传文件以微信上传logo接口为例:url https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN参数buffer文件数数据流access_token调用凭证 curl -F [email protected]...

2016-07-22 11:43:51 71

安卓编译过程遇到的错误

1. duplicate entry:android/support/annotation/NonNull.class看看有没有哪个module中无意加入了android-support-v4.jar导致和v7的冲突  

2016-07-02 18:39:35 86

Vim编辑器文本格式设置

在.vimrc下加入(.vimrc在Linux的用户home目录下,如果没有自己创建,对于Windows在vim安装目录下) set number "显示行号 set nobackup "设置没有备份文件 set autoindent "设置自动缩进 set guifont=Courier_New:h10 set cursorline "高亮当前行 hi Cu...

2016-06-30 15:20:12 435

关于onActivityResult的一些细节

1. onActivityResult是比onResume先调用的,而且如果onActivityResult中的code比较耗时的话,会阻塞onResume,可以通过如下的code进行测试:public void onActivityResult(int requestCode, int resultCode, Intent data) { Log.w(TAG, "on acti...

2016-05-06 14:55:16 151

Android5及以上版本设置状态栏颜色

Android5(LOLLIPOP, API-21)以及以上版本可以设置status bar(状态栏,显示时间和电池信息的地方)颜色 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowMa...

2016-04-27 15:26:26 289

java反射基础

1. 第一步的核心是获取Class常规情况下,一个class的二进制文件唯一对应jvm中的一个class对象,class的加载大部分情况都是jvm自动处理,对于动态加载的情况,一种是通过Class.forName,另一种是通过ClassLoader.loadClass(),这两种方式都可以加载classpath下的class二进制文件,关于classpath的获取How to prin...

2016-04-26 20:53:30 83

GlassFish4.1.1 ParserConfigurationException not found by moxy

在使用GlassFish4.1.1部署Jersey Rest项目时出现错误java.lang.ClassNotFoundException: javax.xml.parsers.ParserConfigurationException not found by org.eclipse.persistence.moxy  出现错误是在项目添加json依赖之后,无论是使用Jersey内置...

2016-04-11 16:05:11 152

Dropwizard实现一个最简单的REST

DropWizard http://www.dropwizard.io/0.9.2/docs/getting-started.htmlJetty for HTTPJersey for REST官方说法 capable of doing 30,000-50,000 requests per second 定义依赖<dependencies> &lt...

2016-03-22 19:10:01 298

BeautifulSoup获取博客列表

安装pip install beautifulsoup4建议安装lxml,作为beautiful soup的内置解析器对于windows,到 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 搜索下载并安装pip3 install "lxml-3.6.0-cp35-cp35m-win_amd64.whl" 核心方法http://ww...

2016-03-22 18:46:02 397

在Ubuntu通过Nginx和uwsgi部署Flask

以下基本是在文章 在Ubuntu上使用Nginx部署Flask 应用 上做了部分调整,没有使用virtualenv,python版本3.4。 依赖安装pip3sudo apt-get install python3-setuptoolssudo easy_install3 pip 安装python3-dev,uwsgi依赖,否则直接安装uwsgi可能会遇到pytho...

2016-03-21 17:16:48 104

okhttp3同步请求使用总结

官方文档:https://github.com/square/okhttp/wiki/Recipeshttps://github.com/square/okhttp 以下只考虑小数据量请求,比如请求rest json API  相关注意点1. okhttp3比较多的地方使用了builder模式,OkHttpClient、Request、FormBody等都可以通过&l...

2016-03-18 15:55:43 1638

Activity以Dialog形式出现

1. 正常定义Activity <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:...

2016-03-12 14:49:37 1395

颜色透明度的十六进制值

Android uses Hex ARGB values, which are formatted as #AARRGGBB. That first pair of letters, the AA, represent the Alpha Channel. You must convert your decimal opacity values to a Hexdecimal value. H...

2016-03-12 11:58:19 363

原创 通过XML定义控件背景形状颜色

在drawable里面定义xml,在background中引用<Button android:id="@+id/completeBtn" android:layout_width="80dp" android:layout_height="40dp" android:layout_marginTop="32dp" android:text="完成" android:text...

2016-03-12 11:18:39 268

Android5按钮阴影

Android 5 (Lollipop) 版本的按钮自带阴影,部分场合比较难看,取消阴影的方法 Lollipop has a nasty little feature called  stateListAnimator  which handles the elevations on Buttons, which leads to shadows. Remove the stat...

2016-03-10 15:06:11 91

原创 java容易忽略的问题

1. float运算的坑float f = 9.9f;float m = f * 100.0f;System.out.println(m);  结果并不是990不管是乘以100还是100.0f 8.9f 也有这个问题  2. string split问题String ss = "5.11.17.0/24,,2635167,,0,1,,,,";int ...

2016-03-04 14:32:39 98

实现Parcelable

Activity之间通过intent传递object时,该object的class需要实现Parcelable。 Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must als...

2016-02-23 20:32:58 115

通过matplotlib绘制心形

相关工具库很多,都是科学计算的东西:numpy、scipy、pandas、matplotlib、sympy、mayavi2 SciPy官网的介绍http://www.scipy.org/getting-started.htmlNumPy's array type augments the Python language with an efficient data stru...

2016-02-18 17:59:47 3612 2

真随机数

一般sdk自带的随机数都是伪随机数 RANDOM.ORG提供了API可以获取真随机数 JSON-RPC API – Release 1 首先需要申请key调用API的url https://api.random.org/json-rpc/1/invoke python测试&gt;&gt;&gt; base_url='https://api.random....

2016-01-28 15:58:21 388

原创 用quote_plus和urlencode做url编码

1.py2需要import urllib  py3需要import urllib.parse 以下不特殊说明显示的都是py3的结果,编码之后的字符串可以到一些站长网站去解码校验2.quote_plus用于对字符串编码&gt;&gt;&gt; quote_plus('中文')'%E4%B8%AD%E6%96%87' 可适用场景,get方式的请求...

2016-01-27 15:27:00 1354

Learning.UML.2.0

文字版

2016-07-21

Groovy 2 Cookbook

Over 90 recipes that provide solutions to everyday programming challenges using the powerful features of Groovy 2 Authors Andrey Adamovich Luciano Fiandesio

2014-09-30

求闭包 属性集闭包 函数依赖的闭包

根据程序提示一步步往下做即可 1. 由用户输入函数依赖,当用户输入End时,表示所有依赖都输入完毕。(即函数依赖是由用户自己定的,程序中不能假定某个具体的依赖)。 2. 函数依赖的形式是ABC, ABE这样的形式,为了简单起见,我们假定所有的属性都是用英文的大写字母表示,由A到Z。(提示,你可以让用户先输入依赖左边的属性,然后再输入依赖右边的属性,用来表示AB这样的形式) 3. 用户输入完毕所有的依赖后,显示“请输入属性集求闭包”的提示,当用户输入1个或者多个属性时,求出对应的闭包。(如,用户输入A,则显示A+的值, 用户输入AB则求出AB+的值。显示完毕后,再次显示“请输入属性集求闭包”,让用户继续输入属性,直到用户输入END后程序结束。

2010-09-14

空空如也

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

TA关注的人

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