------专题

安卓玩机工具------小米工具箱扩展工具 小米机型功能拓展

小米工具箱扩展版                     小米工具箱扩展版 iO_Box_Mi_Ext是由@晨钟酱开发的一款适用于小米(MIUI)、多亲(2、2Pro)、多看(多看电纸书)的多功能工具箱。该工具所有功能均可以免root实现,使用前,请打开开发者选项中的“USB调试”  功能特点 【小米工具箱】 1:冻结MIUI全家桶,隐藏状态栏图标,修改下拉通知栏图块数量;冻结

redis 实现单位时间内错误记录 时间到key值就被清除------最近脑子不好使觉得还是写个博客试试

直接在客户端操作的, 所以需要redis的简单命令  去对比JAVA客户端jedis的命令就行   添加---set     格式 set  key  value  EX time(秒)   如果这个time不添加的话 ,那默认就是 永久 获取--get    格式 get key  ---查看剩余时间    格式 TTL key ---实现key实现自增: inrc key

【数据结构】LinkedList ------ java实现

知识框架图:   LinkedList是一种常用的数据结构。底层是一个双向链表。每个节点包含数据以及指向前一个节点和后一个节点的引用。    一:LinkedList的使用    1.1 LinkedList的构造方法 方法 解释LinkedList() 无参构造public LinkedList(Collection<? extends E> c) 使用其他集合容器中

Linux程序设计读书笔记------入门

第一章 入门   1:什么是Unix Unix是Open Group管理的一个商标,它指的是遵循特定规范的计算机操作系统 2:什么是Linux Linux是一个可以自由发布的类Unix内核实现,他是一个操作系统的底层核心 3:Linux应用程序表现为两种特殊类型的文件:可执行文件和脚本文件 4:Linux文本编辑器:Vim,Emacs等 5:库文件   1:静态库:.a   2

NLP从零开始------文本中阶处理之序列到序列模型(完整版)

1. 序列到序列模型简介         序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列,输出序列称作目标序列。序列到序列有非常多的重要应用, 其中最有名的是机器翻译( machine translation), 机器翻译模型的输入是待翻译语言(源语言) 的文本,输出则是翻译后的语言(目标语言)

小白入门LLM大模型最牛X教程------上交《动手学大模型应用开发》!

本项目是一个面向小白开发者的大模型应用开发教程,旨在结合个人知识库助手项目,通过一个课程完成大模型开发的重点入门,涵盖了大模型应用开发的方方面面,主要包括: 教程一共有七章内容: 《动手学大模型》是上海交大 更新的系列编程实践教程。从已经跟新的内容来看,侧重安全垂直方向。命名是向他们的学长李沐的《动手学深度学习》课程致敬。 感受下大纲、课件和教程风格: 微调与部署 提示学习与思维

搭建k8s集群(一)------创建虚拟机

参考视频教程:    **Kubernetes实战高可用集群搭建,配置,运维与应用  ** 在搭建kubernetes集群之前,我们需要先创建三个完全相同的虚拟机。分别模拟为一个master主节点 和两个node01、node02工作节点。 第一步:新建三个文件夹用来存放将要创建的虚拟机 第二步:创建服务器版虚拟机 在虚拟机创建过程中,有很多步骤下面没有提到,全部为默认操作

嵌入式系统------ARM

目录 一.c语言回顾         1.特殊符号         (1)const         (2)static         (3)extern         2.内存的结构         (1)kernel:内核         (2)栈区         (3)堆区         (4)bss           (5) data 3.知识点 4

apk系列------app加service遇到的问题

问题1:在androidmanefist.xml加入service的定义之后出现了exported service does not require permission 回答: 你的service不需要权限设置,内部就可以调用,你把加的限制或者intent-filter去掉试试 问题2:apk安装进去之后遇到出错:PhoneFactory.getDefaultPhone must be

c tool系列------c语言编程常用语句

针对main函数的argc,argv for (i = 1; i < argc ;) {if (0 == strcmp(argv[i], "-m") && (argc - i > 1)) {tty_modem = argv[i + 1];i += 2;} else if (0 == strcmp(argv[i], "-p") && (argc - i > 1)) {tty_pc = a

shell系列------控制另一个shell的脚本

time=1while [ $time ]doadb wait-for-deviceadb rootbash 1.sh >>~/bbb &sleep 10ms=$(ps aux |grep 'bash 1.sh' | sed -n 1p |cut -b 9-14)kill $sadb rebootdone 运行命令是bash 2.sh

shell系列------查看storage下有没有某个文件目录

如果某个分区mount成功,那么storage下会长出两个目录文件来,那么用脚本怎么实现呢,如下代码即可 #!/system/bin/sh   //要注意不同的解释器需要不同的sh num=`ls /storage | wc -l`  //wc是为了获取文件里的行数 if [ $num -gt 2 ] then echo "1" else echo "0" fi

解决android系统唤醒时间偏长------healthd里的epoll以及socket

在healthd中,有一个很好的例子,特地截取下来作为参考: 首先是 static int uevent_fd; static int eventct; static int epollfd; int uevent_open_socket(int buf_sz, bool passcred) {     struct sockaddr_nl addr;     int on = pas

解决android系统唤醒时间偏长------healthd里的一些调用

目前定位到healthd的调用过程耗时太长,于是去看看power相关的一些东西 healthd里一共调用了如下的节点获取数据 openat(AT_FDCWD, "/sys/class/power_supply/battery/present", 1    ******* openat(AT_FDCWD, "/sys/class/power_supply/battery/capacity",10

解决android系统唤醒时间偏长------如何在android的linux kernel中获取系统时间

如果想要优化一些唤醒系统的时间,就必须知道某段程序花了多少时间,今天我就找到了一些获取时间的函数以及应用 struct timespec ts; ts=current_kernel_time();  tv_nsecold=ts.tv_nsec;  printk("matt-psy-name=%s\n",psy->name); current_kernel_time这个函数在kernel/t

编译错误系列------对字符数组赋值

一开始我下意识的直接赋值  char buf[SIZE]; error: incompatible types in assignment of 'const char [5]' to 'char [128]'     buf="full" ; 后来才知道必须strcpy(buf,"Full"); buf是个数组是个const char *常量,不能够修改其值,执行赋值操作是非法的

解决android系统唤醒时间偏长------看log找可疑的地方

最近发现我们的手机的双击唤醒时间偏长,那么就需要去看是什么导致的。于是首先看唤醒的log [  252.830937] [ASDF] enter do_write_event_worker      //这个是打印log的service [  252.838638] [SENSOR] : inv_ak09911_pm_suspend [  252.838647] CM32683:  CM3

c tool系列------如何在C文件中获取property

找到一段代码作为以后的参考: char *propertyvalue = "no"; void load_tty_properties(void) { char supportDevice[PROP_VALUE_MAX]; char countryCode[PROP_VALUE_MAX]; property_get("ro.product.device", supportDevic

shell系列------循环解析脚本的参数

记录一下monkey的参数解析流程 useage() {                 echo "useage : monkey_test [--case # <test case #>]"                 echo "                     [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]"

gt9xx系列------实现实体按键的unpin解锁

由于gt的虚拟按键的上报不是上报坐标而是类似电源按键的实体按键所以需要修改之前的unpin步骤 if ((( rawEvent->code==139)&&(rawEvent->value==1))||((rawEvent->code==158)&&(rawEvent->value==1)))  //有按键按下 { if( unpinkey[0]==0)     //第一次数组0肯定为空

新路程------imx6的uart小结(1)

imx6用的是RS485,今天看看这个接口是怎么初始化的。 首先在./arch/arm/mach-mx6/board-mx6q_sabresd.c里找uart的相关信息 在static void __init mx6_sabresd_board_init(void)肯定会有初始化的相关信息 gpio_request(SABRESD_EPDC_PWRSTAT, "uart

新路程------imx6 lvds ioctl

最近有个需求,做一些接口给上层应用调用 于是看了一下驱动,linux有一套标准的framebuffer机制让我们做接口,就是fb_ioctl 首先看对应的framebuffer驱动,在之前的ldb.c中,确实配置了对应的fb_info结构体,但是要修改这个结构体的参数并不需要在ldb.c中做,在mxc_ipuv3_fb.c里 static struct fb_ops mxcfb_ops

新路程------英飞凌imx6的lvds驱动

最近拿到一块开发版,打算在lvds上做些小修改,之前也接触过一点驱动,但是现在的驱动框架看起来和之前的有点差异。 关于lcd的参数信息请参考这篇文章 http://blog.csdn.net/longxiaowu/article/details/24319933  lvds的驱动在framebuffer驱动之下,也就是上层应用只知道有个framebuffer设备也就是dev/fb,而至于下

新路程------编译海思代码遇到的问题

问题如下,解决方案就在问题下方,我的ubuntu版本是14.04 ********************************************************************** “mkimage” command not found – U-Boot images will not be built sudo apt-get install u-boot-

新路程------hi3516a的uart rts cts功能

有位前辈写了以gpio方式控制rts,在驱动内核中修改http://blog.csdn.net/edw200/article/details/52251385?locationNum=4   就是在发送前拉高,发送后拉低,但是这样要计算时间,比较麻烦,而且不同的波特率容易时间计算不准确,所以还是应该由上层把这个事做了,也就是用ioctl的形式来做,这样比较安全放心。        r

新路程------hi3516a 在应用层对寄存器的操作

由于在应用层没法用writel,所以参考himm.c写了一个设置,代码如下: void uart1_rtsn_high(void) {     void * pMem  = NULL;   pMem = memmap(0x201d0010, DEFAULT_MD_LEN);   *(U32*)pMem = 0xff; } 文件名是rs485.c,但是用arm-hisiv300-linux