Vue 的脚手架(Vue CLI: Command Line Interface)是 Vue 官方提供的标准化开发平台。它可以将我们.vue 的
代码进行编译生成 html css js 代码,并且可以将这些代码自动发布到它自带的服务器上,为我们 Vue 的开发提供
了一条龙服务。脚手架官网地址:http://cli.vuejs.org/zh
注意:Vue CLI 4.x 需要 Node.js v8.9 及以上版本,推荐 v10 以上。
建议先配置一下 npm 镜像:
1.1 npm config set registry http://registry.npm.taobao.org
1.2 npm config get registry
返回成功,表示设置成功
第一步:安装脚手架(全局方式:表示只需要做一次即可)
2.1 npm install -g @vue/cli
2.2 安装完成后,重新打开 DOS 命令窗口,输入 vue 命令可用表示成功了
第二步:创建项目(项目中自带脚手架环境,自带一个 HelloWorld 案例
3.1 切换到要创建项目的目录,然后使用 vue create vue_pro
这里选择 Vue2,
babel:负责 ES6 语法转换成 ES5。
eslint:负责语法检查的。
回车之后,就开始创建项目,创建脚手架环境(内置了 webpack loader),自动生成 HelloWorld 案例
cd vue_pro
npm run serve
,这一步会编译 HelloWorld 案例ctrl + c 停止服务。
4.3 打开浏览器,访问:http://localhost:8080
package.json
:包的说明书(包的名字,包的版本,依赖哪些库)。该文件里有 webpack 的短命令:
serve
(启动内置服务器)
build
命令是最后一次的编译,生成 html css js,给后端人员
lint
做语法检查的。
可以看到在 index.html 中只有一个容器。没有引入 vue.js,也没有引入 main.js
Vue 脚手架可以自动找到 main.js 文件。(所以 main.js 文件名不要修改,位置也不要随便移动)
adaline.m function[w,y]=adaline(x,t,epochs,miu) %%Ploterrorsurface figure(3); holdon [W1,W2]=meshgrid(-0.5:0.01:0.5,-0.5:0.01:0.5); [p1,p2]=size(W1); JW=zeros(p1,p2); fori=1:(p1*p2) w=[W1(i)W2(i)]'; JW(i)=sum((t-x'*w).^2); end surf(W1,W2,JW); %%Initialization [~,m]=size(x); w=[00]'; %Forplottingthedifference||w*-w^k|| diff=zeros(1,epochs); wStar=(x*x')^-1*x*t; %%BatchalgorithmforADALINE forstep=1:epochs s=[00]'; y=zeros(m,1); p=randperm(m); x=x(:,p); t=t(p); for
ref和out之间的江湖趣闻本片文章将详细介绍一下在C#中的关键字:ref和out的使用和区别 话不多说,下面开始介绍啦 引用参数和输出参数按照国际惯例,要了解一个东西的时候,首先明白它是什么,然后明白它能做什么,最后要知道为什么。 所以在介绍ref和out之前要先简单了解一下什么是引用参数与输出参数,因为使用ref和out要有所了解引用参数: 引用参数是一个对变量的内存位置的引用。当按引用传递参数时,与值参数不同的是,它不会为这些参数创建一个新的存储位置。引用参数表示与提供给方法的实际参数具有相同的内存位置。 引用参数在方法中使用时必须为其赋值,并且必须是由变量赋予的值,不能是常量或表达式。如果需要将方法中的每一个参数都设置为ref类型参数,则需要在每一个参数前面加上ref关键字修饰。 在C#中,使用ref关键字声明引用参数输出参数: return语句可用于只从函数中返回一个值。但是,可以使用输出参数来从函数中返回两个值。输出参数会把方法输出的数据赋给自己,其他方面与引用参数相似。输出参数相当于返回值,即在方法调用完成后可以将返回的结果存放到输出参数中。 在C#中,使用out关键字声
2020年了,开始正文前,先说几句废话,2019年公众号开始正式更文,后期由于个人问题停更了,2020年开始重新开始更文,更文目的很简单,记录自己的学习,分享给大家,就这么简单;好啦,言归正传,下面开始今天的正文了; OnlineDDL一直都是DBA运维时比较头疼的事,一般都会选择在业务低峰期谨慎的操作,比较常用的几个工具比如perconapt-online-schema-change,FacebookOSC,本质上它们都是基于触发器的,简单来讲就是通过数据库的触发器把作用在源表的操作在一个事务内同步到修改后的表中,这在业务高峰期时会极大的加重主库的负载。下面介绍的gh-ost是由Github开发的OnlineDDL工具,使用binlog代替触发器来做增量数据同步,这样可以降低主库的负载,异步的执行。一、安装步骤1、安装go环境下载go(我的当前目录是/data/work)[root@wjq~]#wgethttps://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz [root@wjq~]#tar-xvfgo1.10.1.li
在上一期《统计信息记录表|全方位认识mysql系统库》中,我们详细介绍了mysql系统库中的统计信息记录表,本期我们将为大家带来系列第五篇《优化器成本记录表|全方位认识mysql系统库》,下面请跟随我们一起开始mysql系统库的系统学习之旅吧!01优化器成本模型概述为了生成执行计划,优化器使用了基于成本的模型来对各种操作成本进行估算。优化器具有一组可编辑的默认“成本常量”(这些值存储在mysql系统数据库下的server_cost和engine_cost表中),可用于调节执行计划的决策。 *server_cost:server常规操作需要使用到的优化器成本估算常量值。*engine_cost:针对特定存储引擎的操作需要使用到的的优化器成本估算常量值。当服务器启动时会将成本模型表读入内存中,在生成执行计划时使用内存中的值。表中指定的任何非NULL成本估算常量值优先使用。剩余其他任何NULL常量值在使用时会转换为内置的默认常量值。成本常量值在服务器运行过程中允许动态修改(通过修改server_cost和engine_cost表实现,修改完成后需要执行FLUSHOPTIMIZER_COSTS
Iwillhonourmyselfbyshowinguppowerfullyinmylifetoday。我会为在今日努力生活的自我而感到自豪。前面我们讲解过关于用Python写温度转换器,画“Python”以及天天学习的代码讲解。不知大家是否还记得,忘记的可以点击上面的专辑去里面复习一下哦,也可以再敲敲代码,提高对语句的熟练程度。关于Python有好几天没写了,这里小编还是得尽快把Python的相关知识为大家讲解完,然后我们便可以用Python开始实战,比如爬虫,数据分析等。今天小编准备将关于Python的基本数据类型中的数字类型为大家讲解,关于数字类型,大家可能会觉得简单,没错,是比较简单,但一些基本的语法知识还是得熟练掌握,小编准备分为三大部分,分别是三种基本类型(整数类型,浮点数类型,复数类型),数值运算操作符和数值运算函数。由于这部分知识不难,也不多,所以小编会尽可能的为大家详细讲解。 一三种基本类型 1.首先我们学习的是整数类型,这个听起来也不难,毕竟我们小学就接触了整数,那在Python中的整数和数学中的整数相差很大么?当然不会,它们的概念是一致的,都可正可负,无取值范围的
在linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。了解PAMLinux-PAM(PluggableAuthenticationModulesforLinux)可插拔认证模块。Linux-PAM是一套适用于Linux的身份验证共享库系统,它为系统中的应用程序或服务提供动态身份验证模块支持。在Linux中,PAM是可动态配置的,本地系统管理员可以自由选择应用程序如何对用户进行身份验证。PAM应用在许多程序与服务上,比如登录程序(login、su)的PAM身份验证(口令认证、限制登录),passwd强制密码,用户进程实时管理,向用户分配系统资源等。PAM的主要特征是认证的性质是可动态配置的。PAM的核心部分是库(libpam)和PAM模块的集合,它们是位于文件夹/lib/security/中的动态链接库(.so)文件,以及位于/etc/pam.d/目录中(或者是/etc/pam.conf配置文件)的各个PAM模块配置文件。/etc/pam.d/目录中定义了各种程序和服务的PAM配置文件,其中system-auth文件是P
(○`3′○)走过路过,不要错过本周好书推荐:WebApplicationPenetrationTesting(英文原版地址:https://www.exploit-db.com/docs/english/44319-web-application-security-testing.pdf)(•̀ω•́)y全英文呀,我这种小白啃起来会有点鸭梨~(~ ̄▽ ̄)~不要紧的,最近红日安全团队的翻译大大们把这书给翻译成中文。红日安全团队,核心成员专注于Web安全及移动安全。研究成果有安全书籍、安全课程、安全工具、外文翻译等安全领域。加入我们一起为安全圈保驾护航!红日翻译小组作为团队英语领导者,翻译了一本Web安全开发实战。此书翻译内容有信息收集测试、配置和部署管理安全测试、身份管理测试、认证测试、授权测试、SESSION管理测试、输入漏洞验证测试、报错页面漏洞测试、若加密漏洞测试、业务逻辑安全测试、前端安全测试11个章节。作为一名安全开发人员或者是一名安全渗透测试人员必备安全书籍。由于文章较大,就不在公众号一篇一篇分享了,特意做成了PDF文档,方便大家查看。作为一个推广的活动,大家可在当前公众号
做了项目的商业分析后,最近也一直在思考:商业分析具体意义在哪里,能够带来哪些价值呢?怎么样才能够更加有趣呢?在很多人的理解中,商业分析貌似是高高在上,都是高难度的分析模型、数学算法,认为从事这项工作的人都是“精英”。然而事实上,商业分析无处不在,小到一个在哪儿吃饭的决定,大到买房子、理财投资的考量,都是属于商业分析的一种。只是与从业者不同的是,从业者的商业分析是基于对业务的需求和问题,通过分析模型和算法,来解决、回答出现的或者潜在的问题,最终带来实际的效益。这是基于数据的分析、模型的运用,但是都逃不过是对现实业务的理解的基础上。举个例子吧:想必都听过数羊的例子吧,如果你通过各种技术和算法终于知道了,这群羊群里总共有1000只羊,那如果你把这个结果告诉放羊的牧民的时候,那基本就等于做的是无用功,因为且不说这数字羊群主人知不知道,就算知道了,这数据的价值何在呢?这是属于然并卵的分析。再进一步,那如果你告诉他,现在这1000只羊里面,有900只母羊,100只公羊,然后根据羊群的食量特征,得到了这群羊中有300只是“非常能吃的”,有100只的增长速度是非常快的,有600只是在是会正常生崽的。诚
上一篇我们讲了如何下载phoneme虚拟机开源代码,如何配置编译脚本,编译测试验证基本功能。但是要让她在android上显示运行java小游戏我们还得费点劲。好吧让我们一起来移植接口吧。一、display接口由于该开源项目已经年代久远,没有针对android进行优化,你也知道google和oracle的关系,但是她对各个指令集还是支持很好的,而且她的代码各个模块功能也是分得明了的,我们着手display就从fb开始吧,因为这个在整个开源项目中支持是最好的哦。1、分析fb_port.c我们到midp/src/highlevelui/fb_port/fb/native目录下你就能看到这个文件了。2、依葫芦画瓢,那我重新加入一个文件fb_port_android.c来实现吧1)显示FrameBuffer如何创建,由谁创建?(由java层创建bitmap通过jni转化实际的FrameBuffer指针然后传递给phoneme,这就就有了画的地方了)2)如何刷新,正常刷新or旋转刷新(有用phoneme内部是已操作内存buffer为主,刷新的时候就需要拷贝buffer)3)改变Framebuffe
前言模块(Module)是我们用来组织Python代码的基本单位。很多功能强大的复杂站点,都由成百上千个独立模块共同组成。虽然模块有着不可替代的用处,但它有时也会给我们带来麻烦。比如,当你接手一个新项目后,刚展开项目目录。第一眼就看到了攀枝错节、难以理解的模块结构,那你肯定会想:“这项目也太难搞了。”在这篇文章里,我准备了一个和模块有关的小故事与你分享。一个关于模块的小故事小R是一个刚从学校毕业的计算机专业学生。半个月前,他面试进了一家互联网公司做Python开发,负责一个与用户活动积分有关的小项目。项目的主要功能是查询站点活跃用户,并为他们发送有关活动积分的通知:“亲爱的用户,您好,您当前的活动积分为x”。项目主要由notify_users.py脚本和fancy_site包组成,结构与各文件内容如下:文件notify_users.py:文件fancy_site/users.py:文件:fancy_site/marketing.py:只要在项目目录下执行pythonnotify_user.py,就能实现给所有活跃用户发送通知。需求变更但有一天,产品经理找过来说,光给用户发站内信通知还不
最近,基于Jekyll新搭建了自己英文博客。整个过程搜索了不少资料,也尝试和过滤了不少工具和插件,最后的效果还是不错的。这里总结一下主要的七个步骤,感兴趣的朋友可以参考一下: 第一步,安装Ruby开发环境和Jekyll组件。 http://jekyll-windows.juthilo.com/ 第二步,如果第一步geminstall遇到困难,尝试使用阿里的rubygem源,代替默认的源。 https://ruby.taobao.org/ 第三步,选择一个喜欢的模板。 http://jekyllrb.com/docs/templates/ 第四步,安装代码高亮组件。 https://sacha.me/articles/jekyll-rouge/ 第五步,安装分类、标签、日期归档组件。 https://github.com/jekyll/jekyll-archives 第六步,安装响应式显示图片组件。 http://teddyma.cn/2016/01/20/installed-jekyll-picture-tag/ 第七步,安装相册组件。 http://teddyma.cn/2016/0
1.首先引入ol,npmi--saveol 2.创建地图 一个地图初步就这样完成了。 3.怎么与后台进行交互? 具体参考文档:http://weilin.me/ol3-primer/ch12/12-01-01.html 然后就是配置: 其中的viewcenter设置就是显示某一局部的中心,就是限制显示局部区域。 4.自定义加载图标 先定义map,然后把后台数据比如图片,经纬度等放入this.nodeData.set(name,value), 然后在其他地方就通过this.nodeData.get(name)能拿到feature。 5.地图单击事件 letfeature=map.forEachFeatureAtPixel(event.pixel,function(feature,layer){ returnfeature; });这段代码放到点击事件内可以转换可以拿到当前feature的经纬度,图片类型,也可以拿到当前feature的id.可以进行路由跳转等。复制 6.封装feature图标 没有anchor,图标将自动处于地理位置的中心,是一个
双写一致性1 1)线程A发起一个写操作,第一步writeDB 2)线程A第二步delcache 3)线程B发起一个读操作,cachemiss 4)线程B从DB获取最新数据 5)线程B同时setcache 双写一致性2 1)读取缓存中是否有相关数据 2)如果缓存中有相关数据value,则返回 3)如果缓存中没有相关数据,则从数据库读取相关数据放入缓存中key->value,再返回 4)如果有更新数据,则先更新数据,再删除缓存 5)为了保证第四步删除缓存成功,使用binlog异步删除 6)如果是主从数据库,binglog取自于从库 7)如果是一主多从,每个从库都要采集binlog,然后消费端收到最后一台binlog数据才删除缓存
Intentintent=newIntent(Intent.ACTION_SEND); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_SUBJECT,"Share"); intent.putExtra(Intent.EXTRA_TEXT,"Shareapp物流宝贝,真的很好用!!"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent,getTitle()));复制 在一个按钮的监听中调用这段代码之后,可以调用系统的分享功能
海澜之家男士加绒衬衫:http://item.taobao.com/item.htm?spm=a230r.1.14.20.4E7Ik6&id=42391380010&ns=1&abbucket=10#detail 深灰风衣:http://item.taobao.com/item.htm?id=40590159092&ali_refid=a3_420434_1006:1109767042:N:%C4%D0%C4%E1%B4%F3%D2%C2:8dc87cea8d33c43b8de3a363eb6eb61a&ali_trackid=1_8dc87cea8d33c43b8de3a363eb6eb61a&spm=a230r.1.0.0.X8DwQg 男士小脚牛仔裤:http://item.taobao.com/item.htm?spm=a230r.1.14.234.3VBSqN&id=40709552149&ns=1&abbucket=10#detail
1. __attribute__((packed))的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如: 在TC下:structmy{charch;inta;}sizeof(int)=2;sizeof(my)=3;(紧凑模式) 在GCC下:structmy{charch;inta;}sizeof(int)=4;sizeof(my)=8;(非紧凑模式) 在GCC下:structmy{charch;inta;}__attrubte__((packed)) sizeof(int)=4;sizeof(my)=5 2. __attribute__关键字主要是用来在函数或数据声明中设置其属性。给函数赋给属性的主要目的在于让编译器进行优化。函数声明中的__attribute__((noreturn)),就是告诉编译器这个函数不会返回给调用者,
自从老罗搞出大爆炸之后,各家安卓都内置了类似功能。UWP怎么能落下呢,在这里我们就一起撸一个简单的大爆炸实现。 闲话不说,先上效果: 因为代码太多,所以我打算写成一个系列,下面是第一篇的正文: 首先,我们构思一下BigbangView需要哪些部分: 1、一个能多选的控件; 2、一个能给Item布局的面板; 3、选中之后出现的Header和Footer。 这里我们先来实现第二项,BigbangPanel。 BigbangPanel继承自Panel,重载MeasureOverride和ArrangeOverride方法。 MeasureOverride实现调用此方法以形成递归布局更新; ArrangeOverride为其子元素实现自定义布局的父对象应从其布局重写实现调用此方法以形成递归布局更新。 我们对面板子元素布局的思路是,遍历子元素,从左到右依次排列,若当前行子元素总宽度超过Panel宽度,则换一行从头继续排列。 (在此我们只实现一个简单版,不考虑子元素的VerticalAlignment) protectedoverrideSizeMeasureOverride(S
服务器配置 Dell/R730XD 2620V4*2 16GDDR4*4 300GSAS*2+6TSAS*12 oraclelinux6.9 基础知识 RAID0 raid0组成方式:1块或多块磁盘组成,磁盘a写一部分数据,b写一部分,...,通过将数据分散到不同的磁盘,来提升速度,因此速度为单块磁盘的n(磁盘数)倍。 优点:性能提升,是单盘的n倍; 缺点:无安全冗余,一块坏,全完蛋。 配置单盘raid0的命令: /opt/MegaRAID/MegaCli/MegaCli64-PDlist-aALL|grep"ID"|uniq|awk-F:'{print$2}'|awk'{print$1}' EnclosureDeviceID:32 ##对每块盘创建raid0,参数解释: ##cfgLdAdd可创建raid0、1、5、6 ##[EnclosureDeviceID:磁盘slot] ##[WT|WB]raid写策略:writethrough(不写缓存)和writeback(写缓存),sas盘随机写性能比较差
在报表应用中是可以使用echarts做图形展现的,实现很简单,因为echarts是使用JavaScript实现的开源可视化库,兼容当前绝大部分浏览器,可以流畅的在PC和移动端上显示。现在大多报表应用都会引入echarts丰富自己的图形展现,也有不少报表工具内置了echarts,直接选择图形类型,简单配置分类、系列等属性就可以在报表中展现echarts图。 如果报表内置的echarts图形中不包含要使用的,也可以简单操作就可以引入,具体引入方法参考报表如何集成echarts官网示例图 以上说了如何一起展现,但报表不仅只是在页面做数据呈现,通常还会需要打印、导出word,PDF,EXCEL等结果文件,打印导出这些操作,都是后台程序实现的,echarts需要从浏览器中截取图形才能导出和打印,当报表分了多页显示,没在当前页面展现的echarts图形就不能直接通过获取到图形进行打印导出,在实现echarts的打印导出上存在一定的难度。 实现echarts和报表中数据一起打印导出是二者一起使用的关键,那怎么才能实现echarts图形的导出和打印呢?具体可以参考看下如何才能导出和打印Echarts图