Jcr's Blog

A positive and progressive all stack developer

0%

引言

后有「微服务」,前有「微前端」。微前端是一个近几年才火起来的名词,伴随着近年来前端技术的超速发展和 “js 必将一统天下” 的口号,JavaScript 现在已经无所不能了。
10 年前,网页前端还是以 html + css + js 为主,被程序员们称为最简单的编程语言,最易上手的一个端,甚至部分前端还需要兼职美工。现在,前端领域已经玩出了各种花样,上能写服务端中间件,下能写移动端 App。连最开始的网页前端,也从 jQuery 这样的工具库转化到响应式框架和组件化的时代了。
组件化已经基本可以满足大中小型应用的需求了,但面对一些超大体量的应用时,传统组件化架构就会产生诸多问题。这时,为了解决这些问题,微前端架构诞生了。

阅读全文 »

背景

去年从一位牛逼的同事那搞了一份「数据分析基础」的课程,没想到最近才有空学习。然后打开课程,发现是 19 年的课程,突然就觉得自己拖了几个月学习也不算长,课程应该还没过时。
为什么要学数据分析基础呢?因为我认为数据思维和分析的逻辑不光是在相关行业可以得到使用,作为一个程序员学学数据分析,在未来的工作中也能提供一些思路上的帮助。之前写过一篇初始「数据分析」,里面仅仅只是了解了数据分析的操作框架,没有实操的环节,甚至都不算入门。而这次学习数据分析基础,可以让我对数据分析有更深入的了解和认识,而这门课程的内容正好特别适合我这种入门级选手。
课程虽然知识很基础,但思考却可以更深入。我从课程的这些基础知识中,做了更深入的总结和思考,本文就是总结和思考的记录。

阅读全文 »

背景

借着清明节回老家祭祖的机会,我来到了浙江杭州。与我的前同事「洞宾」见了个面,聊了聊各自的一些情况和一些思考。
简单介绍一下洞宾,洞宾是他在轻推团队的花名,2020 年之前是我在轻推团队的同事。现在阿里巴巴淘系研发部门担任高级研发工程师(P6),但他的职责包含但不限于项目负责人、资深 HR、实习生收割机、后端工程师、团队气氛组组长、电商理论专家、段子手等。
我们聊天的范围很广,从工作、技术、生活、成长以及情感都有所涉及,以下我将挑选一些值得思考和记录的点作为本文的内容。

阅读全文 »

前言

《原则》、《价值》、《影响力》是我接下来将会读的 3 本书,《原则》是第一本。这三本书同样是经人推荐很适合互联网行业的从业者阅读。虽然现在还不知道书中到底讲了些啥,但从书名上已经能感受出牛逼的气息。希望阅读之后,我也能越来越牛逼!

阅读全文 »

引言

npm 库对大家来说并不陌生,就和 java 的 maven 坐标一样,在前端项目中可以使用 npm 轻松管理这些依赖。
前些时间因为一些机缘巧合的需求,我需要编写一个监控埋点 npm 库以供应用使用。拿到这个需求之后,我第一时间做了一个初步的设计,项目无需 UI 组件,需要满足 Web、H5、小程序这三个平台的使用。考虑到 typescript 的种种优势,我选择使用 typescript 来开发,并觉得采用插件式的架构思想来对这个库进行拆分。网上有许多关于 typescript 编写 npm 库的文章和描述,但这些库相对于我的需求来说,总是多了一些东西或是少了一些东西,最终我根据网上的资料和自身的需求做了一个 npm 库的框架,适合用于中小型无 UI 组件的独立库,而如何搭建,如何取舍框架内的组件,就是本篇文章的主题。

阅读全文 »

引言

随着研发技术的发展,跨平台混合开发越来越流行,Flutter、React Native(以下简称 RN) 这样的框架有越来越多的公司和项目开始使用,Flutter 近两年的迭代速度逐步加快,Google 官方的开发工具 Android Studio 也对其做了许多优化。Flutter 和 RN 专注于多平台构建同一套 UI,已经接受过许多项目的检验,表现还不错。但在面对一些数据处理、后台任务、原生调用的场景时,它们的表现都不尽人意。而这时 Kotlin Multiplatform(以下简称 KMP) 的出现,似乎可以来解决这个问题,如果能够解决,理论上 KMP 是否可以做到不仅 UI 跨平台,全项目都跨平台呢?为了解答这个问题,我开始在项目中实验是否可行。与此同时(2020.9),KMP 也从 Experimental(实验性的)功能升级到了 Alpha(内测的)功能(Kotlin 1.4.0),KMP 的功能、性能和稳定性都改进了许多,表现出了良好的潜力。
参与实践的项目一共有 4 个,类型分为两种,一种是利用 KMP 来构建独立的多端项目。一种是使用 KMP 来构建公共库以供现有的项目使用。我将分享这两种类型的项目中的实践经验。

阅读全文 »

序言

将一个普通的 Java 上传至 Maven 中央仓库并不是一件很困难的事情。按照官方提供的配置即可。但如果想上传一个 Kotlin 多平台项目,就没那么方便了。网上关于 Kotlin 多平台项目的资料很少,如何上传至中央仓库更是几乎没有。
本篇文章将介绍将 Kotlin 多平台项目上传至 Maven 中央仓库的方法、流程、配置、坑和其处理方式。

阅读全文 »

读书之前

《金字塔原理》 - 麦肯锡经典培训教材,一听就觉得这本书相当的牛逼。我读书有看前言和序言的习惯,这一段往往是说这本书的主要内容和多么多么牛逼。看完之后,成功的勾起了我的阅读兴趣,有一种我看完就能智力 +10 的感觉。好了,开始阅读吧。

阅读全文 »

背景

最近遇到一个问题,有一段 PHP 代码需要涉及到长时间的 IO 操作,而这一段会阻塞请求所在的线程,导致请求超时。
你可能会说,这有啥难的,开个线程异步去做,做好了更新状态就 OK 了。这真是一个不错的方案,可惜这一整套代码都是别人的。如果要修改代码,业务上会牵一发而动全身,所以我的解决办法是尽量不修改代码的情况下,通过配置超时时间来解决这个问题。

阅读全文 »