自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (2)
  • 收藏
  • 关注

原创 雷电4模拟器安装xposed框架(2022年)

我尝试在雷电9模拟器按照EdXPosed的步骤使用Magisk安装。后面卡在哪一步忘记了,反正最终没有成功,网上也没找到什么资料,然后就放弃了。别问我都2202年了为什么还在用雷电4安卓7。我特么哪知道Xposed的相关资料这么难找啊,只能搜到一些老旧的资料,尝试在老旧的平台上实现了。最初的Xposed框架现在已经停止更新了,只支持到安卓8。如果要在更高版本的安卓系统上使用Xposed得看看Xposed的分支。雷电4的安装步骤如下。其实跟其他教程大同小异。或者LSPosed。...

2022-08-04 19:00:00 12150

原创 红外遥控风扇改手机APP远程控制杂记

前记最近老是找不到风扇遥控,搞得想整个手机APP远程控制风扇。说搞就搞,远程控制流程稍微一思考就定下来了。首先是信号转发设备通过WiFi模块连接服务器端,手机端再通过APP向服务器端发送控制指令,服务器端将控制指令下发到信号转发设备上,信号转发设备将控制指令翻译成红外信号发送给红外设备。制作这样一个产品需要几个技术栈:服务端程序开发APP端/Web端应用开发硬件相关知识及嵌入式开发作为一个互联网民工,前两样技能都不是问题。唯独第三样技能接触得比较少。最终虽然把产品做出来了,但是对硬件和嵌入式开

2021-08-11 23:22:24 1401

原创 Discuz验证码功能解析

discuz验证码功能主要在\uc_server\lib\seccode.class.php或/source/class/class_seccode.php文件中实现,这两个文件的代码基本一致,区别是一个运行于ucenter server,一个运行于discuz。下面的分析是针对ucenter server上的验证码功能。discuz支持的验证码类型有图形、flash、音频和位图。在服务器安装了ming库(动态生成flash动画)的情况下,discuz默认使用flash验证码。如果未安装ming,已安装G

2020-06-28 16:23:35 5471

原创 Discuz UCenter Server功能解析

技术点1.extract函数将列表中的存在映射关系的key创建为变量,value作为变量值。具体可看:https://secure.php.net/manual/en/function.extract.php。2.explode函数分割字符串,相当于Java或者Python中的split。3.sid包含用户名信息登录UCenter之后,页面的链接显示为:/uc_server/admin.php?sid=c935ichRGUiM9%2BuTj3o%2BE4h9towLwM9iSFMM0%2BV0G

2020-06-24 17:32:02 2544

原创 Discuz搜索模块解析

功能解析搜索模块的子模块有8个,相关信息如下:子模块功能album搜索相册。blog搜索日志。collection搜索收藏的帖子。forum搜索帖子。group搜索群组或群组帖子。my貌似已废弃。portal搜索门户帖子。user搜索用户。discuz的论坛搜索入口可以在/admin.php?action=setting&operation=search页面中配置。搜索项目为搜索论坛的项是直接控制论坛主页的搜索入

2020-06-23 14:05:58 1848

原创 Discuz home模块解析(二)

这篇文章将继续分析home模块其余的功能。invite模块invite模块是邀请注册或者成为好友功能,邀请功能可以在管理后台的全局->注册与访问控制中开启。普通用户邀请的链接如下:http://127.0.0.1/home.php?mod=invite&id=8&c=zakbhb管理员批量邀请的链接如下:http://127.0.0.1/home.php?mod=invite&u=1&c=7219c3069259f602用户通过该链接访问论坛,论坛调用i

2020-06-18 19:50:14 1541

原创 Discuz home模块解析(一)

功能解析home模块很庞大,包含了discuz论坛和用户信息相关的几乎所有功能,比如动态、消息、勋章、道具等等,有的功能还分为很多小功能,下面列出home模块基本的组成:子模块说明space用户个人空间相关的功能,如活动、相册、日志、收藏、好友、分享、悬赏等等spacecp用户个人空间相关功能的改动,如添加好友、发日志、收藏帖子等等miscmagic道具相关editor编辑器invite邀请相关task任务相关,如任务列表、申请任务、

2020-06-16 14:12:14 1244 1

原创 Discuz论坛项目架构分析

知识点1.init_get和init_set函数:获取和修改php运行环境的变量值,即存于php.ini中的值。2.自动加载函数:discuz的class_core.php中有下面的代码,其作用是当我们在代码中引用不存在的类时,自动加载对应的类。这时__autoload就会被调用,并且类名会被作为参数传送过去。discuz的自动加载函数实现了自动加载source/class/目录下的类,避免了引用各种类文件的繁杂操作。if(function_exists('spl_autoload_register'

2020-06-12 17:26:59 1766

原创 Discuz member模块功能解析

知识点1.ip转换成地址discuzip装换成地址用的是离线数据,一个叫纯真IP地址数据库的数据库,存放了几乎所有ip到地址的映射,且经常有更新,可以在这个git库上下载,也可以网上搜qqwry.dat。功能解析discuz的member模块主管用户的登录、注册、账号激活、忘记密码和切换在线状态等功能,下面我们一一分析这些功能。排列顺序按简单到难吧。切换在线状态切换在线状态的实现在/source/module/member/member_switchstatus.php中。discuz用户有在

2020-06-10 17:51:50 1183 1

原创 Discuz安装模块功能解析

技术点error_reporting()。设置php要显示错误报告的错误等级,如果要显示parse_error,需要在php.ini配置文件中修改display_errors = on。set_magic_quotes_runtime(boolean)。从这个链接(http://php.net/manual/zh/function.set-magic-quotes-runtime.php)的例子可知,此函数是控制php读取字符串时是否对斜杠\进行解析。参数为false则进行解析。set_time_l

2020-06-09 14:17:32 397

原创 PHP各类型变量与布尔值之间的转换

经常看到PHP代码中拿各种类型的变量来做布尔值用,故写此文章理顺各种类型变量和布尔值之间的转化规律,总结如下:对于数值类型,值为0等于布尔值false,其他值等于true。对于字符串类型,字符串为空,即长度为0时,等于布尔值false,其他情况则等于true。对于引用类型,值为null则等于布尔值false,否则等于true。对于数组类型,当数组为空,即大小为0时,等于布尔值false,其他情况则等于true。数组类型用下标或者key取值时,若对应的下标或者key不存在,都会取得值null,其布

2020-06-08 15:55:35 1241

原创 PlatformError: WGL: Failed to make context current

在Windows上使用go-flutter时运行官方demo遇到问题:$ hover runhover: Using engine from cachehover: Cleaning the build directoryhover: ? The go-flutter project tries to stay compatible with the beta channel of Fl...

2019-12-31 18:00:47 1182

原创 Go语言7种常见的错误用法

这篇文章的内容来自Docker的Steve Francia大神的分享,视频链接:https://www.youtube.com/watch?v=29LLRKIL_TI&t=357s。下面我尝试将自己的理解记录并分享,由于英文水平有限,如果文中有错误,望不吝指正。最严重的错误部分人最严重的错误是把错误当成恶魔,认为错误是不可饶恕的。事实却是当我们尝试使用一些新的事物时,出现错误是必然的。...

2019-07-21 15:30:31 976

原创 Golang之nil的妙用

在2016年的GopherCon上,Francesc Campoy分享了《Understanding nil》,视频连接:https://www.youtube.com/watch?v=ynoY2xz-F8s&t=587s。

2019-07-15 21:24:10 2443 1

原创 cs224n作业二学习笔记

1.Tensorflow Softmax这个作业题可以算是tensorflow的入门练习,涉及tensorflow的一些基本知识。虽然内容比较基础,但是基本包含了tensorflow的理念。如果理解得好,就能很快用上tensorflow了。编写本文时采用开发环境py3.6.7及tensorflow1.12.0。且导入tensorflow别名为tf。import tensorflow as t...

2019-07-15 20:14:18 547

原创 如何优雅地重启go程序--endless篇

前言当go语言开发的server应用已经在运行时,如果更新了代码,直接编译并运行,那么不好意思,端口已经在使用中:listen tcp :8000: bind: address already in use看到这样的错误信息,我们通常都是一通下意识的操作:lsof -i:8000kill -9 …这样做端口被占用的问题是解决了,go程序也成功更新了。但是这里面还隐藏着两个问题:...

2019-07-06 13:09:14 10512 6

原创 MySQL学习(三)

基础知识导出数据导出数据的sql语句格式为:SELECT * FROM runoob_tbl INTO OUTFILE 'filepath/filename';导入数据导入数据有几种方法:mysql 命令导入mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql)source 命令导入source /home/abc/abc.sq...

2019-04-07 23:32:23 160

原创 MySQL学习(二)

任务3在下面的表中查询报名学生数大于或等于5的课程:±--------±---------+| student | class |±--------±---------+| A | Math || B | English || C | Math || D | Biology || E | Mat...

2019-04-04 18:06:26 178

原创 MySQL学习(一)

安装数据库本人操作系统Ubuntu 16.04,可以使用apt工具直接安装,安装命令为:sudo apt-get install mariadb-server此命令会安装各种依赖库和mariadb的客户端和服务端。mariadb是mysql的分支,使用和mysql一致,但各方面都比mysql强大。安装完成后,发现执行mysql访问被拒绝,原因是当前用户权限不足,在mysql命令前加sudo...

2019-04-01 23:27:56 718

原创 cs224n作业1学习笔记

1.Softmaxsoftmax函数通常用在机器学习的分类问题中,作为输出层的激活函数。它的输入是一个实数向量,输出向量的长度与输入向量相同(也与分类的数目相同),但所有元素的取值范围为(0,1),且所有元素的和为1。输出向量的各个元素值表示的是属于某个分类的可能性。softmax函数的数学表达式为:softmax(x)i=exi∑jexjsoftmax(\boldsymbol x)_i=...

2018-12-13 21:11:06 1441 2

原创 Git工具SSL_ERROR_SYSCALL问题

问题最近使用git工具时出现下面的错误:fatal: unable to access ‘https://www.github.com/***/***.git/’: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443前段时间还好好的,最近就一直这样了。本人尝试了google上各种方法都没能解决,可见...

2018-12-13 13:54:52 14577 1

原创 ChromeBook安装Ubuntu第二系统

本人的ChromeBook是ChromeBook Dell Candy,以此为背景。开发者模式安装系统前,需要先进入开发者模式。(开发者模式和普通模式的区别就是开发者模式在命令行窗口(Ctrl + Alt + T)中输入shell可以进入命令行模式)关机后,长按ESC + Refresh + Power键进入恢复模式。此时有可能提示系统已损坏,可以不用管,按Ctrl + D,提示是否进入开...

2018-11-22 21:01:00 9607

原创 Python DictReader读写csv文件

准备此文档的示例代码是基于python3.5写的。 使用csv库前,先导入csv库: import csv读取内容假设csv文件的内容如下图所示,DictReader会将第一行的内容(类标题)作为key值,第二行开始才是数据内容。即图中的csv文件有2列7行数据,第一列的key值为id,第二列的key值为class: with open(‘name.csv’) as c...

2018-07-11 19:10:51 41366 2

原创 京东H5小游戏《疯狂足球》Android外挂实现

前言首先声明,此文仅用于技术交流,若用于牟利,后果自负!由于这个小游戏高分者可获得实体奖励,通过外挂作弊取得高分获取奖励实属诈骗,相信游戏团队也有辨别作弊的实力,请大家不要拿自己的信用作赌注,三思后行!正文 最近,相信大家也被《疯狂足球》这个小游戏刷屏了,得分前三名送手机啊,再便宜也要上千块一部吧。我也玩了几天,得分最高只能取得280分,再也上不去了。看来我还是不适合玩游戏,我还...

2018-06-13 20:24:13 1724

原创 WebView闪退

11-23 16:17:50.645 15368-15348/? A/google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----11-23 16:17:50.645 15368-15348/? A/google-breakpad: V AndroidWebView:59.0.3071.8211-23 16:17:50.645 15368-15348/?

2017-11-24 14:34:27 5542 2

原创 机器学习之Grid World的Deep SARSA算法解析

Github上某开源项目的Deep SARSA算法实现代码地址: https://github.com/rlcode/reinforcement-learning/tree/a497d719e3ecdd254e6620cf4f4b9afb0524b099/1-grid-world/6-deep-sarsaDeep SARSADeep SARSA算法是基于SARSA算法的,不同之处在于SARSA算法

2017-08-22 21:05:11 2611

原创 机器学习之Grid World的Q-Learning算法解析

来自Github开源项目的基于Grid World游戏的Q-Learning算法 Github地址:https://github.com/rlcode/reinforcement-learning/tree/master/1-grid-world/5-q-learningQ-LearningQ-Learning是一项无模型的增强学习技术,它可以在MDP问题中寻找一个最优的动作选择策略。它通过一个动

2017-08-17 21:39:48 6381

原创 机器学习之Grid World的SARSA算法解析

SARSASARSA(State-Action-Reward-State-Action)是一个学习马尔可夫决策过程策略的算法,通常使用在机器学习领域的增强学习上。一篇技术文章介绍了这个算法并且在注脚处提到了SARSA这个别名。 State-Action-Reward-State-Action这个名称清楚地反应了其学习更新函数依赖的5个值,分别是当前状态S1,当前状态选中的动作A1,获得的奖励Rew

2017-08-16 22:01:12 2914

原创 浅析Android恶意应用

这是本人做的一次内部分享PPT,大部分图片来自网络,内容原创,如有侵权,请通知我删除,谢谢!

2017-08-16 20:09:17 1123

原创 AS使用MultiDex找不到classes.dex文件

Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.Ex

2017-08-16 09:26:43 2560

原创 Win7 Ubuntu双系统安装踩坑记录

记坑爹的CSDN一笔!本来已经写过一次这篇文章了,但是新建下一篇文章发表之后变成编辑上一篇文章,搞得我现在又写一次,浪费了我好几个小时,巨坑,大家以后要注意了!本人是笔记本,已有Win7系统,想装Win7+Ubuntu双系统的,为此踩了不少坑,现在记录下来,分享一下,也以备自己查阅。问题一:下载的系统是损坏的本人是采用UltraIso将官网下载的Ubuntu镜像文件烧录到U盘,将U盘作为启动盘安装U

2017-08-15 22:24:22 744

原创 机器学习之Grid World的Monte Carlo算法解析

同样是来自于Github开源项目的代码,这次尝试分析其Grid World的Monte Carlo算法。 Github地址:https://github.com/rlcode/reinforcement-learning/tree/master/1-grid-world/3-monte-carloGrid WorldGrid World是该开源项目用于检验算法的一个测试环境,是由n*n个

2017-08-14 23:42:29 2261

原创 机器学习之Policy Iteration算法解析

本文尝试解析Python实现的Policy Iteration算法,代码来自Github某大神的库– Github地址。其实现代码解决了下图中方块行走的问题,即控制红色方块,走到蓝色球的位置上算通关,碰到绿色三角要减分。 算法描述Policy Iteration直译成中文是策略迭代,言下之意就是通过不停的更新策略使策略达到最优解。Policy Iteration算法的主要步骤分为2步,先是执行P

2017-08-06 09:35:45 2296

原创 ChromeBook安装Ubuntu中文乱码问题

最近买了个ChromeBook Dell Candy,主要是看中它长续航,低价格,小巧,使用Crouton安装Ubuntu整成双系统,符合我每天工作之余只浏览网页和写写测试代码的需求,买回来用了段时间了,各方面都很满意,咔咔咔~ 今天在Ubuntu上浏览网页发现中文全是乱码,本想着轻松就可以搞定的,没想到搞了半天才搞明白,所以在这里记录一下,免得以后用到又浪费不少时间。 实际上使用Crouton

2017-06-10 13:31:36 2387

原创 关于UnsupportedClassVersionError

最近在AndroidStudio命令行中使用gradle时遇到下面的错误: java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0网上找到的答案试过之后都不行,其根本原因是编译时的jdk版本跟运行时jdk版本不一致导致的,通

2017-05-24 21:40:41 1486 1

原创 Android App耗电发热分析

如题,这是一篇分享如何分析Android平台App耗电问题的文章,今天学到的新技能,算是之前写过的一篇文章Android APP耗电优化的一些经验的续集吧,O(∩_∩)O。 首先,上一个adb命令: adb shell dumpsys batterystats这个命令可以打印出于电池消耗相关的信息,可以通过 adb shell dympsys batterystats > D:/batt

2017-04-12 21:18:07 11210 6

原创 如何获取JPEG图片质量和预测压缩图片大小

前言发起这个博客的原因是近期有个需求,当用户在APP中发送图片时,APP要显示将图片压缩到指定尺寸的选项,选项中要显示压缩后图片的大小(占空间),出发点是为了控制上传流量。那转换成技术问题实际上就是计算图片压缩后的大小并显示,难点就在计算图片压缩后的大小,但是有个突破点就是显示给用户看的图片压缩后的大小不需要很精确。最精确的做法就是将图片压缩后获取其大小,但是实际上这样子操作的话整个过程就会比较漫长

2017-03-15 21:41:31 14368 2

原创 ItemTouchHelper实现短按拖拽

ItemTouchHelper是一个RecyclerView的工具类,目的是为简化RecyclerView拖拽、侧滑功能的开发工作。网络搜索可以找到其具体用法。因为ItemTouchHelper默认是长按之后才能拖拽RecyclerView中的item,并且不能通过配置改变这种情况,所以我这里跟大家分享一下实现短按item拖拽的方式。

2017-02-27 20:37:30 1845 1

原创 编程中的路径依赖

今天早上解决一个编程问题的过程让我印象深刻,甚至让我联想到路径依赖这个词。而在这之前,我只是听过这个词而没有去了解它的意思,后来查了一下这个词的意思,发现它竟然能完美诠释我的这一段编程经历。 今天早上我遇到的一个问题是关于列表数据的删除和恢复。既可以删除列表中某个位置的数据,也要能恢复数据到原来的位置上。所以当删去列表的某个元素时,需要记录其位置和内容,以便恢复数据。到这一步,我就理所当然的使用M

2017-02-25 00:54:01 681

原创 如何调试编译时注解处理器AnnotationProcessor

本来的话是想跟大家分享如何制作自己的编译时注解处理器的,后来搜索了一下发现网上有不少这方面的文章,写得都很全面很优秀,所以就不献丑了。如果大家还不知道怎么写自己的编译时注解处理器,可以看下这位大神写的文章学习下:http://blog.csdn.net/lmj623565791/article/details/43452969。我这次跟大家分享的是如何在AndroidStudio开发环境下调试编译时

2017-01-04 20:52:10 24203 17

framework-xposed-v89-sdk25-x86

Xposed framework SDK

2022-08-04

XposedBridgeAPI-82 XposedBridgeAPI-89 XposedBridgeAPI-85

这个资源太难找了,都要积分。自己编译还搞了半天,免费分享出来,让那些赚积分的去shi。

2022-07-28

空空如也

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

TA关注的人

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