前言 这段时间,本人自己做了一个vue画面部署到自己的服务器上,发现运行速度慢的的惊人,虽然服务器很渣(本人没什么钱,只能租最差的服务器,主要是给自己学习用的),但是这样开发出来的网站简直不能用,所以就查阅各种资料和网站,一步一步把代码包优化.这篇文章主要是把我调优的过程记录下来. 项目的基础框架是通过TypeScript官网取得的.各种基础框架模版 项目的构成 vue + ant-design + mysql + TypeScript vue项目地址 最后,关于如何在vue里面实现按需加载,请…
0.踩坑背景 仍然是torch-rnn/LanguageModel.lua文件中的一些问题,仍然是这个狗血的LM:encode_string函数: function LM:encode_string(s) local encoded = torch.LongTensor(#s) , #s do local token = s:sub(i, i) local idx = self.token_to_idx[token] assert(idx ~= nil, 'Got invalid idx') e…
0.踩坑背景 执行Torch-RNN的时候,在LanguageModel.lua中的encode_string函数中,对start_text的各个character进行id映射编码,实现功能类似“北京天安门”-->“5 10 88 32 111”,方便后面的计算. 这个函数会利用一个全局的类似HashMap的table,hashmap中的key是character(char),value是id(int),涉及到一个从hashmap中按照key取值的操作,代码如下: local idx = sel…
0.Lua & LuaJIT简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy.Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发,Lua在…
未进行打包优化的痛点: 随着项目的不断扩大,引入的第三方库会越来越多,我们每次build的时候会对所有的文件进行打包,耗时必定很长,不利于日常开发. 解决思路: 第三方库我们只是引入到项目里来,一般不会经常性的去修改源码,一般都是在src目录下编写业务代码,因此可以把第三方依赖和src分开打包. 每次build的时候我们只需要把之前build好的第三方依赖文件引入到项目中即可,避免了我们每次build的时候都会build第三方依赖. 当第三方依赖发生改变的时候我们只需要把第三方依赖再build一…
在前文 Webpack 打包优化之体积篇中,对如何减小 Webpack 打包体积,做了些探讨:当然,那些法子对于打包速度的提升,也是大有裨益.然而,打包速度之于开发体验和及时构建,相当重要:所以有必要对其做更为深入的研究,以便完善工作流,这就是本文存在的缘由. Webpack Package optimization 减小文件搜索范围 在使用实际项目开发中,为了提升开发效率,很明显你会使用很多成熟第三方库:即便自己写的代码,模块间相互引用,为了方便也会使用相对路劲,或者别名(alias):这中间…
谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝座的 Gulp, 以及独树一帜的 fis3, 以及下一代打包神器 Rollup :在 browserify,grunt,gulp,rollup,webpack 可以一窥其中部分对比.在本文要探究的是,当前打包工具绝对霸者 Webpack. Webpack Package optimization W…
目录 1 webpack简介 2 webpack实现多个输入输出多个html 3  webpack 中的module下rules 下的use和loader选项 4 webpack 文件更新,如何使页面重新加载,而不是使用缓存,hash(版本号更新) 5 webpack output 里面的publicPath 6 webpack热加载 热更新 热替换 7 webpack dev-server 和nginx服务器之间的关系 8 webpack 构建的vue项目总是会出现内容先于样式出现的很乱的页面…
目录 一.vue监听不到state数组/json对象内的元素的值的变化,要手动通知触发 二.vue用splice删除多维数组元素导致视图更新失败情况 三.vue项目如何部署到php或者java环境的服务器? 四.vue-router各种路由及跳转 五.vue-router如何取参? 六.vue中如何深度watch? 七.vue生命周期及所有东西 八.vue-router路由拦截中间件 九.axios请求拦截中间件处理 十.autoprefixer版本设置不能使用默认,browsers: ['la…
一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间一定比老鸟们久.所以现在总结一下openstack在配置过程中的几大坑点,让各位在配置过程中不再问天问大地,灵魂一片片凋落. 如果是新手一定要学会用快照,一定要多用快照,从镜像安装完成开始,最好每一个章节模块配置完成后都用上一个快照,人生苦短,快照帮你性感. 2.一定要仔细看配种配置以及环境要求,比…
一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间一定比老鸟们久.所以现在总结一下openstack在配置过程中的几大坑点,让各位在配置过程中不再问天问大地,灵魂一片片凋落. 1. 如果是新手一定要学会用快照,一定要多用快照,从镜像安装完成开始,最好每一个章节模块配置完成后都用上一个快照,人生苦短,快照帮你性感. 2.一定要仔细看配种配置以及环境要…
最近跟着Django by Example 2015学习,可老想用最新版的Django3.在学的过程中可踩了不少坑. 今天就又碰到一个: 在这本书中96页有这样的代码: url(r'^login/$', 'django.contrib.auth.views.login', name='login'), 第一个坑:url被path替代. 第二个坑:上面的第二个参数已经不能用' xxx'这样的格式.我从 django.contrib.auth中导入login,将上面的语句改为: path('logi…
这些也是自己平时项目中遇到过的一些问题,看到有人整理了出来,也就转载保存一下 文章内容总结: 组件style的scoped Vue 数组/对象更新 视图不更新 vue filters 过滤器的使用 列表渲染相关 深度watch与watch立即触发回调 这些情况下不要使用箭头函数 路由懒加载写法 路由的项目启动页和404页面 组件style的scoped: 问题:在组件中用js动态创建的dom,添加样式不生效. 场景: <template> <div class="test&qu…
欢迎指正: Centos7 下的ulimit在Docker中的坑 http://www.dockone.io/article/522 僵尸容器:Docker 中的孤儿进程 https://yq.aliyun.com/articles/61894 安全性问题:Docker Demon开启2376端口引起容器安全问题.解决方案:开启iptables,同时关掉nf_conntrack连接跟踪,添加ip和端口过滤规则 consul网络波动:Consul通过udp协议跨数据中心广播,设置-advertis…
1.vue cli给我们提供了npm run build命令打包项目,在packa.json文件中scripts对象中有build属性,当我们执行npm run build时,就执行build对应的"node build/build.js"脚本 build完成后显示 进入项目文件夹,找到dist文件夹,这些是打包后产生的文件 2.webpack打包过程中会将css和js文件单独提取出来,且会根据path存放进相应的文件夹下,形成如上图的根目录,文件名是根据内容产生的哈希值,文件内容改变…
目录 前言 externals定义 用法 string array object function regex 实际案例 打包时间 打包之后包的大小 浏览器加载 需要注意 参考 前言 使用vue-cli创建项目,使用webpack打包.其中,有一个webpack优化webpack.optimize.CommonsChunkPlugin,它会将node_modules中的必需模块提取到vendor文件中,项目开发中,增加第三方模块,比如element-ui.vue-echarts等,vendor的…
谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝座的 Gulp, 以及独树一帜的 fis3, 以及下一代打包神器 Rollup :在 browserify,grunt,gulp,rollup,webpack 可以一窥其中部分对比.在本文要探究的是,当前打包工具绝对霸者 Webpack. Webpack Package optimization W…
如今,webpack 毫无疑问是前端构建领域里最耀眼的一颗星,无论你前端走哪条路线,都需要有很强的webpack 知识.webpack 的基本用法这里就不展开讲了.主要探讨一下如何提高 webpack 的打包速度. 这篇文章以 vue cli3.0+,webpack4.0+,nodejs10.0+ 这几个版本为例. 一.打包分析 1.1.速度分析 我们的目的是优化打包速度,那肯定需要一个速度分析插件,此时 speed-measure-webpack-plugin 就派上用场了.它的作用如下: 分…
应用场景:项目使用webpack2.x进行打包,打包后静态资源通过nginx转发配置: 问题:webpack打包后的资源文件特别,特别大,没打包之前页面一个页面js有2M左右(其中已经抽离了css)? 优化一:一看js这么大肯定是没有关闭source-map,先将webpack配置文件中dev-tool:false, 优化二:使用compresion-webpack-plugin插件将静态资源压缩,并生成.gz文件,配置如下: 具体用法请参照:http://www.css88.com/doc/w…
前段时间一直在基于webpack进行前端资源包的瘦身.在项目中基于路由进行代码分离,http://www.cnblogs.com/legu/p/7251562.html.但是打包的文件还是很大,特别是通过CommonsChunkPlugin的async:true打包的chunk的公共包不可控.今天就通过CommonsChunkPlugin插件的理解,来优化这个问题 问题描述详细些,我们的打包是基于router进行的chunk分割,比如router有10个,router1,router2用到了ec…
目录 1. noParse 2. 包含和排除目录 3. IgnorePlugin 4. happypack 5. DllPlugin动态链接库 6. 热更新 7. 开发环境 tree-shaking 8. 抽离公共代码 9. 懒加载 1. noParse 作用主要是过滤不需要解析的文件,比如打包的时候依赖了三方库(jquyer.lodash)等,而这些三方库里面没有其他依赖,可以通过配置noParse不去解析文件,提高打包效率. 是module中的一个属性,设置一个正则表达式,过滤多个库以|分割…
需要安装npm git(windows系统需要安装) npm 是node的包管理工具 npm 国内的网站比较慢,推荐使用cnpm(淘宝的镜像) cnpm(npm) install 创建依赖-----因为package.json中有 run dev 启动项目 其实是执行的是node bulid/dev-derver.js 在package.json中的有 .vue其实就是vue的一个实例 在创建vue实例时,不能使用h5内部原生的标签名进行命名,否则会报错 使用vue-cli 和webpack搭建…
1,需要在项目中使用sass/scss 功能需要先在项目中安装,安装方法: cnpm install node-sass --save-dev //安装node-sass cnpm install sass-loader --save-dev //安装sass-loader cnpm install style-loader --save-dev //安装style-loader 2,安装完成后找到build文件夹下面的webpack.base.conf.js文件,然后在rules里面添加一下配…
qt版本:4.8.0 qwt版本:6.1.2 使用dll show检测缺少的dll,或者笨一点的方法,点击运行差什么找什么放进去: 左上显示exe调用哪些dll,右边是dll又再次调用啦哪些dll: 全部的dll都加在进去了还是不行,参考了以下几个blog http://walkerqt.blog.51cto.com/1310630/1256745 http://blog.csdn.net/lulinqing/article/details/10895401 https://www.cnblog…
异常显示的原因: 这是由于浏览器的渲染机制导致的,浏览器是从头到尾  如果你的js引用在底部,那么浏览器会先加载dom此时,你用于渲染的{{}}识别符,因为还没读到该识别符对应的js文件,所以会被解析为字符串而显示在页面中 解决方案: 可以用过自定义属性v-cloak解决, 第一步:在css中给定义属性选择器          [v-cloak]{  display:none } 第二步:在对应标签中加入 v-cloak:         例如:<div id="wrap"  v…
1. 在methods 中添加一个方法.如果这个方法使用箭头函数的话,箭头函数中的this不是当前的vue实例,所以通过this.xxx是获取不到实例上面的属性的,这时我们可以用函数的简写来获取到实例上面的属性 2. vue中的v-for循环不能放在根元素上 以下是示例 <template> <div class="schedule" v-for="cur in schedule"> {{ 我是例子 }} </div></t…
一.环境准备: 1.Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html    配置环境变量-系统变量   JAVA_HOME  C:\Program Files (x86)\Java\jdk1.8.0_111 Path       %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLASSPATH  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\t…
在Hive脚本中如果有 use db; #即使用数据库 最后一定要有一个exit;脚本,退出hive窗口 否则运行到最后,hive无法启动MR任务,只是卡在打印完成hive脚本处. 例子如下: $Hive <<EOF use cdns; set hive.exec.compress.output=true; set mapred.output.compress=true; set mapred.output.compression.codec=org.apache.hadoop.io.comp…
1.更新不需要权限的项目A,却提示没有权限. 先从Git上更新项目A的代码,提示没有权限. 然后从Git上更新其它项目B的代码,正常. 再更新项目A的代码,正常了. 奇葩问题! 2.Eclipse中,把编辑器和文件进行关联,内容展示更加友好. 网上找到了2种比较类似的方式: 方式1: Eclipse->Window->Preference->General->Editors->File Associations. 新增*.vm文件,关联编辑器为"HtmlEditor…
一:全局包: 用在终端里面 你可以在任何目录下进行安装,安装好了全局包之后,全局包一般安装在 C:/program files/nodejs C:/用户/xxx/App Data/Roaming/npm npm i 全局包 -g 二:本地包: 用在当前的项目里面 必须切换当前根目录,进行安装 npm i 本地包 -D/-S -D 代表你安装的包是在开发阶段使用的 -S 代表你安装的包是在生产阶段使用 比如: 三:关于package.json的生成 切换到根目录,在终端中输入 npm init -…