自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (2)
  • 收藏
  • 关注

原创 vscode使用code命令无效(bash: code: command not found)

原因是没有把code放到 /usr/local/bin下。先把vscode放到application下后运行如下命令sudo ln -fs "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code" /usr/local/bin/

2021-12-14 19:40:45 7433 2

原创 Google Bigquery如何保存超过1GB的数据

Google Bigquery只支持保存1GB以内的数据,当超过1GB是,需要设置b首先是创建一个自己的project。

2021-06-02 16:25:01 424

原创 mac os如何在命令行中使用某个lib

把该lib放入/usr/local/bin

2020-02-11 15:54:27 381

原创 Python调用命令行时,保存warning提示

def run_command(command): proc = subprocess.Popen( shlex.split(command), stderr=subprocess.STDOUT, stdout=subprocess.PIPE ) output = proc.communicate()[0] retu...

2019-01-04 14:52:40 645

原创 区块链地址的产生方式

在理解区块链地址产生方法之前,先来简单地理解一下公钥私钥的加密原理:1. 公钥是对外公开的,而私钥是保密的。当A想要把内容发送给B时,A会用他的私钥对内容加密,然后发送给B。B会用A的公钥来解密。2. 公钥是通过私钥产生的,这个过程是无法逆转的。3. 当B需要验证A的身份(数字签名)时,B可以用公钥验证这个数字签名是否是用A的私钥产生的。 当创建比特币的账户时,用户会在本地生成...

2018-11-16 10:52:48 3212

原创 区块链(以太坊智能合约)与传统软件的区别

区块链与传统软件设计有很多区别:1. 区块链是分布式的,而传统软件大多是中心化的2. 区块链通常有无数个备份(每个矿工处都会有一个完整的区块链备份),而传统软件只会在单个或者若干个节点做备份3. 区块链是一个链式结构,在区块链上的所有记录都是可追溯且无法修改的,而传统的系统可能难以追溯,且可以被人工修改4. 区块链无法停止,一经上线,就会一直运行,而传统软件存在服务器停止的可能性...

2018-11-16 10:31:26 1177

原创 以太坊私有链搭建

1. 新建一个文件夹,文件夹下创建文件,genesis.jsongenesis.json是创世块,包含了一些私有链的设置,内容如下{"config": {"chainId": 15,"homesteadBlock": 0,"eip155Block": 0,"eip158Block": 0},"difficulty": "10000","gasL

2018-05-09 22:45:31 406

原创 Solidity原理(六):用solc编译smart contract,用evm反编译bytecode

首先需要安装solc和evmsolc:https://github.com/ethereum/solidity/releasesevm: https://geth.ethereum.org/downloads/编译一个smart contract可以通过指令 solc --bin-runtime filepath来得到bytecode反编译bytecode可以通过evm --dissam b...

2018-05-06 23:07:25 5763 3

原创 Solidity原理(五):EVM Bytecode文件结构以及如何执行

pragma solidity ^0.4.22;contract Demo{ uint public value1 = 0; uint public value2 = 0; function A(uint v) public returns(uint){ value1 += v; return value1; } function B(uint v) publi...

2018-05-06 22:47:54 5084 4

原创 Solidity原理(四):从Bytecode角度分析,EVM如何在基本块之间跳转

BasicBlock:在解释EVM是如何执行之前,先来解释一下BasicBlock(基本块)。一个基本块由一系列的指令构成,有一个入口和一个出口,入口就是第一个指令,出口就是最后一个指令。出口的类型有: 1. 条件跳转(JUMPI),2. 非条件跳转(JUMP),3. 结束指令(RETURN,REVERT)4.什么都没有,直接fall to下一个block1. 条件跳转(JUMPI)...

2018-05-06 21:19:21 2436

原创 Solidity原理(三):abi编码以及与EVM交互的原理

1.   如何生成smart contract对应的ABI(ApplicationBinary Interface)函数的abi由以下元素组成1)     Type:有“function”,“constructor”, “fallback”三种2)     Name:函数名3)     Inputs:函数的参数类型,参数名,components(tuple类型才会有)4)     Output:函...

2018-05-04 09:17:02 6060

原创 Solidity原理 (二):库(Library)(待修改)

什么是库:在Solidity中,库和合约有点类似,你可以把库理解成Java中只包含static函数的类。它的作用和目的是代码复用。和普通合约有点不同的是,Library中无法包含storage变量。创建和使用库:下面的Library,有一个包含mapping的数据结构,并且提供了查询和插入的功能。注意在函数中传入的Data都加入了storage关键字,这里是传入了一个Data的引用。// Code...

2018-04-28 11:22:08 1234

原创 Solidity原理(一):继承(Inheritance)

首先看一段官网的描述:Solidity supports multiple inheritance by copying code including polymorphism.When a contract inherits from multiple contracts, only a single contract is created on the blockchain, and the ...

2018-04-22 23:25:17 2980

原创 web3.py获取公有链数据

1. geth同步本地数据,如果需要账户信息的数据,需要用full模式同步。由于以太坊曾经受到了攻击,2.4m起同步速度异常缓慢2. 安装web3, pypiwin32(windows下,因为要读文件,所以必须要装这个)3. 简单的example:from web3.eth import Ethfrom web3 import Web3, HTTPProvider, IPCProviderw3...

2018-04-08 15:00:31 3170

原创 ubuntu pip版本下载路径问题

pip3总是会下载到Python3.4的路径下解决方法:sudo python3.5 -m pip install XXXX

2017-10-27 17:37:58 2143

翻译 用正则识别是否是code

Regular Expressions for the Detection of Code Elements[A-Z][a-zA-Z]+ ?[a-zA-Z0-9\.]+[(][a-zA-Z_,\.]*[)](https?://)?[a-zA-Z_\\-/]{2,}(\.[a-zA-Z_0-9\\-]{2,})+[^\s\{\(\),'\"”’}:]*([\.]?[/

2017-08-31 15:27:09 453

原创 Android自定义组合控件

一般的步骤:1.      定义一个xml布局文件,这个布局文件中的内容是:你想要自定义的控件的所有组件,分开来写2. 定义一个java类,继承你想定义的内容,比如继承RelativeLayout3.  在activity的xml中,使用java类中自定义的控件 接下来举例: 目标如下:点击设置是否自动更新,checkbox也会被选中,因此需要将,2个tex

2016-06-28 00:10:58 502

原创 HierarchyViewer中的viewNode获取与解析方式

本文具体解释,连接上viewServer以后,利用“DUMP”+hash_code命令来获取到含有所有AppUI信息的字符串的解析 树状结构的解析:1.     while ((line = in.readLine()) != null) 这里,每一行就是一个控件的所有信息,即之后保存的viewNode2.     如何如何分层?这个是我之前一直的疑问,获取到的信息都是一连串的字符

2016-06-23 15:43:16 1308

原创 HierarchyViewer如何获取app UI结构

DeviceBridge.java中,通过loadWindowData(Window window)返回一个ViewNode类在这个方法中,通过DUMP+window.encode命令来获取到ViewNode,之前说过,在HierarchyViewer中的Activity总是被命名成Windows,即通过adb命令来获取指定的一个activity的ViewNode        1.1

2016-06-23 15:41:51 923

原创 Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.

解决方案 Tools -> Adnroid -> enable ADB integration

2016-06-21 15:00:38 350

原创 java中的多态理解

多态的简单例子与理解

2016-06-12 14:47:22 478

原创 BM25算法的实现过程

最近需要帮别人写一个BM25的文档,写完顺便上传了BM25是一个计算文本相似度的算法1.      BM25公式: BM25是通过q和s中的公共词汇进行相似度计算的算法,其中q: 待测试文档s:需要进行相似度比较的文档 2.      IDF的计算公式如下:N是训练集的总文档数,即需要比较的文档(s)的总数量Nt是含有单词t的文档(s)的

2016-05-18 13:50:53 3605

原创 矩阵乘法+快速幂优化递推式

对于一个一维的递推式,如斐波那契数列:f(0) = 0, f(1) = 1, f(n) = f(n-1) + f(n-2), 如果想求解第n个元素,一般就是用O(n)复杂度来求解,但是这不是最优的优化方法: 矩阵乘法+快速幂首先可以用一个矩阵递推下一维,对斐波那契来说,这个矩阵就是:(1,1)(1,0). 那么我们想求第n个数,只要把这个矩阵乘n次就好了,到这里,复杂度还是O(n)。但是我

2016-05-08 19:31:12 792

原创 zoj 3930 Dice Notation

第一次写ACM题解,今天参加浙大校赛,比赛时候一直纠结G,最后半小时和队友边抢键盘边写的D,最后2分钟写完,提交,wa了。然后回来写一发,二十多分钟就搞定了。。。发现比赛时没有注意到tab这个坑点,太心疼自己了。。。。思路就是先把空格全都删光,最后加空格,就ok了,注意tab这个坑#include#include#include#include#include#include#

2016-04-10 22:39:48 665

原创 HashMap的应用,CF650A

题目输入一个n,接下来有n组数据,每组数据是n个point(x,y);输出xi == xj || yi == yj的数量,注意要减去xi == xj && yi == yj的数量代码如下,写的复杂的原因是因为想练习一下HashMapimport java.awt.Point;import java.math.BigInteger;import java.util.ArrayList

2016-03-15 17:49:53 459

原创 Java多级排序

用了HDU 1862的excel排序做例子,但是感觉这道题内存限制有问题,一直ML,先不管,贴上代码import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;import java.util.Vector;public

2016-03-15 15:05:28 1132

原创 github新建SSH key出现github permission denied<publickey>

1. 找到C:\Users\Programmer_Win\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\etc\ssh2. 打开ssh_config3. 将IdentityFile=后面的内容改成~/.ssh/id_rsa

2016-02-21 20:52:44 420

原创 解决有java命令,没有javac命令

今天重装系统,配置jdk和jre环境时,按照往常一样的方法,方法如下http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html以前都是行得通的,不知道怎么回事,这次一直有问题于是在命令行中输入set,检查下配置发现环境变量的Path中,%JAVA_HOME%没有被替换成实际路径,所以发现这里出了问题

2016-01-22 17:27:00 17143

原创 Java中使用正则表达式

关于正则表达式的具体内容,在上一篇博文中已经具体介绍了,本博文具体介绍Java中的正则表达式使用方法在Java中,主要通过Pattern类和Matcher类来使用。首先,调用compile方法,如Pattern p = Pattern.compile(exp);然后创建匹配对象Matcher m = p.matcher(String);举例如下   

2016-01-21 13:24:44 409

原创 正则表达式详细介绍

单个表示:-1 \d 数字-2 \D 非数字 注:大小写就是取反的意思-3 \w 任意一个字母或数字或下划线-4 \s 空白符(换行、制表符、空格)-5 . 任意字符(除了换行符)自定义字符集合:[]表示匹配[]内的任意一个字符,是一个或运算,比如[123],就表示是数字1或数字2或数字3[^]表示非运算,比如-[^123],表示除了数字123的

2016-01-20 18:46:57 508

翻译 安卓app运行机制:

安卓app运行机制:(google 官方文档提取)一、app在系统中是怎样存在的1. 安装apk(运行在各自的沙盒中)1.1 因为安卓是一个多用户的Linux系统,所以每个app就相  当于一个不同的用户1.2 每个app,系统都会给它一个独特的ID,然后分配不同的权限给app1.3 每个进程,都会拥有自己的虚拟机(virtual machine), 所

2015-12-01 02:21:48 3003

原创 Android studio中getVersionName一直都是1.0

原因很简单,在Android Studio,默认的位置改变了,在build.grade中,需要修改defaultConfig { minSdkVersion 9 targetSdkVersion 23 versionCode 1 versionName "2.0"}这样就能够显示到2。0

2015-11-24 17:13:23 687

原创 Mac系统下,打开Android SDK Manager

用命令行打开:进入到sdk/tools命令下,输入./Android sdk即可

2015-11-24 14:33:22 11477 3

原创 eclipse新建Android后src和layout文件夹为空

原因:升级了SDK,导致SDK与ADT版本不符合解决方法:1.点击help -> install new software-> add2. 添加adt地址: https://dl-ssl.google.com/android/eclipse/    名字可以自定义3. 确认之后,选择全部安装的组组件,下一步。4. 正常此时会提示,只需要更新即可。同意并继续更新。5. 更新后

2015-11-24 10:56:48 873

转载 Eclipse自动补全功能失效

eclipse自补全失效的解决办法:1. 先检查自动补全的快捷方式是否设置正确。如下图所示:2. 自动补全需要对java -edit-content assisnt 进行设置。设置如下图:3.完成上述步骤,问题解决。

2015-08-17 15:47:25 1015

原创 HierarchyViewer源代码理解(三)

上一篇文章中提到对HierarchyViewer中,命令发送与接收的机制并不是很清楚,这篇文章就主要对这个进行研究 首先,通过adb命令行,连接到ViewServer(真机的话需要root权限才能够连接)步骤如下1.adb -e forward tcp:4939 tcp:4939讲Android设备的4939端口映射到pc的4939端口上2.adb -e shell ser

2015-08-13 13:16:10 952

原创 HierarchyViewer源代码理解(二)

注:文章是建立在http://blog.csdn.net/liguangzhenghi/article/details/8363911的基础上理解和扩充,所以首先先表示感谢本文主要来讲一下loadViewServerInfoAndWindows这个函数    private void loadViewServerInfoAndWindows(final IDevice device

2015-08-12 21:31:36 535

原创 mac下ADB的配置和常用命令

首先,mac下地ADB配置1.打开终端,输入touch .bash_profile2.在终端输入open -e .bash_profile(这里的-e是edit的意思,输入这步后,会打开bash_profile文件)3.在bash_profile中配置环境变量,格式是export PATH=${PATH}:/Applications/eclipse_for_android/sdk/pl

2015-08-12 20:33:12 1575

原创 关于hierachyViewer源代码导入运行的问题

之前在导入hierachyViewer源代码的时候,一直出现问题,甚至有过想直接裸眼看代码的念头,但想想,这种问题在以后的研究中肯定是需要解决的,所以今天打算再抽出时间,研究下,结果终于成功了,看来凡是都不能太心急,研究这东西,必须静下心来,尤其是对于我这样的初学者而言,废话不多说之前导入主要参考了这篇博文http://blog.csdn.net/liguangzhenghi/arti

2015-08-12 13:39:29 464

原创 更新sdk后遇到This Android SDK requires Android Developer Toolkit version 20.0.0 or above

今天更新sdk后,遇到了This Android SDK requires Android Developer Toolkit version 20.0.0 or above原因是因为更新后,在sdk->tools->lib目录下面的plugin.prop也进行了变动,导致sdk版本过高,所以只要打开这个文件夹,把里面的版本改回20.0.0即可

2015-08-12 10:51:14 617

空空如也

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

TA关注的人

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