自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (8)
  • 收藏
  • 关注

原创 Flutter 中需要注意的一些问题

Flutter中的一些布局本身存在一些隐性的约束

2023-02-03 09:41:50 473

转载 android-加固方案对比

网上,有一些安全论坛的大牛们,,使用打进包里面so文件,或者其他文件,进行二进制的读取,和寻找规律,如果不是全量数据的加密,而是使用基础结构变化的加固方案,还是有破解的风险的,还是那句那,复杂度往往会带来首次启动时间过长。所以个人还是比较偏爱360的。360的加固流程大体和阿里聚安全差不多,加固前选择项比较多,可以选择增强服务比如日志分析,X86架构,应用升级通知,对于签名的选择。但是首次启动的时间,往往和加密的复杂度相关,所以,有的时候,首次加密时间越长有的时候可以认为越安全,但是安全没有绝对的。

2023-02-03 09:40:09 839

原创 Dart语言var、dynamic、Object关键字的区别

1、var关键字Dart语言中var关键字可以接受任何类型的变量,但是一旦赋值,类型推断就会确定这个变量的类型 ,由于Dart是个强类型语言,不能在以后的赋值中变更其类型。 var age = 10; age = "10"; //Error! print(age);2、dynamic关键字dynamic关键字顾名思义,动态类型,相比var关键字更加灵活多变,赋值不限制类型,且在后续赋值中可以改变类型。要小心使用这个关键字,如果调用了不存在的方法或者变量,则无法在编译期报错,而会在运行期

2022-04-08 20:58:26 1319

原创 使用Gson 2.8.9版本发生的编译期间问题

android旧项目升级Gson版本到2.8.9以后,编译期间出现了以下问题:java.lang.RuntimeException at org.objectweb.asm.ClassVisitor.visitModule(ClassVisitor.java:148) at org.objectweb.asm.ClassReader.readModule(ClassReader.java:731) at org.objectweb.asm.ClassReader.accept(Cl

2021-12-30 09:06:55 1191 3

原创 WebView使用loadUrl和loadData的区别造成的问题

在使用WebView时我们比较熟悉的加载html的两个方法,一个是loadUrl,另一个是loadData,这两个方法的函数签名分别是:public void loadUrl(String url) public void loadData(String data, String mimeType, String encoding) 这两个WebView函数由于加载时loadData方法实现存在一些问题,它无法支持一些特殊的标点符号进行判断处理,其实现和loadUrl差别巨大,因此会有一些很奇怪的问

2021-12-26 09:46:53 3006

原创 如何让Kotlin类成员具备动态访问性

问题对于Kotlin的默认的类对象来说,一个数据类访问成员的方法仍然是传统的点运算符来访问成员变量。例如以下类定义:class LegacyUser(){ var name: String? = null var age: Int? = null}或者//数据类data class LegacyUser(var name: String, var age: Int)我们访问时仍然只能按域成员访问方式去访问 val legacyUser = LegacyUser() p

2021-12-09 17:36:46 701

转载 理论突破提升数据存储效率(转载)

包括 MIT 计算机科学博士生 William Kuszmaul 在内的三名研究人员的发现可以提高计算机数据存储和检索的效率。这项发现与“线性探测哈希表(linear-probing hash tables)”有关,于 1954 年引入,是当今可用的最古老、最简单和最快的数据结构之一。数据结构提供了在计算机中组织和存储数据的方法,哈希表是最常用的方法之一。在线性探测哈希表中,可存储信息的位置位于一个线性数组中。Kuszmaul 表示,假设一个数据库旨在存储 10,000 个人的社会保障号码。“我们获取你的

2021-11-19 11:02:57 205

原创 Android OpenGL ES 知识总览2——坐标系

坐标变换在3D坐标空间中,用于表示图形的数据一定包含位置信息(x,y,z)(x,y,z)(x,y,z),但是除此之外,还要有一个量用于标定用户视角与被观测物体的距离关系,用户视角由成为摄像机Camera,因此需要增加一个维度取名叫www,那么着色器的坐标gl_Position就会多增加一个量成为一个四维向量(x,y,z,w)(x,y,z,w)(x,y,z,w)。 这套OpenGL的坐标系统被称为归一化设备坐标。既然www分量定义了视角关系,那么它相当于定义了一个距离空间,这个空间要求(x,y,z)(x,y

2021-11-09 12:27:35 2890

原创 Android OpenGL ES 知识总览1

OpenGL ES是在Android, iOS等移动平台上使用的3D图形绘制引擎,其本身是一套API标准,khronos组织负责这套API的设计规范,具体实现交由硬件厂商、模拟器厂商与操作系统厂商来完成,只要求符合其API标准的要求,就可以在不同的硬件上使用相同的API来达到平台一致的显示要求。着色器(Shaders)什么是着色器?着色器就是OpenGL用于指定界面绘制元素的一系列属性和方法的一种控制屏幕上的像素的程序,这个程序运行在不同厂商的GPU处理器或者模拟处理程序中,它控制着每个像素的颜色、位

2021-11-06 17:22:10 2152

原创 Jetpack支持库CameraX使用入门——相机预览

概览CameraX是一个Jetpack支持库,用来帮助开发者简化相机应用的开发和适配工作,它将一系列旧的Camera和新的Camera2的相机API进行统一适配,将两套设计迥异的相机API进行适配设计,并且作为androidX并作为Jetpack的一部分再发布,用来简化开发者开发相机功能时的大量重复适配的工作。最低可以适配到API Level 21。由于加入到了Jetpack组件当中,它也增加了一部分功能用来绑定到LifecycleOwner等API来适配到生命周期接口的能力,使得开发者无需再重复编写生

2021-11-01 22:17:48 1548

原创 为红米2 redmi 2 (wt88047) 编译Lineage 15.1时遇到供应商文件缺失

在Lineage 官网上下载Lineage OS 15.1 源码后,通过breakfast wt88047切换到设备下,下一步使用brunch wt88047命令开始完全构建时出现文件缺失。编译Lineage 15.1时遇到供应商vendor文件缺失ninja: no work to do.[1/2] glob device/*/*/Android.bpninja: no work to do.Environment variable BUILD_NUMBER was modified (763

2021-09-22 14:17:29 786

原创 如何使用ddd+gdb+qemu搭建开源的裸板arm汇编调试环境

arm汇编在学习和开发过程中,免不了需要通过arm模拟器来进行一些调试,以及查看寄存器、查看汇编、单步调试等等操作,以下介绍一种全开源工具来调试arm汇编的方法。1、预装环境首先需要一个Ubuntu 18.04 + 的操作系统我们需要安装一下必要的组件:dddarm-none-eabi-gccQEMU我们可以通过apt命令安装ddd作为可视化的汇编调试工具。sudo apt install ddd qemu-system-arm 我们不可以使用apt去安装arm-none-eabi交

2021-09-07 13:45:53 1121

原创 Ubuntu下编译最新版本全志开源FEL模式工具sunxi-tools

1、sunxi-tools介绍sunxi-tools是一组用于全志SoC系列芯片的开源命令行工具,全志的SoC一般以sun开头,x为数字,以i结尾。对于sun4i,sun5i,sun6,sun8i,sun9i.等等系列都可以使用这个工具。比如手上的这个板子是H616,它的名字是sun50i-H616。sunxi-tools是一组工具集,这组工具可以用于对全志SoC进行片上程序的封装、FEX和二进制转换、PIO配置、FEL工厂工程模式等等一系列有用的工具。比如我们这次要用到的这个工具集中的sunxi-f

2021-08-23 23:09:23 5822 1

原创 使用Eclipse搭建C语言开发并通过SSH运行到ARM开发板上

在ARM嵌入式开发环境中,我们大多数见到所使用的工具一般是ARM Development Studio, 或者Developer Suite 5等等付费的开发工具包,而对于我们在学习和工程环境中,有时候并不想购买昂贵的工具包,我们可以使用开源的工具链搭建一套开发环境,这就用不着购买昂贵的ARM官方的ADS、Keil等开发工具了。实际上我们可以从arm官网上去下载ARM Development Studio,安装起来并且申请一个30 天trial 的license使用,实际上对于熟悉Eclipse的人来说这

2021-08-19 17:29:32 3274 3

原创 香橙派Zero 2(H616)使用ffmpeg进行音频播放测试

近期入手了一块Orange Zero 2,该开发板的配置是Allwinner(全志) H616 CPU,Mali G31 GPU,RAM 1G,首先我在SD卡上刷写的是

2021-08-16 12:55:27 3297 3

原创 Redmi AC2100上使用Hiboy Padavan固件进行子网IPv6分配,Padavan子网无法获取IPv6地址

1、基础设置默认情况下Padavan连接到光猫以后,会自动获取并为默认eth3分配WAN口的IP地址,支持IPv6的光猫会获取IPv6地址给WAN口,但是不会继续对LAN中子网设备进行IPv6地址的分配了。通过ifconfig命令可以得到:小米路由器迷你的WAN接口是eth2.2,红米AC2100的WAN接口是eth3。我们要对路由器本身进行一些设置。首先我们要确保关闭所有硬件加速功能。如果配置硬件加速,则以下很多设置将无法生效,无法获取IP地址等等,导致数据无法正常转发。我们可以通过无状

2021-08-11 15:15:51 5081

原创 每次新建的maven项目修改国内镜像加速pom.xml中的依赖下载

如果不希望修改系统中maven的settings.xml,可以通过修改POM来加速下载jar包。在节点对中,添加阿里云镜像仓库,以达到加速下载jar包的目的。 <repositories> <repository> <id>aliyun-public</id> <name>Spring Milestones</name> <url&g

2021-05-06 13:09:23 502

原创 通过uni-app使用阿里云OSS的nodejs sdk遇到的一个坑

问题:通过uni-cloud云函数去访问阿里云OSS时,调用list函数[1] 并且使用prefix参数来模拟目录访问时,出现某些前缀下的prefixes和objects均为undefine的问题。背景:近期有个小需求,通过unicloud托管在阿里云serveless的js函数,去调用OSS接口,以便于获得类似只读网盘的效果。由于OSS是对象存储,不存在目录这个概念。所有的文件实际上是平面化管理,但是我们可以通过list函数的两个参数prefix和delimiter去获得模拟目录分组的效果。pre

2021-04-20 10:48:21 1057

翻译 Android 11/12 前台服务启动限制

Android 12 系统下的应用程序将不会在后台服务状态下启动前台服务。不过有几种情况可以例外,如果不满足例外的情况下,当应用从后台服务要启动一个前台服务,系统就会抛出一个IllegalStateException异常。关于前台服务对于应用在后台启动的服务在android 11或更高的版本中,如果你的应用从后台服务启动了一个前台服务,那么服务会有以下的访问限制:1、除非用户给你的应用允许了ACCESS_BACKGROUND_LOCATION 权限,否则服务不可以访问定位;..

2021-03-08 17:03:21 3412 1

原创 AndroidStudio 4.1项目升级Gradle 6.5遇到的一个找不到符号VERSION_CODE错误

问题现象:在工作中给项目升级gradle构建版本,执行打包操作时,发现出现所有模块中都出现了找不到符号错误。错误: 找不到符号 return BuildConfig.VERSION_CODE; ^ 符号: 变量 VERSION_CODE 位置: 类 BuildConfig问题背景:这是因为gradle plugin 升级6.5版本以后在build.gradle需要手动指定VersionName, VersionCode

2020-12-17 11:21:57 2268 2

原创 Python通过OpenCV圆形检测找到图片上的圆形区域

1、我们首先需要找到两张图片,对其进行absdiff计算2、然后对diff之后的图片进行圆形检测import cv2import numpy as npimport mathfirstImage = cv2.imread("1.jpg")layer2Image = cv2.imread("2.jpg")diffImage = cv2.absdiff(layer2Image, firstImage)cv2.imwrite("diff.jpg", diffImage)gray =

2020-11-20 17:07:37 2432

原创 记录一次Win10莫名其妙被植入一个恶意软件

众所周知现在的Win10的安全性已经很高了,并不会出现像是在XP时代机器因为开放了一些端口就莫名其妙被植入恶意软件的情况。但是今天我就莫名其妙遇到了这个问题。今天早晨开机后本机的某绒查杀了一个病毒软件,某绒对其的病毒标记为:BackDoor/MemoryDll ,这让我很纳闷了,平常我也不怎么下载一些乱七八糟的软件啊,怎么会就被植入这种莫名其妙的东西呢?文件路径被植入在:C:\Users\[用户名]\AppData\Local\zgshopmQd\zgshopmQd.exe文件。说明植入到该文件.

2020-06-20 11:25:42 12534 11

原创 Google新Material风格控件的一个小坑

谷歌新出的控件com.google.android.material.circularreveal.cardview.CircularRevealCardView ,自带Ripple效果非常实用绚丽,但是在使用时,如果作为RecyclerView的条目,就必须作为Item的根View,否则涟漪效果会失效。...

2020-05-14 13:15:37 922 2

原创 ssh被暴力猜解登录密码,利用pandas简单分析ssh登录失败记录

本人为了学习和使用VPS因此手中长期配置一到两台VPS,没想到这点苍蝇肉也成了黑客眼里的肥肉。近来一个月发现被人正在暴力猜解ssh登录密码,心想,这准是有人想要拿shell想要把这点苍蝇肉都想占为己有。然而我也不是眼里能揉这种沙子的人。于是就有了分析一下登录失败记录信息的念头。首先我们执行命令:lastb >>faillog.txt将所有登录失败信息导出来,然后我们下载f...

2020-04-29 14:54:55 1389 2

原创 Gradle代理设置的一点小问题

在5.x以前的gradle版本中,代理端口的设置是在项目目录下的gradle.properties文件中设置如下内容:systemProp.http.proxyHost=127.0.0.1systemProp.http.proxyPort=8001systemProp.https.proxyHost=127.0.0.1systemProp.https.proxyPort=8001...

2020-02-21 11:12:31 423

原创 安装PyTorch过程中遇到的个别小坑

由于众所周知的原因,我们在在线安装PyTorch 1.3或1.4时,会遇到PyTorch主whl包无法下载的状况。这是因为PyTorch的包并没有放在anaconda以及它的free通道和镜像源上,所以会从pytorch官方指定的地址下载包,而这个文件存储在亚马逊S3上,因此下载时几乎无法下载。因此我们通过一点特殊方法下载到whl文件,我们从https://download.pytorch....

2020-02-10 09:53:07 190

原创 Tensorflow、Keras、Pytorch判断是否可用GPU加速

# confirm TensorFlow sees the GPUfrom tensorflow.python.client import device_libprint(device_lib.list_local_devices())# confirm Keras sees the GPUfrom keras import backendprint(backend.tensorfl...

2019-12-06 22:30:28 595

原创 Anaconda快速了解和入门

数据科学现在已经在高校、科研和企业中掀起了一股热潮,让有很多数据的公司产生了对数据进行挖掘、分类与识别的新需求。业界用的最多的就是anaconda环境了。使用anaconda好处多多,比如环境隔离、自带的包管理系统等,可以让我们方便的创建多个实验环境并且管理这些包。anaconda其实包含两部分,一部分是包管理器conda环境以及相关工具脚本集,另一部分就是环境以及安装的模块。conda类...

2019-11-22 23:00:29 448

原创 项目管理秘术之LDAP+Gitea统一认证Git服务器账户管理

很多时候我们需要管理多个内容管理系统,比如Jira、Jenkins、GitEA/Gitlab等等各种管理系统,我们需要每一套管理系统每个人都管理一套密码,每套系统每套密码简直是一种灾难,于是LDAP可以解决我们的问题,帮我们统一账户登录认证,是最早的SSO系统雏形,方便的在各个系统中登录。首先我们需要搭建一个LDAP管理系统,我们选用FreeIDA,宿主系统我们选用Fedora。由于...

2019-11-19 21:20:28 4795 1

原创 绿色化miniconda脚本,可以将miniconda安装在移动硬盘中随身携带,随时随地启动环境

之前因为在公司和在家里总是需要配置anaconda环境,而且anaconda比较大,不够便携,也不是所有的库都能用得上,于是我就用miniconda做了一个便携版,通过编写一个简单的绿色化miniconda脚本,可以将miniconda安装在移动硬盘中随身携带,随时随地启动conda环境进行实验和开发。再加上VSCode Portable版本,实验环境和便携性两不误。这是一个Windows下的...

2019-11-14 10:25:58 2273

原创 机器学习对回归模型的评价指标:均方误差、可解释方差和R方值

学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价。因此我们引入了均方误差(mean squared error MSE)、可解释方差(Explained Var score)和R方值()。首先我们先看一下这三个概念是如何计算一个评价值(score)的:均方误差:又称MSE,是个使用频度很高的评价指...

2019-10-24 15:37:54 14928 4

原创 机器学习对模型分类器评分的三个指标:准确率、精确率、召回率

在构建 机器学习模型过程中,我们需要对迭代计算出来的函数模型的预测性能进行一定的度量,毕竟天下没有免费的午餐,也不存在解决问题的银弹,那么衡量一个函数最重要的一件事就是找到一个或者几个指标来衡量模型的对分类的表现如何,精确性、准确性如何。所以我们引入了三个常用的模型性能指标:准确率(accuracy)、精确率(precision)、召回率(recall)准确率(accuracy):首先我们...

2019-10-23 16:54:10 3868

原创 一个简单的查看NDK错误堆栈方法

ndk-satck 位于NDK目录下。运行方法:$SDK_PATH/adb logcat | $NDK_PATH/ndk-stack -sym 你的工程.so文件目录此方法可以持续在输出流中显示C/C++报错堆栈,要比AS中attach debugger效率高很多,也不用单步调试一点点寻找错误行数。...

2019-10-15 14:37:12 621

原创 注释OpenCV的支持向量机与范例

对于一些数据的分类算法中,在人工神经网络以前所用的最多的还是支持向量机,支持向量机的好处是既可以支持离散的数据分类,也可以支持连续的数据分类。支持向量机本身是通过一个超平面来计算特定的点是否为特定的分类。超平面可以是一个一维数轴上的点,也可以是一个二维平面上的直线,也可以三维空间中的一个平面,高于三维空间的N维空间,必定有一个N-1维的超平面可以对N维空间进行分隔,即便是在一个M维空间中不能线性可...

2019-10-10 13:00:17 177

原创 Android Timer遇到的问题

Android Timer遇到一个奇怪问题,当我调用了一次Timer.cancel()以后,再次schedule会无效,即便new Timer()也一样。

2019-06-21 16:15:27 518

原创 关于Sandisk主控掉速问题

昨天刚刚入手两款Sandisk CZ73 酷铄系列U盘,拿到手之后就免不了想要拷贝文件测速。这两个U盘容量分别是16G和64G,相同型号和系列。看过网上评测后,得知这款U盘的读速率能够达到150MiB/s,而写入速度经过测试只有10~15MiB/s(稳定速率)。诡异之一:在拷贝大文件过程中,拷贝的前1G左右的数据时,写入速率大约稳定在50MiB/s,但是过后一会儿之后就迷之掉...

2019-03-08 13:41:18 2464

原创 Msys的优秀替代品Msys2

这两天为了更新一下MinGW真是挠破头,很多时候用MinGW就为了和msys一起用,在Windows下使用一些Linux命令,而我又不想用WSL,更多的是希望能够轻松地转移和更新MinGW的环境。于是乎,我偶尔看到了别人在群里发布了一个有关于FFMPEG官方在MinGW下编译的链接,扫了一眼看到了这么一个单词:pacman。我就想:嗯?这不是arch linux下的包管理器吗?跟MinGW有个...

2019-03-08 13:23:48 897

原创 Android 上使用OpenCV为图片加入Blur(模糊)效果

 - OpenCV:3.4.3当处理图片时我们需要为图片添加模糊玻璃效果于是,我们在搭建好的OpenCV项目中,使用如下代码为内存卡下的10000.jpg添加模糊效果后保存为10001.jpg,并且显示在ImageView上。 //初始化OpenCV OpenCVLoader.initDebug(); //读入图片 Mat ...

2018-11-21 15:16:15 600

原创 Android Studio 3.2.1 导入OpenCV 3.4.3搭建记录

OpenCV是一款Intel主导开发的计算机视觉库,凭着C++优良的性能、丰富的算法在码农界深受好评,它的功能往低了说可以通过矩阵的方式(线性算法)对图片进行一些处理,比如颜色、形变等等各种仿射变换,往大了说它可以做机器视觉学习,它自带DNN(深度神经网络)、SVM(支持向量机)、Boost等等机器学习算法,可以做文字、图形等分类和识别等较为复杂的需求,得到了业界广泛好评。由于之前有一点关于图像...

2018-11-20 15:53:02 1938

原创 Python自带的doc文档服务器

今天在寻找Python的文档时,发现Python自带了一个跟golang的godoc server一样的http本地文档查询服务,只要执行:python –m pydoc –p 9999然后输入b回车,就可以在浏览器中打开http://localhost:9999 这样就可以查询当前开发机上的安装的内建API文档和site站点下载库的文档了。    sisite...

2018-10-14 09:30:42 452

SVD(高等代数章节)教案

SVD讲义,分为两个部分,第一部分讲解SVD算法和意义,第二部分讲解在语义分析系统中的使用。内容来自知乎。

2019-01-18

SoundTouch在AndroidStudio中模版

SoundTouch在AndroidStudio中的开发模版,可以省去将库引用到AS中的麻烦

2019-01-18

Live555源码以及编译好的exe执行程序

Live555源码以及编译好的exe执行程序,解压后都是源码,不过编译过程中留下的.o文件和最终编译好的exe文件也都保留在各个目录中。

2019-01-18

可视化排序算法程序

可视化排序算法程序,建议打开声音食用,很魔性。各种排序算法的美感

2019-01-18

Eigen数学库Android Studio项目模版

Eigen高等数学/线性代数库在Android Studio中使用项目模版

2019-01-18

Android 上使用MP3Lame进行录音

Android 上使用MP3Lame进行录音,不使用自带的编码而是使用更为通用的mp3编码。话说这种情况比较少,考虑还是AAC编码更好,有空做个FDK-AAC的录音库

2019-01-18

OpenCV 3 的Android Studio 项目模版,可以C++开发也可以Java开发

可以用于在Android Studio下开发的OpenCV3项目库模版,已经经过对build.gradle和CMake的转移处理,可以直接在Android Studio 3.2中导入该模版, 快速启动你的OpenCV 3项目。

2019-01-18

列表字母索引头和边栏字母索引头效果

列表字母索引头和边栏字母索引头效果 类似于微信的联系人列表效果。非完全原创,从网上找到的代码并进行一定的修改和可用性修改。现在已经比较容易使用了。

2013-08-05

空空如也

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

TA关注的人

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