1.如何阅读spring源码?
2.AI视频工具更新3:阿里图像生成视频模型I2VGen-XL开源,阿里阿里生成高语义准确性和高清晰度的源码源代视频
3.阿里IM技术分享(六):闲鱼亿级IM消息系统的离线推送到达率优化
4.可能是你见过最专业的表单方案---解密Formily2.0
5.阿里java开发手册为什么不建议使用arraylist的sublist方法
6.å°ç¨åºä½ä»£ç å¼åå¹³å°ï¼
如何阅读spring源码?
如何阅读Spring源码
探究每一个核心的实现细节(UML图、跑单元测试用例、设计DEBUG,阿里阿里体悟)以上,源码源代仅为我自己阅读源码的设计weakhashmap 源码方式。
此处请大家内心默读三遍。阿里阿里阅读源码的源码源代魅力在于:分享一本阿里内部人都在使用的Spring源码手册分享给读者朋友们,学会掌握了本手册内容,设计距离成为阿里人也是阿里阿里成功的跨了一大步子。
首先,源码源代在工程右键,设计属性中,阿里阿里添加必要的源码源代jar包。选中必要的设计jar包,上面给出的源码jar包中,导入spring0.5中的所有jar包。其中lib内的是spring的jar包,用到哪个导入哪个,不知道的话,全部导入就行了。
准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。
Spring提供的@Transactional注解由SpringTransactionAnnotationParser进行解析。SpringTransactionAnnotationParser的源码还是很简单的,它使用AnnotatedElementUtils工具类定义的find语义来获取@Transactional注解信息。
如何将spring开源代码导入idea中进行阅读
1、首先,可以点击上方的Run的选项。然后点击EditConfigurations这个选项。然后看到这里的ServiceApplication这个选项。然后选择到Configuration这个选项。然后经常需要设置的为下面的Parameters的选项。
2、创建一个ntelliJIDEA的新项目的(File|Newproject)。打开newProject窗口。vc键盘钩子 源码选择Importprojectfromexternalmodel,Next选择导入Eclipse项目,还支持Flash/FlexBuilder和Maven项目。Next选择Eclipse应用所在目录。
3、首先,应该去官网spring.io阅读写spring框架的理念,就好比读一本书,要阅读这本书的纲要,要明白为什么要设计spring架构。
4、你好。根据你的描述:直接把source的zip或者目录往libarary里面加就行了,会自动关联的,仅供参考。
5、SpringSpring是一个开源框架,Spring是于年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。
怎么阅读Spring源码探究每一个核心的实现细节(UML图、跑单元测试用例、DEBUG,体悟)以上,仅为我自己阅读源码的方式。
准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。
首先,在工程右键,属性中,添加必要的jar包。选中必要的jar包,上面给出的源码jar包中,导入spring0.5中的所有jar包。其中lib内的是spring的jar包,用到哪个导入哪个,android api源码下载不知道的话,全部导入就行了。
更重要的是这些所谓的结论大多是抄来抄去,基本源自一家,真实性也有待考证。那作为程序员怎么能知其所以然呢?此处请大家内心默读三遍。
SpringSecurity源码整体解析遍历securityFilterChainBuilders(其实就是HttpSecurity)列表调用其build方法,生成SecurityFilterChain实例,最后利用多个SecurityFilterChain实例组成List,再封装到FilterChainProxy。
本文适合:对SpringSecurity有一点了解或者跑过简单demo但是对整体运行流程不明白的同学,对SpringSecurity有兴趣的也可以当作你们的入门教程,示例代码中也有很多注释。
Session本身是由Servlet容器进行管理,在内部可以完成Session的创建、销毁等,当达到了会话的最大非活动间隔时长,那么会话会在服务器端会被失效。
SpringSecurityOauth2Token提取流程源码分析spring-security-Oauth2版本:RELEASE整个流程下来,是通过OAuth2AuthenticationProcessingFilter提取请求头参数,获取不到再去获取请求参数。
从SpringSecurity解析一:安全配置过程概览章节我们知道了springSecurityFilterChain的大致构建过程,这里进步探讨其创建的细节。
如何高效阅读源代码?1、首先要理清楚代码结构和业务结构(应该有些文档或者大的流程图),这是阅读具体代码的前提。阅读Javaweb项目的代码:你需要找到View层的代码:前端页面、、资源文件都在其中。
2、当然有。终于到重点了,隆重推出由官方支持的方式:只需要在代码仓库页面按一下.就可以直接使用VSCode打开,而且支持编辑。也可以通过地址访问,把.com改成.dev,collections.sort 源码比如:太方便了,太优雅了。
3、查看拦截器,监听器代码,知道拦截了什么请求,这个类完成了怎样的工作。
4、用命令(apktooldxxx.apkxxx_xml)反编译xxx.apk包从xxx_xml文件夹得到xml文件第二步得到的程序源代码和第三步得到的xml文件组合下,即可得到完整的apk源码。
5、先找出功能体系,再分离出功能模块。知道能干什么,再知道怎么干。
AI视频工具更新3:阿里图像生成视频模型I2VGen-XL开源,生成高语义准确性和高清晰度的视频
年,AI视频领域竞争激烈,各大企业不断推出创新产品。从国际到国内,如Runway Gen2、Meta的Emu Video、Stability AI 的SVD 和 SVD-XT、Pika Labs的Pika 1.0等,中国科学院的GPT4Motion、字节跳动的PixelDance和MagicAnimate、阿里的Animate Anyone、腾讯的AnimateZero、美图的MiracleVision,以及由上海人工智能实验室、香港中文大学和斯坦福大学联合发布的AnimateDiff,众多AI视频工具共同构成了这一领域的丰富生态,但目前这些产品多处于概念阶段,未实现正式应用。
近期,阿里图像生成视频模型I2VGen-XL开源,vb连发源码进一步丰富了AI视频生成技术。作为一款专注于高清图像转视频的模型,I2VGen-XL由两个核心组件组成,分别针对语义一致性与清晰度进行优化。通过大规模混合视频与图像数据预训练,并在高质量数据集上微调,I2VGen-XL展现出了跨领域泛化能力,适用于多样化的数据生成需求。用户可在魔搭社区获取I2VGen-XL源代码,自由利用与调整模型。
与另一款AI动画项目Animate Anyone相比,I2VGen-XL侧重于从图像到视频的生成,聚焦于提高图像清晰度与语义一致性。而Animate Anyone则凭借一张人物静态图像与骨骼动画,生成生动逼真的动画片段,尤其擅长维持视频中人物外观的空间与时间一致性,避免时间抖动或闪烁等现象,适用于动画制作领域。
I2VGen-XL与Animate Anyone都是阿里在AI视频生成领域的杰出成果,它们虽然都为AI技术发展贡献了力量,但应用领域与解决的问题有所差异。I2VGen-XL旨在提升图像转视频的效率与质量,而Animate Anyone则专注于动画制作,强调动作连贯与逼真度。
I2VGen-XL模型设计采用了基础阶段与精炼阶段的分步策略。在基础阶段,模型接收静态图像输入,生成低分辨率视频;随后,低分辨率视频进入精炼阶段,通过文本提示指导,生成高分辨率且具有特定动态特征的视频。这一过程充分展现了模型在细节处理与动态生成方面的优势。
在效果评估中,I2VGen-XL模型在多个数据集上与当前最先进方法进行了比较。数据集包括公共数据集(如Web-VidM和LAION-M)与私有数据集,共计覆盖万个视频与亿张,用于优化与训练模型。评估指标涵盖视频的语义一致性、清晰度、时空连续性等关键性能,与人类生成视频以及其它顶级视频生成模型(如Gen-2和Pika)进行了对比。
实验结果显示,I2VGen-XL模型在保持语义一致性和提升视频清晰度方面表现卓越,尤其在动作丰富性、图像身份保持、空间细节与时间连续性等方面表现出色。模型还具备生成高分辨率视频的能力,并有效修复了视频中的细节问题。这些评估结果证明了I2VGen-XL在视频生成任务上的有效性和价值,展现了其在AI视频生成领域的强大潜力。
阿里IM技术分享(六):闲鱼亿级IM消息系统的离线推送到达率优化
本文由阿里闲鱼技术团队逸昂分享,原题“消息链路优化之弱感知链路优化”,有修订和改动,感谢作者的分享。
引言:闲鱼的IM消息系统作为买家与卖家的沟通工具,对于提升用户体验和商品成交至关重要。随着业务体量的快速增长,当前这套消息系统正面临离线推送到达率问题,这是影响用户体验的关键因素。
系列文章:本文是系列文章的第6篇,主要探讨解决离线推送的到达率问题的技术实践。内容包括问题分析和技术优化思路等,旨在为读者提供启发。
通信链路类型的划分:将消息链路分为强感知链路和弱感知链路。强感知链路强调端到端延迟和消息到达率,而弱感知链路则主要关注消息的到达率,因为接收方可能是离线状态。
弱感知链路定义:弱感知链路指的是离线消息推送系统,相对于在线消息和端内推送,离线推送难以确保用户的感知。常见问题包括消息未发送到用户设备、被系统折叠或忽略。
弱感知链路逻辑构成:弱感知链路包含Hermes、agoo、厂商、设备、用户和承接页等环节。消息从推送产生到用户最终进入APP,共经历5个步骤。
弱感知链路具体问题:核心问题在于优化到达设备的阶段,提升消息到达率。通过漏斗图分析,确定优化重点,并针对每个步骤进行优化。
技术优化手段:首先优化agoo受理率,通过明确用户对应的设备信息,避免无效调用。其次优化厂商推送通道受理率,标记不同类型消息,避免触发厂商的推送限制。最后优化Push点击率,增加跳过广告功能并优化权限校验。
实际优化效果:通过技术优化,弱感知链路的离线消息到达率有了明显提升,整体效果显著。
总结:本文主要关注IM消息系统中弱感知链路的优化,特别是离线消息送达率问题。在复杂的消息系统发展中,面临的问题和挑战将继续分享和探讨。
相关资料:提供了一系列相关资料链接,涵盖IM系统设计、优化和实践等内容,旨在为开发者提供全面的学习资源。
学习交流:推荐多篇移动端IM开发入门文章和开源IM框架源码,鼓励开发者深入学习和实践。文章已同步发布于“即时通讯技术圈”公众号,欢迎关注。
可能是你见过最专业的表单方案---解密Formily2.0
Formily2.0官网:v2.formilyjs.org/,源码地址:github.com/alibaba/formilyjs。项目由笔者发起,特别感谢阿里数字供应链事业部对Formily项目的重视与支持,以及宋思辰为Formily2.0贡献了高性能的@formily/vue组件,潇泽贡献了智能网格布局组件FormGrid。
如果你是初次接触Formily,可以阅读介绍以了解其如何解决表单问题。对于已有使用经验的用户,你会发现Formily2.0的定位从复杂场景扩展到了企业级表单的专业解决方案,专业性体现在以下几个方面:
Formily2.0自信地表示它足够专业,并且在性能优化、依赖关系管理、包设计、答疑成本控制等方面进行了深入改进。
关于性能优化,解决性能问题的关键在于减少初次渲染的阻塞式计算,通过引入Reactive模式并采用类似Mobx的解决方案,优化了性能,同时减少了props脏检查的副作用。此外,引入被动联动模式,借助@formily/reactive,实现了响应式领域模型,大大提高了性能。
依赖关系问题上,移除了styled-components、immerjs和rxjs的依赖,改用组件库自身的样式体系,如antd,或替代方案,如less和scss。这不仅减少了体积,还提高了可控性和稳定性。
在包设计方面,统一组件包到@formily/antd,抽离了@formily/json-schema包,移除了@formily/react-shared-components,确保每个包的职责明确。
答疑成本问题得到缓解,通过定义新Schema Type Void、引入x-decorator/x-decorator-props描述包装器、维护dataSource状态、定义x-reactions响应器概念,以及废弃自动删值的默认行为,使答疑更加清晰。
自定义组件扩展机制采用工厂式注册,使用@formily/reactive实现更优雅的开发方式,引入readPretty模式,使自定义组件更加灵活。
文档体系的完善使得查找文档变得容易,便于维护和使用者查找。
发量问题得到了解决,通过解决所有之前的问题,确保了系统更加高效稳定。
Formily2.0的亮点包括独立的响应式解决方案@formily/reactive,更优雅的开发方式,支持Vue2/Vue3,以及Effects局部状态、智能网格布局、响应式并发渲染等特性。
总结来说,Formily2.0在多个方面进行了全面改进,旨在提供专业级的企业级表单解决方案,通过引入Reactive响应式编程模式,解决了性能、依赖、包设计、答疑成本等核心问题,为开发者提供了一个高效、灵活且易于维护的表单框架。
阿里java开发手册为什么不建议使用arraylist的sublist方法
使用ArrayList的SubList方法存在潜在风险与不便之处,原因主要体现在以下几个方面。
举例而言,从ArrayList和内部类SubList的声明出发,两者皆继承自同一个父类AbstractList。在Java源码中,这种设计表明两者在逻辑上存在紧密关联。
深入分析,SubList对象实质上是一个代理对象,它关联于原始ArrayList实例。这意味着任何对SubList的修改操作,最终都会反馈到原始ArrayList中。这种特性虽在某些场景下带来了便利,但同时也带来了风险。
首先,SubList与原始列表的这种关联性可能导致不必要的资源消耗与性能问题。由于修改操作会反映到原始列表上,每次对子列表的修改都需要同步到原始列表中,这无疑增加了系统的处理负担。
其次,由于SubList作为代理对象,其操作可能会引发未预料的异常。例如,当尝试对已经迭代结束的子列表进行修改时,可能会导致运行时异常,影响程序的稳定性。
综上所述,考虑到SubList方法在实际应用中的潜在风险与不便,推荐使用更安全且灵活的替代方案。例如,可以创建一个新的ArrayList实例,通过调用原始列表的subList方法并传入指定的开始与结束索引来生成。这种操作不仅避免了与原始列表的关联性,还能提供更可控的列表操作环境。
å°ç¨åºä½ä»£ç å¼åå¹³å°ï¼
è·ªæ±ä½ä»£ç å¼åæåªäºï¼
å¹´å½å 家ä¼ç§ä½ä»£ç å¼åå¹³å°æ±æ»çç¹ï¼
1ãå®æââé¿é
å®ææ¯é¿éå·´å·´èªç çä½ä»£ç åºç¨æ建平å°ï¼å¯æ大æé«å¼åæçãäºå¹´3æä¸çº¿ï¼ç¨æ·å¯ä»¥å¨å¯è§åçé¢ä¸ä»¥æææ½çæ¹å¼ç¼è¾åé 置页é¢ã表ååæµç¨ï¼å¹¶ä¸é®åå¸å°PCåææºç«¯ã
2ãç»ä¿¡Informatââåºç³åä½
ç»ä¿¡Informatæ¯é¢åä¸å¡äººåçä½/é¶ä»£ç å¹³å°ï¼å ·æé«åº¦çµæ´»çâæ°æ®+æé+æµç¨âå¨æä¿¡æ¯ç®¡ç模åï¼ç¨æ·ä¸éè¦ä¾èµä»£ç å¼åï¼å¯ä»¥éè¿èªä¸»é ç½®çæ¹å¼ï¼å¿«éæ建ä¼ä¸è¿è¥æéçå类管çç³»ç»ï¼äº®ç¹æ¯æä¾æ°¸ä¹ å è´¹çè¯ç¨ã
3ãç±éæââç¾åº¦
ç±éææ¯ç¾åº¦æºè½äºæ¨åºçä½ä»£ç å¼åå¹³å°ï¼æ¯æå¤ç§åºç¨é¡µé¢æ建形å¼åæ°æ®æ¥é©³æ¹å¼ï¼æ¢å¯èªå»ºæ°æ®æ¨¡åï¼ä¹å¯çµæ´»æ¥é©³å®¢æ·å·²ææ°æ®æºæ对æ¥å¤é¨APIï¼æ¯ææµ·éåè½ç»ä»¶ï¼å¹¶æ¯æèªå®ä¹ä»£ç ãç³»ç»åéåæ¥å£éé è½åï¼çµæ´»åº¦åª²ç¾ä»£ç å¼åã
4ãè½»èââç½æ
ç½æè½»èæ¯ç½ææ¨åºçä½ä»£ç å¹³å°ï¼ä»¥æ¨¡å驱å¨çæ¹å¼ï¼æ¯æææ½å³å¯æ建ä¸å¡æ¨¡åï¼æµç¨å¼æï¼æ¯æææ½çææ ååä¸å¡æµç¨ãæ¯æå¤å±æ¬¡ãç»ç²åº¦èµäº§å¤ç¨ï¼ä¸æ¬¡å¼åï¼å¤å¤ä½¿ç¨ï¼åºäºäºåçåºåº§ï¼ä¸é®åå¸ï¼èªå¨åé¨ç½²è¿ç»´ã
5ãå¾®æââè ¾è®¯
è ¾è®¯äºå¾®æä½ä»£ç 以äºå¼åä½ä¸ºåºå±æ¯æï¼éè¿è¡ä¸å模æ¿ãææ½å¼ç»ä»¶åå¯è§åé 置快éæ建å¤ç«¯åºç¨ï¼å°ç¨åºãH5ãPCWebåºç¨çï¼ï¼å å»äºä»£ç ç¼åå·¥ä½ï¼åºäºè ¾è®¯ççæé¾ï¼å®å¯ä»¥éæä¼ä¸å¾®ä¿¡ãé¾æ¥è ¾è®¯SaaSçæãå¿«éæ建å°ç¨åºã
6ãIVXå¹³å°ââäºå¨åç§æ
0代ç å¯è§åç¼ç¨å·¥å ·ï¼å¯ä»¥å¿«éçæç½ç«ï¼æ¬æºAPPåå®å ¨éæçâ微信å°ç¨åºâå¼åç¯å¢ãæ¨ä¹å¯ä»¥ç´æ¥çææºä»£ç ã带æ¥äºç¼ç¨æ¹æ³åç¼ç¨è¯è¨çå级ã
7ãæ´»åæ ¼ââè¡èå
æ´»åæ ¼å ·ææ´å¼ºçå¼æ¾æ§åæ©å±è½åï¼å ç½®æ°æ®åºéæãWebAPIéæã串å£éæåç¼ç¨æ©å±è½åï¼å¯ä¸è¿è¡å¨å±åç½çå类软件ã硬件以åææ°çäºèç½æå¡æ ç¼éæï¼ä¸ºæéç°æ软硬件ï¼æ建ä¼ä¸æ°ååå¹³å°æä¾åå®çææ¯ä¿éã
8ãç®éäºââå¸è½¯
ç®éäºæ¯ä¸ä¸ªçµæ´»ä¸æäºä½¿ç¨çåºç¨ç¨åºæ建平å°ï¼å æ¬èªå®ä¹è¡¨åï¼èªå®ä¹æ¥åï¼èªå®ä¹æµç¨å¼æï¼æ¶æ¯æéåå ¶ä»æ¨¡åãæ é代ç ï¼æ¨å¯ä»¥å¿«éèçµæ´»å°æ建ä¸å¡ç®¡çç³»ç»ï¼ä»¥æ»¡è¶³ä¼ä¸ç个æ§å管çã
9ãæéäºââä¸ä¼æé
ç¨æ·ä¸éè¦ä»£ç å¼åå°±è½å¤æ建åºç¨æ·ä½éªä¸ä½³çéå®ãè¿è¥ã人äºãéè´çæ ¸å¿ä¸å¡åºç¨ï¼æéä¼ä¸å é¨æ°æ®ï¼ä¹è½å¤éè¿APIåWebhookåå ¶ä»ç³»ç»å¯¹æ¥ãå¹³å°å çèªå¨åå·¥ä½æµè¿å¯ä»¥å®ç°å®¡æ¹ãå¡«åçæ§å¶æµç¨åä¸å¡èªå¨åï¼å¦æç¨æ·ä¼ä¸ä½¿ç¨ééæä¼ä¸å¾®ä¿¡ï¼ä¹å¯ä»¥å°å¹³å°å æ建çåºç¨ç´æ¥å¯¹æ¥å°å·¥ä½å°ä¸ã
ãäºè¡¨ââä¹é软件
äºè¡¨æ¯ä¸ä¸ªåºäºäºç«¯çé¢åæç»ç¨æ·çä¿¡æ¯ç³»ç»è®¾è®¡ä¸è¿è¡å¹³å°ï¼åºäºWeb表åçæ¦å¿µå¼åçæ建表åçåè½é常快éä¸æäºä½¿ç¨ï¼é¢åä¸å¡ï¼éç¨è¡¨æ ¼å¼ç¼ç¨æ¹æ³ï¼è®¾è®¡è ä¸åéè¦å¦ä¹ ä¼ ç»ä»£ç ç¼ç¨åæ°æ®åºè®¾è®¡ã
ãææäºââä¹ç« ä¿¡æ¯
ææäºæ¯ä¸ä¸ªä½ä»£ç åºç¨ç¨åºå¹³å°ï¼è¯¥å¹³å°å°ä¼ä¸çå端åå端è¿æ¥èµ·æ¥ãå¯ä»¥èªå®ä¹åç§ä¼ä¸åºç¨ç¨åºå¹¶å°å ¶ç¨äºäºå¸æ·ï¼å¹¶ä¸å¯ä»¥å®æ¶å¨çº¿è¿è¡è°æ´ãå¼å人åè¿å¯ä»¥éè¿ä»£ç èªç±å¼åã
ãJePaaSââå¯ç¹ä¼ä¸
JEPaaSæ¯å½å å®ç¨çä½ä»£ç å¿«éå¼åå¹³å°ï¼å ·æå¹´çææ¯æ²æ·ï¼å¯è§åå¼åç¯å¢ï¼ä½ä»£ç ææ¾é ç½®å¼å以åæå ¶ç®åçæä½ï¼å¯ä»¥æ大å°å¸®å©å ¬å¸åå°äººå·¥åæ¶é´ææ¬ã
ãåçéæ¹ââåç软件
åçéæ¹åæ°ç使ç¨é ç½®æ件æ¥æè¿°ä¸å¡æ¨¡ååä¸å¡åè½ãå¼å人ååªéè¦ç¼åç®åçé ç½®æ件å³å¯æ建ä¼ä¸çº§åºç¨ç¨åºãå¯ä»¥éè¿è®¾ç½®åæ°æ¥é ç½®æ°ç¾ä¸ªç³»ç»åè½ã
ãAPICloudââç¨å软件
é¢å ç移å¨åºç¨ç¨åºäºæå¡å¹³å°ä¸ºå¼å人åæä¾äºåç§APPå¼åå·¥å ·ï¼éç¹æ¯ç§»å¨APPå¼åï¼ç§»å¨APPç产çã
ãè½»æµââææ ¡ä¿¡æ¯
å¨çº¿ä¸å¡æµç¨ç³»ç»å¯ä»¥éè¿è½»æµè¿è¡å®å¶ãéè¿äººåï¼æµç¨åæ°æ®ç管çï¼å¢å¼ºä¼ä¸ä»·å¼æµï¼éè¿å¨çº¿åä½ï¼å ±äº«ï¼ä¸å¡æ²éï¼å建âæ°ä¸ä»£âä¼ä¸å¨ææ°æ®åºãå¼åçé¢è¶äºå¹´è½»åã
ãéæ¹ç½è¡¨ââéæ¹æä¹
Excelåºäºè¡¨åçå¼åå·¥å ·ï¼æ为å®å¶çæ°æ®åºåºç¨ç¨åºï¼å¹¶æä¾äºæ éçä¸å¡æ建åºç¨ç¨åºå¹³å°çèªç±ãå¨æ¯å¤©çå®æ½å¨æä¸ï¼Excelå°æ建åºç¨ç¨åºä»¥åæ建å®æ½åæä½éæã
ãClickPaaså¹³å°ââç±æ¹æ¯ç§æ
å´ç»å建è ï¼è¿æ¥å¨åé«å¼ºåº¦åºå±è¿ä¸ä¸ªæ¨¡åå¿«éæ建系ç»ååºç¨ç¨åºã模å驱å¨çå¼åæ¯è®¾è®¡æ¦å¿µï¼å æ¬æ¦å¿µæ¨¡åï¼æ°æ®æ¨¡åï¼é¡µé¢æ¨¡åï¼è¿ç¨æ¨¡åçã
ãJeecgBootââå½ç¬ä¿¡æ¯
JeecgBootæ¯ä¸æ¬¾åºäºBPMçä½ä»£ç 产åï¼æ¯æå¾®æå¡ãåè½å ¨é¢ï¼å¯ä¸é®çæåå端代ç ï¼ç®ååè½ä¹å¯å®å ¨å¨çº¿å®æãæ¢è½å¿«éæé«æçï¼èçç åææ¬ï¼åæ¶åä¸å¤±çµæ´»æ§ã
ãæ°äºââ奥å²
è·é¿éææï¼èé é¿é强å¿åå±ï¼ééåæ级å®å¶æå¡åï¼æä¾è¡¨åãæµç¨å¼æï¼æ¥è¡¨çåè½ã积æ¨å¼åºç¨æ建ï¼åæ¶å ·å¤ä»£ç å¼ååå¤é¨ç³»ç»éæè½åãä¸éééæï¼æ¯æPC端ä¸ç§»å¨ç«¯ä½¿ç¨ã
ãJ2PaaSââåé¼ç§æ
J2PaaSæ¯åé¼ç§æåºäºå¹´ææ¯æ²æ·å项ç®ç»éªèç åï¼æ©å¨å¹´å°±è·å¾å ç¼ç å½å®¶åæä¸å©ï¼ç®åç»è¿5次çæ¬è¿ä»£ï¼è¦ç软件项ç®éæ±åæã设计ãå¼åãæµè¯ãè¿è¡ãç»´æ¤ä¸ç®¡ççå ¨è¿ç¨ãJ2PaaSå¹³å°æ常è§éè¦ç¨åºåå®æçåè½éæå¨æ¡æ¶ä¸ï¼å°è£ 为å大åæ°ï¼å¼å人ååªéå ³æ³¨ä¸å¡é»è¾ï¼é¡µé¢ç»è£ åæµç¨è®¾è®¡çç¸å ³åè½å·²ç»å ç½®å®æï¼æ¯ä¸æ¬¾ä¼ä¸çº§ä½ä»£ç å¹³å°ã
ãå为äºAppCube
åºç¨éæ¹AppCubeï¼ç®ç§°AppCubeï¼æ¯ä¸æ¬¾ä½ä»£ç åºç¨å¼åå¹³å°ï¼æºäºå为åºç¨å¼ååæ°åå转åçå®è·µï¼æä¾äºäºä¸æ ç åãä½ç åãæ¯æå¤ç åçåºç¨å¼å模å¼ï¼å±è½äºææ¯çå¤ææ§ï¼æåäºä¼ä¸å¼åçæçãåæ¶æä¾åºç¨èµäº§çå¼åæ ååå¾®æå¡æ¡æ¶ï¼å©åä¼ä¸ä¸ææ²æ·å¯å¤å¶çå¥ä»¶ï¼å éåºç¨çå®å¶ï¼å¹¶éè¿å¼æ¾ççæï¼å®ç°å¥ä»¶èµäº§çåä¸åç°ã
ãé£ä¹¦å¤ç»´è¡¨æ ¼ââåè
åèè·³å¨é£ä¹¦å¤ç»´è¡¨æ ¼æ¯ä¸æ¬¾ä»¥è¡¨æ ¼ä¸ºåºç¡çæ°ä¸ä»£æçåºç¨ãå®å ·å¤è¡¨æ ¼çè½»çåä¸å¡ç³»ç»ç强大ï¼èåäºå¨çº¿åä½ãä¿¡æ¯ç®¡çåå¯è§åè½åï¼è½å¤èªéåºå¢éæç»´åä¸å¡åå±éæ±ï¼æ¯å ·å¤ä¸ªæ§åè½åçä¸å¡ç®¡çå·¥å ·ã
ãéè¶äºè穹ââéè¶è½¯ä»¶
éè¶äºè穹çå¼åæå¡äºæ¯åºäºéè¶ç¬åç第å代å¨æé¢å模å(KDDM)ï¼å¼åæå¡äºæä¾å¨æå»ºæ¨¡å·¥å ·ï¼æ¯æå¯è§åé ç½®ãä½ä»£ç å¼åï¼è½»æ¾æ建åºäºå¾®æå¡æ¶æçèªå®ä¹åºç¨ã为äºåºç¨(SaaSæå¡)çå¼åãé¨ç½²ãè¿è¡åè¿è¥æä¾ä¸ç³»åæå¡å管çå·¥å ·ï¼æ¶µçå¾®æå¡ç»ä»¶ãå¼åæå¡ãè¿è¡æå¡ãæå¡ç®¡çãAPIæå¡æ¡æ¶ãåºç¨å»ºæ¨¡ãäºæ¯ææå¡ä¸è¿ç»´æå¡çãéè¶äºÂ·è穹å¼åæå¡äºåºäºå¨æé¢å模åæä¾å¨æå»ºæ¨¡å·¥å ·ï¼æ¯æå¯è§åé ç½®ãä½ä»£ç å¼åï¼è½»æ¾æ建åºäºå¾®æå¡æ¶æçèªå®ä¹åºç¨ã
ãæ³å¾®ä½ä»£ç ââæ³å¾®
æ³å¾®ä»¥âç»ç»æéå¼æã建模å¼æãæµç¨å¼æãéæå¼æãå 容å¼æãé¨æ·ä»¥åæ¶æ¯å¼æâç7大å¼æ为æ¯æï¼å¸®å©ç»ç»æé å¼æ¾å ±äº«çä½ä»£ç åºç¨æ建平å°ãå¿«éæ建è½åæ¯æ³å¾®ä½ä»£ç æ建平å°çéè¦ç¹æ§ï¼ç»ç»éè¿åå°å¼æé ç½®æ¹å¼ï¼æææ½å³å¯æ建个æ§ååºç¨åºæ¯ãçµæ´»ç表å设计ãæµç¨æ建åè½ï¼è¿æå¨çº¿è°è¯ãæºè½ä¿®æ¹åè½ï¼è®©åºç¨æ建æ´å æ¹ä¾¿ãæºè½ãæ³å¾®ä½ä»£ç å¹³å°å®ç°äºå é¨ååï¼ç¡®ä¿å é¨æµç¨ãé¨æ·ãææ¡£ãæ°æ®ãè§è²ä¹é´çååå ³èï¼ç¹å»ä»»ä½ä¸ä¸ªå段ï¼å³å¯è¿½æº¯ä¸ä¹ç¸å ³çæ°æ®åå·¥ä½å 容ï¼äºè§£ä¸å¡å ¨è²ãéè¿æ³å¾®ä½ä»£ç ä¸å¡æ建平å°ï¼ç»ç»å¯ä»¥å¨ä¸ä¸ªå¹³å°è¿æ¥ãæ©å±åéæERPãCRMãHRMãSRMçåºç¨ã
ãiGIXââ浪潮
浪潮iGIXä¼ä¸æ°ååè½åå¹³å°ï¼å å«ææ¯ãæ°æ®ãä¸å¡ä¸å¤§ä¸å°ï¼åºäºäºåçææ¯ï¼å¾®æå¡æ¶æï¼èåå¼¹æ§è®¡ç®ãæºè½ç©èã大æ°æ®æ²»çãæºå¨å¦ä¹ ã认ç¥æå¡ãæ°åæ°æ®å¹³å°çåºç¡ææ¯ï¼æä¾ä½ä»£ç å¼åãDevOpsãæ··åäºéæãçæå¼æ¾çåºç¨åæ°å éè½åï¼å ç½®æ°æ®èµäº§ç®¡çä¸ä¸°å¯çæ°æ®æå¡ï¼æç ´æ°æ®å£åï¼å ¨é¢æ´åä¼ä¸æ°æ®èµæºï¼æ建åºäºæ°æ®çåæ°è½åï¼æ²æ·å ±äº«ä¸å¡æå¡ï¼æ建ä¸å¡æå¡è½åã浪潮iGIXæ¯æä¼ä¸ææ¯ãä¸å¡ãæ°æ®ä¸åä¸èååæ°ï¼èµè½ä¼ä¸æ建æ°ååä¸å°ï¼ä¸ºä¼ä¸å»ºç«æ´å ·åæ°çµæ´»çä¸å°ç»ç»æºå¶åä¸å¡æºå¶ï¼ä½¿åå°ä¸å¡æ´ææ·ãæ´å¿«éçéåºå¿«éå¤åçåä¸ç¯å¢ï¼å éä¼ä¸å®ç°æ°åå转åã浪潮iGIXæ¨å¨æé ä¸ä¸ªå®æ´çä¼ä¸åºç¨çæç³»ç»ï¼æ¢æ¯æµªæ½®äºERPGSCloudçåºç¡æ¯æå¹³å°ï¼ä¹æ¯é¢åä¼ä¸ä¿¡æ¯ä¸å¿/å ¬å¸ãåä½ä¼ä¼´ãç¬ç«è½¯ä»¶å¼ååï¼ISVï¼ççæèµè½å¹³å°ï¼æ¿åä¼ä¸æç»çæ°åååæ°è½åã
ãæ鲸äºââçé»çå¨
çé»çå¨æ鲸äºæ¯é¢å çä½ä»£ç åBPMPaaSæå¡åä¹ä¸ï¼äº§ååè½å·²è¦çä½ä»£ç ãæºè½æµç¨ãéæã移å¨ãä¸å¡è§åå¨å çPaaSè½åï¼æ¯ææ°åå转åä¸ååå±çº§å«çè½åè¦æ±ã产åå¸å±ä¸æä¾é¢å大ä¸åç»ç»çAWSPaaSä½ä»£ç å¼åå¹³å°åé¢åæé¿åç»ç»çæ鲸äºä½/æ 代ç äºåºç¨å¹³å°ï¼å¸®å©ç¨æ·å éæ°åå转ååè¿è¥åæ°ãæ æç¨æ·è¦çåå·¥ãéèãæ¿åºãæè²ãçµåé¶å®ãè½æºåå·¥ãå·¥ç¨å»ºççåç´è¡ä¸ãå¹´è·éå±±åå ¬A+è½®æç¥æèµï¼å ±å»ºææ¡£åä½+ä½ä»£ç PaaSåçæï¼æ»¡è¶³ä¸åè§æ¨¡ãä¸åé¢åç¨æ·å¯¹æ°åå转åçéæ±ã
ãèåä½ä»£ç ââèå软件
èå软件æ¯å½å ç¥åçç¥è¯ç®¡çãååOAæå¡åçãå¨åååå ¬å¸åºåé åºè¾é«çç¥å度ï¼ä¹æ¯ææ©ä¸äºèç½TOBçæèµ°çæè¿çèçååååãå¹´èå软件ä¸ééè¾¾ææç¥åä½ï¼ç´è³å¹´éé注èµï¼èå软件ä¸ééçæå¼å§ç´§å¯ç»åï¼ç±äºå ¶è¿å¾ç大é大客æ·é¡¹ç®ç»éªå产åæå¡ç积累ï¼èå软件å¨åºäºå¤§å®¢æ·çâè¡¨æ ¼+æµç¨+æ°æ®âçä½ä»£ç æå¡é¢åæçä¸å®çå åä¼å¿ï¼å½¢æäºå¯¹ééçæçå¸åºè¡¥å ãèå软件水桶å产åç¹å¾æ¯è¾çªåºï¼ä½ä¸ºä¸ä¸ªèçååOAåçï¼èå软件å°ä½ä»£ç ä½ä¸ºè½åä¹ä¸è¾åºç»å®¢æ·çå¾åæ´æµï¼å¦ä½å®ä½/平衡âä½ä»£ç âç产ååè·¯å¾å°æ¯èåçææä¹ä¸ã
ãä¼ä¼´äºââä¼ä¼´æºæ §
ä¼ä¼´äºï¼æ¯ç±æç年以ä¸è®ºå软件å¼ååä¸å°ä¼ä¸æå¡ç»éªçåDiscuz!å¢éæé çï¼åç»âä¼ä¼´äºè¡¨æ ¼âãâä¼ä¼´åå ¬âï¼éæ¥å级为ä¸ä¸ªä¸ºä¼ä¸ç»è¥æå¡çæ°æ®å¯è§åå¹³å°ï¼ä¸ºä¼ä¸çå ¨æµç¨è¿è¥ç®¡çä¸ç»è¥æ ¸ç®æä¾æ´ä½è§£å³æ¹æ¡ãéè¿å¼ºå¤§çæ°æ®åºå¼æåæéæ¶æï¼æé å¯çµæ´»å®å¶çæµç¨å¼æä¸å¤§æ°æ®åæå¼æï¼é åä¸å®¶çº§ç»è¥é¡¾é®ä¸æå¡ï¼æé å ¨æµç¨ãå®æ¶å¯è§åçç»è¥æ ¸ç®ä½ç³»ï¼ä¸ºä¼ä¸æ建起ä¸ä¸åå¿çç»è¥ä¼ä¼´å ³ç³»ï¼å®ç°åå·¥æç»æé¿ãç»ç»æç»åé©ãä¸ç»©æç»æé«ã
ãè½»éªå µââéç°ä»£
è½»éªå µä½ä»£ç å¼åå¹³å°ï¼HussarLCDPï¼æ¯ä¸æ¬¾éç°ä»£å»ºè®¾äºåä½å¹´çå¼åå¹³å°äº§åã使ç¨è¯¥äº§åå¯æ éç¼ç ï¼é¶ä»£ç ï¼æéè¿å°é代ç å°±å¯ä»¥å¿«éçæé«ä½éªçåºç¨ç¨åºãå¯è§ç¼ç¨ï¼æè§æå¾ï¼å¯è§åUIå¸å±æ¹æ¡ï¼æè§å³æå¾çå¼åä½éªï¼ä¸ç²¾äºä¸å¡æ°æ®ä¸å°çä¿¡æ¯èåçæ°æ®å¯è§åï¼éè¿å¾å½¢çé¢è½»æ¾æ建ä¸ä¸çå¯è§ååºç¨ï¼æ»¡è¶³æ¨æ¥å¸¸ä¸å¡çæ§ãè°åº¦ãä¼å±æ¼ç¤ºçå¤åºæ¯éæ±ã
ãæ°ç¿æ°æ®ââå京æ°ç¿
æ°ç¿æ°æ®æ¯ä¸å®¶æ°æ®é©±å¨çä¼ä¸çº§æ 代ç 软件平å°åï¼ä»¥â让人人尽享æ°æ®ä»·å¼â为ä¼ä¸æ¿æ¯ï¼â让天ä¸æ°æ®å¿«é使ç¨â为使å½ï¼å¤å¹´æ¥éè¿èªèº«ææ¯ä¼å¿å åèå大æ°æ®åè¡ä¸ä¸å¡ç§¯ç´¯ï¼å¸®å©ä¼ä¸æ大åæ°æ®ä»·å¼ï¼ä»¥åæ°ç软件å¼å模å¼ï¼å¼å¯è½¯ä»¶æºè½å¶é æ°é©å½ï¼ä¸ºä¸å½ä¼ä¸çæ°æºå转åæéãå ¶ç¬æçåå模åï¼è½å¤å®æ´è¦çæ°æ®ãåæã管çãè¿è¥å个é¢åï¼æ¶å客æ·è¡¨åãæµç¨ãæç´¢ãéæãåæçå ¨ä¸å¡çå½å¨æã
个平å°å ¨é¨çç¹å®æ¯ï¼å¸æ对大家ææ帮å©å~
æåªäºæ¯è¾å¥½ç¨çä½ä»£ç å¼åå¹³å°ï¼
æ¯è¾å¥½ç¨çä½ä»£ç å¼åå¹³å°æå®å¤©è½¯ä»¶ãå®æãç®éäºçã
ä½ä»£ç å¼åå¹³å°çæ ¸å¿ä»·å¼è§æ¯ä¸ºäºæé«åºç¨ç¨åºå¼åçæçï¼ä½ä»£ç å¼åå¹³å°ä¸»è¦ç使ç¨è æ¯ç¨åºåï¼ç¨åºåéè¿ä½¿ç¨ä½ä»£ç å¹³å°æé«äºå·¥ä½æçåå°äºIT积åãå¼åç³»ç»çæ ¸å¿ç®çæ¯ä¸ºäºæåæçï¼å轻人工çå·¥ä½éãå æ¤å¿ ç¶è¦å¤çå¾å¤å¤æçä¸å¡é»è¾ãæ¯å¦å¼åååä»æ¬¾ç®¡ççæ¶åè¯å®è¦è®¡ç®å·²ä»æ¬¾ãæªä»æ¬¾ãå¼åç©åç´ç¨çæ¶åè¦æ£é¤åºåï¼è¿äºé½éè¦ç¼åä¸å¡é»è¾ä»£ç ãæççä½ä»£ç å¼åå¹³å°ï¼åºè¯¥æä¾å®æ´çå ¥å£ï¼è®©å¼å人åå¯ä»¥ç¼ååç§ä¸å¡é»è¾ãä½ä»£ç å¼åå¹³å°éè¿é ç½®åçæ¹å¼æ建系ç»ååï¼ä¸è¾¹æ建ä¸è¾¹è¿è¡çææï¼æ ¹æ®ææéæ¥è°æ´åå®åãå¾å¿«å°±å¯ä»¥æ建åºç³»ç»ååãå³ä½¿ç³»ç»æ£å¼ä¸çº¿ï¼ä¹å¯ä»¥éæ¶æç §å®¢æ·çéæ±ï¼å¿«éä¿®æ¹ç³»ç»é ç½®ã
æ³äºè§£æ´å¤å ³äºä½ä»£ç çç¸å ³ä¿¡æ¯ï¼æ¨èå¨è¯¢å®å¤©è½¯ä»¶ãå®å¤©è½¯ä»¶ç»è¿å¹´çææ¯ä¸é¡¹ç®ç§¯ç´¯ï¼bpmç¸å ³åè½å·²ç»é常å®åï¼å¤§åå¤æçä¸å¡éæ±é½æ对åºçé 置项ï¼ä¸ææä½ï¼ç»ç«¯å®æ½äººåå¯ä»¥é ç½®å®ç°%çåºç¨ä¸æµç¨éæ±ï¼å°éä¼ä¸ä¸ªæ§åéæ±å¯ä»¥ç±å¼å人åå¨çº¿éæå¼åå¿«éå®ç°ï¼æ¢æ»¡è¶³ä¼ä¸ä½ææ¬å¿«é交ä»éæ±ï¼å满足ä¼ä¸ä¸ªæ§åéæ±ãã欢è¿ç¹å»å¨è¯¢å®å¤©è½¯ä»¶ï¼ã
ä¸è¬ä¼ä¸çº§ä½ä»£ç å¼åå¹³å°ï¼é½æåªäºå ·ä½åè½ï¼ä¼æå¨ç¥ï¼æ¯å®¶å ¬å¸å¨åå±è¿ç¨ä¸é½éè¦æ建大éçå é¨ç³»ç»ï¼å¦è¿è¥ä½¿ç¨çç¨æ·ç®¡çåå°ï¼éå®çº¿ç´¢åå°ï¼ååä¸æ´»å¨åå°çã许å¤å ¬å¸å é¨ä¹ä¼è请ä¸ä¸çç åå¢éè´è´£å¼ååç±»åå°åå é¨å·¥å ·ï¼å¤§éçå ¬å¸ä¸ºæ¤ä»åºäºé«é¢çææ¬ï¼å·¥ç¨å¸ä¹å éæ±é大åå¤æ建åºç¡ä»£ç ï¼å¹¶å¨è¿ç§éå¤é è½®åçè¡ä¸ºä¸ç£¨çäºåé ççæ ãé£ä¹ä¸æ¬¾ä½ä»£ç çåºç°ï¼å°±æ¾å¾å¼¥è¶³çè´µäºï¼é常æ¹ä¾¿ã
ä¸ãä½éªè¿ç¨
大è´æµç¨æä½éªè¿äºï¼æ们å æ¥ççå®å ·ä½æåªäºå¼å亮ç¹ï¼æ¹ä¾¿åé¢åç»åã
éé¢è³å°å å«è¡¨å建模ãæµç¨è®¾è®¡ãæ¥è¡¨å¯è§åã代ç çæå¨ãç³»ç»ç®¡çãå端UIçç»ä»¶ã
åä¸é¢è¿äºåè½ï¼å¯ä»¥ç´æ¥å¼ç¨ï¼æä»¬å°±æ²¡å¿ è¦éæ°é è½®åï¼ä» éæ©åéçç»ä»¶è¿è¡éæåäºæ¬¡å¼åï¼å³å¯èªä¸»å¼åä¸ä¸ªä½ä»£ç å¹³å°ã
ãè¿æ¥æ°æ®æº
æ¯æè¿æ¥å¤æ°æ®æºï¼å¸®å©åºç¨å¿«éä¸ç¬¬ä¸æ¹ç³»ç»å®ææ°æ®æ´åï¼å°ç¬¬ä¸æ¹ç³»ç»æ°æ®æ´åå¨å¹³å°éãæ¯æå æ¬ä¸»æµæ°æ®åºSQLServerãMySQLãOracleãPostgreSQLï¼åæ¶å ¼å®¹å½äº§æ°æ®åºè¾¾æ¢¦ã人大éä»çã
ã设计表å
å ç½®è¾ä¸ºä¸°å¯ä¾¿æ·ç表åå¼æï¼ææ½æ建å³å¯ï¼å®ç½æ¾ç¤ºæ¯ææä½ç§æ§ä»¶ï¼åæ¯å¯ä»¥æ»¡è¶³å¤ç§ä¸å¡åºæ¯ä¸çæ建éæ±ã
PC端设计好表ååï¼æ¯æ移å¨ç«¯åæ¥è®¾è®¡ï¼ä¸é®åå¸è³APPãå°ç¨åºãH5ç移å¨å¹³å°ä¸ï¼è¾ä¸ºé«æçå°±å®æäºå¤ç«¯èªå¨éé ï¼å®ç°ä¿¡æ¯äºèäºéã
ãæµç¨è®¾è®¡
强大æµç¨å®ä¹åè½ï¼èç¹å®¡æ¹ãåæµç¨ãæ¡ä»¶åæ¯ãéæ©åæ¯ã并åæ¯ãå®æ¶å¨çï¼ï¼ä¸å¡é»è¾ç®å好ç解ãä¸å¡æµç¨æ¢³çå¿«æ·æäºï¼åæ¶æ¯æä¸è¡¨åå¤æµç¨ç设置ã
å°è£ 大éå ·æä¸å½ç¹è²çæµç¨å¨ä½ï¼æ»¡è¶³å®¡æ¹éæ±ï¼å æ¬æé设置ãä¼ç¾ãæç¾ãé审ã转审ãå¬åãæ¤åãå ç¾ç审æ¹å¨ä½ã
ãå¾è¡¨åç°
éè¿ç®æé ç½®å³å¯èªå¨çæåç§ç±»åçæ¥è¡¨ï¼å 置大éå¯è§åæ§ä»¶ææï¼éè¿OLAPå¤ç»´åæåè½ï¼å¸®å©æ´å¯è§£å³æ°æ®èåçé®é¢ã
åæ¶æ¯æéææ°æ®ãæ°æ®åºåAPIçå¤ç§æ°æ®æºæ¥å ¥æ°æ®ï¼å¯æ»¡è¶³å¤å åçæ°æ®æ´åéæ±ã
ãç»ç»æ¶æ设置
JNPFæ¯æå¤ç§æ·æ¨¡å¼ï¼å¯æ ¹æ®ç®¡ç模å¼å·®å¼è¿è¡ä¸å¡ååºåºç¨ï¼æ¯æåæ¥ç®¡çå¤ä¸ªèµå·¥ä½åºç¯å¢ï¼å®ç°ååå·¥ä½åºçæ¥å¸¸ä½¿ç¨äºä¸å¹²æ°ã
å½ç¶ï¼ä¸ç¨æ å¿çæ¯ï¼ä¸åçååå ¬å¸å®ä¹æ¯æåå«å¯¹æ¥ä¼å¾®åééæ¶æã
äºãæçè¯ä»·
ææå®ç°ãæ´ä¸ªè¿ç¨æµç ï¼åºæ¬æ å¡é¡¿ï¼æäºç解åè°è¯ã
å¤ç«¯å¼åãPC端设置好表åå移å¨ç«¯åæ¥çæï¼å¾ä¾¿æ·ã
æç®åçåè½é ç½®ï¼ä¹æå¯ç¨äºé ç½®å¤æçåºæ¯ãåè ï¼å¯è½å¯¹äºä¸å¡äººåç¬ç«å¼åä¸è¦ä¸ç¹å夫ï¼ä½å¹¶ä¸å½±åå®çå ¨è½æ§ã
ä¸ãå°ç»
对äºæ´ä¸ªåºç¨å¼åæµç¨ä½éªå®æåã个人认为å®ç综å使ç¨æåå¸åºæ§ä»·æ¯ç®æ¯ä¸éçãåéå®æä¸ä¸ªåºç¡åºç¨ï¼2-3å°æ¶å°±è½æ¸æ¸ æ´å¥ç³»ç»ç使ç¨æµç¨ååºæ¬åè½çä½ç½®ï¼äº§åçåè½éæåæä½å¤æ平衡ä¹è¾ä¸ºåçã