自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

2024路在何方

学习、专注,永无止尽

  • 博客(207)
  • 收藏
  • 关注

原创 【银河商学】大蓝短视频学习03——做内容

一般内容就是推荐各类东西、各类博主,比如哪些穿搭值得关注,内容就是梨型身材就看胖梨阿姨、150个子就看小个子穿搭…根据各类风格推荐各个账号。比如苹果在泳池里,泳池里还是个男的,苹果很红,水很蓝,反差很明显。大蓝后台数据,5s完播率85.8%比如下面的视频,是如何博眼球的?打造黄金3秒,现在要讲黄金2秒。引发猎奇 + 推荐内容。选题决定了覆盖人群基数。

2024-03-09 23:54:43 271

原创 【银河商学】大蓝短视频学习02——流量突围实战

弊端:成本极高,变现机场,头部喝西北风,中药部严重亏损,尾部成不了一个月。弊端:马太效应十分严重,赢家通吃,头部吃肉、中部喝汤、尾部喝西北风。弊端:变现超差,头部喝汤、中部喝西北风、尾部西北风都合不上。弊端:基本活不了,全靠dou+砸,后端转化能力不足的必亏。弊端:需要人脉资源、头部吃肉、中部喝汤、尾部喝西北风。难点:剧本/演员/经费/时间/场景/道具/剪辑。难点:圈层资源/采访能力/策划/编导/剪辑。难点:成本/时间/文案/选题。传播效率:☆☆☆☆☆。变现效率:☆☆☆☆☆。制作难度:☆☆☆☆☆。

2024-03-09 22:18:33 418

原创 【银河商学】大蓝短视频学习01——定位,定江山

抖音直播带货,前10000名的销量,都是差不多的,所以都有机会来做直播带货——对于这种,可以做矩阵号。普通人的真实人设 + 特点(搞笑、漂亮、社恐、小孩多、嘴馋、全家都很胖、毒舌等)抖音的流量不是给头部的,是分下去的,是根绝内容来分发流量的。必须是专家人设、行业大咖、资深人士。火了以后 会自动找上门让你打广告。专家人设、行业大咖、资深人士。

2024-02-20 18:45:13 496

原创 5.pkg-dir源码解析

5.pkg-dir源码解析从某个目录开始向上查找,直到找到存在package.json的目录,并返回该目录。如果未找到则返回null使用const pkgDir = require('pkg-dir');const globalDir = pkgDir.sync(path.dirname(filename));源码'use strict';const path = require('path');const findUp = require('find-up');modul

2021-06-01 19:10:12 554 2

原创 Vue-Router核心原理实现(文末附手写版源码)

VueRouter的核心原理一、VueRouter的核心组成部分主要实现以下几部分:modethis.router/this.router/this.router/this.routerouter-link/router-viewVue.use注册插件1、mode在vueRouter中,主要分为两种模式,一种是hash,一种是history。hash模式是通过监听...

2020-01-01 18:24:38 798 2

原创 一文读懂V8垃圾回收机制——新生代Scavenge、老生代Mark-Sweep和Mark-Compact

1 V8内存管理1.1 V8n内存限制64位系统可用1.4G内存32位系统可用0.7G内存1.2 V8内存管理JS对象都是通过V8进行分配管理内存的process.memoryUsage()返回一个对象,包含了Node进程的内存占用信息 console.log(process.memoryUsage()); //结果如下: { rss:...

2019-12-29 22:47:34 4033

原创 【docker】学docker,看此文真的足够了!

一、image镜像1.1 查看镜像 docker image ls字段含义REPOSITORY仓库地址TAG标签IMAGE_ID镜像IDCREATED创建时间SIZE镜像大小1.2 查找镜像 docker search ubuntu字段含义NAME名称DESCRIPTION描述...

2019-08-06 06:24:24 737

原创 2.ES6-解构赋值及其原理-解构看完这篇足够了

所谓的解构赋值其实就是分解出一个对象的解构,分成两个步骤: 1. 变量的声明 2. 变量的赋值一、 数组的解构赋值/* 对于数组的解构赋值,其实就是获得数组的元素,而我们一般情况下获取数组元素的方法是通过下标获取,例如: let arr = [1,2,3]; let a = arr[0]; ...

2018-08-08 00:21:20 15207 1

原创 【银河商学】大蓝短视频学习05——变现升级秘诀

这里的完毕率其实是综合完播数据,包含了2s完播、2s跳出、3s完播、5s完播、平均播放时长、中位数播放时长、整体完播率、复播率、总播放时长等等;最重要:完播率 >>> 重要性高达60%以上 >>> 完播率不行,所有数据都不行。视频不是越短越好,长度无所谓,但内容一定要紧凑,比如3小时电影剪辑成了15分钟。每个新账号基础流量都是相同的,上不上热门只取决于看视频的人的数据反馈。不管现实中多low的人,都希望自己可以卖弄自己的观点、见解。系统是看不懂视频的,系统认为的"好视频"就是。有流量,但是不变现,为什么?

2024-03-24 15:42:24 67

原创 【银河商学】大蓝短视频学习04——找对标账号

有潜力——————这种适合模仿。

2024-03-24 15:37:27 63

原创 N年前写的微前端笔记——微前端技术架构

2021-09-29 20:14:17 403

原创 N年前写的微前端笔记——如何使用history插件管理浏览记录(六)

本文介绍如何使用history插件管理浏览记录history插件的使用history这个插件可以方便管理你的浏览记录cnpm install history --saveimport createHistory from 'history/createBrowserHistory'三种方法有三种使用方式 createBrowserHistory 现代浏览器使用 createBrowserHistory({ basename: ...

2021-09-29 20:10:23 577

原创 N年前写的微前端笔记——微前端懒加载(五)

微前端懒加载根据前面所讲,我们知道需要加载一个应用,就是去正确注册并启动这个应用,总共有两个步骤:注册 registerApp({ name: config.name, main: config.main, url: config.prefix, store: config.store, base: config.base, path: config.path, })启动 singleSpa.start();

2021-09-29 20:09:05 352

原创 N年前写的微前端笔记——4.消息总线-微前端应用之间的通信工具(四)

7.消息总线其实微前端,就是将每个app装入了自己的黑匣子中,与外界相对隔离,相互之间无法通信,这其实与我们的现实并不符合。所以,微前端应用之间的相互通信,成了微前端架构的关键之一。应用之间的通信,可以分为两类:每个黑匣子里面发生了什么,外面如何知道?每个黑匣子都是有生命周期的,当被卸载的时候,外面如何知道你已经被卸载了,卸载后又如何保证正常的通信?解决方案github上的single-spa-portal-example提供了解决方案。该方案是基于redux的。pre.了解

2021-09-29 20:07:35 323

原创 N年前写的微前端笔记——模块加载器批量注册应用(三)

6.模块加载器这里的模块加载器,其实主要就是通过汇集每个应用的配置文件,批量注册应用配置文件在每个应用下新建配置文件,比如在src/vue下新建config.jsexport default { "name": "vue", //模块名称 "path": "/vue-project", //模块url前缀 "prefix": "/vue", //模块文件路径前缀 "main": "vue/vue.app.js", //模块渲染出口文件 "store": "./src/vu

2021-09-29 15:01:40 287

原创 N年前写的微前端笔记——demo-感受Single-Spa(二)

5. 感受Single-Spa我们先通过小demo,来感受下Single-Spa如何实现一个项目两个框架同时存在的开始创建根目录mkdir single-spa-appcd single-spa-app初始化项目npm init -y安装依赖,直接展示package.json上的依赖吧dependencies 用 “npm i 依赖名” 来安装devDependencies 用 “npm i 依赖名 -D” 来安装"dependencies": { "r

2021-09-29 15:00:19 265

原创 N年前写的微前端笔记——初探微前端(一)

微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。1.后端微服务与前端微服务的优势有何相似之处优势后端微服务前端微服务复杂度可控体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌握,易于保持高可维护性和开发效率每一个UI业务模块由独立的前端团队开发,避免代码巨无霸,保持开发时的高速编译,保持较低的复杂度,便于维护,提升开发效率独立.

2021-09-29 14:58:06 239

原创 14.node中的转化流Transform

转换流转化流是一种双工流,继承双工流,能够使得可写流与可读流之间相互转化1. 转换流的实现stream.Transform 类原型上继承自 stream.Duplex 并实现其自己版本的 writable._write() 和 readable._read() 方法。 自定义的 Transform 实现必须实现 transform._transform() 方法,也可以实现 transform._flush() 方法。// 转化流——可以吧可写流转换成可读流,可以用于加密 压缩const

2021-09-13 21:22:53 602

原创 13.node中的双工流Deplex

双工流双工流特点:既可读,又可写。(读写之间可以没有关系)同时实现了 Readable 和 Writable 的流,即可以作为上游生产数据,又可以作为下游消费数据,这样可以处于数据流动管道的中间部分 rs.pipe(rws1).pipe(rws2).pipe(rws3).pipe(ws);1. Duplex实现由于js没有多继承,但又需要继承Readable和Writable,所以就需要继承Duplex类,而这个类继承了Readable和Writableconst { Dup

2021-09-13 21:22:13 457

原创 12.node中的管道流pipe

管道流pipe1. 管道流的使用格式: 可读流.pipe(可写流)const ReadStream = require('./ReadStream')const WriteStream = require('./WriteStream')// rs是一个可读流let rs = new ReadStream('./text.txt', { highWaterMark: 4})// ws是一个可写流let ws = new WriteStream('./copy.txt', {

2021-09-13 21:21:20 1088

原创 11. 链表结构和队列

常用的数据结构:队列、栈、链表、树等…队列先进先出,push shift举例: 事件环栈后进先出,push pop举例: 方法调用栈、路由切换、浏览器对而历史记录(两个栈)、判断标签是否闭合1. 栈型结构举例1.1 方法调用栈function a(){ function b(){ function c(){ } c(); } b();}a();错误的说法:每次执行都会创建一个作用域。错误的原因:声明时就定义了作用域,而不.

2021-09-01 21:48:52 246

原创 10.文件可写流fs.createWriteStream

1.可写流createWriteStream的使用1.1 创建可写流const ws = fs.createWriteStream(path.resolve(__dirname, 'test.txt'), { flags: 'w', // 写流不能用r,会报错.可以用'a'表示追加 encoding: 'utf8', // 不写默认是utf8 autoClose: true, // 写完是否自动关闭 // start: 0, //从第几个字节开始写 highWaterMark: 3

2021-09-01 21:29:11 5848

原创 9.流之可读流与文件可读流

可读流与文件可读流1. 流的概念流是一组有序的,有起点和终点的字节数据传输手段它不关心文件的整体内容,只关注是否从文件中读到了数据,以及读到数据之后的处理流是一个抽象接口,被 Node 中的很多对象所实现。比如fs模块就是基于流来写的,HTTP 服务器request和response对象都是流。一般读取大文件的时候才用流,小文件直接fs.readFile就可以了2. 可读流createReadStream2.1 创建可读流let rs = fs.createReadStream(path

2021-08-26 18:07:44 377

原创 8.fs模块知识点

node中常用的fs模块1. fs模块介绍在Node.js中,使用fs模块来实现所有有关文件及目录的创建、写入及删除操作。在fs模块中,所有的方法都分为同步和异步两种实现。具有sync后缀的方法为同步方法,不具有sync后缀的方法为异步方法。2. 整体读取文件2.1 异步读取语法: fs.readFile(path[, options], callback)options: String | ObjectString: ‘utf-8’Object: {encoding: ‘ut

2021-08-25 22:20:43 401 1

原创 7.Buffer知识点

什么是Buffer?缓冲区Buffer是暂时存放输入输出数据的一段内存。Buffer是十六进制。JS语言没有二进制数据类型,而在处理TCP和文件流的时候,必须要处理二进制数据。所以,其实我们的node是把数据从二进制转换成了十六进制NodeJS提供了一个Buffer对象来提供对二进制数据的操作Buffer是一个表示固定内存分配的全局对象,也就是说要放到缓存区中的字节要提前确定Buffer好比由一个多位字节元素组成的数组,可以有效地在javascript中表示二进制数据什么是字节1字节

2021-08-24 21:24:30 1115

原创 6.node中常用的path模块

path模块获取 路规范化路径/路径/文件名/扩展名path.normalize(filepath)path.dirname(filepath)path.basename(filepath)path.extname(filepath)路径组合path.join([…paths])path.resolve([…paths])获取相对路径path.relative(from参照, to)将对象转成字符串路径path.format(pathObject)将字符串

2021-08-24 16:47:11 447

原创 5.util工具模块

util工具模块该模块属于核心模块/内置模块,不需要安装可以直接使用util.inheritsutil.isArray 和 util.isFunctionutil.promisify 把方法转化成promise

2021-08-24 16:46:23 292

原创 4.node中的eventloop

https://segmentfault.com/a/1190000016278115

2021-08-24 16:45:38 189

原创 3.node中的nextTick、setTimeout和setImmediate

梯队setTimeout/setImmediate 第二梯队nextTick 最后一个梯队所以:无论nextTick与setImmediate谁在前谁在后,一定是nextTick先执行第二梯队setTimeout/setImmediate执行顺序谁先谁后都有可能setTimeout/setImmediate/nextTick执行顺序,主要看node的eventLoop,后面会写。nextTick、setImmediate和setTimeout回调函数中的this指向谁?ne

2021-08-23 20:44:33 687

原创 2.global 下的属性和方法

global 下的属性和方法globalconsoleprocessBuffer 缓存区(重点) 比如:文件读写都写在Buffer中clearImmediate 清除立即setImmediate 设置立即clearIntervalsetIntervalclearTimeoutsetInterval…1.globalglobal.global.global可以循环使用,没有太多实际意义2.consoleconsole.log 打印日志console.dir 不常用c

2021-08-23 20:43:20 353

原创 1.node中的this

nodejs中的thisnode与浏览器中this的区别浏览器中this指向顶层是windownode中this指向顶层是globalnode中的this文件中的内容,其实都是内一个函数包裹的(记住这一条,一切都解开了):function(exports, require, module, __filename, __dirname){ //你文件的代码}文件中的this,默认为{}。默认情况下node在执行的时候,是在文件中执行的,内部会给哲哥文件加一个自执行函数,

2021-08-23 20:42:31 822

原创 30.webpack——webpack5新特性(启动、持久化缓存、资源模块、URIs、moduleIds和chunkIds、tree shaking、nodeJs的polyfill被移除、模块联邦)

title: 3.webpack5的新特性date: 2021-08-17 20:345.URIsWebpack 5 支持在请求中处理协议支持data 支持 Base64 或原始编码,MimeType可以在module.rule中被映射到加载器和模块类型这是一个实验性的 api5.1 使用举例import data from “data:text/javascript, export default 'title'”;console.log(data6.moduleIds 和 ch.

2021-08-17 23:55:40 2533

转载 0.webpack——易混淆知识点(面试点)

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:webpack中有很多容易混淆的概念,也是面试中经常会涉及的点,在这里给大家抛一个链接,个人认为写的比较好,可以参考学习:https://www.cnblogs.com/skychx/tag/

2021-08-17 21:08:18 288

原创 29.webpack——library与libraryTarget的用法/如何打包一个库文件

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从第16节开始,专攻webpack原理和高级API,只有深入原理和高级API,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:commonjs与commonjs2的区别// commonjsexports.add = function(a, b){ return a + b;}

2021-08-17 11:56:12 1746

原创 28.webpack——module、chunk和bundle的区别

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:module: 只要是文件,都是一个modulemchunk:代码块,是webpack根据功能拆分出来的(chunk是无法在打包结果中看到的,打包结果中看到的是bundle),包含三种

2021-08-17 11:41:13 956

原创 27.webpack——一文掌握webpack性能优化(高频面试点)

mainFilds和mainFilesresolve: { // 配置 target === "web" 或者 target === "webworker" 时 mainFields 默认值是: mainFields: ['browser', 'module', 'main'], // target 的值为其他时,mainFields 默认值为: mainFields: ["module", "main"],}这里的mainFileds代表了一个包解析入口文件应该看的字段,按照上面

2021-08-13 18:22:48 774

原创 26.重学webpack——如何开发一个webpack插件/webpack中的plugin的应用

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:由于webpack基本配置无法满足开发者需求,所以需要借助plugin对webpack构建流程进行修改,来达到改变或优化webpack编译结果的目的。1.你有没有开发过插件,你是怎么开发开

2021-08-12 19:28:34 815

原创 25.重学webpack——梳理tapable的九大钩子函数的使用及原理

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:webpack实现插件的流程:创建 - webpack在其内部对象上创建各种钩子Hook注册 - 插件讲自己的方法注册到对应的钩子Hook上,交给webpack调用 - webpack编

2021-08-09 21:45:04 1138

原创 24.重学webpack——loader的原理及常用loader的实现(高频面试题)

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:loader的原理1.loader介绍loader其实就是一个到处为函数的js模块,函数的参数接收上一个代码产生的结果或者资源文件。loader可以组合使用。loader的结果是Stri

2021-08-05 20:00:43 1922 2

原创 23.重学webpack——原理之webpack工作原理/工作流(高频面试题)

【重学webpack系列——webpack5.0】1-15节主要讲webpack的使用,当然,建议结合《webpack学完这些就够了》一起学习。从本节开始,专攻webpack原理,只有深入原理,才能学到webpack设计的精髓,从而将技术点运用到实际项目中。可以点击上方专栏订阅哦。以下是本节正文:webpack工作流1. webpack工作流步骤(高频面试点)初始化参数:从配置文件和Shell语句中读取并合并参数,得出最终的配置对象用上一步得到的参数初始化Compiler对象加

2021-08-05 14:55:30 527

空空如也

空空如也

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

TA关注的人

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