C++获取商店应用(msix应用)桌面快捷方式的安装目录

传统应用的快捷方式目标指向可执行文件的路径,但是对于商店应用(也叫msix打包应用),则指向一个奇怪的字符串,使用IShellLink::GetPath获取路径时,则得到的是空字符串,而我们的最终目的是要拿到应用的安装路径,那该怎么办呢? 首先解释一下,那个奇怪的字符串叫AUMID(App User

[转帖]何为真正的零拷贝

传统的文件传输有啥缺点? 传统IO的工作方式是,数据读取和写入是从用户空间和内核空间来回复制,内核空间的数据时通过操作系统层面的IO接口从磁盘读取或写入。 通过上图可以看出,在我们执行read和writer之间,一共发生了4次用户态和内核态上下文切换,在高并发的场景下,用户态和内核态上下文切换带来的

[转帖]传统机械硬盘工作原理

如图,机械硬盘主要由 磁片、马达、磁头臂、磁头组成 磁片上有许多“小格”,能够存储两种极性,也就是所谓的010110等二进制,来达到存储数据的效果 在工作时,磁头可以判断极性,悬浮在磁片上几纳米,通过磁头臂与马达的旋转,就可以读取磁盘表面的数据 磁盘表面又会划分为无数的磁道和许许多多的扇区 假设磁盘

[转帖]传统CMR磁盘与SMR瓦叠磁盘区别

我们放大磁片表面,将它拉直,就会发现:写磁头写入的数据(绿色区域)很宽,而读磁头仅仅需要窄窄一条就能读取(橘色区域),现阶段技术无法将写磁头做小。这也就相当于磁片上一部分区域被浪费了,而且磁道与磁道中间也会有间隔 这就是传统的磁盘,也叫作CMR磁盘 从图中就可以轻易看出,传统CMR磁盘会浪费部分磁盘

传统的MVC开发模式和前后端分离开发模式

在当今互联网时代,移动应用和网页应用的发展极大地推动了前后端分离开发模式的兴起。传统的后端渲染方式已经不能满足用户对高性能和优质用户体验的需求,于是前后端分离逐渐成为了一种主流的开发模式。前后端分离开发模式通过将前端和后端的开发分离,极大地提高了开发效率和团队协作。前端开发人员专注于用户界面和交互逻...

传统软件如何SaaS化改造,10个问答带你掌握最优解

摘要:如果您所在企业希望实行SaaS化改造,可访问了解华为云开发者技术团队的SaaS支持计划。 本文分享自华为云社区《【云享问答】第1期:传统软件如何SaaS化改造,10个问答带你掌握最优解!》,作者:技术火炬手。 如果您所在企业希望实行SaaS化改造,可访问了解华为云开发者技术团队的SaaS支持计

颠覆传统编程:用ChatGPT十倍提升生产力

我们即将见证一个新的时代!这是最好的时代,也是最坏的时代! 需求背景 背景: 平时会编写博客,并且会把这个博客上传到github上,然后自己买一个域名挂到github上。 我平时编写的博客会有一些图片来辅助说明的,写完之后如果我把图片和文字全部都上传到博客网站,后期图片很多时就会导致网站加载特别慢

美团一面:什么是CAS?有什么优缺点?我说我只用过AtomicInteger。。。。

引言 传统的并发控制手段,如使用synchronized关键字或者ReentrantLock等互斥锁机制,虽然能够有效防止资源的竞争冲突,但也可能带来额外的性能开销,如上下文切换、锁竞争导致的线程阻塞等。而此时就出现了一种乐观锁的策略,以其非阻塞、轻量级的特点,在某些场合下能更好地提升并发性能,其中

「笔记」某移动SRE运维体系交流

痛点 传统竖井式IT架构(封闭、隔离、非标、难运维) X86 服务器硬件稳定性不足 开源软件可靠性不足,且不可控 出了故障,被动救火救不完 转型 由此催生了转型升级的需求: 运维智能(SRE)的转型 SRE运维模式 核心职责 保证: 业务连续性 应用连续性 平台连续性 职责分工 综合运维岗 7*24

突破传统监测模式:业务状态监控HM的新思路

在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,且看本文。

突破传统监测模式:业务状态监控HM的新思路

在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不再赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,往下看。

撮合前端平台在低代码平台的落地实践

基于传统认知,前端产品直接触达消费者,往往具有高度的定制化、需求变更频繁等特点,要求具有很好的动态性, 能够满足不同客户的需求。那么能否建设类似的前端中台产品,我们姑且称之为“前端领域产品”,实现接入团队端到端能力复用呢?我们在撮合业务线中进行了一系列思考和探索。

FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo

不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。 除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用WebRTC技术,有关Web

如何使用csproj构建C#源代码组件NuGet包?

一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。 至于打包和分发C#源代码文件的做法,比较少见。 那么这种打包源代码文件的做法,有什么优点和缺点呢? 优点: 方便阅读源代码。 方便断点调试。 减少 Assembly 程序集模块加载个数。 更利于发布期间的剪裁(PublishTrimm

登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10

人工智能太疯狂,传统劳动力和内容创作平台被AI枪毙,弃尸尘埃。并非空穴来风,也不是危言耸听,人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程,你问我绘画行业未来的样子?我只好指着ControlNet的方向。本次我们在M1/M2芯片的Mac系统下,体验人工智能登峰造极的绘画艺术。

构建基于深度学习神经网络协同过滤模型(NCF)的视频推荐系统(Python3.10/Tensorflow2.11)

毋庸讳言,和传统架构(BS开发/CS开发)相比,人工智能技术确实有一定的基础门槛,它注定不是大众化,普适化的东西。但也不能否认,人工智能技术也具备像传统架构一样“套路化”的流程,也就是说,我们大可不必自己手动构建基于神经网络的机器学习系统,直接使用深度学习框架反而更加简单,深度学习可以帮助我们自动地从原始数据中提取特征,不需要手动选择和提取特征。

C++20起支持的一个小特性

注释掉的为传统的写法,从C++20起支持default关键字修饰的写法,即使是成员变量有多个的时候也支持,减轻了程序员的心智负担。

[转帖]TCP三次握手详解,滑动窗口,拥塞窗口,网络包路由过程,全连接队列,半连接队列

众所周知,网络分层有传统的OSI七层模型和后来的基于TCP/IP的四层模型: 那么在一次网络的传输过程中具体的流程是怎么样的,我们先从一个数据包的传输说起(以TCP为例): TCP协议根据上层应用提供的信息生成TCP报文 TCP报文在交由下面的IP层(网络层)进行处理,委托IP模块将TCP报文封装成

有状态软件如何在 k8s 上快速扩容甚至自动扩容

概述 在传统的虚机/物理机环境里, 如果我们想要对一个有状态应用扩容, 我们需要做哪些步骤? 申请虚机/物理机 安装依赖 下载安装包 按规范配置主机名, hosts 配置网络: 包括域名, DNS, 虚 ip, 防火墙... 配置监控 今天虚机环境上出现了问题, 是因为 RabbitMQ 资源不足.

高可用系列文章之二 - 传统分层架构技术方案

前文链接 高可用系列文章之一 - 概述 - 东风微鸣技术博客 (ewhisper.cn) 三 技术方案 3.1 概述 单点是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。 保障系统的高可用, 方法论上,高可用保证的原则是「集群化」(或 「冗余」), 只有一个单点,该单点宕机所有服务