
android
文章平均质量分 90
u012804784
这个作者很懒,什么都没留下…
展开
-
UBOOT编译--- make xxx_deconfig过程详解(一)
UBOOT版本:uboot2018.03,开发板myimx8mmek240。Ubootb编译第一步通常是执行make xxx_config,在编译指定顶层目录生成.config文件,这种方式要求厂商提供一个基础的xxx_config文件(通常来说开发者不会通过执行make menuconfig从零开始配置,这个工作过量太大了)。本文接下来的章节主要解析这条指令背后主要做了什么。我是用的开发板执行命令为:make myimx8mmek240-8mm-2g_defconfig| | ### ||原创 2022-11-03 01:12:21 · 732 阅读 · 0 评论 -
Unity坐标系入门
世界坐标系的原点和范围受到相机的影响,若相机的位置为(0,0),并且没有发生旋转,那么世界坐标系的原点就在屏幕正中心,其范围是(-20.48,-10.24)到(20.48,10.24)。**屏幕分辨率:**指的是由像素组成的点阵,比如说一台电脑的屏幕分辨率为1920*1080,那么该电脑屏幕在横向有1920个像素,纵向有1080个像素。**像素:**简单地来说,可以理解成一个方块,它是图像的最小单元,不能再分割,但它并没有固定的大小。因为像素并没有固定的大小,所以,PPI 越高,像素大小越小,也就越清晰。原创 2022-11-02 12:39:18 · 527 阅读 · 1 评论 -
.NET 零开销抽象指南
可以看到上面的几个例子中,尽管封装所需要的代码较为复杂,但是到了使用的时候就如同一切的底层代码全都消失了一样,各种语法糖加持之下,不仅仅用起来非常的方便快捷,而且借助零开销抽象,代码的内存效率和运行效率都能达到 C++、Rust 的水平。而代码封装的脏活则是由各库的作者来完成的,大多数人在进行业务开发时,无需接触和关系这些底层的东西,甚至哪怕什么都不懂都可以轻松使用封装好的库,站在这些低开销甚至零开销的抽象基础之上来进行应用的构建。,分别是有符号和无符号的,并且长度等于当前进程的指针类型长度。原创 2022-11-02 01:12:07 · 471 阅读 · 0 评论 -
SpringBoot 常用注解的原理和使用
Import 用于导入配置类或需要前置加载的类。被导入的类会注册为Bean,可直接作为Bean被引用。tomcat的自动配置内置于springboot的autoconfiguration中。参考tomcat的自动配置。mybatis-plus的配置没有被springboot包括。因此mybatis-stater中包含一个包。因此我们也可以在自己的项目下新建。注解的内部如下,它导入了一个实现了。,这其中配置了需要自动配置的类。方法读取所有配置文件。读取所有jar包下的。,并配置自动配置类。原创 2022-11-01 12:36:46 · 165 阅读 · 0 评论 -
驱动开发:内核层InlineHook挂钩函数
代理函数地址写出到原始函数上,此时如果有API被调用则默认会转向到我们自己的函数上面执行,恢复原理则是将提前保存好的前15个原始字节写回则恢复原函数的调用。所以一旦被挂钩其整个应用层都将会受到影响,这就直接决定了在内核层挂钩的效果是应用层无法比拟的,对于安全从业者来说学会使用内核挂钩也是很重要。引擎实现计算反汇编指令长度,本章将在此基础之上实现内联函数挂钩,内核中的。观察,会发现挂钩后原函数已经被替换掉了,而被替换的地址就是我们自己的。并跳转到我们自己的函数上来做处理,唯一的不同的是内核。原创 2022-11-01 01:08:09 · 219 阅读 · 1 评论 -
我的博客之路
回顾自己的博客之路,总结个人感觉不错的解决方案大平台个人博客推荐优快云或者博客园,优快云好处就是编辑啥的,文章管理都方便;博客园自己简单的折腾就能得到一个超好看的个人博客!或者如果你不想发布只想自己作笔记的话可以用有道笔记、石墨文档、语雀等在线文档笔记,这些都是大平台,功能都很好用!自己搭建个人博客这个是最推荐,也是最能学到东西的,后来我用Django+MySQL等从0开始搭建了一个简朴的博客获益匪浅,或者直接用别人的框架去尝试搭建也是可以的,也能学到不少东西!本地编辑个人博客。原创 2022-10-31 01:07:06 · 288 阅读 · 0 评论 -
瑞吉外卖实战项目全攻略——优化篇第二天
Mysql主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能我们将一台或多台从库(slave)从一台主库(master)进行日志复制然后解析日志并应用到本身,最终实现多台数据库保持数据一致我们先给出主从复制的流程图:master将改变记录到二进制文件(Binary log)slave将master的binary log拷贝到它的中继日志(relay log)slave重做中继日志的事件,将改变应用到自己的数据库中主库只能有一个数据库,但从库可以有多个数据库。原创 2022-10-30 12:36:38 · 945 阅读 · 0 评论 -
重新整理 .net core 实践篇 ———— linux上排查问题 [外篇]
简单介绍一下在排查问题。献给初学者。linux 是基于名为procfs的特殊文件系统。linux 有一句著名的话,一切皆文件。通常,数据会在启动时映射到名为 /proc 的装入点。proc 文件系统充当内核中内部数据结构的接口。可以使用该文件获取有关系统的信息,并在运行时更改某些内核参数 (sysctl)。进程被视为 /proc/ 目录下的文件。此目录在此处定义为特殊目录:“此特殊目录保存有关 Linux 系统的所有详细信息,包括其内核、进程和配置参数。原创 2022-10-30 01:06:37 · 322 阅读 · 0 评论 -
驱动开发:内核强制结束进程运行
内核态,但有时我们不得不想办法结束掉这些特殊的进程,当然某些正常进程在特殊状态下也会无法被正常结束,此时使用驱动前行在内核态将其结束掉就变得很有用了,驱动结束进程有多种方法。存在时则可以看到结束效果,当然这种方式只是在内核层面调用了结束进程函数,其本质上还是正常结束,只是这种方式权限要大一些仅此而已。没有被导出,所以我们需要动态的这个内存地址,然后动态调用即可,这个寻找方法可以总结为以下步骤。第二种方法,其原理就是将进程内的线程全部结束掉从而让进程自动结束,由于。首先是第一种方法结束进程,封装实现。原创 2022-10-29 12:36:28 · 390 阅读 · 0 评论 -
机器人到达指定位置的方法数问题
假设有排成一行的N个位置,记为1~N,开始时机器人在M位置,机器人可以往左或者往右走,如果机器人在1位置,那么下一步机器人只能走到2位置,如果机器人在N位置,那么下一步机器人只能走到N-1位置。表示第 0 列,然后根据依赖关系,通过第 0 列推出第一列的值,一维数组此时表示第一列的值,依次这样递推下去,一直到最后一列,得解,这种方法就可以将二维数组压缩成一维数组,节省了空间复杂度。所以,依据上述递归过程,可以改成严格位置的动态规划版本,完整代码如下。而且,通过上述动态规划解,可以得知第 0 列中,除了。原创 2022-10-29 01:07:28 · 932 阅读 · 0 评论 -
进程最后的遗言
在本篇文章当中主要给大家介绍父子进程之间的关系,以及他们之间的交互以及可能造成的状态,帮助大家深入理解父子进程之间的关系,以及他们之间的交互。在本篇文章当中主要给大家详细介绍了僵尸进程、孤儿进程、父进程从子进程获取进程退出信息,以及他们形成的原因,并且使用实际的例子进行了验证,这一部分知识练习比较紧密,希望大家有所收获!以上就是本篇文章的所有内容了,我是LeHung,我们下期再见!!!一无是处的研究僧,了解更多计算机(Java、Python、计算机系统基础、算法与数据结构)知识。原创 2022-10-28 01:06:28 · 1108 阅读 · 0 评论 -
用户故事地图怎么用?实践才能出真知
不过在这里我们要注意一点,我们不需要将用户故事进行非常细致的划分,比如:将起床拆分为睁开眼睛、从床上坐起来等等,因为这种维度的拆分是已经落实到非常细节的执行中了的,如果只关注在这种颗粒度的话,会让我们过早地深入探究“如何实现产品”中去,而忽视了高纬度的产品设计。那用户故事地图就是一种安排用户故事的方法,它将用户旅程的基本步骤安排在水平轴(行)上,将用户故事安排在相应的步骤(列)下面,在同一列中,用户故事的优先级由上至下依次降低。使用用户故事地图,可以通过更全局的视角了解用户故事如何融入整体用户体验。原创 2022-10-27 12:36:16 · 202 阅读 · 0 评论 -
软件架构(六)MVC架构历史
接收 HTTP 请求,触发命令或查询,使用查询返回的数据、ViewModel、模板和模板引擎生成 HTML 并将它返回给客户端。从查询中接收(或者从 Model 实体中提取)原始数据,持有这些模板会用到的数据。),一种通用设计方案,发展至今,已不局限于前端或后端。不过,Presenter 仍然不会主动更新视图,它始终需要执行一次新的请求才能让变化可见。我们对比MVC、MVP、MVVM、MVPVM的变种升级过程,可以更好的了解架构的历史变迁。MVC有很多变种,这里列出对现在行业影响最大的几种,逐一说明。原创 2022-10-27 01:07:53 · 1416 阅读 · 0 评论 -
Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
结合上面的知识点,所以我们在Windows环境下配置 PostgreSQL 的最大连接数时,如果采用 Windows 服务模式运行则配置最大连接数为200比较好,如果需要200个以上的并发连接,则最好采用控制台形式启动运行PostgreSQL,同时结合计算机的可以内存去综合考虑一般100个连接数会消耗 1G内存,所以假设我们电脑内存为8G,考虑到系统本身运行需要2G内存,所以这是 PostgreSQL 的最大连接数配置为500 左右即可。然后在主数据库对我们需要配置的数据库执行逻辑发布。原创 2022-10-26 12:37:41 · 1234 阅读 · 0 评论 -
C#实现生成Markdown文档目录树
C#解析Markdown文档,实现替换图片链接操作算是第一次尝试使用C#处理Markdown文档,然后最近又把博客网站的前台改了一下,目前文章渲染使用Editor.md组件在前端渲染,但这个插件生成的目录树很丑,我魔改了一下换成bootstrap5-treeview组件,好看多了。魔改editormd组件,优化ToC渲染效果此前我一直想用后端来渲染markdown文章而不得,经过这个操作,思路就打开了,也就有了本文的C#实现。需要俩class第一个是代表一个标题元素,父子关系的标题使用id和pid关联。原创 2022-10-25 12:37:05 · 624 阅读 · 1 评论 -
一篇了解全MVCC
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制,是一种并发控制的方法,一般用在数据库管理系统中,实现对数据库的并发访问,比如在MySQL InnoDB中主要是为了提高数据库并发性能,不用加锁,非阻塞并发读。MVCC多版本并发控制指的是维持一个数据的多个版本,使得读写操作没有冲突,快照读是MySQL为实现MVCC的一个非阻塞读功能。原创 2022-10-25 01:09:24 · 278 阅读 · 0 评论 -
你应该知道的数仓安全:都是同名Schema惹的祸
遇到权限报错第一时间想到是否涉及同名schema。同名Schema是用户的私有Schema。私有Schema中所有的对象Owner都是用户自己,不管是谁创建的。**在私有Schema中创建对象,对象Owner会切换到同名用户。视图规则是按照视图Owner来检查对基表的权限。**由于私有Schema的Owner切换机制和视图规则导致了同名Schema的权限报错。根据报错的提示,授予用户相应的权限就可以解决权限报错问题。点击关注,第一时间了解华为云新鲜技术~原创 2022-10-24 12:36:03 · 426 阅读 · 0 评论 -
PaddleOCR-EAST
arxiv应用场景:文本检测代码配置文件:configs/det/det_r50_vd_east.yml。原创 2022-10-24 01:08:37 · 573 阅读 · 0 评论 -
基于vite3+tauri模拟QQ登录切换窗体|Tauri自定义拖拽|最小/大/关闭
配置参数设置 decorations: false 属性,则创建的窗口没有边框及导航栏。这时候就需要自定义拖拽及最小化/最大化及关闭按钮了。tauri 提供了 data-tauri-drag-region 属性,用来自定义元素拖动功能。div>div>WinTool>div>template>新建一个 winTool.vue 组件,自定义右上角按钮操作。原创 2022-10-23 12:36:36 · 1311 阅读 · 0 评论 -
Linux执行jsp命令的时候报错:-bash: jps: command not found
翻阅了一大批文章,不是东拼西凑,就是缺斤少两,于是乎,本人萌生了第一次写博客的想法,复盘的同时,顺便记录一下此次踩坑的经过,开始吧,GOGOGO!/usr/local 文件一般存放给另一个主机存放额外安装软件的目录,一般是通过编译源码方式安装的程序,如jdk、nginx、rabbitmq;/opt 则是存放额外安装软件的目录,如mysql、redis、zookeeper;/etc 存放所有的系统管理所需要的配置文件,子目录my.conf。rm -rf xxxx/ 加了个/ #这个是删除文件夹。原创 2022-10-23 01:07:34 · 1710 阅读 · 0 评论 -
瑞吉外卖实战项目全攻略——第四天
文件上传,也称为upload,是指将本地图片,视频,音频等文件上传到服务器上,可以供其他用户浏览下载的过程以POST方法提交数据采用Multipart格式上传文件使用input的file空间上传尽管前端组件库提供了相应的上传组件,但这些组件底层仍旧采用上述要求的格式构造通常采用Apache的两个组件:commons-fileupload 和 commons-io目前我们的Spring框架在Spring-web包下对文件上传进行了封装,简化了服务端代码。原创 2022-10-22 12:35:53 · 891 阅读 · 0 评论 -
知识图谱实体对齐3:无监督和自监督的方法
事实上,若两个语言embedding空间的维度不相同,即xi∈Rd1x_i\in\mathbb{R}^{d_1}、yi∈Rd2y_i\in \mathbb{R}^{d_2}时,即W∈Rd2×d1W\in \mathbb{R^{d_2\times d_1}}不可逆时,亦可通过SGD来求数值解[2]。原创 2022-10-22 01:05:38 · 761 阅读 · 0 评论 -
Dapr v1.9.0 版本已发布
是用于构建云原生应用程序的开发人员框架,可以更轻松帮助开发人员在 Kubernetes 上构建运行多个微服务,并与外部状态存储/数据库、机密存储、发布/订阅代理以及其他云服务和自托管解决方案进行交互。2022年10月13日正式发布了1.9版本,Dapr v1.9.0 版本提供了几项新功能,包括可插入组件、弹性指标和应用运行状况检查,以及核心运行时和组件中的许多修复。[8],这些策略的范围可能很广。[10],开发团队可以重用相同的发布/订阅底层基础架构,而无需根据他们运行的命名空间更改其代码。原创 2022-10-21 12:36:51 · 378 阅读 · 0 评论 -
前端图形:SVG与Canvas
可缩放矢量图形(Scalable Vector Graphics,SVG),是一种基于 XML(数学)描述的二维的矢量图形,内容可以直接插入网页,成为DOM的一部分,然后用 JavaScript 和 CSS 进行操作。这里就先简单了解一下,WebGL是运行在GPU上的,可面向底层显卡编程,可调用底层的接口,实现硬件加速,在2D图形绘制上性能会优于Canvas2D。大多数现代浏览器都支持SVG 图形,越来越多的项目在使用SVG图形,简单的像图标,复杂的一些图表Chart也有不少是基于SVG实现的。原创 2022-10-21 01:08:41 · 862 阅读 · 0 评论 -
GO编译时避免引入外部动态库的解决方法
最近碰到一个问题,有一个流量采集的组件中使用到了github.com/google/gopacket 这个库,这个库使用一切正常,但是唯独有一个缺点,编译后的二进制文件依赖于libpcap.so的动态库。这为安装包兼容多个平台造成了一定的困扰,于是便想着如何把libpcap这个外部依赖已静态库的方式在go程序编译的同时link进可执行程序。原创 2022-10-20 12:36:22 · 846 阅读 · 0 评论 -
消除两个inline-block元素之间的间隔
同样的原理,也可以设置子元素的margin-left为负值来解决。两个inline-block元素之间的间隔。消除两个inline-block元素之间的间隔。间隔的形成是非元素标签形成的。原创 2022-10-20 01:05:30 · 100 阅读 · 0 评论 -
『现学现忘』Git基础 — 36、标签tag(一)
软件的某个发行版本所对应的,其实就是软件开发过程中,某一个阶段的最后一次git commit提交。我们知道每一个提交操作,对应的都会生成一个commit-id,而标签就是与某一个commit-id绑定的名称。一个标签一旦与某一个commit-id绑定,那么该标签就不能修改绑定到其它commit-id了,除非将该标签删除后才可以与其commit-id绑定。标签对象(tag object)非常类似于一个提交对象,它包含一个标签创建者信息、一个日期、一段注释信息,以及一个指针。原创 2022-10-19 12:38:14 · 444 阅读 · 0 评论 -
微光互联 TX800-U 扫码器无法输出中文到光标的问题
本文尝试解决扫码器在遇到中文时不输出字符的问题,总体上解决了这个问题,优雅的解决方案因技术问题没有实现,不优雅的解决方案针对检测场的需求来说也够用了。家里的 windows 笔记本没装 VS,安装 VS2015 一来比较慢,二来拖累机器运行速度,不想装demo 程序已经比较完整,只缺一个编码转换的工作,而用脚本调用 iconv 一行就能搞定,何必费力写 c++ 呢?demo 的输出在经过 msys2 处理后,无法正确断行,导致无法从输出信息中提取扫码器读取的数据,对于这个问题。原创 2022-10-18 12:37:58 · 993 阅读 · 0 评论 -
Rdt2.1 和 Rdt2.2的详细解释
目录* Rdt2.1 和 Rdt2.2的详细解释+ - 这俩为啥会出现?- 解决之道* Rdt 2.1* Rdt2.2#mermaid-1666026028681 {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1666026028681 .error-icon{fill:#552222;}#mermaid-1666026028681 .error-text{fill:#5原创 2022-10-18 01:05:37 · 1549 阅读 · 0 评论 -
初识设计模式 - 观察者模式
观察者设计模式(Observer Design Pattern)的别名有很多,如发布 - 订阅(Publish/Subscribe)模式、模型 - 视图(Model/View)模式、源 - 监听(Source/Listener)模式或从属者(Dependents)模式。无论是何种名称,其意图都是在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。其主要解决了一个对象状态改变之后给其他对象通知的问题,而且考虑到易用性和低耦合,保证高度的协作性。原创 2022-10-17 12:36:46 · 298 阅读 · 0 评论 -
前端周刊第三十九期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。如果外链不能访问,关注公众号**「前端每周看」**,里面有解决办法。原创 2022-10-17 01:06:31 · 158 阅读 · 0 评论 -
【强烈推荐】用glob库的一行命令显著加速批量读取处理数据
为了能让这个过程加速,很多大佬们提出了不同的方法,比如使用numba库进行计算、使用dask库进行并行等等,都是非常好的加速手段。但你知道嘛,**其实我们只需要在批量读取数据时加上glob的一行命令,就可以得到显著加速(数据量越大加速效果越明显)!**下面具体给大家演示一下。为了测试glob的显著加速效果,我们做了两组测试:一组用os库来批量读取所有的wrfout文件,一组用glob库来批量读取所有的wrfout文件,让两组实验分别做同样的数据处理:即将o3变量插值到想要的高度层上。原创 2022-10-16 12:37:14 · 699 阅读 · 0 评论 -
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes
在Project setting配置好对应的Docker Connection和Kubernetes Connection。把本地的Net Core项目上传至Azure Repos Git/Git。## 三、 创建Releases Pipelines。本地配置好yaml文件,与项目一起上传至Git。## 二、 创建Pipelines。## 一、 先决条件。## 四、 发布应用。原创 2022-10-16 01:08:11 · 577 阅读 · 0 评论 -
python提效小工具-统计xmind用例数量
问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工作量比较困难。解决方法:利用python开发小工具,实现同一份xmind文件中一个或多个sheet页的用例数量统计功能。将是我写作的最大动力!版权声明:本文为博主原创或转载文章,欢迎转载,如果您觉得阅读本文对您有帮助,请点击一下右下方的。标记表示执行通过case:绿色√。标记表示执行阻塞case:橙色!原创 2022-10-15 12:37:11 · 795 阅读 · 1 评论 -
中文输入法中光标跟随能力触发的浏览器事件探究
一套操作下来,这套中文输入法下光标跟随的功能算是完美实现了。回顾一下我们解决这个问题所趟过的坑,实际上也反映着浏览器 JS DOM 标准在不断进化,不断补足历史遗留的坑点。当然,它还远远称不上完美,仍然存在大量的能力缺失,如我们在这个问题中遇到的判断光标偏移量的解决方案,本质上还是一种 hack。而扩展 JS 的能力边界,使其变得更强大,更好用,这正是我们作为前端开发人员需要努力的方向。原创 2022-10-14 01:06:59 · 191 阅读 · 0 评论 -
[CG从零开始] 6. 加载一个柴犬模型学习UV贴图
加载 uv 坐标传递到 shader 中;利用 pyopengl 加载纹理贴图;渲染多个网格数据;原创 2022-10-07 12:37:03 · 783 阅读 · 0 评论 -
用深度强化学习玩FlappyBird
作为深度强化学习的一个很好的入门学习教程,用深度强化学习玩FlappyBird这个示例一直是个很火的代码,网上也有不少的文章介绍。不过其大多从代码角度介绍,如果需要输入了解其理论与原理我们则需要更多论文资料。这里我翻译整理了相关论文并加入些自己的理解写在这篇博文中,详细可参考论文,具体关于深度强化学习的代码介绍将在后面的博文中介绍。FlappyBird。原创 2022-10-07 01:06:30 · 2988 阅读 · 0 评论 -
TTD 专题 (第一篇):C# 那些短命线程都在干什么?
如果说 dump 是程序的一张照片,那 TTD 就是程序的一个短视频,很显然短视频的信息量远大于一张照片,因为视频记录着疑难杂症的前因后果,参考价值巨大,简直就是银弹般的存在。原创 2022-10-06 12:36:44 · 208 阅读 · 0 评论 -
分布式存储系统之Ceph集群存储池、PG 与 CRUSH
前文我们了解了ceph集群状态获取常用命令以及通过ceph daemon、ceph tell动态配置ceph组件、ceph.conf配置文件相关格式的说明等,回顾请参考https://blog.youkuaiyun.com/qiuhom-1874/p/16727820.html;今天我们来聊一聊ceph的存储池、PG以及CRUSH相关话题;一、关于存储池我们知道ceph客户端存储对象数据到RADOS集群上,不是客户端直接存储到osd上;首先客户端会根据ceph集群的配置,将客户端存储的对象数据切分多个固定大小的对象数据原创 2022-10-06 01:09:59 · 1369 阅读 · 0 评论 -
自定义View6 -塔防小游戏:第三篇防御塔随意放置+多组野怪
第一篇:一个防御塔+多个野怪(简易版)第二篇:防御塔随意放置第三篇:防御塔随意放置+多组野怪1、动态addView防御塔2、防御塔放置后不可以移动3、弯曲道路4、素材替换第四篇:多波野怪第五篇:杀死野怪获得金币第六篇:防御塔可升级,增强攻击力,增大射程描述:防御塔可以放置多个,每一个都是独立的,他们的攻击互不影响(防御塔随意拖动在第二篇),这里用到的知识是,自定义view的拖动,防御塔是否可以攻击的计算,防御塔的攻击路径。原创 2022-10-05 01:06:43 · 1342 阅读 · 0 评论