• Vue-l10n 货币本地化Vue插件

    前言

    前段时间看到项目里面的货币符号和金额转换的Vue 全局过滤器,感觉这样实现一点都不优雅,而且存在不完善,不统一的问题。比如每次都需要实时算,每次切换货币要强刷页面重新加载。然后就想到了vue-i18n这个vue官方插件,多语言国际化,他是怎么做到不刷新页面切换语言的?于是就去观摩vue-i18n的源码,然后我就参考vue-i18n写了一个vue-l10n的货币转换本地化的Vue插件。

  • 2023年IOS面试题整理

    基础面试题

    swift的基础类型有哪些

    Swift是一种强类型语言,支持多种基础类型,这些基础类型包括:

    1. 整型 (Integers): Int、UInt 等。
    2. 浮点型 (Floating-Point Numbers): Double、Float
    3. 布尔型 (Boolean): Bool
    4. 字符串 (String)
    5. 字符 (Character)
    6. 符号字面量 (Literal) : true、false、nil、0、1.23
    7. 元组 (Tuple) : 一组不同类型的数据的组合
    8. 可选型 (Optional) : 用于表示一个变量有值或者没有值
      Swift还支持类和结构体等复杂的数据类型,这些数据类型是由基础数据类型组合而成。

    除了基本类型, swift 也支持collection类型,例如 Array,Set,Dictionary。Swift中的集合类型也是基本数据类型, 并且与其他语言比较类似。

  • IOS APP 电商平台项目架构重构-工程化(三)

    前言

    在 iOS 开发中,通常可以使用以下方案来提升工程化水平:

    1. 使用自动化构建工具,如 Xcode Server、Fastlane、Jenkins 等,来自动完成构建、测试、打包和发布等任务。
    2. 使用版本控制工具,如 Git、SVN 等,来管理代码版本和协同开发。
    3. 使用依赖管理工具,如 CocoaPods、Carthage 等,来管理第三方库的依赖。
    4. 使用自动化测试工具,如 XCTest、KIF 等,来保证代码质量和稳定性。
    5. 使用代码风格工具,如 SwiftLint、OCLint 等,来统一代码风格。
    6. 使用静态分析工具,如 SonarQube、Coverity 等,来检测代码质量和潜在问题。
    7. 使用自动化部署工具,如 Fabric、HockeyApp 等,来自动部署应用到测试环境或生产环境。
  • SSR项目optimization.runtimeChunk还有哪些优化的可能

    前言

    webpack之optimization.runtimeChunk有什么作用?
    runtimeChunk,直观翻译是运行时的chunk文件,其作用是啥呢,通过调研了解了一波,在此记录下。
    何为运行时代码?
    形如import(‘abc’).then(res=>{})这种异步加载的代码,在webpack中即为运行时代码。
    在VueCli工程中常见的异步加载路由即为runtime代码。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    path: '/about',
    name: 'About',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
    // component: About
    }
  • Swift状态管理库有哪些

    Swift状态管理库有哪些

    接触过Vue和React前端框架的小伙伴应该都知道,Vue的状态管理有Vuex, pinia(vue3),React的状态管理有 Redux mobx
    那如果swift也用MVVM模式进行开发,那swift有实用的状态管理库供使用吗?

  • 前端开发学习路径

    前言

    循序渐进,深入浅出。给你专属定制的学习路线,不多不少刚刚好。
    第一步:基础知识的学习
    第二步:编程技巧的学习
    第三步:熟练掌握学习基本框架
    第四步:熟练掌握最基本的编程工具
    第五步:各种工程化和效率类库的学习
    第六步:性能优化&编程设计的思考

  • 记一次超级大坑-Vue对象在SSR服务端为单例状态

    前言

    这是一个让我一天两夜没安宁过的严重线上bug. 一开始测试跟我反馈说:”测试脚本有几率跑出H5页面无头部脚部左侧菜单栏组件的情况,并且页面无法点击部分图片资源无法加载。“我当时在忙其他的,随后去线上测试了一下,重现不了!我就继续忙其他的没在意。到了周六在家在家有空的时候想起测试反馈的这个问题。我想着重现不了,我就去分析一下转化数据吧,看看有没什么问题。一看数据吓我一跳,自测试跟我反馈问题的那天的时间节点起H5页面转化数据掉了近一半,整体平均浏览深度降了1/3。我立马召集小伙伴去公司加班排查,测试配合只能在线上环境测出问题,测试环境和alpha环境怎么都测不出来问题。重现不了的问题最难排查。耗费了我们前端团队一天的时间,最终终于在本地环境重现bug。

  • IOS APP 电商平台项目架构重构-Swift语言(二)

    前言

    进几年新语言的浪潮都比较猛烈,服务端的的Golang, Deno。安卓的Kotlin,IOS的Swift
    这些新语言共同的优势都是运算性能更高,代码更简洁。让人难以抗拒,弱点是新语言技术社区不成熟,开源库较少,但是经过这几年的沉淀,这些问题也渐渐不再明显。由 Apple 创建,Swift 是当今发展最快的编程语言。作为著名的 Objective-C 的替代品,Swift 拥有大量优势,使其在iOS 开发中处于领先地位。

  • IOS APP 电商平台项目架构重构-架构演进(一)

    前言

    过去两年对电商平台的web端项目进行了2次重大重构

    1. php-Laravel前后端混合开发项目架构改为前后端分离,后端php,前端vue框架单页面应用—解决前后端研发配合的高耦合度问题。
    2. vue框架升级,利用vue-cli3构建SSR服务端渲染项目,Node服务框架Express—解决了SEO优化局限性问题,以及移动端首屏渲染性能问题。

    以上两次重构都一定程度上提升了项目代码的可扩展性和可维护性,提升了研发团队的开发效率,提升了系统稳定性。
    那接下来如果要对IOS APP做重构,我们先聊聊架构的演进的本质。

  • React Native项目初始化问题记录及排查解决

    前言

    React Native 是一种生态活跃且成熟的现代跨平台解决方案,目前已经有很多大公司(FB, Tesla 等)正在使用React Native构建ios和安卓原生应用。那我们就来看看按照官方文档构建一个React Native项目有多简单。
    我的环境配置:

    • MacOS Big sur v11.2
    • Node v15.12.0
    • Cocoapods v1.8.4
    • Xcode v12.5
    • vsCode v1.56.0