自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(866)
  • 资源 (1)
  • 收藏
  • 关注

原创 echarts:一个复杂的瀑布图制作

分析一下这个需求,主要有几个难点:答:echarts 官方 把这种柱子叫瀑布图,实现的原理就是使用一个透明的柱子给他顶起来。我直接搬过来原文。我本来想到的是 y 轴的 type 设置为 time但是做着做着,发现不行,我们做瀑布图要用到 stack,而 stack 不支持 type = time那就只能用 type = value 了,也就是要把时间转化为一个数值,比如在上面的图中,最底部是 13:00,我们先以 13:00 为 0,那么 12:00 就是 1,11:00 就是 2,以此类推。那么

2024-02-06 11:51:44 1524

原创 java:微服务springcloud入门以及eureka、ribbon、hystrix、feign、gateway的使用

微服务的简单入门

2023-12-18 09:00:00 424

原创 设计模式:DDD领域驱动设计

面对复杂系统,怎能不知道DDD

2023-05-08 18:42:37 1356 7

原创 抽象语法树AST以及babel原理

什么是AST?借用一下百度百科的解释:在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。其实意思就是将代码以树的格式展现出来,举个例子你就明白了:大家可以在这个网站 https://astexplorer.net/ 上输入代码,会被解析为 AST,如图:可以看到,代码的每一个字符都以树的形式展示了出来。AST的应用

2022-04-10 23:47:29 1187

原创 RN:React Native原理以及新架构JSI、Fabric等概念

说明RN需要一个JS的运行环境, 在IOS上直接使用内置的javascriptcore, 在Android 则使用webkit.org官方开源的jsc.so。 此外还集成了其他开源组件,如fresco图片组件,okhttp网络组件等。RN 会把应用的JS代码(包括依赖的framework)编译成一个js文件(一般命名为index.android.bundle), , RN的整体框架目标就是为了解释运行这个js 脚本文件,如果是js 扩展的API, 则直接通过bridge调用native方法; 如果是UI

2022-02-12 21:56:59 16808

原创 webview原理和JSBridge

webview是一个嵌入式的浏览器,我们平常使用频率最高的就是客户端内嵌的webview特点:运行在webview中的JS代码有能力调用原生的系统API,没有传统浏览器沙箱的限制。目前javascript和客户端(后面统称native)交互的常见方式有两种JSBridgeschemaJSBridge当我们在native内打开m页,native会在全局的window下,为我们注入一个Bridge。这个Bridge里面,会包含我们与native交互的各种方法、比如判断第三方App是否安装、获取网

2022-02-09 18:39:10 7137

原创 小程序底层原理

小程序的 Http Rquest 请求是不是用的浏览器 Fetch API?不是, http request是由逻辑层发起,通过native去触发的,且不支持promise。小程序渲染再同一个线程么?小程序是双线程设计,即视图渲染与业务逻辑分别在运行在不同的线程中。这个设计主要是解决web技术中的一个痛点:web页面开发渲染线程和脚本线程是互斥的,长时间的脚本运行可能会导致页面失去响应或者白屏,体验糟糕。小程序为了更好体验,将页面的渲染线程和脚本线程分开设计在不同线程中执行,具体实现:● 视图v

2022-02-07 19:39:14 1555 1

原创 一文搞清楚软链接和硬链接

前言我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data)元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inod

2022-01-06 16:38:53 3840 6

原创 可能是最全的h5唤起App方案

背景调研 h5 唤起 App 方案目的:引导已下载用户打开APP,引导未下载用户下载APP。先说结论ios9 及以上用 Universal Link(uc/qq浏览器不支持,不过safari占比最大)android6及以上用applink(chrome和小众浏览器支持,市场占比还是比想像中大的)其它情况scheme(各种限制及弹窗确认)微信ios7月的版本已经支持ulink了,android还是乖乖走应用宝吧(引导出微信也行,效果不好)ok,接下来我们一个一个聊URL Scheme有

2021-11-08 18:28:49 20911 25

原创 px、pt、dpi、dip、分辨率、屏幕尺寸等等概念

文章目录基本概念屏幕尺寸屏幕比例像素pxpt/point分辨率DPI(点每英寸)PPI(像素每英寸)DIP/DPdensityandroid最后参考资料基本概念屏幕尺寸屏幕的对角线长度,一般讲的大小单位都是英寸。比如我们说 iphone6 是6.7英寸,就是屏幕对角线为 6.7英寸。屏幕比例只确定了对角线长,2边长度还不一定。所以有了4:3、16:9这种,这样就可以算出屏幕边长了。像素pxpx 不是自然界的长度单位,而是一个抽象的单位,比如:windows桌面属性里的“设置”看到,如果是10

2021-08-15 21:28:37 7639 11

原创 web端自动化部署方案

背景为了提高发布效率,践行DevOps,我们使用 gitlab 的 CI 工具作为我们前端项目的自动化部署方案。集成后的开发&发布模式发布测试环境:代码提交到test分支自动发布。发布正式环境:将test代码合并到master分支自动发布。集成CI/CD思路集成步骤1、集成ci脚本# test、preview和master分支默认支持线上部署# develop分支默认是开发分支,不建议(禁止)触发CI/CD流程,姑不作为默认触发部署分支stages: - instal

2021-01-30 23:52:10 894 3

原创 SEO:基于SPA的搜索引擎优化方案调研

背景由于SPA项目不利于SEO优化,于是有了以下几个方案方案选择方案一:服务端渲染(SSR)直接java或php渲染(那样就又是前后端不分离了,不考虑)服务端起一个node应用优点:SEO 友好首屏渲染快(可在服务端缓存页面,请求到来直接给 html)缺点:代码改动大、需要做特定SSR框架的改动(例如vue的nuxt,react的next)丢失了部分SPA体验node 容易成为性能瓶颈方案二:构建时预渲染方案在项目开发完成之后,将有限的需要SEO的页面挑选出来,借助p

2021-01-14 18:25:19 592

原创 vue:详解vue中的代理proxy

问题我们本地调试一般都是 npm run serve,然后打开 本机ip:8080(localhost:8080)对吧,这时候我们要调接口调试,后端的接口的地址可能在测试环境,也可能是自己电脑的 ip,总之不是你的 lcoalhost:8080,那么你调接口就会产生跨域,那么怎么办呢?就需要proxy出场了复习一下跨域的解决方案jsonpcorsNode中间件代理(两次跨域)nginx反向代理CORS支持所有类型的HTTP请求,是跨域HTTP请求的根本解决方案JSONP只支持GET请求,

2020-07-11 22:58:47 72059 40

原创 js:浅谈函数式编程

背景函数式编程是一种编程思想,其余的还有声明式与命令式函数式举例假设我们要把字符串 functional programming is great 变成每个单词首字母大写var string = 'functional programming is great';var result = string .split(' ') .map(v => v.slice(0, 1).toUpperCase() + v.slice(1)) .join(' ');整个过程就是 join(m

2020-05-09 15:18:02 519

原创 入门ARP协议

ARP协议竟然可以检测酒店摄像头

2024-07-10 15:34:30 580

原创 js:简单入门rxjs

rxjs

2024-06-20 16:52:52 817

原创 RN:Error: /xxx/android/gradlew exited with non-zero code: 1

就好了,但是我同事说她删了 node_modules 然后重新 install 才好的,反正不知道哪里的缓存。2、根据黄色字体提示,说我包版本不对(但是这个是警告应该没事,但是我还是装了)我感觉和1、2点没关系,你可以直接执行3、4点试试。这个大概率是缓存问题,我说一下我的解决思路。

2024-06-05 18:45:02 349

原创 js:关于颜色处理的一些常用函数

js:关于颜色处理的一些常用函数。

2024-06-05 14:27:11 272

原创 RN:‘yoga/style/Style.h‘ file not found

【代码】RN:'yoga/style/Style.h' file not found。

2024-05-31 11:14:41 150

原创 ios:文本框默认的copy、past改成中文复制粘贴

ios 开发,对于输入框的一些默认文案展示,如复制粘贴是英文的,那么如何改为中文的呢。按照路径找到这个文件。

2024-05-30 15:48:10 517

原创 ios:Command PhaseScriptExecution failed with a nonzero exit code

ios:Command PhaseScriptExecution failed with a nonzero exit code

2024-05-27 15:30:26 359

原创 react:memo、useMemo、useCallback的区别

当我们谈论React性能优化时,有三个关键函数不容忽视:React.memo、useMemo和useCallback。今天,我们就来深入解析一下这些函数的使用场景,帮助大家更好地理解它们的用途和效果。此外,关于技术选择和个人偏好,我想分享一下我的观点。我个人偏爱Vue的简洁与直观,能够让我们更专注于业务开发而无需过度关注性能优化。而 React 的性能优化技术我并不喜欢。就像手动挡和自动挡汽车的选择,两者确实都有其独特之处。手动挡汽车提供了更多的操作自由度,但对于很多驾驶者来说,汽车就是要易用。

2024-05-15 16:10:38 626

原创 ios:To use iPhone for development, enable Developer Mode in Settings → Privacy & Security.

ios 真机链接电脑后,并在 Product --> Destination 选择你的设备,点击 xcode 运行按钮,报错。打开后手机会自动重启,可能会识别不出来,把手机重新拔插一下,或者把 xcode 重启。打开手机 设置 -> 隐私与安全 -> 开发者模式 -> 打开。

2024-05-09 11:45:45 842

原创 内网用户是如何连接上互联网的?详解NAT网络地址转换技术

所以这样就不用给每个人每台设备都分配 ip 地址了,只需要给大的运行商、企业等等分配公网 ip 地址,而内部使用私有 ip 地址,这样就有效的减缓了 ipv4 的分配问题,那么核心的技术就是需要在上网时把私有 ip 转换为公网 ip,这个技术就是 NAT。我们上网用的 ip 地址都是私有的,而公有地址由 IANA ( Internet Assigned Numbers Authority,互联网号码分配机构) 分配的。比如我们接入了中国移动的宽带,宽带连接家里的光猫,光猫连接路由器,我们就可以上网了。

2024-05-06 17:27:25 428

原创 域名系统与域名解析服务器DNS

将域名解析为 ip 地址,才可以通过 TCP/IP 协议进行传输。顶级域名(Top-Level Domain,TLD)是DNS(域名系统)中域名层次结构中的最高级别域名。它位于域名的最右侧,是域名的最高级别的标识符。

2024-04-29 16:52:17 967 1

原创 我们的手机是如何连接上网的?骨干网又是什么?

几台计算机连接起来,互相可以看到其他人的文件,这叫局域网。整个城市的计算机都连接起来,就是城域网。把城市之间连接起来的网就叫骨干网。这些骨干网是国家批准的可以直接和国外连接的互联网。其他有接入功能的ISP(互联网服务提供商)想连到国外都得通过这些骨干网。

2024-04-29 16:14:43 1311

原创 VPN的基本概念

vpn

2024-04-28 17:53:18 5878 4

原创 防火墙的基本概念

防火墙简介

2024-04-28 17:18:41 499

原创 RN报错:Timeout of 120000 reached waiting for exclusive access to file: /Users/xx/.gradle/wrapper/

RN报错:Timeout of 120000 reached waiting for exclusive access to file: /Users/xx/.gradle/wrapper/

2024-04-11 16:30:10 269

原创 English: fragmentary knowledge

如果强调知识的逐步积累或分阶段获取,可以使用 “piecemeal”。零碎的知识,可以使用 “fragmentary” 或 “piecemeal”,这两个词都可以用来描述部分或不完整的事物。然而,它们在语境中可能会有一些微妙的差异。当我们使用 “what” 引导一个问句时,如果后面跟的是一个动作或行为,通常需要使用辅助动词,比如 “do” 或 “would”,以构建一个完整的疑问句。“Fragmentary” 指的是由碎片组成的,表示整体被分解为片段或碎片。在描述知识时,可以强调知识的不完整或部分性。

2024-03-11 18:00:21 236

原创 English:confusing words

当涉及到容易混淆的英语单词时,理解它们的含义以及在不同语境中的用法是很重要的。

2024-02-29 18:10:42 733

原创 探索时间的奥秘:UTC、时区、时间戳

知道新疆为什么天黑的晚吗?看看这个就知道了

2024-02-27 17:05:25 1927

原创 English:about ‘do’

do” 的不同形式用于构成不同时态和人称,这些形式包括 “do,” “does,” 和 “did”。总的来说,系动词用于连接主语和描述主语的状态,而助动词用于帮助构建句子的其他方面,如否定、疑问等。“do” 是一个多功能的英语动词,具有多种用法。以上是一些常见的 “do” 的用法,具体用法可能根据上下文而有所变化。这些变种有助于构建正确时态和人称,使句子更加准确和清晰。这些形式的使用取决于时态和人称。

2024-02-27 14:24:15 956

原创 English:First Person、Second Person and Third Person

English:First Person、Second Person and Third Person

2024-02-27 11:42:20 274

原创 echarts:折线图的常用操作

echarts:折线图的常用操作

2024-01-24 15:29:36 1255

原创 echarts:柱状图的常用操作

柱状图的常用操作

2024-01-24 11:38:00 1941

原创 echars:图表中核心的概念

echars:图表中核心的概念

2024-01-22 18:02:20 1311

原创 canvas:使用canvas画一个半圆

玩转canvas圆弧API

2024-01-12 15:26:59 1541

原创 English: verb

English about verb

2024-01-09 15:29:25 1343

原创 English: words used for emphasis

words used for emphasis

2023-12-29 18:12:57 1541

nginx判读user_agent并转发请求配置文件

nginx判读user_agent并转发请求配置文件

2022-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除