JavaScript Array 对象方法 以及 如何区分javascript中的toString()、toLocaleString()、valueOf()方法
实例:vararryA=['豆豆','仔仔','黑妞','琪琪'];vararryB=['南瓜','西瓜','哈密瓜','冬瓜'];varconcatArry=arryA.concat(arryB);console.log('concat方法:'+concatArry);console.log('原数组:'+arryA);console.log('原数组:'+arryB);打印结果:2.join()作用:用于把数组中的所有元素放入一个字符串。元素可以通过指定的分隔符进行分隔的。(不改变原数组)语法:arrayObject.join(separator)参数描述separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。实例:vararryA=['豆豆','仔仔','黑妞','琪琪'];vararryB=['南瓜','西瓜','哈密瓜','冬瓜'];varjoinString1=arryA.join();varjoinString2=ar
使用Web Animations API让动画效果做加法
这些特性在写这篇文章的时候还没有在任何的浏览器得到稳定的支持。但是,接下来要讨论的内容在FirefoxNightly中得到了支持,而且关键部分在ChromeCanary(开启Web实验性特性),所以我建议使用这些浏览器中的一个(在阅读本文时)。无论你在Web上使用什么方法,你都会在不同的动画中使用相同的属性。也许你有一个悬停效果缩放一个图像和一个点击事件触发位移——都会影响transform。默认情况之下,这些动画并不会了解其他动画,只有一个动画会被应用(因为它们影响了相同的CSS属性,其他的值将被覆盖)。element.animate({transform:['translateY(0)','translateY(10px)']},1000);//完全覆盖前面的动画element.animate({transform:['scale(1)','scale(1.15)']},1500);这个示例中WebAnimationsAPI中的只有第二个才会呈现动画,因为这两个动画同时播放,只有最后一个定义的才
react看这篇就够了(react+webpack+redux+reactRouter+sass)
本帖将对一下内容进行分享:1、webpack环境搭建;2、如何使用react-router;3、引入sass预编译;4、react性能优化方案;5、redux结合react使用;6、fetch使用;7、项目目录结构;一、webpack配置,代码如下:1、在根目录下新建一个webpack.config.js,这个为开发环境的webpack配置;因为得区分开发跟生产环境,所以还得新建一个webpack.production.config.js作为生产环境使用的配置文档,webpack.config.js代码如下:varpath=require('path')varwebpack=require('webpack')varHtmlWebpackPlugin=require('html-webpack-plugin');varExtractTextPlugin=require('extract-text-webpack-plugin');varOpenBrowserPlugin=
Rabbitmq -- direct
一、前言RabbitMQ还支持根据关键字发送,即:队列绑定关键字,发送者将数据根据关键字发送到消息exchange。direct类型的Exchange路由规则也很简单,它会把消息路由到那些bindingkey与routingkey完全匹配的Queue中。二、Exchangedirectdirect类型的Exchange路由规则是完全匹配bindingkey与routingkey生产端:#-*-coding:UTF-8-*-importpika#创建一个连接connection=pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))#创建一个管道channel=connection.channel()#声明exchange及类型channel.exchange_declare(exchange='direct_log',exchange_type='direct')#输入信息,格式为infofrominfo
SpringBoot Kafka 整合使用
假设你了解过SpringBoot和Kafka。1、SpringBoot如果对SpringBoot不了解的话,建议去看看DD大佬和纯洁的微笑的系列博客。2、KafkaKafka的话可以看看我前两天写的博客:Kafka安装及快速入门学习的话自己开台虚拟机自己手动搭建环境吧,有条件的买服务器。注意:一定要亲自自己安装实践,接下来我们将这两个进行整合。创建项目项目整体架构:使用IDEA创建SpringBoot项目,这个很简单了,这里不做过多的讲解。1、pom文件代码如下:
LindDotNetCore~基于模块化注入的介绍
LindDotNetCore相关介绍相关模块全局都是依赖DI消息队列NoSqlCaching仓储服务总线Solr调度日志Asspect拦截组件UAA授权各种组件环境的搭建各模块单元测试编写DI统一战线LindDotNet框架同样采用了全局DI注入的方式来使用模块对象的,这种松耦合的设计对于单元测试是很方便人。services.AddLog4Logger(o=>{o.Log4ConfigFileName="log4.config";o.ProjectName="test";});services.UseDapper(o=>{o.ConnString=$"DataSource=/Data/intergratetest.db";o.DbType=Lind.DotNetCore.Repository.DbType.SqlLite;});消息队列消息队列主要使用'rabbitmq,kafka'实现的,用来解耦项目,处理高并发任务和耗时任务,生产者不需要关心是谁来消费,它只管把消息发到队列中;而消费者不关心消息如何产生,
程序员装机必备爆款软件推荐与配置(windows版)
做机也要做一只全能的机哦值此新年来临之即,面对两百多个G的c盘。忍痛割爱将电脑系统重装,版本为(win10:1079)之后的所有电脑环境更新,专业软件安装均会记录在此文。程序员装机必备爆款软件推荐与配置。win10系统使用技巧编程软件篇sublimetextC:\software\SublimeText3包管理地址:https://packagecontrol.io/installationChineseLocalization汉化ctrl+shift+p打开packageinstall安装插件ChineseLocalization即可。Theme-Afterglow主题主题设置:SublimeText->Preferences->Settings-User:{"color_scheme":"Packages/Theme-Afterglow/Afterglow-twilight.tmTheme","ignored_packages":["Vintage"],"theme
支付宝架构师眼里的高并发架构
前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。服务器架构业务从发展的初期到逐渐成熟,服务器架构也是从相对单一到集群,再到分布式服务。一个可以支持高并发的服务少不了好的服务器架构,需要有均衡负载,数据库需要主从集群,nosql缓存需要主从集群,静态文件需要上传cdn,这些都是能让业务程序流畅运行的强大后盾。服务器这块多是需要运维人员来配合搭建,具体我就不多说了,点到为止。大致需要用到的服务器架构如下:服务器均衡负载(如:nginx,阿里云SLB)资源监控分布式数据库主从分离,集群DBA表优化,索引优化,等分布式nosql主从分离,集群redism
MySQL 入门基础语句(增删改查)
创建用户&授权CREATEUSER'username'@'localhost'IDENTIFIEDBY'password';GRANTALLON*.*TO'tinydolphin'@'localhost';创建数据库&数据表--创建数据库CREATEDATABASEsampdb;--查询当前选定的数据库SELECTdatabase();--选择数据库USEsampdb;--创建数据表CREATETABLEpresident(last_nameVARCHAR(15)NOTNULLCOMMENT'名',first_nameVARCHAR(15)NOTNULLCOMMENT'姓',suffixVARCHAR(5)NULLCOMMENT'姓名后缀',cityVARCHAR(20)NOTNULLCOMMENT'出生地(城市)',stateVARCHAR(2)NOTNULLCOMMENT'出生地(州)',brithDATENOTNULLCOMMEN
【MySQL】查看数据库所占空间大小
在Mysql中会有一个默认的数据库:information_schema,里面有一个Tables表记录了所有表的信息。使用该表来看数据库所占空间大小的代码如下:USEinformation_schema;SELECTTABLE_SCHEMA,SUM(DATA_LENGTH)FROMTABLESGROUPBYTABLE_SCHEMA;可看到各个数据库的所占空间大小,如果想要看到以k为单位的大小,代码如下:USEinformation_schema;SELECTTABLE_SCHEMA,SUM(DATA_LENGTH)/1024FROMTABLESGROUPBYTABLE_SCHEMA;就是字节数除以1024,同理,M和G分别是再除一个1024和再除两个1024.TABLES表中还有很多其它的数据,有需要的同学可以通过SHOWCOLUMNSFROMTABLES查看表的字段。转载请注明出处:http://www.zgljl2012.
MySQL 5.6.38优化实例一则
导读:在日常的MySQL的SQL语句优化工作中,总会遇到了各种各样的问题。今天就是遇到了一个比较诡异的问题,在这里记录下来方便自己的记忆。MySQL版本信息:MySQL5.6.38SQL语句(其中的关键字信息已经做脱敏处理):SELECTid,name,headurl,intro,gender,location,job,birthday,source,created_atFROMuserWHEREnameLIKE'%name%'ORDERBYcreated_atDESCLIMIT0,100;2.表user的表结构:3.SQL的执行计划和profile信息以及执行耗时:4.优化思路:在执行计划中可以看得到SQL语句由于是模糊查询所以并没有使用索引,并且在执行SQL之后可以明显的看出在创建排序索引上面耗费了99%以上的时间,我们在看整个的SQL语句,只有在字段created_at上面有做排序操作,所以按照优化思路那么我们就需要在created_at这个字段上面创建索引。创建索
MySQL二进制日志恢复数据报错:@@GLOBAL.GTID_MODE = OFF.
解决MySQL利用二进制日志恢复数据报错:ERROR1781(HY000)atline16:@@SESSION.GTID_NEXTcannotbesettoUUID:NUMBERwhen@@GLOBAL.GTID_MODE=OFF.工作中,运用二进制日志,帮开发的同事恢复数据时,出现了报错告警:[root@localhosttmp]#mysqlbinlog--no-defaultsmysql-bin.000614|mysql-uroot-pEnterpassword:ERROR1781(HY000)atline16:@@SESSION.GTID_NEXTcannotbesettoUUID:NUMBERwhen@@GLOBAL.GTID_MODE=OFF.[root@localhosttmp]#mysqlbinlog--no-defaultsmysql-bin.000614|mysql-uroot-pEnterpassword:[root@localhos
将MySQL某个数据库中表的行数从大到小排序
随着公司的业务越来越大,工作中需要对MySQL某一个数据库的表进行分表,为了做的更细致一点,在该数据库中,将所有表,按行数从到小排序:实现方式:mysql>useinformation_schema;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedmysql>selecttable_name,table_rowsfromtablesorderbytable_rowsdesclimit30;+----------------------+------------+|table_name|table_rows|+----------------------+------------+|log|
Angular 项目 国际化
正如angular官网所说,项目国际化是一件具有挑战性,需要多方面的努力、持久的奉献和决心的任务。本文将介绍angular项目的国际化方案,涉及静态文件(html)和ts文件文案的国际化。背景Angular:5.0AngularCli:1.6.1(1.5.x也可以)NG-ZORRO:0.6.8Angulari18ni18n模板翻译流程有四个阶段:在组件模板中标记需要翻译的静态文本信息(即打上i18n标签)。Angular的i18n工具将标记的信息提取到一个行业标准的翻译源文件(如.xlf文件,使用ngxi18n)。翻译人员编辑该文件,翻译提取出来的文本信息到目标语言,并将该文件还给你(需要翻译人员接入,本文采用将xlf文件转为json格式文件输出,最终将json文件转换回xlf格式文件)。Angular编译器导入完成翻译的文件,使用翻译的文本替换原始信息,并生成新的目标语言版本的应用程序。你可以为每种支持的语言构建和部署单独的项目版本,仅需替换翻译后的xlf文件即可。如何在模板文件中使用?i18n提供了几种使用方式,还
axios如何全局注册
上一篇axios不能使用Vue.use()最近用Vue写项目的时候,用到axios,因为axios不能用Vue.use(),所以在每个.vue文件中使用axios时就需要import,.vue文件少的话还好说,多的话未免有点麻烦。后来想了想,能不能直接把axios加到Vue的原型中,这样就达到了全局注册了。1.首先在main.js中引入axiosimportVuefrom'vue'importaxiosfrom'axios'//把`axios`加到`Vue`的原型中Vue.prototype.axios=axios;newVue({el:'#app',render:h=>h(App)})2.在.vue文件中使用时,注意axios前要加this