自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uint8_t与16进制std::string的相互转换

记录C++实现uint8_t与16进制std::string的相互转换

2022-09-07 16:48:06 2630 1

原创 linux epoll+eventfd实现线程间通信

使用linux的epoll和eventfd机制实现的线程间通信示例

2022-07-13 10:15:55 636

原创 Ndk使用android log库的方法

android native/ndk使用log库及封装。

2022-06-20 13:43:29 1533

原创 Wifi知识点整理

wifi知识点整理总结,可快速查询

2022-06-14 10:02:04 635

原创 rust实现向handler post函数,在handler的独立线程中按照顺序执行函数对象

use std::sync::{Arc, Mutex};use std::{thread, time::Duration};type Callback = Box<dyn FnOnce() + Send + 'static>;enum MessageType { CallbackFunction, PureMessage,}struct LiteMessage<T> { what: i32, data: Option<T>.

2022-04-25 19:54:14 386

原创 rust使用trait实现回调函数对象注册、反注册、回调函数调用

use std::rc::{Rc, Weak};use std::sync::{Arc};// 监听事件类型enum EventType { Click, DoubleClick, Touch, None,}// 监听事件struct Event { e_type: EventType,}// 处理事件trait HandleEvent { fn on_event(&self, event: &Event);}/.

2022-04-25 10:02:02 1593 1

原创 Ndk交叉编译libfuse3.10.0源码

一. ndk生成交叉编译工具链请参考:Cargo+Ndk实现Android平台的rust源码交叉编译_u011376563的博客-CSDN博客的3.1~3.2部分内容二. 下载libfuse3.10.0源码youthful@youthful-VirtualBox-Ubuntu:~/test$ git clone https://github.com/libfuse/libfuse.git注意:本文编译的是3.10.0源码,libfuse源码可能已经更新版本,请下载之后切换到releas

2022-03-02 15:03:34 2824

原创 Cargo+Ndk实现Android平台的rust源码交叉编译

一.目标使用cargo和ndk交叉编译工具链,编译rust源码,能够在android设备上运行。二.开发环境VM Box + Ubuntu 20.04.1三.方法3.1 下载ndk最方便的方法是安装Android Studio,再使用其Sdk Manager下载指定的ndk版本,本人使用的ndk版本是:21.4.7075529下载之后,ndk所在路径:~/Android/Sdk/ndk/21.4.7075529/3.2 基于ndk生成独立的交叉编译工具链本文需要生成sdk

2022-03-01 11:16:07 5172

原创 git tips

1、已经提交到remote的某commit,再未merged之前,修改提交内容:# git pull --rebase# git checkout --track [commit对应的remote分支]# git fetch [commit对应的remote分支链接] [refs/change/56/1243254/1(remote分支的commit记录)] && git checkout FETCH_HEAD# //修改内容# git push origin HEAD:ref

2022-01-07 10:40:53 370

原创 NAT学习记录

NAT:网络地址转换,一种网络地址翻译技术,功能是将内部的私有IP地址转换成可以在公网使用的公网IP地址,本质就是让一群局域网内部机器公用一个公网IP。静态NAT:一个公网IP对应一个私有IP,一对一转换,不进行端口转换。内网IP 公网IP192.168.1.55 219.152.168.222:9200192.168.1.58 219.152.168.223:92002NAT:端口多路复用技术,同时转换IP和端口内网IP 公网IP192.1...

2021-11-30 17:48:29 1531

原创 Android 屏幕适配tips

1、兼容性有两种类型:设备兼容性和应用兼容性。2、manifest.xml添加uses-feature:声明应用需要设备支持该特色功能,如果设备不支持该功能,则应用无法在设备上安装如果应用在设备上运行的主体功能不需要支持该feature,应该将uses-feature设置为false,并在代码中动态判断:packageManager.hasSystemFeature(PackageManager.FEATURE_xxx),判断到设备不支持该功能,则调用接口disableXXX()让应用不使用该功能即可。

2021-11-18 10:59:02 1701

原创 Android Service tips

1)多个组件可同时绑定服务,全部取消绑定后,服务即会被销毁2)startForegroundService之后5秒没有调用startForeground,系统会人会服务anr3)应用被系统认定为前台应用需要满足的条件(至少一种):3.1)具有可见activity3.2)具有前台service3.3)另一个前台应用已关联到该应用(绑定service或者使用content provider)4)android:exported = false:只有同一...

2021-11-04 15:26:13 1708

原创 windows下git diff忽略^M

git config --global core.whitespace cr-at-eol

2021-11-04 10:51:05 238

原创 android studio编译带符号的so

在native源码所在模块的build.gradle中新增如下字段:packagingOptions{ doNotStrip "*/armeabi/*.so" doNotStrip "*/armeabi-v7a/*.so" doNotStrip "*/x86/*.so"}

2021-08-17 14:13:15 1080

原创 github新建分支并提交内容

1、在github的project主页创建一个新分支:dev_xxx2、将新分支clone到本地:gitclonexxx -b dev_xxx3、本地修改文件并commit4、推送修改到dev_xxx分支:gitpushorigindev_xxx

2021-07-23 15:53:42 321

原创 android studio配置apk签名

一、准备好平台提供的签名文件签名文件有两种类型,一般是由设备厂商提供:1)xxx.jks,如debug.jks2)xxx.keystore,如debug.keystore二、配置应用的build.gradle文件注意:是应用要签名的apk的build.gradle,不是project的build.gradle!配置文件添加方式如下:android { //新增签名配置 signingConfigs { //debug要签名就按照增加如下内容

2021-06-25 18:29:28 565 1

原创 Preferences DataStore使用实例

build.gradle(模块)添加依赖:dependencies { implementation "androidx.datastore:datastore-preferences:1.0.0-beta01" implementation "androidx.datastore:datastore-preferences-rxjava2:1.0.0-beta01"}

2021-06-10 14:10:36 1028

原创 Java与Native相互调用示例及讲解

今天介绍ru'hjava通过jni调用native方法,同时native层能够回调java方法的示例TestNative.java:public class TestNative { static { //加载native层源码编译得到的libtest_native.so System.loadLibrary("test_native"); } public TestNative() { } //该方法...

2021-06-09 11:01:24 1631 1

原创 android bitmap、drawable、byte[]转换实现

实用的android bitmap、drawable、byte[]、grpc ByteString之间的相互转换

2020-12-07 19:54:39 300

原创 理解linux fork()执行多次

上代码:#include<stdio.h>#include<stdlib.h>int main(){ pid_t p1 = fork(); pid_t p2 = fork(); if ( p2 == 0 ) printf("p1 = %d, p2 = %d\n", p1, p2); else pr...

2019-03-29 14:40:57 1108

原创 机器学习中的常用数据预处理

#!/usr/bin/env python2#-*- coding: utf-8 -*-import numpy as npfrom sklearn import preprocessingdata = np.array([[3, -1.5, 2, -5.4], [0, 4, -0.3, 2.1], [1, 3.3,...

2018-11-08 18:42:49 536

原创 KNN的向量化实现

#!/usr/bin/env python# -*- coding: utf-8 -*-import numpy as npdef createDataset(): dataset = np.array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labels = ['A','A','B','B'] return dat...

2018-11-02 15:09:08 391

原创 浅层神经网络的向量化实现

基于Ng课程的浅层神经网络向量化python实现。模型:其中,output layer与图中不同,只有一个output node。#!/usr/bin/env python# -*- coding: utf-8 -*-import numpy as npclass SmallNeuralNetwork(object): def __init__(self, m,...

2018-10-29 13:33:41 204

原创 逻辑回归的python向量化实现

#!/usr/bin/env python# -*- coding: utf-8 -*-import numpy as npclass LogisticRegression: def __init__(self, m, n, X, Y, alpha, iterStopThreshold, iterMaxCnt = 100000): ''' :pa...

2018-10-25 13:57:19 391

原创 机器学习系统设计和诊断方法学习总结

过拟合:对训练数据拟合精准,但是对未知的数据预测能力差如何应对?2、丢弃一些不能帮助正确预测的特征。2.1、手工选择丢弃特征2.2、使用模型选择方法(如PCA)3、正则化。保留所有的特征,减少参数的大小预防过拟合的方法步骤:1、打乱数据集;2、划分数据:70%训练集 + 30%测试集帮助模型选择的方法:交叉验证:1、打乱数据集;2、划分数据:60%训练集 + 20%交叉验证集...

2018-10-12 08:32:13 296

转载 感知机python2.7实现

# -*- coding: utf-8 -*-class Perceptron(object): def __init__(self, input_num, activator): ''' 感知机只有一个神经元,所以权重向量W的长度等于输入向量长度,偏置为一个标量 ''' self.weights = [0.0 for ...

2018-10-04 09:43:21 225

原创 python实现atoi函数

思路:1、过滤掉字符串开头的一个或多个空格,用strip()函数实现;2、判断过滤之后的字符串是否为空,如果为空,返回0;3、当字符串不为空,判断第一个字符是否为+/-,即获取并保存正负号sign;4、遍历字符串,如果子串仅仅包含连续的0~9之间的数字,那么记录该子串并转换为数字,一旦发现非数字字符,直接退出循环;5、将得到的数字成上正负号;6、判断数字是否超过32位最大和...

2018-09-29 08:41:17 3022

原创 python实现strStr()函数

思路:1、如果待查找子串为空,返回0(与c/c++的库函数保持一致);2、如果大字符串的长度小于待查找子串的长度,返回-1;3、计算需要编译的字符串下标位置:l = l1 - l2 + 1; 4、从下标0到下标l遍历长字符串,截取与待查找子串长度相同的子字符串,判断内容是否与待查找子串相同,相同返回下标i;5、默认找不到匹配的子串,返回-1。class Solution(...

2018-09-28 18:13:35 2041 2

原创 C/C++常见考点

1、const:限定变量不允许修改,或者理解为只读变量。const int a; //a是一个常整型变量int const a; //a是一个常整型变量const int *a; //a是一个指向常整型的指针,意味着a是一个指向可变的指针,但是a指向的整型数不可修改int const *a; //a是一个指向整型的常指针,意味着a的指向不可变,但是a指向的整型数可以修改int const...

2018-09-27 19:55:17 1784

原创 yarn学习笔记

一、什么是yarn?    yarn(yet another resource negotiator)是hadoop的集群资源管理系统。它是在hadoop2时被引入,最初是为了改善mapreduce的实现,由于其具备较高的通用性,可以支持多种分布式计算模式,如mapreduce、spark和Tez等。yarn为这些计算模式提供了使用集群资源的API。二、yarn的核心成员    1、resourc...

2018-05-22 20:06:04 203

原创 HDFS学习笔记

HDFS:hadoop分布式文件系统设计:1、针对超大文件,至少百兆2、流式数据访问,一次写入,多次读取3、商用硬件,普通电脑,可能出现故障不适宜:1、低时间延迟,即快速响应,HBase更合适2、大量的小文件3、多用户写入,HDFS的文件只有能一个writer,写操作总添加在文件末尾概念:1、数据块:一般的磁盘:512K,HDFS:64M(128M),HDFS上的文件被划分成了块大小的多个分块(c...

2018-05-14 22:22:43 267

原创 hadoop2.7.6伪分布模式配置

1、在hadoop-2.7.6/目录下创建hadoop需要的临时目录:mkdir hadoop-2.7.6/tmp  #for hadoop.tmp.dirmkdir hadoop-2.7.6/tmpdir  #for mapred.local.dir2、在hadoop-2.7.6/etc/hadoop目录下修改如下配置文件内容(如果没有配置文件,自己创建一个即可):2.1、core-site.x...

2018-05-14 14:46:55 858

原创 hive数据库概念和基本操作

hive数据库:概念:hive中的数据库本质上仅仅是表的一个目录或命名空间。对于具有很多用户和组的大集群而言,这种方式可以避免表的命名冲突。通常会使用数据库来将生产表组织成逻辑组。示例:本地模式配置了数据库的统一存放目录为~/hive/warehouse,那么创建的所有数据库都存在该目录下,以.db结尾:learn_hadoop@linux-hr0n:~&gt; ls ~/hive/warehou...

2018-05-03 15:56:14 2014

原创 hadoop+hive本地模式配置

一、环境准备:操作系统:Ubuntu 14.04.1 x86_64hadoop:hadoop-2.7.6下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.6/hive:apache-hive-2.3.3下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/h...

2018-04-27 21:01:06 984

原创 理解sparkRDD的fold()和aggregate()算子

1、fold()函数原型:fold(self, zeroValue, op)示例:求序列[1,2,3,4,5]的元素累加和>>> nums = sc.parallelize([1,2,3,4,5])      >>> sumCnt = nums.fold(0, lambda x, y: x + y)>>> print sumCnt15zeroValue意义:1、

2018-01-12 16:27:37 2384

原创 理解偏差、方差

1、偏差偏差是指预测值和实际目标值检查的差值。2、方差方差是指数据的紧凑程度。数据越紧凑,方差越小;反之则数据离散,方差越大。

2017-12-15 15:17:38 264

edf-tool.7z

适合本地记录工作生活日常

2021-08-19

tensorflow源码

tensorflow开源代码分享,方便下载阅读学习,共同进步~

2018-10-22

Getting Started With MachineLearning

Getting Started With MachineLearning,一本从入门到放弃的机器学习书籍。

2018-07-17

jdk1.8+spark2.2.1

spark2.2.1+jdk1.8打包文件,linux x64环境下即可安装使用

2018-01-04

空空如也

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

TA关注的人

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