草庐IT

掌控 Android 编译利器,携程火车票AAR 编译速度优化实践

作者简介小明,携程移动开发工程师,专注于移动端框架和基建开发;黄拉欢,携程移动开发经理,专注于移动端框架建设及性能调优。一、 背景Android项目一般使用Gradle作为构建打包工具,随着业务需求的不断迭代,代码量提升的同时,Gradle编译耗时也在不断的增长,而编译速度会直接决定开发流程效率的高低,影响面主要涉及到开发和测试阶段。 对于火车票项目,经过长期的迭代过程导致模块众多工程庞大,优化前一次干净的全量编译时间可达到10m39s,造成开发和测试都需要长时间等待编译出包,严重影响到开发和测试的效率。因此对火车票App进行编译速度优化是件亟待解决的事情。本次编译速度优化采用的方案是模块AA

基于PaddleOCR识别火车票信息

前言大家好,我是阿光。本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。正在更新中~✨?我的项目环境:平台:Windows10语言环境:python3.7编译器:PyCharmPyTorch版本:1.8.1?项目专栏:【PyTorch深度学习项目实战100例】一、基于PaddleOCR识别火车票信息近几年OCR文字识别技术非常火爆,百度的飞浆发布了只有几MB的轻量级ocr模型,所以本项目使用paddleOCR来实现一个火车票信息识别模型。二、PaddleOCRPaddleOCR旨在打造一套丰富

微服务时代,领域驱动设计在携程国际火车票的实践

一、前言领域驱动设计(Domain-DrivenDesign,简称DDD)是一种软件开发设计思想,其旨在以领域为核心,让软件系统在实现时准确地基于对真实业务过程的建模,专注于业务问题域的需要。DDD将软件系统设计分为了2个部分:战略设计和战术设计,战略设计用于提炼问题域并塑造应用程序的架构,战术设计用于帮助创建用于复杂有界上下文的有效模型。基于此,DDD强调专注于核心领域,通过协作对公共语言和知识进行提炼,并且持续致力于领域的知识提炼,让模型持续发展。本文基于DDD思想,在携程国际火车票中台预订系统项目进行实践。 二、实践背景本文以国际火车票中台预订系统项目的创单流程为例,其服务结构下图所示:

微服务时代,领域驱动设计在携程国际火车票的实践

一、前言领域驱动设计(Domain-DrivenDesign,简称DDD)是一种软件开发设计思想,其旨在以领域为核心,让软件系统在实现时准确地基于对真实业务过程的建模,专注于业务问题域的需要。DDD将软件系统设计分为了2个部分:战略设计和战术设计,战略设计用于提炼问题域并塑造应用程序的架构,战术设计用于帮助创建用于复杂有界上下文的有效模型。基于此,DDD强调专注于核心领域,通过协作对公共语言和知识进行提炼,并且持续致力于领域的知识提炼,让模型持续发展。本文基于DDD思想,在携程国际火车票中台预订系统项目进行实践。 二、实践背景本文以国际火车票中台预订系统项目的创单流程为例,其服务结构下图所示:

携程火车票iOS项目开发体验优化实践

​作者|东海,携程移动开发专家,专注于移动端框架、移动端性能。元帅,携程资深软件工程师,致力于平台基建开发。一、背景现在各大公司的APP都采用的是组件化架构,组件化架构带来了高内聚、低耦合、平台化等诸多有点,使工程结构更加清晰,工程管理更加轻松。iOS工程大多采用CocoaPod进行组件化管理,一些大型的项目需要打包平台来执行组件打bundle包和APP打测试包的任务,在开发方面会采用二进制与源码切换的方式来提高编译速度。组件化虽然对APP项目的工程管理带来了巨大的好处,但是对开发人员来讲,存在着一些繁琐的问题:在开发中,如果需要调试未解开源码的组件,就需要重新执行命令解开相应组件的源码才能进

携程火车票iOS项目开发体验优化实践

​作者|东海,携程移动开发专家,专注于移动端框架、移动端性能。元帅,携程资深软件工程师,致力于平台基建开发。一、背景现在各大公司的APP都采用的是组件化架构,组件化架构带来了高内聚、低耦合、平台化等诸多有点,使工程结构更加清晰,工程管理更加轻松。iOS工程大多采用CocoaPod进行组件化管理,一些大型的项目需要打包平台来执行组件打bundle包和APP打测试包的任务,在开发方面会采用二进制与源码切换的方式来提高编译速度。组件化虽然对APP项目的工程管理带来了巨大的好处,但是对开发人员来讲,存在着一些繁琐的问题:在开发中,如果需要调试未解开源码的组件,就需要重新执行命令解开相应组件的源码才能进