10 mhbsoft

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

前端RenderTree

浏览器工作步骤处理HTML标签生成DOM树。处理CSS标签构建CSSOM树。Layout(reflow)计算每个对象的确切位置和大小。最后是绘制(Paint),把最终的渲染树对象渲染成屏幕像素。渲染数生成的时候简单来说,从DOM树根节点开始,遍历每个可见节点。每个可见节点找到并应用对应的CSSOM规则。返回计算好样式的内容。然后呢?从渲染树知道了每个元素的位置和尺寸,下面就是Layout(reflow)了,根据设备的viewport计算每个元素该怎样展示。Layout之后就是绘制

2020-10-01 10:10:01

Scala中List.tabulate方法

List.tabulate(2,3)() // 代表生成一个二维的列表,两行三列// 假设第二个参数是bList.tabulate(2,3)(b)// 这个b是什么呢for (x1 <- 0 until 2){ for (x2 <- 0 until 3){ b; // x1与x2的计算公式 }}// 在第二个列表直接输入b的计算公式, 每个x用“_”代表List.tabulate(2,3)(_*_) // 代表x1 * x2// 上面得到的列表List[Li

2020-09-22 11:47:00

Scala中list连接

连接列表val site1 = "Runoob" :: ("Google" :: ("Baidu" :: Nil))val site2 = "Facebook" :: ("Taobao" :: Nil)// 使用 ::: 运算符var fruit = site1 ::: site2println( "site1 ::: site2 : " + fruit ) // List(Runoob, Google, Baidu, Facebook, Taobao)// 使用 List.:::()

2020-09-22 11:25:45

scala中final和val

记录:在scala中,经常会出现final val 这种用法,val 代表的是常量,不能被修改。那为什么还要加final呢?原因是final代表的是子类不能重载这个值。在java中,如果引用为基本数据类型,则该引用为常量,该值无法修改;如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。如果引用时类的成员变量,则必须当场赋值,否则编译会报错。...

2020-09-21 15:01:48

Java中基本数据类型和包装器类型的关系

我们都知道在Java语言中,new一个对象存储在堆里,我们通过堆栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用new关键字来创建,而是直接将变量的值存储在堆栈中,因此更加高效。有了基本类型之后为什么还要有包装器类型呢?我们知道Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我

2020-09-21 10:59:07

Kafka 事务

配置类: ProducerClientConfig.javapublic class ProducerClientConfig { public static String brokerList = "broker的Ip:7072"; // broker的ip:端口 public static String topic = "topic"; // topic名称 public static String transactionId = "transactional-0";

2020-09-18 14:39:33

kafka 修改分区

public static void addTopicPartitions() throws ExecutionException, InterruptedException { Properties properties = initConfig(); AdminClient client = AdminClient.create(properties); // 修改为3个分区,分区数量只能增加,不能减小 NewPartitions newPartiti

2020-09-15 11:49:25

解释几个命令的作用

打包工具rollup用babel的核心模块@babel/core将高级语法转成低级语法@babel/preset-env让rollup使用babel,桥梁rollup-plugin-babel实现一个静态服务rollup-plugin-serve设置环境变量cross-envnpm install rollup @babel/core @babel/preset-env rollup-plugin-babel rollup-plugin-serve cross-env -D.

2020-09-07 10:59:57

vue-cli3网页显示标题

1. package.json 文件修改 这个文件的 name,名字就会相应的修改。{ "name": "vuetest", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, ......}2. vu

2020-09-04 14:53:47

Kafka 低阶消费拦截器

KafkaConsuerMain.javapublic class KafkaConsuerMain { private static final String brokerList = "xxx:xxx"; private static final String topic = "Topic5"; private static final String groupId = "group.rrr"; public static void main( String[] a

2020-08-28 10:17:47

目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用组为 runoobgroup:

chown -R runoob:runoobgroup *

2020-08-03 20:21:30

linux 中查看进程的完整路径

1. 找到进程的PID,如下:[kafka@localhost proc]$ jps -l29396 sun.tools.jps.Jps25486 kafka.Kafka2. 进入 proc 目录,ll PID[kafka@localhost proc]$ ll 25486total 0...lrwxrwxrwx 1 kafka kafka 0 Jun 8 16:57 cwd -> /opt/kafka/software/kafka_2.11-1.1.1/bin-r----

2020-06-08 17:11:24

webpack resolve

webpack.config.jsconst { resolve } = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: './src/js/index.js', output: { // [name] 默认是 main, 可以写固定值 // 文件名称(制定名称+目录) filename: 'js/[name].js',

2020-07-10 19:58:12

webpack module

webpack.config.jsconst { resolve } = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: './src/index.js', output: { // [name] 默认是 main, 可以写固定值 // 文件名称(制定名称+目录) filename: 'js/[name].js',

2020-07-10 19:56:49

webpack output

webpack.config.jsconst { resolve } = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: './src/index.js', output: { // [name] 默认是 main, 可以写固定值 // 文件名称(制定名称+目录) filename: 'js/[name].js',

2020-07-10 19:54:57

webpack entry

webpack.config.jsconst { resolve } = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');/** * entry: 入口起点 * 1. string --> './src/index.js' * entry: './src/index.js', * 打包形成一个 chunk, 输出一个 bundle 文件 * fil

2020-07-08 17:06:56

webpack 优化

webpack性能优化开发环境性能优化生产环境性能优化开发环境性能优化优化打包构建速度HMR优化代码调试source-map生产环境性能优化优化打包构建速度oneOfbabel缓存多进程打包externalsdll优化代码运行的性能缓存(hash-chunkhash-contenthash)tree shakingcode split懒加载/预加载pwa...

2020-07-08 14:44:49

webpack externals技术 + dll技术

externals: 使用cdn引入不需要打包。dll : 只打包一次。以后不再打包。externalswebpack.config.jsconst {resolve} = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: './src/js/index.js', output: { filename: 'js/bu

2020-07-07 11:32:56

webpack多进程打包技术

thread-loader’ 可以给多个loader 加多线程打包多线程打包 loader{ test: /\.js$/, exclude: /node_modules/, use: [ // 开启多进程打包 // 进程启动大概 600ms, 进程通信 也要花时间。 // 只有工作消耗时间比较长,才需要多进程打包。 // 'thread-loader', // 进程默认 cpu核数-1 { loader: 'thread-loa

2020-07-06 17:32:40

webpack pwa技术

1. webpack.config.jsconst GenerateSW = require('workbox-webpack-plugin');...// 插件module.exports = {... plugins: [ ... new GenerateSW.GenerateSW({ // 帮助 serviceworker 快速启动 // 删除旧的 serviceworker //

2020-07-06 13:56:42

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。