软件工程 工程 软件uml

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

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

【大型软件开发】浅谈大型Qt软件开发(三)QtActive Server如何通过COM口传递自定义类型?如何通过一个COM口来获得所有COM接口?

前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。 鉴于接下来的一年我要进行这个主框架的开发,本着精益求精的态度,加上之前维护前辈的产品代码确实给我这个刚毕业的社畜带来了不小的震撼 ......
软件开发 COM 软件 QtActive 接口

升级csproj文件为vs2017工程格式(SDK样式)

csproj文件在VS2017后格式变更为SDK样式。framework项目如果需要源链接等等功能,需要进行手动升级。 升级过程 升级需要Project2015To2017Nuget包。 > dotnet tool install --global Project2015To2017.Migrate ......
样式 格式 文件 csproj 工程

使用小黄鸟(HttpCanary)+模拟器(VMOS Pro)对手机APP进行抓包(附带软件)

最近接触app开发,苦于app端不能像网页端可以F12看请求信息,对于后端来说当接口出现异常却不能拿到请求参数是很苦恼的, 因为之前了解过逍遥模拟器,先使用了模拟器对app进行抓包,但发现这一款app在模拟器上面卡的很,根本玩不转。 后面找到了一个可以在手机上直接抓包的工具——httpcanary( ......
模拟器 HttpCanary 手机 软件 VMOS

Debian 软件包管理

帮助了解 Debian 软件包管理,如何使用 APT 管理软件包,如何配置 apt 源,获得更好的体验 对于部分问题 apt 源配置问题,比如 GPG error apt, apt-get 的关系 ... ......
软件包 Debian 软件

Potree 003 基于Potree Desktop创建自定义工程

1、第三方js库 第三方库js库选择dojo,其官网地址为https://dojotoolkit.org/,git地址为https://github.com/dojo/dojo,demo地址为https://demos.dojotoolkit.org/demos/,如果打不开,可以多刷新几次。 因为 ......
Potree Desktop 工程 003

你知道,前端工程部署有哪些方式嘛?

你知道,前端工程部署有哪些方式嘛? 本文原文地址; 此文章是回答知乎问题总结而来。 我将其分为四个阶段:手动部署、命令工具部署、docker镜像部署、平台化部署。 这几个阶段,越往后越复杂,越往后越友好,毕竟平台化部署有备份还可回退,那是相当安全的。 手动部署 // 打包文件,生产dist目标文件 ......
前端 方式 工程

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

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

【架构设计】你真的理解软件设计中的SOLID原则吗?

前言 在软件架构设计领域,有一个大名鼎鼎的设计原则——SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护、可以测试、高扩展、高内聚、低耦合的代码。是不是很牛,但是你们都理解这个设计原则吗,如果理解不深入的话,更这我通过JAVA示例深入浅出 ......
架构 原则 SOLID 软件

【大型软件开发】浅谈大型Qt软件开发(一)开发前的准备——在着手开发之前,我们要做些什么?

前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。 鉴于接下来的一年我要操刀这个主框架的开发,本着精益求精的态度,加上之前维护前辈的产品代码确实给我这个刚毕业的社畜带来了不小的震撼 ......
软件开发 软件

【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。

前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。 鉴于接下来的一年我要进行这个主框架的开发,本着精益求精的态度,加上之前维护前辈的产品代码确实给我这个刚毕业的社畜带来了不小的震撼 ......
软件开发 软件 组件 插件 模块

【c#】从外部复制文本、图片到软件中的解决方案(支持ppt,qq等)

原文地址 https://www.cnblogs.com/younShieh/p/17010572.html ❤如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~❤ 我们先考虑一般会从什么地方复制文本、图片到我们的软件中。 首先说文本。我们可能会从文本文件,网页,word,ppt,q ......
文本 解决方案 方案 图片 软件

一篇文章带你了解设计模式原理——UML图和软件设计原则

一篇文章带你了解设计模式原理——UML图和软件设计原则 我们在学习过程中可能并不会关心设计模式,但一旦牵扯到项目和面试,设计模式就成了我们的短板 这篇文章并不会讲到二十三种设计模式,但是会讲解设计模式的设计原则以及设计依据和最明显的图形表示 或许我们只有先去了解设计模式的来源才能真正理解设计模式吧 ......
设计模式 篇文章 原理 原则 模式

【好软推荐】Scoop - Windows快速软件安装指南

在平常生活中如果要安装像git、java、node这些环境的时都需要先去官网下载安装程序,点击安装,之后还需要配置,不仅过程麻烦,而且工具多了之后整理起来也相当不容易,配置也很杂,整个电脑就像被污染了一样。而scoop可以很好地解决这一问题,安装scoop后,只需要在命令行输入简单的一串命令即可安装... ......
Windows 指南 Scoop 软件

前端工程化筑基-Node/npm/babel/polyfill/webpack

前端搬砖框架:开发 ⇨ 构建 ⇨ 部署上线 ⇨ 摸鱼。本文对前端工程中的基本组件,如Node.js,npm,babel,polyfill,webpack等框架用图形化、简洁的语言进行了简单的介绍。 ......
前端 polyfill webpack 工程 babel

TypeScript 前端工程最佳实践

作者:王春雨 前言 随着前端工程化的快速发展, TypeScript 变得越来越受欢迎,它已经成为前端开发人员必备技能。 TypeScript 最初是由微软开发并开源的一种编程语言,自2012年10月发布首个公开版本以来,它已得到了人们的广泛认可。TypeScript 发展至今,已经成为很多大型项目 ......
前端 TypeScript 工程

遥感图像识别(标注)软件实现

遥感图像识别已经有很多成熟的模型和实现,这里我们选择yolov5_obb和dota数据集,以说明并实现一种思路:那就是先识别、再标注、再训练的过程。鉴于领域内数据往往比较封闭,对此类数据的标注实现难度较大,所以需要模型迁移。首先基于已经训练的成果,实现初步标绘;而后通过人在回路的修正,获得精确的结果 ......
遥感 图像 软件

PowerDotNet平台化软件架构设计与实现系列(15):支付平台

PowerDotNet个人项目中功能全面而强大的一个系统是支付平台。我对PowerDotNet的自信很大程度上来自于经过PowerDotNet重写后的支付、财务、结算、CRM等业务型公共服务系统的稳定运行。 使用PowerDotNet和PowerDotNetCore特别开发的业务逻辑型公共服务既有极 ......
平台 PowerDotNet 架构 软件

PowerDotNet平台化软件架构设计与实现系列(14):平台建设指南

软件开发中常见的几种不同服务模型包括SaaS(软件即服务)、LaaS(许可即服务)、PaaS(平台即服务)、CaaS(容器即服务)、IaaS(基础设施即服务)和FaaS(功能即服务)。 很多人认为IaaS和FaaS是趋势,是未来软件设计与开发人员的基本必备技能,PowerDotNet和PowerDo ......
平台 PowerDotNet 架构 指南 软件

Python全栈工程师之从网页搭建入门到Flask全栈项目实战(7) - 在线问答系统

1.项目源码/业务逻辑 百度网盘链接:链接:https://pan.baidu.com/s/13VNfrSJE6vcL3HP1J5T8ew 提取码:00s0,项目业务逻辑自行阅读 2.项目搭建 👇点击新建New Project,选择Flask项目 👇选择项目路径和使用Virtualenv新建项目 ......
在线问答 实战 工程师 网页 项目

Python全栈工程师之从网页搭建入门到Flask全栈项目实战(6) - Flask表单的实现

1.表单介绍 1.1.表单知识回顾 常见的表单元素: 表单标签<form> action:表单提交的URL地址 method:表单请求的方式(GET/POSt) enctype:请求内容的形式,如:application/x-www-form-urlencoded、multipart/form-da ......
Flask 表单 实战 工程师 网页

Python全栈工程师之从网页搭建入门到Flask全栈项目实战(4) - Flask模板语法与继承

1.Flask模板介绍 前置:理解渲染机制即上篇笔记中render_template()功能是如何实现的! 1)找到html文件地址 2)读取html文件中的内容 3)替换html中的特殊字符 4)将html的内容发送给浏览器 1 <!-- html文件 --> 2 3 <!DOCTYPE html ......
Flask 语法 实战 模板 工程师

Python全栈工程师之从网页搭建入门到Flask全栈项目实战(5) - Flask中的ORM使用

1.理解ORM ORM是MTV模型里面的Model模型 ORM(Object Relational Mapping),对象关系映射 举例:学生选课 学生和课程这两个实体,一个学生可以选择多门课程,一个课程可以被多名学生选择。这两个实体是多对多的关系,学生选课对应的数据库表 为什么要学习ORM ORM ......
Flask 实战 工程师 网页 项目

痞子衡嵌入式:我被邀请做贸泽电子&与非网联合推出的《对话工程师》节目嘉宾

《对话工程师》是「贸泽电子」赞助、「与非网」策划制作的一档网络节目,自2022年11月起,邀请不同技术领域的资深工程师,聊聊开发过程中的经验感悟,栏目共 10 期,痞子衡有幸被邀请做了第 4 期节目的嘉宾(12月5日在 「B站 - 与非网官方账号」里刚播出第 1 期)。 说起与《对话工程师》节目的结 ......
痞子 嵌入式 嘉宾 工程师 节目

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

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

软件设计中最关键的“开闭原则”,究竟指什么呢?

前言 软件设计原则中有一条很关键的原则是开闭原则,就是所谓的对扩展开放,对修改关闭。个人觉得这条原则是非常重要的,直接关系到你的设计是否具备良好的扩展性,但也是相对比较难以理解和掌握的,究竟怎样的代码改动才被定义为“扩展”?怎样的代码改动才被定义为“修改”?怎么才算满足或违反“开闭原则”?别急,本文 ......
原则 关键 软件

Qt大型工程开发技术选型Part3:Qt调用C#编写的COM组件实例

Qt大型工程开发技术选型Part3:Qt调用C#编写的COM组件实例以及错误总结 ok,前面铺垫了那么多,现在来写一个开发实例,我会把其中隐藏的坑和陷阱简单谈谈,并在文章最后总结。 不愿意看长篇大论的可以直接看实例:CS_COM_Build 废话不多说直接起步。 先说场景,我这边是一个C#的DLL, ......
开发技术 组件 实例 工程 Part3

Qt开发Active控件:如何使用ActiveQt Server开发大型软件的主框架(2)

Qt开发Active控件:如何使用ActiveQt Server开发大型软件的主框架 注:本文更多地是带着如何去思考答案,而不是纯粹的放一个答案上来,如果你需要直接看到完整的答案,请直接看实例和最后的柳暗花明部分,里面由详细的注释可以解答你的问题。 前情提要: Qt的进程间通信,以服务器的形式,手把 ......
控件 框架 ActiveQt Active Server

前端学习 linux —— 软件安装(Ubuntu)

软件安装(Ubuntu) 本篇主要讲解 ubuntu 中软件的安装、apt 的源、内网部署案例(graylog 为例),最后是 python 开发准备。 apt 和 rpm 在linux 第一篇我们知道如果机器是 ubuntu 则可用 apt-get/dpkg 安装软件,如果是centos 则可用 ......
前端 Ubuntu linux 软件

Linux系统各种库/软件版本输出指令

日常开发基于Linux系统(其实更多的是Ubuntu平台),平时总会遇到一些情况需要查看某个库或者软件的版本信息,在这里做一下简单的记录。 1. 查看glibc版本 方法一:使用ldd指令 cv@cv:~$ ldd --version ldd (Ubuntu GLIBC 2.23-0ubuntu11 ......
指令 版本 系统 Linux 软件