- 生成一个完整的App代码通常不会仅仅通过单一的文件或几种语言的简单组合来完成,因为App的开发涉及前端用户界面、后端逻辑处理、数据库管理以及可能的第三方服务集成等多个方面。不过,我可以为你提供一个概念
NewmanEdwarda2
前端ui数据库
前端(用户界面)yinanjinying.comHTML/CSS/JavaScript(原生Web开发)对于简单的WebApp,你可以直接使用HTML来构建页面结构,CSS来设置样式,JavaScript来添加交互性。React(JavaScript/TypeScript)对于更复杂的单页应用(SPA),React是一个流行的选择。它允许你构建可复用的UI组件。Flutter(Dart)如果你想要
- Failure to find (pom/jar) in http://xxx.com was cached in the local repository
@Young Cheung
jarjava
maven项目reimport正常,但是package就报错Failuretofind(pom/jar)inhttp://xxx.comwascachedinthelocalrepository到本地仓库将报错的jar包拷贝的任意目录下,在该目录下执行mvninstall:install-file-DgroupId=com.aliyun.oss-DartifactId=aliyun-sdk-oss
- Flutter函数
且听真言
Flutter函数的定义可选参数命名可选参数位置可选参数参数默认值词法闭包匿名函数
在Dart中,函数为一等公民,可以作为参数对象传递,也可以作为返回值返回。函数定义//返回值(可以不写返回值,但建议写)、函数名、参数列表showMessage(Stringmessage){//函数体print(message);}voidshowMessage(Stringmessage){print(message);}可选参数位置参数:用方括号[]表示,参数根据位置传递给函数;voidsh
- Flutter类
且听真言
Flutter类定义及使用构造函数get/set修饰符对象操作符继承接口和抽象类Mixins(混入)
Dart中的对象都继承自Object类,单继承(extend关键字)。Dart与Java、kotlin不同的是其无public、private、protected修饰符,默认public,通过在属性名、方法名前加_下划线来定义是否私有。实现一个简单的类classStudent{//默认publicfinalStringname;//默认publicfinalintage;Student(this.
- flutter开发多端平台应用的探索 上(基本操作)
夏目艾拉
flutter设计模式javaandroid
前言Flutter是一个跨平台的开发框架,它允许开发者使用相同的代码库来构建iOS、Android、Web和桌面应用程序。最近想了想,自己一直在用flutter开发特定端的应用,但是对于其他端的端特性case,如桌面端的菜单、多窗口、鼠标事件,需要怎么处理还没什么概念,本文旨在简单探索这方面的内容。正文首先就是判断平台了,可以通过如下方式import'dart:io'showPlatform;vo
- Python——破解rar压缩包密码
星和月
python算法
破解RAR压缩包密码一般是通过穷举法来实现的,即尝试所有可能的密码组合,直到找到正确的密码为止。以下是使用Python编写的一个简单的RAR密码破解程序:importitertoolsimportrarfiledefcrack_rar_password(rar_file,password_length):#创建RAR文件对象rf=rarfile.RarFile(rar_file)#定义密码字符集合
- flutter Sliver
CaptainRoy
Sliverimport'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){//TODO:implementbuildreturnMaterialApp(home:Scaffold(
- 插入排序(dart实现)
锦鲤跃龙
插入排序[toc]把数字插入合适的位置1.执行流程在执行过程中,插入排序会讲序列分为两部分头部是已经排好序的,尾部是待排序的从头开始扫描每一个元素每当扫描到一个原生,就将它插入到头部合适的位置,使得头部数据依然保持有序2.dart代码import'sort.dart';classInsertSort>extendsSort{@overridesort(){for(varbegin=1;begin0
- 深入浅出Flutter(一)
小时候很拽的样子
Flutter简介Flutter是Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过Dart语言开发App,一套代码同时运行在iOS和Android平台。Flutter提供了丰富的组件、接口,开发者可以很快地为Flutter添加Native扩展。由于背靠google,技术上支撑是足够的,且已经支持iOS、Android、Web、Windows、macOS、Linu
- maven项目如何将自定义的jar引入本地仓中,并编译通过
lics10
mavenjar
只需3步,轻松实现自定义jar包引入本地仓。1、在pom.xml文件中加入坐标com.hicap.echannelservice.ncclib//随便写ncclib-jar//随便写1.0//随便指定2、根据以上pom中的依赖,更替填写下方我给你的命令行(-Dfile=、-DgroupId=、-DartifactId=、-Dversion=)。注意-Dfile=后是你jar所在的绝对路径,填写好后
- 雷达基数据绘制成雷达图
七颗糖很甜
pythonflask算法
x波段雷达基数据绘制成雷达图1.雷达基数据格式Z_RADR_I_ZR001_20240521020002_O_DOR_YLD2-D_CAP_FMT.bin.bz22.基数据读取```pythonf=StandardData(i)#新版本标准数据radarTime=f.scantime#获取雷达时次date_str=radarTime.strftime('%Y-%m-%d%H:%M:%S')date
- 轻松flutter之 网络请求DIO
熊爸天下_56c7
这是比http库更强大的库哦https://pub.dev/packages/diohttps://github.com/flutterchina/dio/blob/master/README-ZH.md将http文章中的例子改造成dioimport'package:flutter/material.dart';import'package:dio/dio.dart';voidmain()=>ru
- Some Technical Advantages about Belt Conveyor
cnm2386
Withtheadvantagesoflargeconveyingcapacity,simplestructure,easymaintenanceandstandardizedparts.Beltconveyoriswidelyusedtoconveytheincompactmaterialsandendarticlesinmining,metallurgy,andcoalindustry,etc
- inexpensive electronic digital
chouxiao4977
KualaLumpurgathersallkindsofmerchandise,fromtraditionaltolocalizedartsinadditiontocrafts,intheworldfamousmanufacturerfashionforyoutoinexpensiveelectronicdigitalproducts.Concurrently,ithasbothequallyla
- Flutter | 异常处理
Tʀᴜsᴛ³⁴⁵
FlutterFlutter异常处理
本文示例代码在了解Flutter异常捕获之前需要先了解一下Dart的异常处理以及Dart的单线程模型,只有知道了代码的执行流程,我们才能只要该在什么地方去捕获异常Dart中的异常Dart可以抛出和捕获异常,如果没有被捕获,则会抛出,最终导致程序终止运行和Java不同,Dart中的所有异常时非检查异常,方法不会声明它们抛出的异常,也不要求捕获任何异常Dart提供了Exception和Error类型,
- 通俗易懂版经典的黑客入门教程
程序员橙橙
网络网络安全web安全计算机网络安全
给大家的福利基于入门网络安全打造的:黑客&网络安全入门&进阶学习资源包第一节、黑客的种类和行为以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”
- Flutter 从入门到精通的全方位指北
老三不说话、
flutter
一、Flutter简介Flutter是由谷歌开发的一款跨平台移动应用开发框架。它使用Dart语言,通过一套代码能够同时为iOS和Android等平台构建高质量的原生应用界面。Flutter的特点众多。在性能方面,它拥有出色的渲染能力,能够实现流畅的用户体验。其UI设计灵活多样,提供丰富的自定义选项,让开发者可以轻松打造出独特且美观的界面。同时,Flutter支持热重载功能,极大地提高了开发效率,开
- Flutter【03】图片输出package依赖关系
有趣的杰克
flutterandroidDartios鸿蒙
环境准备安装graphvizarch-arm64brewinstallgraphviz项目根目录pubspec.yaml文件内添加dev_dependencies:yaml:^3.1.1gviz:^0.4.0执行脚本项目根目录下添加dart文件,运行main函数import'dart:io';import'dart:convert';import'package:yaml/yaml.dart'as
- 快速写一个自己的flutter应用(新手入门)
大嘴史努比
flutter
1、搭建开发环境详细文档可以参考如下链接:跟着官方文档走就可以了。1.3搭建Flutter开发环境|《Flutter实战·第二版》(flutterchina.club)开发Android应用|Flutter中文文档-Flutter中文开发者网站-Flutter我的安装过程:首先,在VScode里面,安装Dart插件然后按住ctrlshiftP,跳出正上方的命令行,输入flutter,新建一个应用。
- 外刊笔记:双减政策下,教培巨头转型电商直播
福州翻译Ivy
Crackdownonthetutoringsectorforcesaneducationgianttotakeanunexpectedturn.教育新政迫使教育巨头做出了出人意料的转型Crackdown:把crack和down这两个词放在一起,就变成了名词crackdown,意思是打击,镇压。比如:Thepolicecrackdownonspeedersachieveditspurpose.警察
- FastReport .NET & FastReport.Core Crack
SEO-狼术
DelphinetCrack数据库
FastReport.NET&FastReport.CoreCrackKeyFeaturesofFastReport.NET:ItfunctionsalongwiththeinformationobtainedfromtheADO.NETandisallowedtofilterandsortthecolumnsofdatabeingresearched,utilizedalongwiththeir
- Navicat BI Viewer Crack
SEO-狼术
netDelphiCrack开发语言
NavicatBIViewerCrackKeyFeaturesofNavicatBIViewer:System-WideDarkMode:Allowsforamorecomfortableviewingexperiencebyapplyingdarkmodeacrosstheapplication.NavigationPane:Accessandmanagelocalandcloud-stored
- SautinSoft文档.Net v5.2.2.16-crack
SEO-狼术
CrackSautinSoft文档crack
SautinSoft文档.Netv5.2.2.16-crack什么是SautinSoftDocument.Net?«Document.Net»为您提供API,可以处理PDF,DOCX,RTF,HTML和Text格式的文档。允许创建,加载,编辑,合并,数字签名,转换以及文档的许多操作。适用于所有格式的单个DOM(文档对象模型)。使用节,段落,表,列表,文本,表单,字段,形状,图片,格式,文档属性等进
- SautinSoft HTML to RTF .Net Crack
SEO-狼术
DelphinetCrackhtml.net前端
SautinSoftHTMLtoRTF.NetCrackKeyFeaturesofSautinSoftHTMLtoRTF.Net:HTMLtoDOCXConversion:ConvertHTMLcontentintoDOCXfileswithfullsupportforCSSandsimpleJavaScript,creatingwell-formattedWorddocuments.HTMLto
- Flutter Theme Tailor Annotation使用指南:自定义主题注解
明似水
flutterflutterandroid
FlutterThemeTailorAnnotation使用指南:自定义主题注解简介theme_tailor_annotation是一个Dart注解包,它与ThemeTailor代码生成器配合使用,用于帮助开发者自定义Flutter应用的主题。ThemeTailor允许开发者通过注解来定义主题相关的属性,然后自动生成相应的主题代码。主要功能注解定义:使用注解来定义主题的属性和值。代码生成:自动生成
- flutter中Process.start执行命令后,kill对应进程
JIngles123
flutterflutter
问题类似这个:https://stackoverflow.com/questions/76244179/flutter-dart-how-to-kill-process-after-process-start我在flutter中用dart:io库中的Process.start执行一个命令行后,怎么也无法删除,尝试用dart给的process的pid,再kill掉,发现所给的并不是正确的pid,故此
- Flutter之ListView 嵌套不同的Item
涂文远
Flutterflutterandroid
效果实现代码如下home_page.dartimport'dart:convert';import'dart:ffi';import'package:flutter/material.dart';import'package:flutterwncq/constants/constants.dart'showAppUrls;import'package:flutterwncq/models/inde
- K-means++算法
坐看云起时zym
K-means++简介K-means++算法是K-means算法的改进版本,由DavidArthur和SergeiVassilvitskii于2007年提出。传统的K-means算法需要在初始阶段在数据集中随机选择个点作为聚类中心,而K-means算法的聚类效果和运行时间很大程度上受初始聚类中心的选择的影响。K-means++算法对于初始聚类中心的选择进行了改进。K-means++选择聚类中心的思
- leetCode_23_合并k个有序链表(dart实现)
锦鲤跃龙
23合并k个有序链表[toc]题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/请你将所有链表合并到一个升序链表中,返回合并后的链表。准备代码//Date:2020-11-0716:41:12///FilePath:/algorithm/leetCode/链表/list_node.dart///Description:链表的基类///
- ①flutter简介和环境构建①
paiidds
flutter
一、flutter简介1.flutter是什么? flutter是一款接近原生安卓的移动应用程序开发框架,采用dart语言(强类型)开发,提高了丰富的UI和组件库,支持响应式编程、热加载程序(无需重启就能加载)。底层dart语言和java语言类似,具备面向对象编程开发的特性。flutter可以包含不同平台之间的差异,共同复用同一套代码,交付出具有原生体验的高性能不同平台应用。2.为什么要学习fl
- apache ftpserver-CentOS config
gengzg
apache
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.o
- 优化MySQL数据库性能的八种方法
AILIKES
sqlmysql
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很
- JeeSite 企业信息化快速开发平台
Kai_Ge
JeeSite
JeeSite 企业信息化快速开发平台
平台简介
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流
- 通过Spring Mail Api发送邮件
120153216
邮件main
原文地址:http://www.open-open.com/lib/view/open1346857871615.html
使用Java Mail API来发送邮件也很容易实现,但是最近公司一个同事封装的邮件API实在让我无法接受,于是便打算改用Spring Mail API来发送邮件,顺便记录下这篇文章。 【Spring Mail API】
Spring Mail API都在org.spri
- Pysvn 程序员使用指南
2002wmj
SVN
源文件:http://ju.outofmemory.cn/entry/35762
这是一篇关于pysvn模块的指南.
完整和详细的API请参考 http://pysvn.tigris.org/docs/pysvn_prog_ref.html.
pysvn是操作Subversion版本控制的Python接口模块. 这个API接口可以管理一个工作副本, 查询档案库, 和同步两个.
该
- 在SQLSERVER中查找被阻塞和正在被阻塞的SQL
357029540
SQL Server
SELECT R.session_id AS BlockedSessionID ,
S.session_id AS BlockingSessionID ,
Q1.text AS Block
- Intent 常用的用法备忘
7454103
.netandroidGoogleBlogF#
Intent
应该算是Android中特有的东西。你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料 。都指定好后,只要调用startActivity(),Android系统 会自动寻找最符合你指定要求的应用 程序,并执行该程序。
下面列出几种Intent 的用法
显示网页:
- Spring定时器时间配置
adminjun
spring时间配置定时器
红圈中的值由6个数字组成,中间用空格分隔。第一个数字表示定时任务执行时间的秒,第二个数字表示分钟,第三个数字表示小时,后面三个数字表示日,月,年,< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
测试的时候,由于是每天定时执行,所以后面三个数
- POJ 2421 Constructing Roads 最小生成树
aijuans
最小生成树
来源:http://poj.org/problem?id=2421
题意:还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。
思路:对于已经有边的点,特殊标记一下,加边的时候把这些边的权值赋值为0即可。这样就可以既保证这些边一定存在,又保证了所求的结果正确。
代码:
#include <iostream>
#include <cstdio>
- 重构笔记——提取方法(Extract Method)
ayaoxinchao
java重构提炼函数局部变量提取方法
提取方法(Extract Method)是最常用的重构手法之一。当看到一个方法过长或者方法很难让人理解其意图的时候,这时候就可以用提取方法这种重构手法。
下面是我学习这个重构手法的笔记:
提取方法看起来好像仅仅是将被提取方法中的一段代码,放到目标方法中。其实,当方法足够复杂的时候,提取方法也会变得复杂。当然,如果提取方法这种重构手法无法进行时,就可能需要选择其他
- 为UILabel添加点击事件
bewithme
UILabel
默认情况下UILabel是不支持点击事件的,网上查了查居然没有一个是完整的答案,现在我提供一个完整的代码。
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, listV.frame.size.width - 60, listV.frame.size.height)]
- NoSQL数据库之Redis数据库管理(PHP-REDIS实例)
bijian1013
redis数据库NoSQL
一.redis.php
<?php
//实例化
$redis = new Redis();
//连接服务器
$redis->connect("localhost");
//授权
$redis->auth("lamplijie");
//相关操
- SecureCRT使用备注
bingyingao
secureCRT每页行数
SecureCRT日志和卷屏行数设置
一、使用securecrt时,设置自动日志记录功能。
1、在C:\Program Files\SecureCRT\下新建一个文件夹(也就是你的CRT可执行文件的路径),命名为Logs;
2、点击Options -> Global Options -> Default Session -> Edite Default Sett
- 【Scala九】Scala核心三:泛型
bit1129
scala
泛型类
package spark.examples.scala.generics
class GenericClass[K, V](val k: K, val v: V) {
def print() {
println(k + "," + v)
}
}
object GenericClass {
def main(args: Arr
- 素数与音乐
bookjovi
素数数学haskell
由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。
闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的&l
- Java-Collections Framework学习与总结-IdentityHashMap
BrokenDreams
Collections
这篇总结一下java.util.IdentityHashMap。从类名上可以猜到,这个类本质应该还是一个散列表,只是前面有Identity修饰,是一种特殊的HashMap。
简单的说,IdentityHashMap和HashM
- 读《研磨设计模式》-代码笔记-享元模式-Flyweight
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java
- PS人像润饰&调色教程集锦
cherishLC
PS
1、仿制图章沿轮廓润饰——柔化图像,凸显轮廓
http://www.howzhi.com/course/retouching/
新建一个透明图层,使用仿制图章不断Alt+鼠标左键选点,设置透明度为21%,大小为修饰区域的1/3左右(比如胳膊宽度的1/3),再沿纹理方向(比如胳膊方向)进行修饰。
所有修饰完成后,对该润饰图层添加噪声,噪声大小应该和
- 更新多个字段的UPDATE语句
crabdave
update
更新多个字段的UPDATE语句
update tableA a
set (a.v1, a.v2, a.v3, a.v4) = --使用括号确定更新的字段范围
- hive实例讲解实现in和not in子句
daizj
hivenot inin
本文转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html
当前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。
假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含
- 一道24点的10+种非人类解法(2,3,10,10)
dsjt
算法
这是人类算24点的方法?!!!
事件缘由:今天晚上突然看到一条24点状态,当时惊为天人,这NM叫人啊?以下是那条状态
朱明西 : 24点,算2 3 10 10,我LX炮狗等面对四张牌痛不欲生,结果跑跑同学扫了一眼说,算出来了,2的10次方减10的3次方。。我草这是人类的算24点啊。。
然后么。。。我就在深夜很得瑟的问室友求室友算
刚出完题,文哥的暴走之旅开始了
5秒后
- 关于YII的菜单插件 CMenu和面包末breadcrumbs路径管理插件的一些使用问题
dcj3sjt126com
yiiframework
在使用 YIi的路径管理工具时,发现了一个问题。 <?php  
- 对象与关系之间的矛盾:“阻抗失配”效应[转]
come_for_dream
对象
概述
“阻抗失配”这一词组通常用来描述面向对象应用向传统的关系数据库(RDBMS)存放数据时所遇到的数据表述不一致问题。C++程序员已经被这个问题困扰了好多年,而现在的Java程序员和其它面向对象开发人员也对这个问题深感头痛。
“阻抗失配”产生的原因是因为对象模型与关系模型之间缺乏固有的亲合力。“阻抗失配”所带来的问题包括:类的层次关系必须绑定为关系模式(将对象
- 学习编程那点事
gcq511120594
编程互联网
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- Reverse Linked List II
hcx2013
list
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 
- Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- Hadoop集群工具distcp
liyonghui160com
1. 环境描述
两个集群:rock 和 stone
rock无kerberos权限认证,stone有要求认证。
1. 从rock复制到stone,采用hdfs
Hadoop distcp -i hdfs://rock-nn:8020/user/cxz/input hdfs://stone-nn:8020/user/cxz/运行在rock端,即源端问题:报版本
- 一个备份MySQL数据库的简单Shell脚本
pda158
mysql脚本
主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份
数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。
1. 分别建立目录“backup”和“oldbackup” #mkdir /backup #mkdir /oldbackup
- 300个涵盖IT各方面的免费资源(中)——设计与编码篇
shoothao
IT资源图标库图片库色彩板字体
A. 免费的设计资源
Freebbble:来自于Dribbble的免费的高质量作品。
Dribbble:Dribbble上“免费”的搜索结果——这是巨大的宝藏。
Graphic Burger:每个像素点都做得很细的绝佳的设计资源。
Pixel Buddha:免费和优质资源的专业社区。
Premium Pixels:为那些有创意的人提供免费的素材。
- thrift总结 - 跨语言服务开发
uule
thrift
官网
官网JAVA例子
thrift入门介绍
IBM-Apache Thrift - 可伸缩的跨语言服务开发框架
Thrift入门及Java实例演示
thrift的使用介绍
RPC
POM:
<dependency>
<groupId>org.apache.thrift</groupId>