静态 问题 资源linux

linux环境编程(3): 使用POSIX IPC完成进程间通信

1. 写在前面 之前的文章总结了使用管道进行进程间通信的方法,除了pipe和fifo,Linux内核还为我们提供了其他更高级的IPC方式,包括共享内存,消息队列,信号量等,本篇文章会通过一个具有完整逻辑功能的示例说明如何使用这些IPC方法。毕竟单纯地查手册,写代码...周而复始,这个过程还是比较枯燥 ......
进程 环境 linux POSIX IPC

C# 托管堆 遭破坏 问题溯源分析

一:背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例,有些运气好一些,从被破坏的托管堆内存现场能观测出大概是什么问题,但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场,借用之前文章的一张图,大家可以理解一下。 为了帮助更多受此问题困扰的朋友,这篇来整理一下如何 快狠准 的 ......
问题

NodeJS 实战系列:DevOps 尚未解决的问题

本文将通过展示 NodeJS 应用里环境变量的提取过程,来一窥 DevOps 技术是如何应用在现在云平台上的运维工作中的。同时我也想让大家在这里看到 DevOps 的另外一面,即它并非全能,从本地开发到持续部署再到实际运行,有一些运维鸿沟依然还未被填平。“人工操作”依然是工作中的最大风险。 ......
实战 尚未 NodeJS DevOps 问题

音频编辑服务UI SDK接入指导及常见问题

华为 HMS Core 音频编辑服务(Audio Editor Kit)是华为帮助全球开发者快速构建各类应用音频能力的服务,汇聚了华为在音乐、语音等相关音频领域的先进技术。音频编辑服务为开发者们提供音频基础编辑、AI配音、音源分离、空间渲染、变声、多种音效等丰富的音频处理能力,以及性能优异、简单易用 ......
常见问题 音频 常见 问题 SDK

记一次线上FGC问题排查

本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助。 ......
问题 FGC

Linux音频采集和在国产化平台中遇到的坑(一)

最近在做一个国产化平台的软件项目的开发,是基于国产芯片的银河麒麟系统。其中有一个重要模块,是采集和播放音频数据,播放不用多说了,采集的话,包括采集麦克风和采集桌面系统声音。很多人都觉得银河麒麟不就是linux么,那不直接用ALSA就好了,我原本也是这么想的,但是实际开发下来才发现,还是有各种坑需要自... ......
音频 国产 Linux 平台

Linux音频采集和在国产化平台中遇到的坑(二)

ALSA采集这条路走不通,只能尝试其他途径,这里通过PulseAudio的接口成功实现了国产化平台上采集麦克风和系统声音的功能。 ......
音频 国产 Linux 平台

spring.jackson.default-property-inclusion 无效问题分析

背景 项目里每个返回体里都有@JsonInclude(JsonInclude.Include.NON_NULL) 这个注解,也就是不返回null字段 想有没有办法全局配置一下,这样就不用每个类都加这个注解了 spring: jackson: default-property-inclusion: n ......

记一次使用gdb诊断gc问题全过程

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,有时会 ......
全过程 问题 gdb

vh 存在问题?试试动态视口单位之 dvh、svh、lvh

大部分同学都知道,在 CSS 世界中,有 vw、vh、vmax、vmin 这几个与视口 Viewport 相关的单位。 正常而言: 1vw 等于1/100的视口宽度 (Viewport Width) 1vh 等于1/100的视口高度 (Viewport Height) vmin — vmin 的值是 ......
单位 动态 问题 dvh svh

深度剖析 Linux 伙伴系统的设计与实现

在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: 但是当内核执行到 get_page_from_freelist 函数,准备进入伙伴系统执行具体内存分配动作的相关逻辑,笔者考虑到文章篇幅的原因,并没有过多的着墨,算是 ......
深度 伙伴 系统 Linux

嵌入式Linux—Framebuffer应用编程

Framebuffer 应用编程 Frame的意思是帧,buffer的意思是缓冲区。Framebuffer就是一块内存(硬件设备),里面保存着一帧图像。 ioctl()函数解析 ioctl()函数非常强大。不同的驱动程序内部会实现不同的 ioctl() ,可以使用各种 ioctl() 跟驱动程序交互 ......
嵌入式 Framebuffer Linux

【大型软件开发】浅谈大型Qt软件开发(四)动态链接库的宏冲突问题、COM组件开发的常见问题

最近工作的时候有一个链接库的对接工作,在对接时发生了一些小问题,这篇FAQ是办公室写这个库的工程师戴工写的,这里记录一下: 一、编译工程时报链接错误“不允许dllimport静态数据成员的定义” 1.错误截图 2.错误原因分析 此错误是Q_OBJECT和Q_DECL_IMPORT宏共同作用时产生的结 ......

嵌入式Linux—文件IO

文件IO 在 Linux 系统中,一切都是“ 文件”:普通文件、驱动程序、网络通信等等。所有的操作,都是通过“文件 IO”来进行的。所以,很有必要掌握文件操作的常用接口。 Linux系统的文件有哪些 Linux 的文件既可以是真实保存到存储介质的文件也可以是自身内核提供的虚拟文件,还可以是设备节点 ......
嵌入式 文件 Linux

Linux环境下:程序的链接, 装载和库[静态链接]

看以下例子 main.c extern int x; int main() { int y = 100; swap(&x,&y); return 0; } int x = 1; void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp ......
链接 静态 环境 程序 Linux

DevExpress 的LayoutControl控件导致资源无法释放的问题处理

现象记录 前段时间同事发现我们的软件在加载指定的插件界面后,关闭后插件的界面资源不能释放, 资源管理器中不管内存,还是GDI对象等相关资源都不会下降。 问题代码 问题的代码大概如下。 public void LoadPluginUI(string pluginID) { this.Control.C ......

JumpServer(v2.28.6) 堡垒机添加Linux资产 (图文教程)

前面介绍了如何在《CentOS7下搭建JumpServer 堡垒机》,基于这篇文章的环境搭建过程,接着介绍安装后的的功能配置使用。 首次wbe登录,https://ip:80,默认账号密码:admin,admin;这里自定义密码修改:admin@123 用户管理项 创建系统角色 创建用户 创建用户组 ......
堡垒 JumpServer 资产 图文 教程

一文详解 Linux Crontab 调度任务

在Linux环境中,Crontab是一个调度守护进程,可以按分钟、小时、每月的某天、每月、每周的某天来执行特定任务,这些特定的任务被称为 Cron 作业,基于这个特点,Crontab 经常被用于自动执行系统维护与管理。 ......
任务 Crontab Linux

【原创】linux实时应用如何printf输出不影响实时性?

本文介绍为什么linux实时任务不能直接调用printf,首先简单介绍一下printf终端输出原理,然后就如何实现终端输出不影响实时任务实时性问题给出一个方案,最后介绍xenomai中是如何做到完美`printf()`的。 ......
实时 实时性 printf linux

虽然是我遇到的一个棘手的生产问题,但是我写出来之后,就是你的了。

你好呀,是歪歪。 前几天,就在大家还沉浸在等待春节到来的喜悦氛围的时候,在一个核心链路上的核心系统中,我踩到一个坑的一比的坑,要不是我沉着冷静,解决思路忙中有序,处理手段雷厉风行,把它给扼杀在萌芽阶段了,那这玩意肯定得引发一个比较严重的生产问题。 从问题出现到定位到这个问题的根本原因,我大概是花了两 ......
就是 问题

linux 基础(2)文件权限及其修改

文件的权限属性 在 linux 中,每个文件都有唯一的“所属者”(user)和“所属群组”(group)。owner 和 group 都对文件有特殊的权限 输入ls -l,就可以详细查看每个文件的权限属性。 我们可以看到,用户名和群组名可以是相同的。一个群组可以只包含一个用户,也可以包含多个用户。 ......
权限 文件 基础 linux

Jasypt与Apollo一起使用造成Apollo热更新失效问题分析

背景 近日业务同学反映在Apollo界面更改配置后, 服务中对应变量的值却没有改变 相关配置key定义如下: @ApolloJsonValue("${apollo.config.map:{}}") private Map<String, List<String>> apolloConfigMap; ......
Apollo Jasypt 问题

C#开发的资源文件程序(可国际化) - 开源研究系列文章

上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理。下面将对这个资源文件的定义进行描述,比网上的其它例子更能够具有代码复用意义。 一、 项目目录; 下图是项目目录,上面是 ......
文件 程序 国际 资源 文章

普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单

如同 STM32F103C8T6 与 CBT6 有着同样的128K flash容量一样, 市面上很多芯片, 同一系列的多个型号其实底下使用的是相同的硬件, 只是通过软件, 芯片ID, 某些隐藏寄存器(例如AIR32F103)或者物理熔断对容量进行限制. 让我们看一看 PY32F002AF15P 这颗... ......
型号 资源 PY 32 002A

Java类、对象以及(静态)方法的探讨

大家好,这是我的第一篇博客。在这里我想跟大家分享一下Java最基础的Class and Object,也就是我们熟说的类和对象,以及对Java方法的探讨。 初学时的我因为没有对这里面的每一行代码思考透彻,在学习Java中级时感到愈加困难,像是在搭建一栋地基不断摇晃的大楼,越往上盖,越是觉得自己轻浮。 ......
静态 对象 方法 Java

LVGL 中图片使用问题

此笔记主要是记录在 LVGL 中使用图片的几种方式,以及使用过程中遇到的问题。最近在 ARM linux 中使用 LVGL 时,发现加载图片变得很卡,一开始还好,当连续加载的图片变多后,特别是动画的过程中直接无法看,折腾了一会直接懵逼了,尝试了各种办法都没搞定,后来发现是我没有好好看文档,导致的问题 ......
问题 图片 LVGL

linux基础:1、linux简介,虚拟化软件的安装与配置,Xshell的安装与配置

Linux 一、linux简介 常见岗位 1、自动化运维 2、容器运维 3、DBA 4、IDC运维(机房运维员) 计算机种类 linux常用的计算机种类: 1、台式机 2、笔记本 3、服务器 作用: 1.相比较于笔记本和台式机数据的安全性更高、不易于丢失 2.可以24小时不间断地提供服务 3.提升用 ......
linux 基础 简介 Xshell 软件

Redis+Hbase+RocketMQ 实际使用问题案例分享

##需求 将Hbase数据,解析后推送到RocketMQ。 redis使用list数据类型,存储了需要推送的数据的RowKey及表名。 简单画个流程图就是: ##分析及确定方案 Redis 明确list中元素结构{"rowkey":rowkey,"table":table}解析出rowkey; 一次 ......
RocketMQ 实际 案例 问题 Redis

linux环境编程(1): 实现一个单元测试框架

写在前面 在开发的过程中,大多数人都需要对代码进行测试。目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目。但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感。作为“linux环境编程”系列文章的第一篇,本 ......
框架 单元 环境 linux

linux环境编程(2): 使用pipe完成进程间通信

1. 写在前面 linux系统内核为上层应用程序提供了多种进程间通信(IPC)的手段,适用于不同的场景,有些解决进程间数据传递的问题,另一些则解决进程间的同步问题。对于同样一种IPC机制,又有不同的API供应用程序使用,目前有POSIX IPC以及System V IPC可以为应用程序提供服务。后续 ......
进程 环境 linux pipe