聚合文章列表
15 浏览

一名十年Java程序员回忆阿里面试经历——揭开阿里面试的“遮羞布”

阿里面试经历去阿里面试可以说非常非常的偶然和戏剧性,因为本人根本没投简历,以至于阿里hr给我电话的时候我一度认为是诈骗电话。因为深圳这家公司不错我还想在这里干个两年左右再考虑考虑。这个时候的本人已经发生了很大的转变,从刚进腾讯的浮躁、自大、惧怕面试,已经转变为淡泊、谦虚,并且喜欢上了面试,感觉每次面试就像杨过跟大雕过招一样,武功都能精进不少。本着去看看技术面内容的心态去了福田东海大厦。一面一面没有技术面直接就是组长面,首先是自我介绍,之后问了下项目内容。我就说了下即时通讯和视频加工两个模块。他让我画出模块的架构图,这个建议大家准备一下,阿里和百度都有要求应聘者画模块图考察应聘者的开发层次和思路。本人没什么准备,不过当时设计评审时的UML还记着,就把模块图和类图画了下。面试官又问,有没有遇到困难;我说有,性能瓶颈、卡顿的问题、瞬时信息量过大导致的UI卡死;他就问如何解决的:我说由实时刷新改为定时刷新。他问还有没有更好的实现方式,我回答有用任务队列。我们又争论了下任务队列的设计应该用先进先出还是后进先出。这个时候本人已经完全忘

程序员 1900-01-01 发布
23 浏览

【TEGer 在全球架构师峰会】 : 腾讯海外计费系统架构演进

欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~作者简介:abllen,2008年加入腾讯,一直专注于腾讯计费平台建设,主导参与了腾讯充值中心、计费开放平台、统一计费米大师等项目,见证了米大师从0到1,业务营收从PC到移动多终端再到全球化的跨越过程。20+篇支付专利主撰写人。目前专注于跟团队一起为腾讯业务提供稳定高效安全的全球化个人和企业市场计费服务。本文由腾讯技术工程官方号发布在云加社区!经过海外3年建设,腾讯Midas(米大师)计费逐步构建起了一个分布式的全球计费系统,来助力公司及业内产品计费扬帆出海,走向深蓝。在刚过去的北京全球架构师峰会上,腾讯计费平台部架构师陈宁国分享了Midas在海外计费系统架构演进上的一系列思路与做法。Midas计费,目前已经接入2000+APP,60多万家商户,覆盖国内10+和海外40+渠道,托管账户总量200多亿,每日流水稽核500多亿条,基本上涵盖了所有常见的计费模式,如虚拟代币购买、道具、订阅、实物等,是一个全方位的一站式计费平台。在讨论海外的计费架构演进前

软件架构 2017-12-07 发布
16 浏览

Mysql通讯协议分析

1.Mysql的连接方式要了解Mysql的通讯协议,首先需要知道是以哪种连接方式去连接Mysql服务器的;Mysql的主要连接方式包括:Unix套接字,内存共享,命名管道,TCP/IP套接字等。1.1Unix套接字在Linux和Unix环境下,可以使用Unix套接字进行Mysql服务器的连接;Unix套接字其实不是一个网络协议,只能在客户端和Mysql服务器在同一台电脑上才可以使用,使用方式也很简单:[root@root~]#mysql-uroot-prootmysql>showvariableslike'socket';+---------------+---------------------------+|Variable_name|Value|+---------------+---------------------------+|socket|/var/lib/mysql/mysql.sock|+---------------

MySQL 2017-12-27 发布
AD 友情赞助
17 浏览

mysql的zip包如何在windows下安装

[原创]mysql的zip包如何在windows下安装今天在尝试zipkin的链路数据写入mysql,本机恰好没有按照mysql。找到一个很久前谁发的mysql-5.6.19-winx64.zip,版本不新?别挑剔啦,只是本机测试,能用就好哈哈。。解压因为用的是压缩包,需要先解压到某个目录下,比如D:\ProgramFiles\mysql-5.6.19-winx64,此目录做为mysql的安装目录,用此目录下的emy-default.ini拷贝一个新的my.ini,然后打开修改my.ini,见红色字体部分。其中basedir为mysql的安装路径;datadir为mysql的数据目录,此目录为安装目录\data,目录已存在,无需手动增加。[mysqld]#Removeleading#andsettotheamountofRAMforthemostimportantdata#cacheinMySQL.Startat70%oftotalRAMfordedicatedserver,e

MySQL 2017-12-27 发布
21 浏览

MySQL的存储引擎与日志说明

1.1存储引擎的介绍1.1.1文件系统存储文件系统:操作系统组织和存取数据的一种机制。文件系统是一种软件。类型:ext234,xfs数据。不管使用什么文件系统,数据内容不会变化,不同的是,存储空间、大小、速度。1.1.2mysql数据库存储MySQL引擎:可以理解为,MySQL的“文件系统”,只不过功能更加强大。MySQL引擎功能:除了可以提供基本的存取功能,还有更多功能事务功能、锁定、备份和恢复、优化以及特殊功能。1.1.3MySQL存储引擎种类MySQL提供以下存储引擎:InnoDB、MyISAM(最常用的两种)MEMORY、ARCHIVE、FEDERATED、EXAMPLEBLACKHOLE、MERGE、NDBCLUSTER、CSV除此之外还可以使用第三方存储引擎。1.1.4innodb与myisam对比InnoDb引擎支持ACID的事务,支持事务的四种隔离级别;支持行级锁及外键约束:因此可以支持写并发;不存储总行数;一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不

MySQL 2012-04-06 发布
20 浏览

node-transform-mysql , js对mysql封装库,链式调用,文档完善

在我自己的平常开发中很少有见到javascript对sql的封装比较好的库(找了一圈也没找到、应该是暂时我没发现),因此前期的项目中根据自己的项目情况实现了一套封装方法。最近我准备写一个这样的库,基于前期自己对mysql的封装(ThinkPHP是我使用过的一个PHP框架,对它的模型模块调用sql的方式很喜欢)因此决定参考其API,用javascript实现一次。node-transform-mysql想表达什么node.js连接mysql的库有很多,因此觉得没必要自己再封装一个,为了达到库的广泛使用性,因此此库只做生成SQL语句的功能封装整个api采用链式调用的方式,这样能最大化的减少开发代码和使用自由度链式调用方法顺序内部已经做了排序,因此可以不按严格的sql语句顺序来使用方法sql调用方法直接参考ThinkPHP的api,因此不用自己再从新定义方法名称自由、简洁、使用简单是它想表达出来的完整的API说明文档,写文档比写代码更累,时间更久,可见开源框架文档的难能可贵,为它们致敬进入正文:简介:node-transform-mysql是

MySQL 1900-01-01 发布
AD 友情赞助
23 浏览

Angular 开发学习 01 – 搭建环境

从零开始搭建一个前端工程项目相当不容易,只是那一堆配置文件就足够让人头痛。不过,现在很多框架都提供了命令式项目生成工具,用于简化这一令人痛苦的过程。Angular同样如此。它提供了一个名为CLI的命令行工具,用于生成开箱即用的Angular开发工程。本章我们将着重介绍如何使用CLI搭建Angular开发环境。在开始Angular开发之前,你需要准备好所需要的各种支持工具。作为一个纯前端项目,最重要的一点是安装Node.js。Node.js对前端的重要性无需多言,几乎所有前端项目都依赖于Node.js。我们可以到Node.js的官方网站下载最新版本的Node.js。打开网页,通常会有两个下载选项:正如上面的截图显示的那样,Node.js提供了“8.9.3LTS”和“9.3.0Current”两个下载地址。虽然8.9.3版本是推荐大多数用户使用,但这里还是推荐使用最新版的9.3.0。对于服务器,稳定性通常是第一考虑要素,因而Node.js推荐大多数用户使用LTS长期支持版,但因为

Angular 2017-12-27 发布
21 浏览

“前端程序员的一些有学习借鉴作用的网站”

记录并分享自己收藏夹中的一些网页2017-01-2201.vue-google-maphttps://github.com/GuillaumeL...这个网址陪伴了我一个月左右的时间啊,工作以来,第一块难啃的骨头。原因大概是:之前没有接触过vue.js加上全英文..算是翻山越岭的一次learning。最后老大来了一句:“everythingshouldbeEnglish”...thatTRUE!所以啊,英语很关键~02.Vue.jshttps://cn.vuejs.org/目前看来,带给我的感受就是,易学,易懂,以及轻量。开源啥的都不说了。想学的同学上网搜,或者GitHub上,很多资源啦。晚些时候会把自己做的一个todolistdemo发上来啊。都是跟着教程学的,但是vue.js真的教会我不少啦。还在慢慢爬坑中~03.BaiduMaphttp://lbsyun.baidu.com/不知道多少程序员第一次上手项目时要的功能就是地图啊。反正我是一开始就弄了两个地图啊,每天就是R&D(researc

vue.js 2017-12-26 发布
20 浏览

清除缓存

清理form表单的临时缓存jqueryajax清除浏览器缓存方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:$.ajax({url:'www.haorooms.com',dataType:'json',data:{},beforeSend:function(xmlHttp){xmlHttp.setRequestHeader("If-Modified-Since","0");xmlHttp.setRequestHeader("Cache-Contr

Ajax 1900-01-01 发布
AD 友情赞助
23 浏览

vue多页面应用打包配置

一直是使用vue官方提供的脚手架工具来做开发单页应用,突发奇想的想做一个多页应用的打包配置,顺便了解一下webpack的使用。花了几天时间搞定之后才发现了这篇文章《进阶|Vue2.x+Webpack3.x+Nodejs多页面项目框架(上篇)》。但还是要记录一下自己搭建的过程。代码地址:https://github.com/lzy1043/webpack-multiple-pages。代码结构build目录下是webpack的配置文件src/components目录下是通用的组件src/views下是应用的页面打包前多页面的目录结构:打包之后的生成的项目结构:代码里面的ESlint和babel的配置是直接使用的vue-cli中的配置。配置多入口1.多页面目录结构多页应用就代表着需要有多个入口,webpack的entry支持多入口,使用entry的对象语法对每个页面设置入口。类似下面这种写法:entry:{home:"./home.js",about:"./about.js",conta

vue.js 2017-12-27 发布
23 浏览

Parcel Vs Webpack

爱折腾的前端圈时常会有新轮子诞生,只要是好东西就能快速获得大量关注,资历再好的大哥只要不如新人也很快会被替代。横空出世的Parcel近日成为了前端圈的又一大热点,在短短几周内就获得了13K的Star。作为前端构建工具新人的Parcel为什么能在短期内获得这么多赞同?他和老大哥Webpack比起来到底有什么优势呢?我花了6个月的时间写了一本全面介绍Webpack的图书《深入浅出Webpack》近日刚出版,感觉被新出的Parcel给腰斩了。但本文将本着公平公正的心态来详细对比一下他两,让你能明白他们直接的异同和优缺点对比,好决定是选Parcel还是Webpack。为了对比他两,我们从实际出发举一个实战项目为例子,分别用Parcel和Webpack去实现,实战项目要求如下:项目采用TypeScript+React+SCSS;项目采用了AntdUI组件库,但要做到按需加载只用到了的组件,而不是所有组件都打包进去;项目使用了Lodash库,用于检查构建是否有剔除无用代码

JavaScript 2017-12-27 发布
20 浏览

V部落博客管理平台开源啦! Vue+SpringBoot强强联合!

V部落是一个多用户博客管理平台,采用Vue+SpringBoot开发。演示地址:http://45.77.146.32:8081/index.html项目地址:https://github.com/lenve/VBlog项目效果图登陆页面文章列表发表文章用户管理栏目管理数据统计技术栈后端技术栈后端主要采用了:1.SpringBoot2.SpringSecurity3.MyBatis4.部分接口遵循Restful风格5.MySQL前端技术栈前端主要采用了:1.Vue2.axios3.ElementUI4.vue-echarts5.mavon-editor6.vue-router还有其他一些琐碎的技术我就不在这里一一列举了。快速运行1.克隆本项目到本地git@github.com:lenve/VBlog.git2.找到blogserver项目中resources目录下的vueblog.sql文件,在MySQL数据库中执行3.根据自己本地情况

vue.js 2017-12-27 发布
AD 友情赞助
22 浏览

ERROR in xxxx.js from UglifyJS——配置版本混杂版

常规解决套路可以参考这篇:https://segmentfault.com/a/11...我采用了上面的做法,依然没法解决。我采用的是vue-cli脚手架自动生成的项目结构:vue-cli版本2.9.1webpack版本3.6.0vue版本2.5.2又加上出现这个问题的项目copy了一部分之前项目的配置,所以只能推测出是各种配置版本不兼容造成的报错。当然,我不仅出了uglifyjs的错,还出了一堆eslint的错,都是es5转es6没转过来。速度上线解决方案:webpack.base.conf.js下注释掉eslint-loader相关的代码eslint报错解决webpack.prod.conf.js下注释掉UglifyJsPlugin相关代码UglifyJs报错解决遗留问题不支持es6的浏览器怎么办?1、eslint的问题监听的都是语法错误,对照报错,一条条改正就好了于是,又可以把webpack.base.conf.js下的eslint-loader拿回来了2、UglifyJs不支持ES6的问题试了半天,才

vue.js 2017-12-27 发布
20 浏览

Vue组件通信之Bus

关于组件通信我相信小伙伴们肯定也都很熟悉,就不多说了,对组件通信还不熟悉的小伙伴移步这里。在vue2.0中$dispatch和$broadcast已经被弃用。官方文档中给出的解释是:因为基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会变得越来越脆弱。这种事件方式确实不太好,我们也不希望在以后让开发者们太痛苦。并且$dispatch和$broadcast也没有解决兄弟组件间的通信问题。官方推荐的状态管理方案是Vuex。不过如果项目不是很大,状态管理也没有很复杂的话,使用Vuex有种杀鸡用牛刀的感觉,当然,这也是要根据自己的需求来的,只是建议。vue官方文档中有这样一个定义:非父子组件的通信,内容很少,如下:其实关于这个非父子组件通信的demo还是有的,它藏在了$dispatch和$broadcast的迁移文档中,有兴趣的小伙伴可以点击进去查看。文档中的建议就是:对于$dispatch和$broadcast最简单的升级方式就是:通过使用事件中心,允许组件自由交流,无论组件处于

vue.js 2017-12-27 发布
30 浏览

大数据告诉你:2018年该学习什么技术

前几天,数据科学家JuliaSilge在StackOverflow官方博客上分享了一组分析数据,他在文中揭示了快速增长的技术,快速衰落的技术,稳步增长的技术。我们从中可以看到,2018年你学习什么技术最值钱!文中数据来源于StackOverflow的提问标签,且相同的标签提问次数都不少于10000次。快速增长的技术走向灭亡的技术很明显的看出Swift和Angular式增长最快的语言,背后原因是因为Swift背后亲爹Apple大力加持,和苹果独有的生态体系,作为ObjectiveC的替代者,它的增长毋庸置疑。Angular则代表了前端框架的流行趋势,面对快速发展的时代,适应需求才能活得长一些。AndroidStudio是谷歌推出的开发IDE,增长势头也很快。在人工智能概念大行其道的今天,TensorFlow几乎成为了机器学习和深度神经网络的工业标准,涨势喜人。哪些技术有明显的下降呢?JavaScript框架Backbone.js差不多已经走到了生命的尽头,用于iPhone开发的游戏引擎Coco

JavaScript 2017-12-27 发布
23 浏览

vue实现文章内容过长点击阅读全文功能

直接上代码:html:<divclass="bodyFontclearfloat"id="bodyFont"ref="bodyFont":class="{bodyHeight:contentStatus}"><divv-html="content"></div></div><divclass="contentToggle"@click="contentStatus=!contentStatus"v-if="contentStatus">阅读全文</div>css:.bodyFont{.font-dpr(16px);color:#333;text-align:left;line-height:58px;word-break:break-all;word-wrap:break-word;padding-bottom:30px;height:au

vue.js 2017-12-27 发布
18 浏览

别慌,不就是跨域么!

$.ajax({url:'http://www.nealyang.cn/login',type:'GET',dataType:'jsonp',//请求方式为jsonpjsonpCallback:'callback',data:{"username":"Nealyang"}})虽然这种方式非常好用,但是一个最大的缺陷是,只能够实现get请求document.domain+iframe跨域这种跨域的方式最主要的是要求主域名相同。什么是主域名相同呢?www.nealyang.cnaaa.nealyang.cnba.ad.nealyang.cn这三个主域名都是nealyang.cn,而主域名不同的就不能用此方法。假设目前a.nealyang.cn和b.nealyang.cn分别对应指向不同ip的服务器。a.nealyang.cn下有一个test.html文件

JavaScript 2017-12-27 发布
37 浏览

VUEJS开发规范

VUEJS开发规范基于组件化开发理解组件命名规范结构化规范注释规范编码规范基于组件化开发理解什么是组件?组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘、键盘、鼠标),它是一个具有独立的逻辑和功能或界面,同时又能根据规定的接口规则进行相互融化,变成一个完整的应用。页面只不过是这样组件的容器,组件自由组合形成功能完整的界面,当不需要某个组件,或者想要替换某个组件时,可以随时进行替换和删除,而不影响整个应用的运行。前端组件化的核心思想就是将一个巨大复杂的东西拆分成粒度合理的小东西。组件化开发的好处提高开发效率方便重复使用简化调试步骤提升整个项目的可维护性便于协同开发使其高内聚,低耦合,达到分治与复用的目的。组件化和模块化的区别组件化是从产品功能角度进行分割,模块化是从代码实现角度进行分割,模块化是组件化的前提和基础。Vue组件化开发单文件系统,样式局部作用域基本组成结构:<template/&g

vue.js 2017-12-27 发布
24 浏览

使用 vue + thinkjs 开发博客程序记录

一入冬懒癌发作,给自己找点事干。之前博客程序写过几次,php的写过两次,nodejs用ThinkJS写过,随着ThinkJS版本从1.x升级到2.x之前的博客程序也做过升级。但是因为前面考虑搜索引擎抓取还是用传统的方式开发,没有做前后端分离。这次准备用vue2.x和ThinkJS3.X重新写一次。这里主要记录一下开发过程中遇到的问题和解决方法。地址https://github.com/lscho/Thin...尚未写完,持续更新中,后续更新发布在个人博客中:https://lscho.com/tech/vue-th...设计方案1.前后端分离2.后端只提供接口3.RESTfulAPI4.使用jwt身份认证依赖服务端"dependencies":{"think-logger3":"^1.0.0","think-model":"^1.0.0","think-model-mysql":"^1.0.0","think-session":"^1.0.0

vue.js 2017-12-27 发布
21 浏览

论原子 CSS 的日益普及

级联的作用非常强大。微小的改变可能会引起很大的改变,这就导致了很难知道下一秒会发生什么。重构、更改和移除CSS都是高危动作,因为很难知道这个CSS在哪里被引用。你什么时候可以做到改变CSS不引起不必要的改动?答案是无论在何种情况下,你都很少有这种想法。在我有限的经验中,其中的一种情况是,在大型团队的大型代码库中,给人的感觉是CSS太大了以至于团队的成员开始对CSS很敏感并且对CSS感到害怕,但是实际上只是让你增加CSS。由此产生一个工具,它能做的事情远远少于CSS,但是在某种程度上(在你学会之后),没有人在对其感到害怕,我认为这非常棒。ChrisCoyier原子CSS让事情变得简单我不在需要去考虑如何组织我的CSS。我也不需要考虑如何给我的组件起名,也不需要考虑将一个组件和另一个组件完全分离,应该将其放在哪里,最重要的,当有新的需求是怎么进行重构。CallumJefferies在尝试通过BEM命名方式使用超分子CSS之后发表的言论原子CSS提供了一套直接、明显并且简单的

CSS 2017-12-27 发布
AD 友情赞助