自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不若乘风来

Github: https://github.com/tp7309

原创 重要文档加密后忘记密码怎么办?TTPassGen-- 使用自定义密码字典生成器拯救数据

像我自己是有些加密文档忘了,生成字典来帮助自己破解>>。TTPassGenTTPassGen是一个支持灵活定制的密码字典生成器,我们可以轻松地定义各种规则来生成所需的单词组合。因为基于Python,所以可以跨平台使用。特性使用组合,排列,条件规则等生成密码.支持可以组成密码的所有字符或单词(从wordlist选项中获取输入字典路径),还提供了一些内置的字符集,例如小写字母

2019-08-30 15:17:28 1803

原创 在pub.dev中认证为"Verified Publisher"并发布flutter库流程
原力计划

目前有了一个flutter库要发布,摸索了一下发布流程贴在这里供大家参考。注册账号pub.dev是Dart官方的仓库地址,首先在此注册账号,需要Google账号和全局翻/墙。会提示用Google账号登录,同意就可以了。认证verified publisher首先verified publisher意思是已验证开发者,与普通开发者的主要区别是可以隐藏自己的email地址,同时加个badg...

2020-03-11 19:45:00 809

原创 Flutter判断泛型类型

在Dart中判断泛型类型时可以用如下方法: void main() { test<int>(); } static testT<T>() { //判断T是否为某一类型或其子类 print(List<T>() is List<num>); //得到T的类型 print(typeOf<T>());...

2020-02-15 15:54:57 1788 2

原创 关于jdk1.8中ConcurrentHashMap的方方面面

前言Java JDK升级到1.8后有些集合类的实现有了变化,其中ConcurrentHashMap就有进行结构上的大调整。jdk1.6、1.7实现的共同点主要是通过采用分段锁Segment减少热点域来提高并发效率,1.8版本的实现有哪些变化呢?重要概念在正式研究前,我们需要先知道几个重要参数,提前说明其值所代表的意义以便更好的讲解源码实现。table所有数据都存在tab...

2019-10-11 23:08:54 12073 6

原创 提升百度云速度-下载利器aria2简明配置指南

一直在寻找个稳定的百度云下载提速方式,最近试用了aria2一段时间还挺好用的,介绍给大家。Aria2介绍Aria 2 是一款高速下载工具,支持目前所有主流的操作系统。 它具有强劲的下载功能,可实现断点续传,多线程多资源下载高效提升下载速度,同时也是BT/PT下载的利器。当然其它重要的一点是配合chrome插件支持对百度云下载的提速,不需要登录账号。配置准备一切文件从官方发布渠道获取,配置前...

2019-07-18 19:09:43 5362 2

原创 Bugly自动上传符号表插件动态设置appChannel值

bugly符号表插件文档地址:https://bugly.qq.com/docs/user-guide/symbol-configuration-android/?v=20181014122344原来没注意到这个插件,集成时发现插件配置项中可以通过appChannel设置不一样的渠道号,最好是与flavor中定制的渠道号保持同步,不用手动修改,尝试了下可以进行如下gradle配置。apply ...

2019-06-27 12:49:27 652

原创 处理Gradle插件中groovy文件提示"class already exists"问题

这两天写gradle plugin时发现个奇怪的问题,将写好的插件发布到本地maven仓库后,已有的groovy类会提示该文件already exists,非常烦人。经过试验可以通过以下步骤解决:明确源码目录在插件模块的build.gradle下配置明确的源码目录。sourceSets { main { groovy { srcDir 'sr...

2019-05-22 18:33:14 733 2

原创 处理git bash中使用adb shell时的路径错误问题

这两天把所有编辑器的终端都统一设为git bash了,使用adb时发现个因为路径分割符自动转换导致的问题。如在git bash下使用如下命令就会报错:$ adb shell ls /sdcard/AndroidC:/Program: No such file or directoryFiles/Git/sdcard/Android: No such file or directory原...

2018-10-04 13:33:10 1730 1

原创 Python获取可移动设备(U盘)盘符(全平台)

试了个多平台通用的版本:import subprocessimport osimport redef sh(command, print_msg=True): p = subprocess.Popen( command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) re...

2018-08-31 09:35:05 4056 2

原创 adb获取启动activity(adb get launcher activity)

网上可用的很少,在此纪录下:import subprocessdef sh(command, print_msg=True): p = subprocess.Popen( command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) result = p.stdout.read...

2018-08-31 09:34:56 1730

原创 adb连接网易MuMu、夜神、Droid4X、Nox等任意模拟器的端口

有用到的地方,就写了个小工具,用于找到当前各类Android/安卓模拟器的adb端口并自动连接,支持模拟器多开时端口查找 ,理论上支持所有模拟器端口搜寻,诸如腾讯手游助手、网易MuMu、BlueStacks、海马、夜神、天天等。项目地址https://gitee.com/tp7309/TTEmulatorPortFinder快速下载https://gitee.com/tp7...

2018-03-06 09:47:04 6303

原创 Python无依赖实现一个带百分比的简单进度条

使用 sys.stdout 或 sys.stderr 就可以输出一个简单的进度条:import timeimport sysdef report_progress(progress, total, lbar_prefix = '', rbar_prefix=''): percent = round(progress / float(total) * 100) buf...

2018-03-01 09:59:50 1302

原创 Python获取命令实时输出-原样彩色输出并返回输出结果

经试验显示效果不错。#!/usr/bin/python3# -*- coding: utf-8 -*-import osimport subprocess# 与在命令窗口执行显示效果相同,如有彩色输出可保留,但不能返回结果def run(command): subprocess.call(command, shell=True)# 实时输出但不可显示彩色,可以返...

2018-02-27 19:22:00 6126

原创 批处理bat echo中文乱码完美解决方法

这种兼容性问题只能说是醉了,果然不记过段时间就又忘了。@echo offREM 声明采用UTF-8编码chcp 65001echo testecho 中文测试pause

2018-02-09 21:49:12 32470 17

原创 Ubuntu亲测简单有效的共享文件夹(Shared Folders)自动挂载方法

Ubuntu装过不知多少次,共享问题一直没怎么解决,最近要重新安装Ubuntu16.04,正好记录一次。 亲测可用!1. 安装依赖库Ctrl+Alt+T 打开终端,输入以下命令://确保依赖库已安装sudo apt install linux-headers-$(uname -r) build-essential dkms//安装后重启reboot2. 安装Vir

2018-01-27 12:45:20 2244

转载 git删除所有历史提交记录

把旧项目提交到Git上,但是会有一些历史记录,这些历史记录中可能会有项目密码等敏感信息。如何删除这些历史记录,形成一个全新的仓库,并且保持代码不变呢?1.Checkout git checkout --orphan latest_branch2. Add all the files git add -A3. Commit the changes git co

2018-01-26 16:04:34 4748

原创 指定目录打开cmd

有时为了方便操作我们需要在打开命令提示符是指定目录的,有如下做法:使用Windows自带功能方法一在文件管理器的地址栏直接输入cmd 回车即可打开,地址栏相关于运行 窗口的作用,同样也可打开其它命令! 方法二在文件管理器中,按住SHIFT键再点右键,右键菜单中即会出现在此处打开命令窗口/cmd/PowerShell 之类菜单项,点击即可。 批处理自动打开

2017-12-28 10:26:06 7350 3

原创 gradle3.0中使用Butterknife

在gradle3.0中使用butternife目前butterknife-gradle-plugin需要降级,但是依赖库的版本可以保持不变:build.gradle:buildscript { repositories { jcenter() maven { url "https://oss.sonatype.org/content/repositories/

2017-12-02 11:59:20 2202

原创 Python2.7打印中文乱码处理

总是有些编码的问题,光这样是无效的:#!/usr/bin/env python# -*- coding: utf-8 -*-得做如下处理:#!/usr/bin/env python# -*- coding: utf-8 -*-import syssys_encoding = sys.getfilesystemencoding()def printcn(msg): print(msg.d

2017-11-14 20:15:44 9077 2

原创 Nodejs全局安装模块后找不到命令的解决方法

碰到了这问题,记录一下,看提示应该是环境变量的问题,执行如下命令得到Nodejs的模块安装路径:npm prefix -g将输出的全局安装路径加入的环境变量的Path条目中即可。

2017-10-19 18:25:48 11991

原创 Bat执行Python脚本输出显示与传参的问题

bat调用python脚本时传参还得用start命令:@echo offstart python showjar.py %*exit*%*表示将bat收到的所有参数,这样就无惧python带参数执行的问题了。 调用时新窗口会闪现一下,如果要不闪现就用pythonw.exe,不过这样子的缺点是python中的输出就看不见了。PS: 碰到这问题是更新了下反编译apk工具(2017...

2017-08-06 19:20:05 6138

原创 VSCode Debug Click - Python Command-Line Applications

写点Python小脚本我喜欢用Visual Studio Code,够小够快。关于Python的配置就不多说了,请大家按照官方教程操作 Python with Visual Studio Code。在这里主要说要怎么调试用Python写的命令行程序。不知为何我设置launcher.json中的args参数无效,所以后面试验了下找到了通知的方法。 下面是我的一个Python小项目TTDictGen

2017-06-05 08:52:04 644

原创 3分钟内理解Python的re模块中match、search、findall、finditer的区别

re是Python中用于正则表达式相关处理的类,这四个方法都是用于匹配字符串的,具体区别如下:match匹配string 开头,成功返回Match object, 失败返回None,只匹配一个。search在string中进行搜索,成功返回Match object, 失败返回None, 只匹配一个。findall在string中查找所有 匹配成功的组, 即用括号括起...

2017-06-01 08:50:26 45637 1

原创 Python Click使用命令行短参数(short option)

不知为何官方没有明确写出来,在此记录下:##test.py@click.command()@click.option("--mode", "-m", show_default=True, default=0, type=click.INT, help="generation mode")def cli(mode): passif __main__ == "__name__

2017-05-31 08:52:42 1831

原创 Python如何使用装饰器(Decorator)修改yield function返回值

在Python中我们常常使用装饰器来扩展一个函数的功能,如果被装饰的函数中有使用yield关键字,函数函数的可能是一个iterable,我们要修改其返回值该如何解决呢?便需要采用下面的写法:#!/usr/bin/env python# -*- coding:utf-8 -*-import itertools, functoolsdef testWrapper(func): @

2017-05-31 08:51:45 1268

原创 Ubuntu14.04下载编译Android6.0内核源码

通过上一篇Ubuntu14.04下载编译Android6.0源码我们已经下载完了Android SDK的所有源代码,但是这其中不包括其对应的Linux内核的源代码。不同的硬件需要下载不同的内核代码,在此https://source.android.com/source/building-kernels可找到对应的关系。 目前我是先下载了Android模拟器对应的Android内核源码,下面介绍具

2017-05-13 09:32:28 2888

原创 Python execute adb shell command

用Python写些平时开发的辅助脚本还是非常方便的,做为Android开发有碰到用Python执行adb命令的需求,os.system() 可以执行系统命令但是不支持获取输出,再者要考虑到读取中文输出之类的问题的话最好使用subprocess:#!/usr/bin/env python#encoding=utf-8import subprocessdef sh(command):

2017-05-13 09:31:28 4992

原创 Coursera Algorithms Percolation解题记录

简述第一周作业: https://www.coursera.org/learn/algorithms-part1/programming/Lhp5z/percolation 首先按照指导安装algs4,之后自动下载的DrJava用的很不顺手,就换成使用IDEA了。编程时记得把algs4.jar加入依赖项,之后修改运行启动参数进行调试即可。 Percolation.java要完成的工作是构建一个

2017-04-27 20:56:33 3373 6

原创 Ubuntu14.04下载编译Android6.0源码

Git配置进行过此配置的直接跳过。git config --global user.name "Your Name"git config --global user.email "you@example.com"科学上网//停止polipo服务sudo service polipo stop//启动polipo服务sudo service polipo star

2017-04-17 08:52:33 5460 1

原创 Algorithms algs4不能成功安装问题解决

Algorithms书籍的环境自动配置程序algs4这两天在Mac上安装时总是提示不能安装成功,即使开着SS也不行。经查验为其正确设置代码的方法如下: 1. 开启SS,选择Global Mode 2. 打开其包内容,修改downloadQuiet()函数,为其配置代理。 if curl --socks5 127.0.0.1:1080 --show-error --fail "

2017-04-17 08:51:25 1621 4

原创 Coursera连接不上的解决方法

国外的网站就是这样,想上去学习下也总要被途中使上绊子。 最佳的方法是走代\理,先说下如果只是单纯想下下课件什么的比较简单,上 MXTOOLBOX之类的网站查查连接速度比较快的IP,然后修改hosts,位置: C:\Windows\System32\drivers\etc\hosts我是碰到了不能查看视频的问题,后来一检查s\s只开了自动代\理,视频走的可不是https协议,应该选 Glob

2017-04-04 14:49:17 8895 5

原创 Chrome查看应用程序(应用启动器)

在Chrome中输入下面URI即可查看,奇怪的是应用启动器不能自动下载了,可以添加书签方便查看。chrome://apps

2017-03-23 23:11:51 2546

原创 Android6.0 Notification工作原理源码解析(二)

上一篇讲了通知是怎么创建的,这章正式开始跟踪通知的发送流程。时序图分析通知的发送是通过NotificationManager的notify()方法:NotificationManger->notify() public void notify(int id, Notification notification) { notify(null, id, notificati

2017-03-20 12:41:15 3412

原创 Ubuntu英文系统安装五笔输入法

sudo apt-get install ibus-table-wubi ibus-pinyin安装成功后重启后即可添加。

2017-03-17 23:06:37 3671

原创 Virtualbox最全扩展虚拟磁盘空间大小(vdi/vmdk)方法(Mac/Linux/Windows)

有时我们在使用Virtualbox虚拟机时,分配给虚拟机的磁盘空间太小,导致后期需要扩容,通过以下方法可以扩展磁盘空间。增强虚拟磁盘空间容量方法一:扩展磁盘空间打开Virtualbox所在的安装目录,执行以下命令,命令中的虚拟有磁盘路径改成自己的://查看虚拟磁盘空间信息,确认确实是需要扩容的虚拟硬盘。VBoxManage showhdinfo "H:\VirtualBox VMs\U

2017-03-17 19:34:03 21208 5

原创 无法获得锁 /var/lib/dpkg/lock...解决方法

sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock

2017-03-06 21:26:32 3430

原创 Ubuntu12.04调整系统字体大小

最近应该有特殊需求,所以装了下Ubuntu12.04版本,感觉字体真是太小的不舒服,设置中又没有字体选项,于是找了下调字体的方法: 在Ubuntu软件中心搜索##高级设置##,安装后打开就可以调字体了!

2017-03-06 20:46:41 4304

原创 Android监听音量变化

private void registerVolumeChangeReceiver() { mSettingsContentObserver = new SettingsContentObserver(this, new Handler()); getApplicationContext().getContentResolver().registerContentOb

2017-02-28 22:24:53 6998

原创 OJ 7223 至少有多少只恼人的大青蛙?__深搜

描述有一种大青蛙会跳越稻田,从而踩踏稻子。农民在早上看到被踩踏的稻子,希望知道晚上有多少青蛙穿越自家的稻田。每只青蛙总是沿着一条直线跳跃稻田,而且每次跳跃的距离都相同。 如图1和图2所示,稻田里的稻子组成一个栅格,每棵稻子位于一个格点上。而青蛙总是从稻田的一侧跳进稻田,然后沿着某条直线穿越稻田,从另一侧跳出去。 如图3所示,可能会有多只青蛙从稻田穿越。青蛙的每一跳都恰好踩在一棵水稻上,将这棵水稻

2017-02-19 20:47:26 1091 2

原创 OJ 7222 怀表问题__深搜

描述怀表是由一个表链和一个表盘连接而成的。同时,表链又是由多个长度为1的表链组件连接而成的。小明现有一个表盘和多个长度为1的表链组件。他希望组合成一个完整的怀表当做生日礼物送给爸爸。 表盘和表链组件的两端都有表扣可以和其它的表链组件或者表盘相连。 一共有两种表扣设计,分别是“L” 和“V”。表链组件和表盘的左右两端可以使用相同的或者不同的表扣设计,因此我们有以下四种不同的表链组件和表盘设计方式,

2017-02-13 22:04:12 846

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