V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ikas  ›  全部回复第 4 页 / 共 25 页
回复总数  487
1  2  3  4  5  6  7  8  9  10 ... 25  
前后端分离与这些没有任何关系.

很多后端系统,比如金融证券行业的系统,客户都是要完全自己配置的,菜单 url 也不一定是自己系统的(所以要可以新增,修改),不能再搞一套关系表来配置这些

重点是基于资源统一管控这些
154 天前
回复了 blinue 创建的主题 Windows WinUI 3 的源代码已放出
WinUI 3 没有那么不堪吧,使用 c++ winui3 重构之前使用 sdl2+win32ui 写的 app,效果还是可以的.
主要问题其实是 c#来写太慢了,这个不是 winui3 的锅,只是到现在也没法原生编译,比使用 c# uwp 原生编译慢太多了
那些模型只是参考,基本都是混合一起..
我目前常用的方式:
资源: 接口,按钮,菜单等等都是资源, 设计一张资源表,然后菜单表中关联资源 id,其它也是
角色,用户组,或者是用户: 这些与资源关联,关联关系还有计算模式(比如+,-)
用户与角色等关联,这个没什么说的

不管是计算菜单还是其它均是只有一个入口,就是获取其所属资源列表,然后再去关联

根据业务,客户要求, 资源的关联方可以灵活选用,比如只使用角色
1.权限标志,只是资源的一种友好标识符而已,这菜单也只是资源的一种
2.菜单的管理与权限本身没有什么关联,对菜单的管理操作不过是后台管理系统中的基本功能(很多客户要求自行配置菜单的)
3.资源,比如某个 api 对应的后端方法,这个通常只能由后端定义
4.它这里菜单添加了权限标志,只是为了权限框架统一管理

国内后端常见的权限模型:
Resource-Based Access Control
Role-Based Access Control
像素密度不够,windows 上效果都不行

我的台式机屏幕 24 英寸,4k.各种字体替换都不行,对比 surface pro 差太多了
Aves 开源
Jetpack Compose 是新的 ui 框架,可能你 as 创建这个类型的 app 了

文档默认是基于 xml 的那个 ui,可以先看看这个
直接注册,自己开发机部署,不上架不要钱
兼容类
java 中没啥好办法

我自己的一个安卓项目,使用了不同版本的内置 api

dependencies {
api platform(project(':bom'))
implementation project(":system-common")
implementation project(":system28")
implementation project(":system29")
implementation project(":system30")
implementation project(":system31")
implementation project(":system32")
implementation project(":system33")
implementation project(":system34")
}

if (AndroidVersionUtil.getVersion() >= 34) {
permissionManager = new PermissionManager34();
....
} else if (AndroidVersionUtil.getVersion() >= 33) {
permissionManager = new PermissionManager33();
...
} else if (AndroidVersionUtil.getVersion() >= 32) {
permissionManager = new PermissionManager32();
....
}
...
165 天前
回复了 Lounode 创建的主题 程序员 同事大概是 Java 写多了,写的 C#叹为观止
这是人的问题
166 天前
回复了 cxsz 创建的主题 Java spring boot 项目 maven 打包问题请教
parent :

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.lddq</groupId>
<artifactId>exam-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<properties>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot.version>3.1.0</spring-boot.version>
</properties>

<modules>
<module>exam-common</module>
<module>exam-web</module>
<module>exam-file</module>
</modules>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>


common:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.lddq</groupId>
<artifactId>exam-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<packaging>jar</packaging>
<artifactId>exam-common</artifactId>

</project>

file:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.lddq</groupId>
<artifactId>exam-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<packaging>jar</packaging>
<artifactId>exam-file</artifactId>

<dependencies>
<dependency>
<groupId>com.lddq</groupId>
<artifactId>exam-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>

</project>

web:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.lddq</groupId>
<artifactId>exam-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<packaging>jar</packaging>
<artifactId>exam-web</artifactId>

<dependencies>
<dependency>
<groupId>com.lddq</groupId>
<artifactId>exam-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>com.lddq</groupId>
<artifactId>exam-file</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

----
java -jar exam-web-0.0.1-SNAPSHOT.jar
2023-10-13T21:16:58.496+08:00 INFO 18832 --- [ main] com.lddq.exam.start.ExamApplication : Started ExamApplication in 2.102 seconds (process running for 2.557)
2023-10-13T21:16:58.500+08:00 INFO 18832 --- [ main] com.lddq.exam.start.ExamApplication : hi file!
只是靠这些,没法分析.

一般都是上指标监控,搭建一个 Promethues,grafana . 然后接口接加上指标统计..搭配 jvm gc,系统 cpu 等指标一起分析
AntV G2
winui3 只是一个 ui 框架,它可以显示在 win32 窗口中,也可以在 winrt corewindow 中(已废弃) ,它不会有窗口这些功能
还是要找原生 win32 窗口实现方式
-
现在根本不用考虑其他的,直接使用 windows app sdk 即可
--
微软官方现在只有 winui2 与 winui3 在桌面端是持续维护的
winui2 或者说是内置于系统的 xaml ui 框架,微软已经不再推荐 app 开发直接使用(windows 内置的应用,还有系统界面基本都是 winui2)
windows app sdk 是独立于系统的一套 api,可以无缝使用 winrt,win32,winui3
---

当然现在 winui3 配合 c++是速度最快的,而.net 还不支持原生编译,启动比较慢

以下是基于 winui3 的一些 app
https://github.com/Paving-Base/APK-Installer
https://github.com/files-community/Files
https://github.com/Richasy/Bili.Copilot
...
这不是很早就测试了..基于 github.com/libarchive/libarchive
设置 core size 为 0?
需要配合 allowsCoreThreadTimeOut 参数
如果设置 false,那么 core 线程就是最开始的生成的那几个线程
第一关可以 controller 返回 FileSystemResource 就可支持"Range"了

上传后队列里调用 ffmpeg 切片生成 m3u8..后续就用 m3u8 了
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3200 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 13:06 · PVG 21:06 · LAX 06:06 · JFK 09:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.