自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张驰Terry

汗水浇灌灵感,千里之行始于足下

  • 博客(70)
  • 资源 (9)
  • 收藏
  • 关注

原创 什么是稀疏数组以及一个小例子

为什么要用稀疏数组?比如说以下这种情况,只有两位有效数字其他全是0,很多0值无疑是很浪费空间的,这时我们就会使用稀疏数组来存入他的有效信息0 0 0 0 0 0 0 6 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 8 0 0将以上数组转为稀疏数组为: row column value 4 9 2 0 7 6 3 6 8第一行 4 9 2 代表的是 4行 7列 2个有效数字 第二行为 第一个有效数字在原数组的第0行 第7列 有效值为

2021-04-28 16:04:39 1

原创 日志级别如何划分?

日志级别如何划分?日志记录是软件开发的一个概念,几乎所有(可能并不是所有)软件都能从日志记录中获得很多好处。在开始一个大项目时,日志记录通常是我第一个要搭建的子系统。关于它的好处,我可以说出一大堆,但我想把这个机会留给其他人(或者哪一天我想说了再说)。现在,我想说一说日志级别。日志级别是对基本的“滚动文本”式日志记录的一个重要补充。每条日志消息都会基于其重要性或严重程度分配到一个日志级别。例如,“你的电脑着火了”是一个非常重要的消息,而“无法找到配置文件”的重要等级可能就低一些。很多应用程序和库

2021-04-28 16:04:01 24

原创 Go语言能否取代JAVA,成为下一个王者?

Go 是 Google 开发的一种编程语言,在过去的几年里取得了很大的成功。现代的云端、网络和 DevOps 软件的很大一部分都是用 Go 编写的,例如 Docker、Kubernetes、Terraform、etcd、Istio 等项目。许多公司也将它用于通用场景下的开发工作。藉由 Go 所支持的功能,这些项目得以吸引大量用户,而 Go 的易用性也让越来越多人都能迅速成为贡献者。Go 的优势在于能够将简单的和经过验证的想法结合起来,同时避免了其他语言中出现的许多问题。本文概述了 Go 背后的一些设计原

2021-04-28 16:03:38 15

原创 FFmpeg是什么?

什么是FFmpeg?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg官网:https://ffmpeg.org。强大的功能FFmpeg有非常强大的功能包括:视频采集、视频格式转化、视频截图、视频添加水印、视频切片(m3u8、ts)、视频录制、视频推流、更改音视频参数(编码方式、分辨率、码率、比特率等)功能,等等...FFmpeg主要构成FuncNamesFeatu

2021-04-28 16:02:45 31

原创 JS 移位操作符

1.左移运算<<在右边补0,数字变大2、右移运算>>数字变小/*获取数字 num 二进制形式第 bit 位的值。注意:1、bit 从 1 开始2、返回 0 或 13、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1 */function valueAtBit(num, bit) { return (num >> (bit -1)) & 1;}valueAtBit(128, 8)//和1按位与, 如10000

2021-04-28 16:02:11 5

原创 JS &、|、^和~(逻辑位运算符)

位运算就是对二进制数执行计算,是整数的逐位运算。例如,1+1=2,在十进制计算中是正确的,但是在二进制计算中,1+1=10;对于二进制数 100取反,等于 001,而不是 -100。位运算符有 7个,分为两类:逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~) 移位运算符:左移(<<)、右移(>>)、无符号右移(>>>)逻辑位运算符与逻辑运算符的运算方式是相同的,但是针对的对象不同。逻辑位运算符针对的是二进制的整数值,而逻辑运算符..

2021-04-28 16:01:22 12

原创 Git工作流应该如何选择

单主干 - 小步快跑,简单清晰双主干 - 周期发版, 并且产品业务发展为单一应用的多个重大特性并行迭代

2021-04-24 15:13:47 8

原创 租户之间的数据隔离

与租户相关的数据存储,都需要有唯一的租户标识,因为租户加入多个组织团队工作, 租户标识由三要素组成:企业ID,用户ID,以及是否为沙箱企业

2021-04-24 15:11:46 15

原创 SaaS数据埋点模型设计

企业企业ID企业名称用户用户ID用户姓名浏览器厂商版本设备尺寸操作系统厂商版本号应用应用市场版本号应用内部版本号设备设备型号渠道号事件事件ID事件类型页面访问点击页面停留业务大类crmimcalendardocs...模块模块名称模块数据子模块子模块名称操作操作id页面页面数据页面地址页面版本数据数据版本自定义指标met...

2021-04-24 15:10:42 16

原创 数据采集&监控(架构)

2021-04-24 15:09:09 5

原创 构建部署(架构)

2021-04-24 15:08:15 5

原创 企业级物料库设计

2021-04-24 15:07:44 5

原创 FE-CLI 本地工程套件(架构)

2021-04-24 15:07:00 4

原创 SaaS前端规范架构

规范架构UI协作规范协作规范前后端协作规范新建项目规范流程规范技术选型规范Git规范包管理规范代码风格规范代码提交规范项目结构规范兼容规范灰度规范发布规范Oncall规范开发规范安全规范图片规范开源规范开源源码规范埋点规范监控规范性能监控规范异常监控规范私有化规范组件规范...

2021-04-24 15:06:01 12

原创 SAAS研发体系方向

2021-04-23 11:41:52 9

原创 SAAS团队研发流程

2021-04-23 11:41:15 10

原创 SAAS前端组织特点

商业SaaS在典型的商业SAAS组织中,通常以 n + m +1组合,n代表工程师围绕多个行业应用, m代表构建多个标准化产品,1 代表基础研发平台(细分到前端组织就是前端架构组或者web平台部门),前端团队通常人数在100人以内,前后端配比 1:3 ,并且前端团队通常具备以下3个特点:业务深耕 (团队成员通常对该领域的业务理解在5年以上) 专注付费业务(前端团队的大部分研发资源投入在于交付付费客户的产品需求) 包含业务定制平台团队,解决客户定制需求对标准产品的侵入工具SaaS在

2021-04-23 11:39:31 829 2

原创 Notion 团队人才画像

Notiton的人才特点:全栈工程师 B端经验 5年以上经验 工程师占比 50%以上工程师团队成员:Simon Last - 联合创始人 有一张长脸,是一个设计开发兼具的全栈工程师 Michael Manapat 工程负责人,来自 Stripe Alicia Liu 15年工程经验,来自Amazon Jaje Teton-Landis 10年工程经验,来自 Airbnb Lauren Oliveri, 9年工程经验 来自 Mail Consider Matt DuVal...

2021-04-23 11:38:42 793 1

原创 SaaS的商业模式

通俗来讲,SaaS产品在拥有了一定数量的客户之后,只要把该产品维护好,并且持续保持良好的用户体验,让客户对产品保持粘性,从而产生良好的客户复购率。最终持续获得年度客户订阅费,并且可以续持向用户推出新的SAAS产品,重复此模式。SaaS的本质是续费率,持续健康发展的SAAS企业能挣钱(LTV > CAC+CSC)的能力,并且持续优化服务成本(低CSC),最终获得极大的商业投资回报。...

2021-04-23 11:34:16 17

原创 SaaS关键指标

1.生命周期LTCustomer Lifetime, 代表客户生命周期,即用户买了几年2.订阅账号数量单个租户在单位时间内购买的账号(License)数量3.生命周期价值LTVLTV(Customer Lifetime Value)又称为 CLTV 或 CLV,代表客户生命周期的财务价值,即单个客户在整个使用期内产生的总收入。4. 单一客户收入ARPUARPU是 "The average revenue per user" 的缩写,描述每用户平均收入或平均每用户收入, 用于衡..

2021-04-23 11:30:24 12

原创 SaaS 发展阶段

在了解SaaS的商业模式(怎么赚钱)前,我们可以看下一个典型的SaaS产品发展过程

2021-04-23 11:29:01 9

原创 2020美国最佳SaaS服务商

SaaS服务商 服务内容 Shopify 一站式电商 SaaS 平台 Zoom 远程会议 SaaS grammarly 英文协作辅助工具 mailChimp 电子邮件订阅RSS 的在线工具 nextiva...

2021-04-23 11:27:57 21

原创 SaaS分类

商业SaaS定义:除了提供一部分“工具”价值外,还能为客户企业增加营收、提供新的营收项目, 例如一个 CRM SaaS 不仅提高对进销存流程与数据管理效率,并且针对使用CRM SaaS的客户结合工商数据进行商机推荐。工具SaaS定义:为客户企业提供了一个提高管理效率的工具。例如腾讯文档,Zoom,Slack,Monday,Airtable,轻雀协作这样工具软件,日常办公,协同协作...

2021-04-23 11:27:12 11

原创 SaaS是什么?

SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过互联网向客户提供软件服务。Saas 主要通过客户订阅 (Subscription)软件服务产生收入,即客户通过预先支付永久性的或规定期限内的全部费用,获得软件许可(License)在中国,SaaS 经过过去5年的探索,进一步得到了一个新的定义, SaaS = “ Software and Service”。...

2021-04-23 11:26:30 27

原创 React框架发展史

原文地址: https://www.deaboway.com/react框架发展史.html#.YHr1L0j7QZEReact开源地址:https://facebook.github.io/react/index.html内容隐藏11.前端发展背景22.诞生原因33.基本介绍44.重要版本发布55.React核心原理心路历程66.6个React亮点1.前端发展背景前端混沌时代在“前端混沌时代”,页面主要在服务端开发并生成,服务端生成什么页面,浏览...

2021-04-17 22:59:08 1001 1

原创 云、CDN、IDC 三个概念的区别是什么

IDCIDC(internet data center)为互联网内容提供商(ICP)、企业、媒体和各类网站提供大规模、高质量、安全可靠的专业化服务器托管、空间租用、网络批发带宽以及ASP、EC等业务。云云技术(Cloud technology)是将硬件、软件、网络等系列资源整合,实现数据的计算、储存、处理和共享的一种托管技术。CDNCDN(Content Delivery Network)即内容分发网络。类似物流网络分布全国的发货仓库,CDN将源站的图片、视频等静态文件等缓存到节点,用户

2021-04-17 22:58:10 40

原创 Web应用白屏时间优化

1. DNS解析优化选择优秀的DNS运营商 DNS缓存优化 DNS预加载策略 自建IP-DNS服务2. TCP网络链路优化采购多网络运营商网络通道 选购性能强劲的内部网络设备3. 服务端处理优化nginx性能调优 http协议调优,例如升级h2 服务端多级缓存 服务端预热等等 引入JAM机制4. 浏览器下载、解析、渲染页面优化简化 html/css/js 尽量不要使用内联的JS代码 构建多模块分包,激活缓存...

2021-04-17 22:57:36 915 4

原创 操作系统重要知识点

进程的有哪几种状态,状态转换图,及导致转换的事件进程的状态:运行、阻塞、就绪三种状态。https://camo.githubusercontent.com/af0e083aa8a41c8badbc348188d7e425d658e136aca4135307fa397cd5cb69bb/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313630353331313933363035383032运行和就绪之间的转换由调度程序引导; 当进程等待

2021-04-17 22:56:58 40

原创 TypeScript的一些明显优势

API 文档:TypeScript 的另一个优势是它提供了更好的 API 文档,而且总是与源代码同步。你甚至可以从 TypeScript 代码直接生成 API 文档。 重构。在大多数情况下,如果你能从重构 TypeScript 项目中获得显著的好处,说明你的代码耦合得太紧了。如果 TypeScript 为你省掉了很多重构痛苦,那说明紧耦合很可能仍然会给你带来很多其他可以避免的问题。 公司之间相互关联的项目生态系统,它们共享相同的代码库(例如谷歌著名的monorepo)。使用 TypeScript 有助于

2021-04-17 22:56:24 17

原创 组件和模块的区别

组件(Component)和模块(Module)是一对容易混淆的名词,也常常被用来相互替换。两者是否有差异往往取决专业背景、所在领域、以及视角。从设计上来看,组件强调复用,模块强调职责(内聚、分离),或者说组件是达到可复用要求的模块。Module, 中文为模块。它的核心意义是分离职责,属于代码级模块化的产出。本身是一组具有一定内聚性代码的组合,职责明确。对外的接口可以是松散的,也可以是集中的。SEI的定义如下:An implementation unit of software that pro

2021-04-17 22:55:49 13

原创 一份很棒的免费SaaS(软件即服务)清单

ContentsDocsDesignCRMHRVideo ConferenceCloud ServicesData AnalysisProject & Team ManagementMarketingCost Control ReimbursementLow & No Code PlatformAIVROnline Coding & Code ShareDiscussionCMS & WebsiteLog AnalysisInformat

2021-04-17 22:54:31 52

原创 linux 软连接和硬链接的区别

什么是链接?链接简单说实际上是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。它是用来干什么的?你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)。软链接和硬链接的区别是?下面我们进入正题,来探讨一下软硬两种链接到底有什么区别?首先,从使用的角度讲,两者没有任何区别,..

2021-04-17 22:53:16 38

原创 创建自己的第一个Vite项目

1.基于脚手架项目创建你的项目git clone <https://github.com/fancylife/vite-starter.git> ${yourProjectName}cd ${yourProjectName}2.安装依赖npm install3.启动开发指令npm run devnpm run build

2021-04-17 22:52:39 8

原创 模式和原则

设计模式介绍模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这是关于模式最经典的定义,作者是建筑大师Christopher Alexander。如果是第一次看到这句话,多数人会觉得有些抽象难懂。其实“模式”两个字只是一个代号,就像我叫Justin,如果我改叫Tom也没什么问题,只是我更喜欢Justin这个名字,所以从Christopher开始,有了“模式”这个词,人们也都把关于“重复发生的问题的描述和解决办法”统称为模式。“模式”这个词是不局限于软件开发行业的

2021-04-17 22:52:06 7

原创 Node.js Buffer(缓冲区)

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。原始数

2021-04-14 18:53:19 10

原创 git fork项目合作流程

1、fork项目从其他人的项目A中fork一份到自己github或者gitlab的项目目录下2、clone项目,并添加远程项目路径clone一份自己的项目到本地git clone xxxxxxx.gitgit remote add upstream xxxxxxx.git使用git remote 查看,可以看到有upstream 和 origin3、源项目与自己的本地代码进行合并git pull upstream或者git fetch upstream...

2021-04-14 18:52:59 9

原创 JavaScript数组扁平化的黑科技

const list = [1, [2, [3, [4, [5]]]]];// 将list变成字符串let result = JSON.stringify(list);console.log(result); // [1,[2,[3,[4,[5]]]]] String// 先去除所有的括号let tmpResult = result.replace(/(\[|\])/g, '');// 再加上左右括号tmpResult = '[' + tmpResult + ']';let finalR

2021-04-14 18:51:53 12

原创 静态网站(博客)生成器Static Site Generators(SSGs)大集合

生成静态网站的工具的大集合Table of Contents.NETAwkBashC++C#C and PerlClojureCommon LispDDenoDropboxElixirErlangGoGroovyHaskellJavaLanguage AgnosticLuaNimrodNode.jsOCamlPHPPythonRacketRubyRustScalaSchemeShellTcl.NETPretzelWyamAwk

2021-04-14 18:51:19 19

原创 什么是JAMStack?

JAMstack是指使用JavaScript、API和Markup构建的技术堆栈,JAM是JavaScript、API和Markup的简称,前面第一个字母缩写,JAMstack一种基于客户端JavaScript,可重用API和预构建Markup的现代Web开发架构,需要符合下面三个标准:JavaScript:请求/响应周期中的任何动态编程都由JavaScript处理,完全在客户端上运行。这可以是任何前端框架,库,甚至是轻量JavaScript。 API:所有服务器端进程或数据库操作都被抽象为可重用的A

2021-04-14 18:50:38 52 1

原创 DNS预解析prefetch

定义DNS(Domain Name System, 域名系统),是域名和IP地址相互映射的一个分布式数据库。DNS 查询就是将域名转换成 IP 的过程,这个过程短的话 2ms 几乎无感,长则可能达到几秒钟当浏览器访问一个域名的时候,需要解析一次DNS,获得对应域名的ip地址。在解析过程中,按照浏览器缓存、系统缓存、路由器缓存、ISP(运营商)DNS缓存、根域名服务器、顶级域名服务器、主域名服务器的顺序,逐步读取缓存,直到拿到IP地址DNS Prefetch,即DNS预解析就是根据浏览器定义的规则

2021-04-14 18:49:59 14

阅读md文件的工具

md工具

2013-09-04

前端架构图-前端未来.png

前端架构图-前端未来.png

2021-01-08

kibana-5.3.1

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。 Kibana让我们理解大量数据变得很容易。它简单、基于浏览器的接口使你能快速创建和分享实时展现Elasticsearch查询变化的动态仪表盘。安装Kibana非常快,你可以在几分钟之内安装和开始探索你的Elasticsearch索引数据,不需要写任何代码,没有其他基础软件依赖。

2017-09-06

javascript高级编程

javascript高级编程

2012-11-28

apache-maven-3.5.0

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

2017-09-06

elasticsearch-5.3.1.zip

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。

2017-09-06

Angular开发指南

Angular入门书籍,讲的很细,从Angular对dom的编译,数据的双向绑定,服务的注入等等都将的很细,推介大家看一看

2013-09-04

js高级程序设计

JavaScript高级程序设计(中文版 全书)

2012-11-28

java生成json对象

java生成json对象,这是封装好的jar包

2012-11-25

空空如也

空空如也

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

TA关注的人 TA的粉丝

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