首页 文章 精选 留言 我的

精选列表

搜索[首次公开募股],共10000篇文章
优秀的个人博客,低调大师

LY-ADMIN-UI 首次开源了,免编译的后台前端框架

介绍 三年磨一剑,Ly-Admin-ui是我们经过多年内部维护和使用的ui框架,现在决定开源了 Ly-Admin-ui 好用超全的管理后台前端框架,它基于 vue + element-ui+vue-rap 技术栈。 它使用了最新的前端技术栈,项目在element-ui基础上又添加了超多实用组件和布局; 项目整体使用了最新的vue-rap流应用技术,项目可以不需要构建的情况下直接部署,边使用边下载。 演示地址http://lyadminui.magcloud.net/ 登录地址http://lyadminui.magcloud.net/portal/login 文档地址http://lyadminui.magcloud.net/ 特色功能组件 N种主布局只有搭配 支持菜单,配置项,文档搜索的全局搜索能力 支持拖动验证,文字点选等多种行为验证方式 好看的操作指引 支持drop,剪贴板等使用简单的文件上传 懒加载方式的弹出框,不需要将弹出框内的代码写到当前页面 一行代码的图表展示 超级强大的 table 组件和 table 相关的组件 完备的权限验证能力 还有很多,太多了... 安装方式 下载文件LyAdminUI 目录结构 ├─portal 前端跟目录 │ ├─comp 项目特用的组件,且不会抽取为公共的组件 │ ├─utils 工具文件 │ │ ├─area.json 地区数据(请勿移动) │ │ ├─state.js 状态量管理 │ │ ├─menus.json 这里是你的菜单配置文件 │ ├─ly LYUI 框架目录(请勿移动) │ ├─其他自定义模块 其他自定义模块 │ ├─global.js 入口js文件 │ ├─index.html 入口html,正常会由后端渲染返回 ├─static 前端静态文件 │ ├─ly LYUI 需要使用到的静态文件(请勿移动) │ ├─imgs 静态图片 │ ├─libs 引用的三方js 库 拉取后的目录结构为推荐的目录结构,可以根据实际情况进行调整 标志为请勿移动的目录为 LyUI 框架文件,请勿随意修改或在目录内放入其他项目文件 框架更新 重新拉取项目,覆盖/portal/ly,/static/ly三个目录 项目截图

优秀的个人博客,低调大师

史上首次!苹果/谷歌/微软/火狐合力解决 Web 兼容性问题

浏览器制造商 Apple、Google、Microsoft 和 Mozilla ,以及软件公司 Bocoup 和 Igalia 正在合力制定一项名为 Interop 2022 的 Web 兼容性规范,以使 Web 技术和代码在不同的设备和浏览器中有统一的渲染效果(利好前端开发)。 这是有史以来第一次,所有市场上主要的浏览器供应商和利益相关者齐心协力地解决浏览器兼容性问题。此前,互相为竞争关系的浏览器厂商常常在 Web 技术的兼容性上出现分歧,尤其是 IE 还活着的时候,前端一个页面三套代码的情况十分常见。 过去几年,随着监管机构在竞争问题上向苹果和谷歌施压,这些顶级浏览器制造商之间才开始频繁合作,而不是专注于搞自家浏览器的专属功能。2019 年谷歌和微软合作发起过一个名为 Compat 2021 的 Web 兼容性标准,该标准促进了 CSS grid 和 CSS flexbox 这两个技术的发展,Mozilla 参与了该计划的讨论,但苹果和其 WebKit 团队并未参与此计划 。 新的 Interop 2022规范整体偏向于 15 个领域,其中 10 个领域是综合去年 CSS 2021 现状调查和 GitHub 投票得出的结论,大多数前端开发人员认为这些领域在跨浏览器存在兼容性问题会特别难处理: Cascade Layers(级联层) 有了这个标准,网站可以创建一个“框架”层和一个“自定义”层,然后将所有第三方框架的 CSS 样式分配到框架层,在自定义层中编写自定义样式,而且自定义层的所有 CSS 样式,优先级都可以比框架层要高(无视选择器)。 Color Spaces and Functions(色彩空间/函数) 早期,Web 开发使用 sRGB 颜色空间,通常以十六进制、rgb()、rgba()或hsl() 格式表达色彩。但随着显示技术的发展,sRBG 不够用了,因此 Interop 2022 包括对三种扩展颜色空间(LAB、LCH、P3)的支持测试,以及两种通过函数在 CSS 中编写颜色的方法:color-mix 和 color-contrast: color-mix(): 取两种颜色,并返回在指定颜色空间中按指定量混合它们的结果。 color-contrast():从颜色列表中选择与指定单色具有最高对比度的颜色。 Containment(CSS contain 属性) contain 属性用于识别和测量特定容器的大小,然后根据该容器的大小应用不同的样式。有点像媒体查询 @media,但不是测量视窗大小,而是测量容纳内容的盒子的大小。 Dialog Element(对话框元素) 该 Dialog元素可以创建覆盖型的窗口,也就是对话框,比如 ::backdrop 伪元素可以为一个模态框下方的背景设置样式。可在此博客了解对话框元素 。 Form Fixes(表单修复) 关于表单的一些操作性,包括 appearance 属性、、禁用表单控件<form>上的事件,以及输入元素、表单提交和表单验证的错误处理等。 Scrolling (滚动控件) 这条是关于页面滚动的兼容性,Scroll snap 提供了控制界面滚动方式和内容显示方式的工具。CSS 中的 scroll-behavior 属性设置当滚动由导航或 CSSOM 滚动 API 触发时,滚动框会出现什么行为。overscroll-behaviorCSS 属性决定了浏览器在到达滚动区域的边界时会做什么。 Subgrid(子网格) Subgrid 可轻松将网格容器的后代元素放置在该网格上,在跨复杂布局排列项目时无需考虑 DOM 结构。 比如下面三个卡片组件的页眉和页脚都对齐了,即使每张卡片都有独立的网格(grid),这是因为每张卡片都是跨越父网格的三行项目,然后使用子网格 Subgrid 将这些行继承到每个卡片中。 Typography and Encodings(字体设计和编码) 排版和编码包含一系列影响 Web 排版的测试,包括 font-variant-alternates, font-variant-position, ic 单元和 CJK(中日韩)文本编码。字体功能是优化排版的强大属性,但前提是跨浏览器兼容。 Viewport Units(视窗单位) 新的视窗单位考虑包含标题栏的布局,引入了最大、最小和动态视窗单位,比如 100svh 指 100% 最小可能视窗高度,100lvh 指 100% 最大可能视窗高度,100dvh 指 100% 动态视窗高度——该值将随着用户滚动而改变。 同理,svw、 lvw、 和 dvw 用于宽度单位。 Web Compat(Web 兼容) 浏览器中的特定错误可能不导致某些网站无法按预期渲染,或者一个浏览器可能与 Web 标准不同,从而导致网站或 Web 应用程序用户的体验,Interop 2022 旨在通过 Web 兼容性测量来捕获和解决这些问题。 以上是 10 个新的 Web 兼容性规范,此外还有 5 个从 Compat 2021 继承下来的规范标准: Aspect Ratio(屏幕纵横比) Flexbox(弹性盒模型) Grid(网格) Sticky Positioning(粘滞定位) Transforms(变换盒模型) 这部分规范已经非常常用,在此不展开介绍 。 从根本上讲,Interop 2022 是一个不断发展的指标,用于评估各大浏览器对上述 Web 标准的兼容程度。Interop 2022 仪表板 有一个评分系统,评估各大浏览器的整体兼容程度: 这玩意全年不断更新,还会实时显示各大浏览器的工程师修复错误、实现新功能和改进测试的进展,以及在每个标准的工程进度: 题外话 而 Apple 网络开发布道者 Jen Simmons 在 Interop 2022 的博客中说:“Apple 非常关心 Web 的健康,以及 Web 标准的可互操作(兼容性)实现。”这似乎跟大多数前端人员的实际想法有些出入...

优秀的个人博客,低调大师

阿里云计算能力实现新突破 BigBench全球首次达到100TB

在10月11日开幕的“2017杭州·云栖大会”首日主论坛,阿里云总裁胡晓明重点介绍新一代计算平台MaxCompute+PAI。 在12日的主论坛中,阿里巴巴集团副总裁,搜索事业部&计算平台事业部负责人周靖人说,数据是机器智能创新的基础,拥有充沛的计算能力才能全面释放数据的价值。随后周靖人与英特尔公司数据中心事业部副总裁Rob Hays共同进行BigBench On MaxCompute[1] 2.0+PAI的重磅发布。本次发布突破了TPCx-BB[2] 公布的各项历史最佳成绩,体现出MaxCompute极强的大规模数据处理能力以及公共云相对传统模式的绝对优势。 目前TPC官网公布的测试最大规模为10TB,最佳性能1491.23BBQpm,最高性价比589 Price/BBQpm。而此次阿里云发布的BigBench on Max

优秀的个人博客,低调大师

TinyEngine低代码双向转换源码大公开

本文由TinyEngine低代码源码转换功能贡献者张珈瑜原创。 背景 当前主流低代码平台普遍采用"单向出码"模式,仅支持将 DSL(Domain Specific Language,领域特定语言)转换为 Vue 或 React 源代码。一旦开发者在生成代码后手动修改了源码,平台通常无法将这些修改同步回可视化编辑器,导致代码与可视化配置割裂,严重影响开发效率与协同维护。本项目旨在构建低代码 Vue/React 源代码到 DSL 的反向转换机制,打通可视化搭建与源码开发之间的断层,实现从 UI 配置到源码编写的无缝协同。 Vue-To-DSL 方案 目标 将 Vue 单文件组件(SFC)、整包工程或 ZIP 压缩包逆向转换为 TinyEngine 所需的 DSL Schema。 核心依赖 @vue/compiler-sfc / @vue/compiler-dom:解析 SFC 与模板 AST @babel/parser / traverse / types:脚本 AST(支持 TS/JSX) jszip:ZIP 文件读取(Node 与浏览器双端支持) vue:仅用于类型对齐 数据流 解析流程详解 1. SFC 粗分 使用 @vue/compiler-sfc.parse 获取 descriptor 提取 template / script / scriptSetup / styles / customBlocks 保留语言类型(如 lang="ts")和 scoped 状态 2. 模板解析(Template) 使用 @vue/compiler-dom.parse 构建 AST 递归生成组件树节点 { componentName, props, children } 指令处理 : v-if → condition: JSExpression v-for → loop: { type: 'JSExpression', value: '...' } v-model / v-show / v-on / v-bind → 映射至 props 或事件 v-slot → slot: name 文本节点 : 纯文本 → Text 组件 插值表达式 → Text + JSExpression 组件名归一化 : 优先使用 componentMap HTML 原生标签保留小写 tiny-icon-* → 统一为 Icon,name 属性设为 PascalCase 名称 3. 脚本解析(Script) 使用 Babel 解析 TS/JSX 组合式 API(script setup) : reactive() / ref() → state computed() → computed 顶层函数 → methods onMounted 等 → lifecycle Options API : 识别 data / methods / computed / props / 生命周期钩子 源码恢复 : 利用 AST 节点位置切片还原函数体 箭头函数转为命名函数字符串 错误处理:非 strict 模式下收集错误,不中断流程 4. 样式解析(Style) 合并所有 <style> 块内容 记录 scoped 与 lang 提供辅助工具(不直接写入 Schema): parseCSSRules:抽取 CSS 规则 extractCSSVariables:提取 CSS 变量 extractMediaQueries:媒体查询识别 5. Schema 生成与归一化 Page Schema : 根节点为 Page,自动填充 fileName、meta、id 行为域统一包装为 JSFunction / JSExpression 深度清理多余空白字符 App Schema (多页面聚合): 页面:src/views/**/*.vue 国际化:src/i18n/{en_US,zh_CN}.json 工具函数:src/utils.js(正则解析导出项) 数据源:src/lowcodeConfig/dataSource.json 全局状态:src/stores/*.js(轻量识别 Pinia defineStore) 路由元信息:从 src/router/index.js 提取 name / path / isHome 6. 转换器接口 convertFromString(code, fileName?) convertFromFile(filePath) convertMultipleFiles(files) convertAppDirectory(appDir) convertAppFromZip(zipBuffer) React-To-DSL 方案 目标 将单个 React 组件(JSX/TSX)逆向转换为 TinyEngine 可消费的 DSL(IAppSchema),当前聚焦 单文件 → 单页面/区块 场景。 核心依赖 @babel/parser / traverse / generator:AST 解析与代码生成 nanoid:生成唯一 ID 转换流程 关键步骤说明 1. AST 解析 启用 jsx + typescript 插件 定位首个返回 JSX 的函数/类组件 记录 useState 初始值节点、组件定义路径 2. JSX → children 树构建 组件名 : JSXIdentifier → 直接使用 JSXMemberExpression → 拼接如 Form.Item 兜底为 Fragment Props 处理 : 字面量 → 直接值 表达式 → JSExpression Spread 属性 → 特殊 key '...' Children : 文本 → 包装为 span + props.children 表达式容器: 若为 arr.map(item => <El />) → 提取 arr 作为 loop 否则 → Fragment + JSExpression 3. 表达式序列化 字面量(string/number/bool/null)→ 原值 对象/数组 → 递归处理,Spread 元素标记为 '...' 其他表达式(函数调用、三元等)→ 源码字符串 + JSExpression 4. State 与方法提取 State :仅首个 useState 的初始值 Methods : 函数组件:顶层函数声明或变量赋值函数 类组件:非 render 的 ClassMethod 或箭头属性 生命周期 :类组件中的 componentDidMount 等白名单方法 5. 组件归一化 应用 defaultComponentMap(如 Form → TinyForm) DatabaseOutlined → Icon + props.name = 'IconPanelMini' style 对象 → 转为 kebab-case: value; 字符串 value → modelValue(适配 Tiny 组件) 6. Schema 装配 PageSchema : componentName: 'Page' 或 'Block' meta: 默认 isHome=true, router='/' children: 来自 JSX 树 state/methods/lifeCycles: 提取结果 AppSchema:包裹单个 Page,其余字段初始化为空 (本项目为开源之夏活动贡献,欢迎大家体验并使用)源码可参考: https://github.com/opentiny/tiny-engine/tree/ospp-2025/source-to-dsl 快速上手 前置条件: 已安装 Node.js (>=18)、pnpm (>=8)、git,本地 8090 端口可用。 启动项目 git clone -b ospp-2025/source-to-dsl https://github.com/opentiny/tiny-engine.git cd tiny-engine pnpm install pnpm dev 启动成功后,访问 http://localhost:8090/?type=app&id=1&tenant=1。 可视化导入 Vue 文件 进入上方地址后,点击页面右上角的"导入"。支持三种来源: 单个 .vue 文件:适合导入单页或区块。 项目目录:自动识别 src/views 下的页面文件。 ZIP 压缩包:打包后的 Vue 项目一键导入。 导入流程(任选其一): 单个 .vue 文件 选择"单页上传",挑选本地 .vue 文件。 若存在同名页面,按提示"覆盖/跳过/全部覆盖"进行处理。 导入完成后,在"静态页面"列表中可见,双击打开编辑。 项目目录 选择"目录上传",指向本地项目根目录。 系统自动扫描 src/views 并导入页面;遇到重名同样可选择覆盖策略。 完成后,页面会按目录结构展示在左侧列表。 ZIP 压缩包 选择"项目压缩包",上传打包好的 Vue 项目 zip。 支持批量导入与重名处理,完成后即可在列表中浏览与打开。 选择单页vue文件上传方式进行导入: 由于已经存在CreateVm页面,弹出了提示框,需要选择是否覆盖,这里点击确定: 在静态页面列表可查看到导入的页面,双击即可点开: 选择项目目录或项目压缩包上传方式进行导入: 选择目录导入则选择本地的目录进行上传: 选择项目压缩包则选择vue项目zip进行上传: 导入时有重名文件则会弹出提示框,选择是否覆盖,这里选择全选+确定: 可以看到整个项目已经被导入到可视化编辑器了 React-To-DSL 测试用例 当前 React-To-DSL 以测试用例形态展示能力,可在包内直接运行: cd packages/react-to-dsl pnpm test 输入样例:查看用例中的 React 组件源码(JSX) 输出结果:测试通过时会生成/断言对应的 DSL 结构,便于对照验证 (本项目为开源之夏活动贡献,欢迎大家体验并使用)源码可参考: https://github.com/opentiny/tiny-engine/tree/ospp-2025/source-to-dsl 结语 本项目成功实现了 Vue/React 源码 ↔ DSL 的双向转换机制,有效解决了低代码平台"单向出码"导致的协同断层问题。通过模块化解析、健壮的错误处理与灵活的组件映射策略,确保了转换的准确性与实用性。 感谢导师的悉心指导,以及 OpenTiny 社区与开源之夏活动组委会的支持,让我有机会参与这一具有实际价值的开源项目! 关于OpenTiny 欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~ OpenTiny 官网:https://opentiny.design OpenTiny 代码仓库:https://github.com/opentiny TinyVue 源码:https://github.com/opentiny/tiny-vue TinyEngine 源码: https://github.com/opentiny/tiny-engine 欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~ 如果你也想要共建,可以进入代码仓库,找到 good first issue 标签,一起参与开源贡献~

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册