首页 文章 精选 留言 我的

精选列表

搜索[智能解析],共10000篇文章
优秀的个人博客,低调大师

Shiply Kuikly动态化适用场景解析

在移动端存量竞争加剧的当下,业务对"快速迭代"与"原生级体验"的双重诉求日益尖锐。H5、React Native、Flutter 等已有方案各自尝试破局:H5 开发快却普遍带有"白屏感",严重拖累转化率;React Native 受桥接通信开销制约,在高频交互场景易丢帧;Flutter 自绘引擎则带来可观的包体积增量与初始化成本。当大促活动、动态运营卡片等需求频繁出现时,传统方案往往陷入"要么等审核、要么牺牲体验"的两难。Shiply 作为腾讯端服务(TDS)产品联盟的核心成员,为 App 提供一站式的动态发布解决方案,其跨平台发布能力深度支持 Kuikly 等框架的动态化 SDK + 发布解决方案,为上述矛盾提供了第三种选择。

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

IvorySQL 4.0 之 Invisible Column 功能解析

前言 随着数据库应用场景的多样化,用户对数据管理的灵活性和隐私性提出了更高要求。IvorySQL 作为一款基于 PostgreSQL 并兼容 Oracle 的开源数据库,始终致力于在功能上保持领先和创新。在最新发布的 4.0 版本中,IvorySQL 新增了 Oracle 兼容特性 Invisible Column(不可见列),这一功能由社区贡献者 Imran Zaheer 提供,体现了开源社区协作的力量。 Invisible Column 的引入,为开发者提供了在不影响现有应用的情况下动态调整数据库结构的新选择,进一步提升了 IvorySQL 在数据灵活性管理上的能力,为用户在数据库升级、兼容性优化等方面提供了更大的便利性。 本文将详细介绍这一特性的功能、使用场景以及使用方式。 什么是 Invisible Column? 在现代数据库开发中,列的可见性管理在一定程度上影响了应用程序的灵活性与迁移效率。Oracle 12c 提供了一项强大的功能:Invisible Column(不可见列)。这是一种隐藏数据列的特性,用于增强数据安全性和实现业务逻辑。这一功能为开发者提供了灵活性和控制能力,特别是在应用程序迁移或版本升级的场景中。 在 Oracle 中,Invisible Column 是指那些对大多数 SQL 查询和工具不可见的列。通过将列设置为不可见列: 它不会出现在常规的 SELECT * FROM 查询结果中。 它不会在 SQL*Plus 或 OCI 的描述操作中显示。 它不会包含在基于 %ROWTYPE 属性的记录定义中。 然而,不可见列仍然存在于表中,可以通过显式指定列名来访问或引用。另外,不可见列在使用时也有限制,要注意在外部表(External Tables)、聚簇表(Cluster Tables)、临时表(Temporary Tables)中无法使用不可见列。 Invisible Column 的应用场景 1. 应用程序迁移 不可见列在应用程序迁移过程中非常有用。当我们向现有表中添加新列时,不可见列可以避免影响旧应用程序的功能。旧的应用程序不会察觉新列的存在,而新的应用程序可以显式引用这些列。从而使应用程序的在线迁移变得更加简单顺畅。 2. 敏感数据保护 某些敏感数据可以通过不可见列存储,避免被大多数默认查询工具访问,从而降低意外暴露的风险。 3. 数据模型优化 在数据模型调整或调试过程中,可以临时将一些列设置为不可见列,确保它们不会影响常规查询,避免查询结果混淆。 在 IvorySQL 中使用 Invisible Column Invisible Column 为 IvorySQL 4.0 版本中新增加的兼容特性,使用前请先确保您的版本为 4.0。 1. 创建不可见列 可以在创建表时直接将列定义为不可见列: CREATE TABLE employees ( emp_id NUMBER, emp_name VARCHAR2(50), emp_salary NUMBER INVISIBLE ); 在此示例中,emp_salary 是不可见列,对默认查询不可见: select*from employees ; emp_id | emp_name --------+---------- (0 rows) 2. 向不可见列插入数据 在向表中插入数据时,可以通过显式指定列名的方式向不可见列插入数据: INSERT INTO employees(emp_id,emp_name,emp_salary) VALUES(1,'Jack',20000); INSERT 0 1 INSERT INTO employees(emp_id,emp_name,emp_salary) VALUES(2,'Lucy',30000); INSERT 0 1; 不带命名列的插入不能包含不可见列: INSERT INTO employees VALUES(3,'Peter'); INSERT 0 1 3. 显示/修改现有列为不可见列 通过 VISIBLE 关键字,可以将不可见列改回普通列: ALTER TABLE employees MODIFY emp_salary VISIBLE; ALTER TABLE 如果需要将现有列设置为不可见列,可以使用 INVISIBLE: ALTER TABLE employees MODIFY emp_salary INVISIBLE; ALTER TABLE 注意,不能将所有的列设置为不可见列。 4. psql \d 元命令 在 psql 中使用 \d 元命令时不会显示该表的不可见列信息: \d employees Table "public.employees" Column | Type | Collation | Nullable | Default ------------+--------------+-----------+----------+--------- emp_id | number | | | emp_name | varchar2(50) | | | emp_salary | number | | | 可以使用含有更多表信息的 \d+ 元命令查看该表的不可见列信息: \d+ employees Table "public.employees" Column | Type | Collation | Nullable | Default | Invisible | Storage | Compression | Stats target | Description ------------+--------------+-----------+----------+---------+-----------+----------+-------------+--------------+------------- emp_id | number | | | | | main | | | emp_name | varchar2(50) | | | | | extended | | | emp_salary | number | | | | invisible | main | | | Access method: heap 5. 访问 Invisible Column 在使用 SELECT* 查询表数据时,不会显示不可见列的数据: SELECT * FROM employees ; emp_id | emp_name --------+---------- 1 | Jack 2 | Lucy 3 | Peter (3 rows) 虽然不可见列对默认查询不可见,但开发者仍然可以通过显式指定列名来访问它: SELECT emp_name,emp_salary FROM employees ; emp_name | emp_salary ----------+------------ Jack | 20000 Lucy | 30000 Peter | (3 rows) 结语 不可见列功能是一项设计精妙的特性,为数据库开发和管理提供了更高的灵活性和安全性。通过合理利用不可见列,开发者可以轻松应对复杂的应用迁移场景,同时保持系统的稳定性和可扩展性。 如果您有正在使用 IvorySQL 数据库的项目,不妨尝试将此功能集成到您的解决方案中,提升整体效率和可靠性。 > 本文由博客一文多发平台 OpenWrite 发布!

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

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部分的功能。

用户登录
用户注册